﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/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{"Châu Âu"}
        151{"Đông Âu"}
        154{"Bắc Âu"}
        155{"Tây Âu"}
        419{"Châu Mỹ La-tinh"}
        AC{"Đảo Ascension"}
        AD{"Andorra"}
        AE{"Các Tiểu V.quốc Ả Rập T.nhất"}
        AF{"Afghanistan"}
        AG{"Antigua và Barbuda"}
        AI{"Anguilla"}
        AL{"Albani"}
        AM{"Armenia"}
        AO{"Angola"}
        AQ{"Nam Cực"}
        AR{"Argentina"}
        AS{"Đảo Somoa thuộc Mỹ"}
        AT{"Áo"}
        AU{"Úc"}
        AW{"Aruba"}
        AX{"Quần đảo Åland"}
        AZ{"Azerbaijan"}
        BA{"Bosnia và Herzegovina"}
        BB{"Barbados"}
        BD{"Bangladesh"}
        BE{"Bỉ"}
        BF{"Burkina Faso"}
        BG{"Bungari"}
        BH{"Bahrain"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"St. Barthélemy"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Bolivia"}
        BQ{"Ca-ri-bê Hà Lan"}
        BR{"Brazil"}
        BS{"Bahamas"}
        BT{"Bhutan"}
        BV{"Đảo Bouvet"}
        BW{"Botswana"}
        BY{"Belarus"}
        BZ{"Belize"}
        CA{"Canada"}
        CC{"Quần đảo Cocos (Keeling)"}
        CD{"Congo - Kinshasa"}
        CF{"Cộng hòa Trung Phi"}
        CG{"Congo - Brazzaville"}
        CH{"Thụy Sĩ"}
        CI{"Bờ Biển Ngà"}
        CK{"Quần đảo Cook"}
        CL{"Chile"}
        CM{"Cameroon"}
        CN{"Trung Quốc"}
        CO{"Colombia"}
        CP{"Đảo Clipperton"}
        CR{"Costa Rica"}
        CU{"Cuba"}
        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{"Guiana thuộc Pháp"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Greenland"}
        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{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea-Bissau"}
        GY{"Guyana"}
        HK{"Hồng Kông, Trung Quốc"}
        HM{"Quần đảo Heard và McDonald"}
        HN{"Honduras"}
        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{"Iran"}
        IS{"Iceland"}
        IT{"Ý"}
        JE{"Jersey"}
        JM{"Jamaica"}
        JO{"Jordan"}
        JP{"Nhật Bản"}
        KE{"Kenya"}
        KG{"Kyrgyzstan"}
        KH{"Campuchia"}
        KI{"Kiribati"}
        KM{"Comoros"}
        KN{"St. Kitts và Nevis"}
        KP{"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{"St. Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesotho"}
        LT{"Lít-va"}
        LU{"Luxembourg"}
        LV{"Latvia"}
        LY{"Li-bi"}
        MA{"Ma-rốc"}
        MC{"Monaco"}
        MD{"Moldova"}
        ME{"Montenegro"}
        MF{"St. Martin"}
        MG{"Madagascar"}
        MH{"Quần đảo Marshall"}
        MK{"Macedonia"}
        ML{"Mali"}
        MM{"Myanmar (Miến Điện)"}
        MN{"Mông Cổ"}
        MO{"Macao, Trung Quốc"}
        MP{"Quần đảo Bắc Mariana"}
        MQ{"Martinique"}
        MR{"Mauritania"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        MV{"Maldives"}
        MW{"Malawi"}
        MX{"Mexico"}
        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{"Panama"}
        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{"Ả Rập Xê-út"}
        SB{"Quần đảo Solomon"}
        SC{"Seychelles"}
        SD{"Sudan"}
        SE{"Thụy Điển"}
        SG{"Singapore"}
        SH{"St. 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{"Lãnh thổ miền nam nước Pháp"}
        TG{"Togo"}
        TH{"Thái Lan"}
        TJ{"Tajikistan"}
        TK{"Tokelau"}
        TL{"Đông Timor"}
        TM{"Turkmenistan"}
        TN{"Tunisia"}
        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 t.tâm thuộc Mỹ"}
        US{"Hoa Kỳ"}
        UY{"Uruguay"}
        UZ{"Uzbekistan"}
        VA{"Thành Vatican"}
        VC{"St. 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 không xác định"}
    }
    Countries%short{
        GB{"Vương quốc Anh"}
        HK{"Hồng Kông"}
        MO{"Macao"}
        PS{"Palestine"}
        US{"Hoa Kỳ"}
    }
    Countries%variant{
        CD{"Cộng hòa Dân chủ Congo"}
        CG{"Cộng hòa Congo"}
        FK{"Quần đảo Falkland (Islas Malvinas)"}
        MK{"Macedonia (FYROM)"}
    }
    Version{"2.1.23.12"}
}
