﻿// ***************************************************************************
// *
// * Copyright (C) 2013 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{"Hồng Kông"}
        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{"Macao"}
        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{"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"}
        XK{"Kosovo"}
        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.82.57"}
}
