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

vi {
    Version { "2.0" }
    AmPmMarkers { 
        "SA",
        "CH",
    }
    collations {
        standard { 
            Version { "3.0" }
              Sequence { "[normalization on]"
                  // accented letters are actually ordered like this:
                  // grave, hook above, tilde, acute, dot below.
                  "&\u0300<<\u0309<<\u0303<<\u0301<<\u0323"
                  // primary differences
                  "&a<\u0103<<<\u0102<\u00E2<<<\u00C2"
                  "&c<ch<<<Ch<<<CH"
                  "&d<\u0111<<<\u0110"
                  "&e<\u00EA<<<\u00CA"
                  "&g<gi<<<Gi<<<GI"
                  "&k<kh<<<Kh<<<KH"
                  "&n<ng<<<Ng<<<NG<nh<<<Nh<<<NH"
                  "&o<\u00F4<<<\u00D4<\u01A1<<<\u01A0"
                  "&p<ph<<<Ph<<<PH"
                  "&t<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 {
        "CN",
        "Th 2",
        "Th 3",
        "Th 4",
        "Th 5",
        "Th 6",
        "Th 7",
    }
    DayNames {
        "Ch\u1EE7 nh\u1EADt",
        "Th\u1EE9 hai",
        "Th\u1EE9 ba",
        "Th\u1EE9 t\u01B0",
        "Th\u1EE9 n\u0103m",
        "Th\u1EE9 s\u00E1u",
        "Th\u1EE9 b\u1EA3y",
    }
    // 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",
    }
}
