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

vi {
    Version { "2.0" }
    CollationElements { 
        Version { "2.0" }
        Sequence { "[normalization on]&\u0300<<\u0309<<\u0303<<\u0301<<"
        "\u0323<<\u0306<<\u0302<<\u031B"
        "&D<\u0111<<<\u0110" }
    }
    Countries {
        VN { "Vi\u1EC7t Nam" }
    }
    Languages {
        vi { "Ti\u1EBFng Vi\u1EC7t" }
    }
    DateTimePatterns {
        "HH:mm:ss z",
        "HH:mm:ss z",
        "HH:mm:ss",
        "HH:mm",
        "EEEE dd MMMM yyyy",
        "EEE dd MMM yyyy",
        "dd MMM yyyy",
        "dd/MM/yy",
        "{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",
    }
    LocaleID:int { 0x002A }
//    LocaleString { "vi" }
    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",
    }
//    ShortLanguage { "vie" }
//    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]" }
}
