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

lv {
    Version{ "2.0"}
    CollationElements { 
        Version { "1.0" }
        Sequence { "[casefirst upper][backwards 2] &C < c\u030C <<< C\u030C & G < g\u0327 <<< G\u0327 & I < "
        "y<<< Y& K < k\u0327 <<< K\u0327 & L < l\u0327 <<< L\u0327 & N < n\u0327 <<< N\u0327 & S"
        " < s\u030C <<< S\u030C & Z < z\u030C <<< Z\u030C" }
    }
    Countries { 
        LV { "Latvija" }
    }
    DateTimePatterns { 
        "HH:mm:ss z",
        "HH:mm:ss z",
        "HH:mm:ss",
        "HH:mm",
        "EEEE, yyyy'. gada 'd. MMMM",
        "yyyy'. gada 'd. MMMM",
        "yyyy.d.M",
        "yy.d.M",
        "{1} {0}",
    }
    DateTimeElements:intvector {
        2,
        1, // "Minimal Days in First Week" is unknown. Root value used instead
    }
    DayAbbreviations { 
        "Sv",
        "P",
        "O",
        "T",
        "C",
        "Pk",
        "S",
    }
    DayNames { 
        "sv\u0113tdiena",
        "pirmdiena",
        "otrdiena",
        "tre\u0161diena",
        "ceturtdiena",
        "piektdiena",
        "sestdiena",
    }
    Eras { 
        "pm\u0113",
        "m\u0113",
    }
    Languages { 
        lv { "Latvie\u0161u" }
    }
    LocaleID:int { 0x26 }
//    LocaleString { "lv" }
    MonthAbbreviations { 
        "Jan",
        "Feb",
        "Mar",
        "Apr",
        "Maijs",
        "J\u016Bn",
        "J\u016Bl",
        "Aug",
        "Sep",
        "Okt",
        "Nov",
        "Dec",
    }
    MonthNames { 
        "janv\u0101ris",
        "febru\u0101ris",
        "marts",
        "apr\u012Blis",
        "maijs",
        "j\u016Bnijs",
        "j\u016Blijs",
        "augusts",
        "septembris",
        "oktobris",
        "novembris",
        "decembris",
    }
    NumberElements { 
        ",",
        "\u00A0",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "\u2030",
        "\u221E",
        "\uFFFD",
        ",",
    }
//    ShortLanguage { "lav" }
    localPatternChars { "GanjkHmsSEDFwWxhKzAe" }
    zoneStrings { 
        {
            "Africa/Casablanca",
            "GMT",
            "GMT",
            "GMT",
            "GMT",
        }
    }
    ExemplarCharacters { "[a-z \u0101 \u0113 \u012b \u014d \u016b \u0123 \u0137 \u013c \u0146 \u0157 \u010d \u0161 \u017e]" }
//    LocaleScript{ 
//        "Latn",  // ISO 15924 Name 
//    }

    // Currency display names
    Currencies {
        LVL { "Ls", "LVL" }
    }
}
