// ***************************************************************************
// *
// *   Copyright (C) 1997-2003, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// ***************************************************************************

vi {
    Version { "2.0" }
    AmPmMarkers { 
        "SA",
        "CH",
    }
    collations {
        standard { 
            Version { "2.0" }
            Sequence { "[normalization on]&\u0300<<\u0309<<\u0303<<\u0301<<"
                "\u0323<<\u0306<<\u0302<<\u031B"
                "&D<\u0111<<<\u0110" }
        }
// This might be a better version of vietnamese collation
//            Sequence { "[normalization on]"
//                "&A<\u0103<<<\u0102"
//                "&\u0103<\u00E2<<<\u00C2"
//                "&C<ch<<<Ch<<<CH"
//                "&D<\u0111<<<\u0110"
//                "&e<\u00EA<<<\u00CA"
//                "&g<gi<<<Gi<<<GI"
//                "&k<kh<<<Kh<<<KH"
//                "&n<ng<<<Ng<<<NG"
//                "&ng<nh<<<Nh<<<NH"
//                "&o<\u00F4<<<\u00D4"
//                "&\u00F4<\u01A1<<<\u01A0"
//                "&p<ph<<<Ph<<<PH"
//                "&t<th<<<Th<<<TH"
//                "&th<tr<<<Tr<<<TR"
//                "&u<\u01B0<<<\u01AF"
//            }
    }
    // Note many of the country names have dashes in the name. This seems to be correct.
    // Translations that are done poorly seem to remove them. This doesn't mean that all the dashes are correct,
    // but care should be taken before removing them.
    Countries {
        AE { "C\u00e1c Ti\u1ec3u V\u01b0\u01a1ng qu\u1ed1c A-r\u1eadp Th\u1ed1ng nh\u1ea5t" }
        AF { "\u00c1p-ga-ni-xtan" }
        AG { "An-ti-gu-a v\u00e0 Ba-bu-\u0111a" }
        AL { "An-ba-ni" }
        AM { "\u00c1c-m\u00ea-ni-a" }
        AO { "\u0102ng-g\u00f4-la" }
        AR { "\u00c1c-hen-ti-na" }
        AT { "\u00c1o" } // \u00c1o Qu\u1ed1c ?
        AU { "\u00dac \u00d0\u1ea1i L\u1ee3i" }
        AZ { "Ai-d\u00e9c-bai-gian" }

        BA { "B\u00f4-xni-a H\u00e9c-x\u00ea-g\u00f4-vi-na" }
        BB { "B\u00e1c-ba-\u0111\u1ed1t" }
        BD { "B\u0103ng-la-\u0111\u00e9t" }
        BE { "B\u1ec9" }
        BF { "Bu\u1ed1c-ki-na Pha-x\u00f4" }
        BG { "Bun-ga-ri" }
        BH { "Ba-ren" }
        BI { "Bu-run-\u0111i" }
        BJ { "B\u00ea-nanh" }
        BN { "Bru-n\u00e2y" }
        BO { "B\u00f4-li-vi-a" }
        BR { "Bra-xin" }
        BS { "Ba-ha-ma" }
        BW { "B\u1ed1t-xoa-na" }
        BY { "B\u00ea-la-r\u00fat" }
        BZ { "B\u00ea-li-x\u00ea" }

        CA { "Ca-na-\u0111a" }
        CF { "C\u1ed9ng h\u00f2a Trung Phi" }
        CG { "C\u00f4ng-g\u00f4" }
        CH { "Thu\u1ef5 S\u0129" }
        CI { "B\u1edd Bi\u1ec3n Ng\u00e0" }
        CL { "Chi-l\u00ea" }
        CM { "Ca-m\u01a1-run" }
        CN { "Trung Qu\u1ed1c" }
        CO { "C\u00f4-l\u00f4m-bi-a" }
        CR { "C\u1ed1t-xta Ri-ca" }
        CU { "Cu-ba" }
        CV { "C\u00e1p-ve" }
        CY { "S\u00edp" }
        CZ { "C\u1ed9ng h\u00f2a S\u00e9c" }

        DE { "\u00d0\u1ee9c" }
        DJ { "Gi-bu-ti" }
        DK { "\u0110an M\u1ea1c" }
        DZ { "An-gi\u00ea-ri" }

        EC { "\u00ca-cu-a-\u0111o" }
        EE { "E-xt\u00f4-ni-a" }
        EG { "Ai-c\u1eadp" }
        EH { "Ph\u00eda t\u00e2y Sahara" }
        ER { "\u00ca-ri-t\u01a1-r\u00ea-a" }
        ES { "T\u00e2y Ban Nha" }
        ET { "\u00ca-ti-\u00f4-pi-a" }

        FI { "Ph\u1ea7n Lan" }
        FJ { "Phi-gi" }
        FM { "Mi-cr\u00f4-n\u00ea-xi-a" }
        FR { "Ph\u00e1p" }

        GA { "Ga-b\u00f4ng" }
        GB { "V\u01b0\u01a1ng qu\u1ed1c Anh" }
        GD { "Gr\u00ea-na-\u0111a" }
        GE { "Gru-di-a" }
        GH { "Gha-na" }
        GM { "G\u0103m-bi-a" }
        GN { "Ghi-n\u00ea" }
        GQ { "Ghi-n\u00ea X\u00edch-\u0111\u1ea1o" }
        GR { "Hy L\u1ea1p" }
        GT { "Goa-t\u00ea-ma-la" }
        GW { "Ghi-n\u00ea B\u00edt-xao" }
        GY { "Guy-a-na" }

        HN { "H\u00f4n-\u0111u-r\u00e1t" }
        HR { "Cr\u00f4-a-ti-a" }
        HT { "Ha-i-ti" }
        HU { "Hung-ga-ri" }

        ID { "Nam D\u01b0\u01a1ng" } // or maybe also In-\u0111\u00f4-n\u00ea-xi-a
        IE { "Ai-len" }
        IL { "I-xra-en" }
        IN { "\u1ea4n \u00d0\u1ed9" }
        IQ { "I-r\u1eafc" }
        IR { "I-ran" }
        IS { "Ai-x\u01a1-len" }
        IT { "\u00DD" } // The less frequent form of this country is "I-ta-li-a"

        JM { "Ha-mai-ca" }
        JO { "Gi\u00f3c-\u0111a-ni" }
        JP { "Nh\u1eadt B\u1ea3n" }

        KE { "K\u00ea-ni-a" }
        KG { "C\u01b0-r\u01a1-g\u01b0-xtan" }
        KH { "Cam-pu-chia" }
        KI { "Ki-ri-ba-ti" }
        KM { "C\u00f4-m\u00f4" }
        KN { "Xan-k\u00edt v\u00e0 N\u00ea-vi" }
        KP { "Tri\u1ec1u Ti\u00ean" } // Alt name?: C\u1ed9ng h\u00f2a D\u00e2n ch\u1ee7 Nh\u00e2n d\u00e2n Tri\u1ec1u Ti\u00ean
        KR { "H\u00e0n Qu\u1ed1c" }
        KW { "C\u00f4-o\u00e9t" }
        KZ { "Ka-d\u1eafc-xtan" }

        LA { "L\u00e0o" }
        LB { "Li-b\u0103ng" }
        LC { "Xan Lu-xi" }
        LI { "Lich-ten-xt\u00ean" }
        LK { "Xri Lan-ca" }
        LR { "Li-b\u00ea-ri-a" }
        LS { "L\u00ea-x\u00f4-th\u00f4" }
        LT { "Li-tu-a-ni-a" }
        LU { "L\u00fac-x\u0103m-bua" }
        LV { "L\u00e1t-vi-a" }
        LY { "Li-bi" }

        MA { "Ma-r\u1ed1c" }
        MC { "M\u00f4-na-c\u00f4" }
        MD { "M\u00f4n-\u0111\u00f4-va" }
        MG { "Ma-\u0111a-g\u00e1t-xca" }
        MH { "Qu\u1ea7n \u0111\u1ea3o M\u00e1c-san"}
        MK { "Ma-x\u00ea-\u0111\u00f4-ni-a" }
        ML { "Ma-li" }
        MM { "Mi-an-ma" }
        MN { "M\u00f4ng C\u1ed5" }
        MR { "M\u00f4-ri-ta-ni" }
        MT { "Man-ta" }
        MU { "M\u00f4-ri-x\u01a1" }
        MV { "Man-\u0111i-v\u01a1" }
        MW { "Ma-la-uy" }
        MX { "M\u00ea-hi-c\u00f4" }
        MY { "Ma-lay-xi-a" }
        MZ { "M\u00f4-d\u0103m-b\u00edch" }

        NA { "Nam-mi-bi-a" }
        NE { "Ni-gi\u00ea" }
        NG { "Ni-gi\u00ea-ri-a" }
        NI { "Ni-ca-ra-goa" }
        NL { "H\u00e0 Lan" }
        NO { "Na Uy" }
        NP { "N\u00ea-pan" }
        NZ { "Niu Di-l\u00e2n" }

        OM { "\u00d4-man" }

        PA { "Pa-na-ma" }
        PE { "P\u00ea-ru" }
        PG { "Pa-pu-a Niu Ghi-n\u00ea" }
        PH { "Phi-lip-pin" }
        PK { "Pa-ki-xtan" }
        PL { "Ba Lan" }
        PT { "B\u1ed3 \u00d0\u00e0o Nha" }
        PY { "Pa-ra-goay" }

        QA { "Ca-ta" }

        RO { "Ru-ma-ni" }
        RU { "Nga" }
        RW { "Ru-an-\u0111a" }

        SA { "\u1ea2-r\u1eadp X\u00ea-\u00fat" }
        SB { "Qu\u1ea7n \u0111\u1ea3o X\u00f4-l\u00f4-m\u00f4ng" }
        SC { "X\u00e2y-sen" }
        SD { "Xu-\u0111\u0103ng" }
        SE { "Thu\u1ef5 \u0110i\u1ec3" }
        SG { "Xin-ga-po" }
        SI { "Xl\u00f4-ven-ni-a" }
        SK { "Xl\u00f4-va-ki-a" }
        SL { "Xi-\u00ea-ra L\u00ea-\u00f4n" }
        SM { "Xan Ma-ri-n\u00f4" }
        SN { "X\u00ea-n\u00ea-gan" }
        SO { "X\u00f4-ma-li" }
        SP { "S\u00e9cbia" }
        SR { "Xu-ri-nam" }
        ST { "Xao T\u00f4-m\u00ea v\u00e0 Prin-xi-p\u00ea" }
        SV { "En-san-va-\u0111o" }
        SY { "Xi-ri" }
        SZ { "Xoa-di-len" }

        TD { "S\u00e1t" }
        TG { "T\u00f4-g\u00f4" }
        TH { "Th\u00e1i Lan" }
        TJ { "T\u00e1t-gi-ki-xtan" }
        TM { "Tu\u1ed1c-m\u00ea-ni-xtan" }
        TN { "Tuy-ni-di" }
        TO { "T\u00f4ng-ga" }
        TR { "Th\u1ed5 Nh\u0129 K\u1ef3" }
        TT { "Tri-ni-\u0111\u00e1t v\u00e0 T\u00f4-ba-g\u00f4" }
        TV { "Tu-va-lu" }
        TW { "\u00d0\u00e0i Loan" }
        TZ { "Tan-da-ni-a" }

        UA { "U-crai-na" }
        UG { "U-gan-\u0111a" }
        US { "H\u1ee3p ch\u00fang qu\u1ed1c Hoa k\u1ef3" } // M\u1ef9 = slang abbreviated form of US; Hoa K\u1ef3 = US; H\u1ee3p ch\u00fang qu\u1ed1c Hoa k\u1ef3 = USA 
        UY { "U-ru-goay" }
        UZ { "U-d\u01a1-b\u00ea-ki-xtan" }

        VA { "Va-ti-c\u0103ng" }
        VC { "Xan Vin-xen v\u00e0 Gr\u00ea-na-din" }
        VE { "V\u00ea-n\u00ea-zu-\u00ea-la" }
        VN { "Vi\u1ec7t Nam" }
        VU { "Va-nu-a-tu" }

        WS { "Xa-moa" }

        YE { "Y-\u00ea-men" }

        ZA { "Nam Phi" }
        ZM { "D\u0103m-bi-a" }
        ZW { "Dim-ba-bu-\u00ea" }
    }
    Currencies {
        VND { "\u0111", "\u00d0\u00f4ng" } // Vietnamese Dong. More people use \u0111 rather than \u20AB
    }
    DateTimeElements:intvector { 
        2,
        1,
    }
    DateTimePatterns {
        "HH:mm:ss z",
        "HH:mm:ss z",
        "HH:mm:ss",
        "HH:mm",
        "EEEE dd MMMM yyyy",    // Should this be "EEEE dd MMMM n\u0103m yyyy"?
        "dd MMMM yyyy",         // Should this be "dd MMMM n\u0103m yyyy"?
        "dd-MM-yyyy",
        "dd/MM/yyyy",
        "{0} {1}",
    }
    DayAbbreviations {
        "Th 2",
        "Th 3",
        "Th 4",
        "Th 5",
        "Th 6",
        "Th 7",
        "CN",
    }
    DayNames {
        "Th\u1EE9 hai",
        "Th\u1EE9 ba",
        "Th\u1EE9 t\u01B0",
        "Th\u1EE9 n\u0103m",
        "Th\u1EE9 s\u00E1u",
        "Th\u1EE9 b\u1EA3y",
        "Ch\u1EE7 nh\u1EADt",
    }
    // The case of the letters may be wrong for languages because Ti\u1EBFng is used.
    // Ti\u1EBFng is used in order to clarify some of the names, and ti\u1EBFng means "language".
    // Ti\u1EBFng is used to differentiate similar words like English from England and German from Germany,
    //   which are frequently the same in Vietnamese.
    // It is difficult to decide whether Ti\u1EBFng should precede the translation, but it doesn't hurt to keep it there.
    Languages {
        ca { "Ti\u1EBFng Catalan" }
        da { "Ti\u1EBFng \u0110an M\u1EA1ch" }
        de { "Ti\u1EBFng \u0110\u1EE9c" }
        en { "Ti\u1EBFng Anh" }
        eo { "Ti\u1EBFng Esp\u00E9ranto" }
        es { "Ti\u1EBFng T\u00E2y Ban Nha" }
        fr { "Ti\u1EBFng Ph\u00E1p" }
        hr { "Ti\u1EBFng Cr\u00f4atia" }
        hu { "Ti\u1EBFng Hung-ga-ri" }
        it { "Ti\u1EBFng \u00DD" } // Just \u00DD seems okay because Ti\u1EBFng is used. \u00DD is sometimes used to mean Italy too.
        ja { "Ti\u1EBFng Nh\u1EADt" }
        ko { "Ti\u1EBFng H\u00E0n Qu\u1ED1c" }
        nl { "Ti\u1EBFng H\u00E0 Lan" }
        pt { "Ti\u1EBFng B\u1ED3 \u0110\u00E0o Nha" }
        ro { "Ti\u1EBFng La M\u00E3" }
        ru { "Ti\u1EBFng Nga" }
        sv { "Ti\u1EBFng Thu\u1EF5 \u0110i\u1EC3n" }
        tr { "Ti\u1EBFng Th\u1ED5 Nh\u0129 K\u1EF3" }
        vi { "Ti\u1EBFng Vi\u1EC7t" }
        zh { "Ti\u1EBFng Trung Qu\u1ED1c" }
    }
    LocaleScript{ 
        "Latn",  // ISO 15924 Name 
    }
    ExemplarCharacters{ "[a-z\u1EA0-\u1Ef9\u0111\u01A1\u00E0-\u00E3\u00E8-\u00EA\u00EC\u00ED\u00F2-\u00F5\u00F9\u00FA\u00FD\u0103\u0129\u0169\u01B0]" }
    MonthAbbreviations {
        "Thg 1",
        "Thg 2",
        "Thg 3",
        "Thg 4",
        "Thg 5",
        "Thg 6",
        "Thg 7",
        "Thg 8",
        "Thg 9",
        "Thg 10",
        "Thg 11",
        "Thg 12",
    }
    MonthNames {
        "Th\u00E1ng m\u1ED9t",
        "Th\u00E1ng hai",
        "Th\u00E1ng ba",
        "Th\u00E1ng t\u01B0",
        "Th\u00E1ng n\u0103m",
        "Th\u00E1ng s\u00E1u",
        "Th\u00E1ng b\u1EA3y",
        "Th\u00E1ng t\u00E1m",
        "Th\u00E1ng ch\u00EDn",
        "Th\u00E1ng m\u01B0\u1EDDi",
        "Th\u00E1ng m\u01B0\u1EDDi m\u1ED9t",
        "Th\u00E1ng m\u01B0\u1EDDi hai",
    }
    NumberElements {
        ",",
        ".",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "\u2030",
        "\u221E",
        "\uFFFD",
        ",",
        "+",
    }
    NumberPatterns {
        "#,##0.###;-#,##0.###",
        "#,##0.00 \u00A4;-#,##0.00 \u00A4",
        "#,##0%",
        "#E0",
    }
}
