﻿// ***************************************************************************
// *
// * Copyright (C) 2011 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * 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 Phí"}
        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"}
        062{"Trung Nam Á"}
        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{"Áp-ga-ni-xtan"}
        AG{"An-ti-gu-a và Ba-bu-đa"}
        AI{"Anguilla"}
        AL{"An-ba-ni"}
        AM{"Ác-mê-ni-a"}
        AN{"Tây Ấn Hà Lan"}
        AO{"Ăng-gô-la"}
        AQ{"Nam Cực"}
        AR{"Ác-hen-ti-na"}
        AS{"Đảo Somoa thuộc Mỹ"}
        AT{"Áo"}
        AU{"Úc"}
        AW{"Aruba"}
        AX{"Quần đảo Aland"}
        AZ{"Ai-déc-bai-gian"}
        BA{"Bô-xni-a Héc-xê-gô-vi-na"}
        BB{"Bác-ba-đốt"}
        BD{"Băng-la-đét"}
        BE{"Bỉ"}
        BF{"Buốc-ki-na Pha-xô"}
        BG{"Bun-ga-ri"}
        BH{"Ba-ren"}
        BI{"Bu-run-đi"}
        BJ{"Bê-nanh"}
        BM{"Bermuda"}
        BN{"Bru-nây"}
        BO{"Bô-li-vi-a"}
        BR{"Bra-xin"}
        BS{"Ba-ha-ma"}
        BT{"Bu-tan (Bhutan)"}
        BV{"Đảo Bouvet (Na Uy)"}
        BW{"Bốt-xoa-na"}
        BY{"Bê-la-rút"}
        BZ{"Bê-li-xê"}
        CA{"Ca-na-đa"}
        CC{"Quần đảo Cocos"}
        CD{"Cộng hoà dân chủ Côngô"}
        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{"Chi-lê"}
        CM{"Ca-mơ-run"}
        CN{"Trung Quốc"}
        CO{"Cô-lôm-bi-a"}
        CP{"Đảo Clipperton"}
        CR{"Cốt-xta Ri-ca"}
        CS{"Séc-bia"}
        CU{"Cu Ba"}
        CV{"Cáp-ve"}
        CX{"Đảo Giáng Sinh"}
        CY{"Síp"}
        CZ{"Cộng hòa Séc"}
        DE{"Đức"}
        DG{"Diego Garcia"}
        DJ{"Gi-bu-ti"}
        DK{"Đan Mạch"}
        DM{"Dominica"}
        DO{"Cộng hoà Đô-mi-ni-ca"}
        DZ{"An-giê-ri"}
        EA{"Ceuta và Melilla"}
        EC{"Ê-cu-a-đo"}
        EE{"E-xtô-ni-a"}
        EG{"Ai Cập"}
        EH{"Tây Sahara"}
        ER{"Ê-ri-tơ-rê-a"}
        ES{"Tây Ban Nha"}
        ET{"Ê-ti-ô-pi-a"}
        EU{"Liên Minh Châu Âu"}
        FI{"Phần Lan"}
        FJ{"Phi-gi"}
        FK{"Quần Đảo Falkland"}
        FM{"Mi-crô-nê-xi-a"}
        FO{"Quần Đảo Faroe"}
        FR{"Pháp"}
        GA{"Ga-bông"}
        GB{"Vương quốc Anh"}
        GD{"Grê-na-đa"}
        GE{"Gru-di-a"}
        GF{"Quiana thuộc Pháp"}
        GG{"Guernsey"}
        GH{"Gha-na"}
        GI{"Gibraltar"}
        GL{"Băng Đảo"}
        GM{"Găm-bi-a"}
        GN{"Ghi-nê"}
        GP{"Guadeloupe"}
        GQ{"Ghi-nê Xích-đạo"}
        GR{"Hy Lạp"}
        GS{"Quần đảo Nam Georgia và Nam Sandwich"}
        GT{"Goa-tê-ma-la"}
        GU{"Đảo Gu-am"}
        GW{"Ghi-nê Bít-xao"}
        GY{"Guy-a-na"}
        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{"Crô-a-ti-a"}
        HT{"Ha-i-ti"}
        HU{"Hung-ga-ri"}
        IC{"Quần đảo Canary"}
        ID{"Nam Dương"}
        IE{"Ai-len"}
        IL{"I-xra-en"}
        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{"Ha-mai-ca"}
        JO{"Gióc-đa-ni"}
        JP{"Nhật Bản"}
        KE{"Kê-ni-a"}
        KG{"Cư-rơ-gư-xtan"}
        KH{"Campuchia"}
        KI{"Ki-ri-ba-ti"}
        KM{"Cô-mô"}
        KN{"Xan-kít và Nê-vi"}
        KP{"Bắc Triều Tiên"}
        KR{"Hàn Quốc"}
        KW{"Cô-oét"}
        KY{"Quần Đảo Cayman"}
        KZ{"Ka-dắc-xtan"}
        LA{"Lào"}
        LB{"Li-băng"}
        LC{"Xan Lu-xi"}
        LI{"Lich-ten-xtên"}
        LK{"Xri Lan-ca"}
        LR{"Li-bê-ri-a"}
        LS{"Lê-xô-thô"}
        LT{"Li-tu-a-ni-a"}
        LU{"Lúc-xăm-bua"}
        LV{"Lát-vi-a"}
        LY{"Li-bi"}
        MA{"Ma-rốc"}
        MC{"Mô-na-cô"}
        MD{"Môn-đô-va"}
        ME{"Montenegro"}
        MG{"Ma-đa-gát-xca"}
        MH{"Quần đảo Mác-san"}
        MK{"Ma-xê-đô-ni-a"}
        ML{"Ma-li"}
        MM{"Mi-an-ma"}
        MN{"Mông Cổ"}
        MO{"Đặc khu hành chính Macao thuộc CHND Trung Hoa"}
        MP{"Quần Đảo Bắc Mariana"}
        MR{"Mô-ri-ta-ni"}
        MS{"Montserrat"}
        MT{"Man-ta"}
        MU{"Mô-ri-xơ"}
        MV{"Man-đi-vơ"}
        MW{"Ma-la-uy"}
        MX{"Mê-hi-cô"}
        MY{"Ma-lay-xi-a"}
        MZ{"Mô-dăm-bích"}
        NA{"Nam-mi-bi-a"}
        NC{"New Caledonia"}
        NE{"Ni-giê"}
        NF{"Đảo Norfolk"}
        NG{"Ni-giê-ri-a"}
        NI{"Ni-ca-ra-goa"}
        NL{"Hà Lan"}
        NO{"Na Uy"}
        NP{"Nê-pan"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Niu Di-lân"}
        OM{"Ô-man"}
        PA{"Pa-na-ma"}
        PE{"Pê-ru"}
        PF{"Polynesia thuộc Pháp"}
        PG{"Pa-pu-a Niu Ghi-nê"}
        PH{"Phi-lip-pin"}
        PK{"Pa-ki-xtan"}
        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{"Pa-ra-goay"}
        QA{"Ca-ta"}
        QO{"Vùng xa xôi thuộc Châu Đại Dương"}
        RO{"Ru-ma-ni"}
        RS{"Xéc-bi"}
        RU{"Nga"}
        RW{"Ru-an-đa"}
        SA{"A-rập Xê-út"}
        SB{"Quần đảo Xô-lô-mông"}
        SC{"Xây-sen"}
        SD{"Xu-đăng"}
        SE{"Thụy Điển"}
        SG{"Xin-ga-po"}
        SH{"Saint Helena"}
        SI{"Xlô-ven-ni-a"}
        SJ{"Svalbard và Jan Mayen"}
        SK{"Xlô-va-ki-a"}
        SL{"Xi-ê-ra Lê-ôn"}
        SM{"Xan Ma-ri-nô"}
        SN{"Xê-nê-gan"}
        SO{"Xô-ma-li"}
        SR{"Xu-ri-nam"}
        ST{"Xao Tô-mê và Prin-xi-pê"}
        SV{"En-san-va-đo"}
        SY{"Xi-ri"}
        SZ{"Xoa-di-len"}
        TA{"Tristan da Cunha"}
        TC{"Quần Đảo Turk và Caicos"}
        TD{"Sát"}
        TF{"Thuộc Địa Nam của Pháp"}
        TG{"Tô-gô"}
        TH{"Thái Lan"}
        TJ{"Tát-gi-ki-xtan"}
        TK{"Tokelau"}
        TL{"Đông Ti-mo"}
        TM{"Tuốc-mê-ni-xtan"}
        TN{"Tuy-ni-di"}
        TO{"Tông-ga"}
        TR{"Thổ Nhĩ Kỳ"}
        TT{"Tri-ni-đát và Tô-ba-gô"}
        TV{"Tu-va-lu"}
        TW{"Đài Loan"}
        TZ{"Tan-da-ni-a"}
        UA{"U-crai-na"}
        UG{"U-gan-đa"}
        UM{"Các đảo nhỏ xa trung tâm thuộc Mỹ"}
        US{"Hoa Kỳ"}
        UY{"U-ru-goay"}
        UZ{"U-dơ-bê-ki-xtan"}
        VA{"Va-ti-căng"}
        VC{"Xan Vin-xen và Grê-na-din"}
        VE{"Vê-nê-zu-ê-la"}
        VG{"Đảo Virgin, thuộc Anh"}
        VI{"Quần đảo Virgin, Mỹ"}
        VN{"Việt Nam"}
        VU{"Va-nu-a-tu"}
        WF{"Wallis và Futuna"}
        WS{"Xa-moa"}
        YE{"Y-ê-men"}
        ZA{"Nam Phi"}
        ZM{"Dăm-bi-a"}
        ZW{"Dim-ba-bu-ê"}
        ZZ{"Vùng Chưa biết hoặc không Hợp lệ"}
    }
    Version{"2.0.59.68"}
}
