﻿// ***************************************************************************
// *
// * 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{"Đặ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.82.57"}
}
