﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/vi.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/vi.xml
 */
vi{
    Countries{
        001{"Thế giới"}
        002{"Châu Phi"}
        003{"Bắc Mỹ"}
        005{"Nam Mỹ"}
        009{"Châu Đại Dương"}
        011{"Tây Phi"}
        013{"Trung Mỹ"}
        014{"Đông Phi"}
        015{"Bắc Phi"}
        017{"Trung Phi"}
        018{"Miền Nam Châu Phi"}
        019{"Châu Mỹ"}
        021{"Miền Bắc Châu Mỹ"}
        029{"Ca-ri-bê"}
        030{"Đông Á"}
        034{"Nam Á"}
        035{"Đông Nam Á"}
        039{"Nam Âu"}
        053{"Úc và New Zealand"}
        054{"Melanesia"}
        057{"Vùng Micronesian"}
        061{"Polynesia"}
        142{"Châu Á"}
        143{"Trung Á"}
        145{"Tây Á"}
        150{"Âu Châu"}
        151{"Đông Âu"}
        154{"Miền Bắc Châu Âu"}
        155{"Tây Âu"}
        419{"Châu Mỹ La-tinh"}
        AC{"Đảo Ascension"}
        AD{"Andorra"}
        AE{"Các Tiểu Vương quốc A-rập Thống nhất"}
        AF{"Afghanistan"}
        AG{"Antigua và Barbuda"}
        AI{"Anguilla"}
        AL{"Albani"}
        AM{"Armenia"}
        AN{"Tây Ấn Hà Lan"}
        AO{"Angola"}
        AQ{"Nam Cực"}
        AR{"Argentina"}
        AS{"Đảo Somoa thuộc Mỹ"}
        AT{"Áo"}
        AU{"Úc"}
        AW{"Aruba"}
        AX{"Quần đảo Aland"}
        AZ{"Azerbaijan"}
        BA{"Bô-xni-a Héc-xê-gô-vi-na"}
        BB{"Barbados"}
        BD{"Bangladesh"}
        BE{"Bỉ"}
        BF{"Burkina Faso"}
        BG{"Bungari"}
        BH{"Bahrain"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Saint Barthélemy"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Bolivia"}
        BR{"Bra-xin"}
        BS{"Bahamas"}
        BT{"Bhutan"}
        BV{"Đảo Bouvet"}
        BW{"Botswana"}
        BY{"Belarus"}
        BZ{"Bê-li-xê"}
        CA{"Ca-na-đa"}
        CC{"Quần đảo Cocos"}
        CD{"Congo - Kinshasa"}
        CF{"Cộng hòa Trung Phi"}
        CG{"Công-gô"}
        CH{"Thụy Sĩ"}
        CI{"Bờ Biển Ngà"}
        CK{"Quần Đảo Cook"}
        CL{"Chile"}
        CM{"Ca-mơ-run"}
        CN{"Trung Quốc"}
        CO{"Colombia"}
        CP{"Đảo Clipperton"}
        CR{"Cốt-xta Ri-ca"}
        CU{"Cu Ba"}
        CV{"Cape Verde"}
        CW{"Curaçao"}
        CX{"Đảo Giáng Sinh"}
        CY{"Síp"}
        CZ{"Cộng hòa Séc"}
        DE{"Đức"}
        DG{"Diego Garcia"}
        DJ{"Djibouti"}
        DK{"Đan Mạch"}
        DM{"Dominica"}
        DO{"Cộng hòa Dominica"}
        DZ{"Algeria"}
        EA{"Ceuta và Melilla"}
        EC{"Ecuador"}
        EE{"Estonia"}
        EG{"Ai Cập"}
        EH{"Tây Sahara"}
        ER{"Eritrea"}
        ES{"Tây Ban Nha"}
        ET{"Ethiopia"}
        EU{"Liên Minh Châu Âu"}
        FI{"Phần Lan"}
        FJ{"Fiji"}
        FK{"Quần Đảo Falkland"}
        FM{"Micronesia"}
        FO{"Quần Đảo Faroe"}
        FR{"Pháp"}
        GA{"Gabon"}
        GB{"Vương quốc Anh"}
        GD{"Grenada"}
        GE{"Georgia"}
        GF{"Quiana thuộc Pháp"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Băng Đảo"}
        GM{"Gambia"}
        GN{"Guinea"}
        GP{"Guadeloupe"}
        GQ{"Guinea Xích Đạo"}
        GR{"Hy Lạp"}
        GS{"Quần đảo Nam Georgia và Nam Sandwich"}
        GT{"Goa-tê-ma-la"}
        GU{"Guam"}
        GW{"Guinea-Bissau"}
        GY{"Guyana"}
        HK{"Đặc khu hành chính Hồng Kông thuộc CHND Trung Hoa"}
        HM{"Đảo Heard và Quần đảo McDonald"}
        HN{"Hôn-đu-rát"}
        HR{"Croatia"}
        HT{"Haiti"}
        HU{"Hungari"}
        IC{"Quần đảo Canary"}
        ID{"Indonesia"}
        IE{"Ai-len"}
        IL{"Israel"}
        IM{"Đảo Man"}
        IN{"Ấn Độ"}
        IO{"Thuộc địa Anh tại Ấn Độ Dương"}
        IQ{"I-rắc"}
        IR{"I-ran"}
        IS{"Ai-xơ-len"}
        IT{"Ý"}
        JE{"Jersey"}
        JM{"Jamaica"}
        JO{"Jordan"}
        JP{"Nhật Bản"}
        KE{"Kenya"}
        KG{"Kyrgyzstan"}
        KH{"Campuchia"}
        KI{"Kiribati"}
        KM{"Comoros"}
        KN{"Saint Kitts và Nevis"}
        KP{"Bắc Triều Tiên"}
        KR{"Hàn Quốc"}
        KW{"Cô-oét"}
        KY{"Quần Đảo Cayman"}
        KZ{"Kazakhstan"}
        LA{"Lào"}
        LB{"Li-băng"}
        LC{"Saint Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"LIberia"}
        LS{"Lesotho"}
        LT{"Lithuania"}
        LU{"Luxembourg"}
        LV{"Latvia"}
        LY{"Li-bi"}
        MA{"Ma-rốc"}
        MC{"Monaco"}
        MD{"Moldova"}
        ME{"Montenegro"}
        MF{"Saint Martin"}
        MG{"Madagascar"}
        MH{"Quần đảo Marshall"}
        MK{"Macedonia"}
        ML{"Mali"}
        MM{"Myanmar [Miến Điện]"}
        MN{"Mông Cổ"}
        MO{"Đặc khu hành chính Macao thuộc CHND Trung Hoa"}
        MP{"Quần Đảo Bắc Mariana"}
        MQ{"Martinique"}
        MR{"Mauritania"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        MV{"Maldives"}
        MW{"Malawi"}
        MX{"Mê-hi-cô"}
        MY{"Malaysia"}
        MZ{"Mozambique"}
        NA{"Namibia"}
        NC{"New Caledonia"}
        NE{"Niger"}
        NF{"Đảo Norfolk"}
        NG{"Nigeria"}
        NI{"Nicaragua"}
        NL{"Hà Lan"}
        NO{"Na Uy"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"New Zealand"}
        OM{"Oman"}
        PA{"Pa-na-ma"}
        PE{"Peru"}
        PF{"Polynesia thuộc Pháp"}
        PG{"Papua New Guinea"}
        PH{"Philippin"}
        PK{"Pakistan"}
        PL{"Ba Lan"}
        PM{"Saint Pierre và Miquelon"}
        PN{"Quần đảo Pitcairn"}
        PR{"Puerto Rico"}
        PS{"Lãnh thổ Palestine"}
        PT{"Bồ Đào Nha"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Qatar"}
        QO{"Vùng xa xôi thuộc Châu Đại Dương"}
        RE{"Réunion"}
        RO{"Romania"}
        RS{"Serbia"}
        RU{"Nga"}
        RW{"Rwanda"}
        SA{"A-rập Xê-út"}
        SB{"Quần đảo Solomon"}
        SC{"Seychelles"}
        SD{"Xu-đăng"}
        SE{"Thụy Điển"}
        SG{"Singapore"}
        SH{"Saint Helena"}
        SI{"Slovenia"}
        SJ{"Svalbard và Jan Mayen"}
        SK{"Slovakia"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somali"}
        SR{"Suriname"}
        SS{"Nam Sudan"}
        ST{"São Tomé và Príncipe"}
        SV{"El Salvador"}
        SX{"Sint Maarten"}
        SY{"Syria"}
        SZ{"Swaziland"}
        TA{"Tristan da Cunha"}
        TC{"Quần Đảo Turk và Caicos"}
        TD{"Chad"}
        TF{"Thuộc Địa Nam của Pháp"}
        TG{"Togo"}
        TH{"Thái Lan"}
        TJ{"Tajikistan"}
        TK{"Tokelau"}
        TL{"Đông Ti-mo"}
        TM{"Turkmenistan"}
        TN{"Tuy-ni-di"}
        TO{"Tonga"}
        TR{"Thổ Nhĩ Kỳ"}
        TT{"Trinidad và Tobago"}
        TV{"Tuvalu"}
        TW{"Đài Loan"}
        TZ{"Tanzania"}
        UA{"Ukraina"}
        UG{"Uganda"}
        UM{"Các đảo nhỏ xa trung tâm thuộc Mỹ"}
        US{"Hoa Kỳ"}
        UY{"Uruguay"}
        UZ{"Uzbekistan"}
        VA{"Va-ti-căng"}
        VC{"Saint Vincent và Grenadines"}
        VE{"Venezuela"}
        VG{"Quần đảo Virgin thuộc Anh"}
        VI{"Quần đảo Virgin thuộc Mỹ"}
        VN{"Việt Nam"}
        VU{"Vanuatu"}
        WF{"Wallis và Futuna"}
        WS{"Samoa"}
        YE{"Yemen"}
        YT{"Mayotte"}
        ZA{"Nam Phi"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"Vùng Chưa biết hoặc không Hợp lệ"}
    }
    Version{"2.0.75.99"}
}
