// ***************************************************************************
// *
// *   Copyright (C) 2001-2002, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// ***************************************************************************
// * Amharic language locale for Ethiopia.
// * Contributed by Daniel Yacob <yacob@geez.org>, Ge'ez Frontier Foundation

am_ET {
    Version{ "x0.3" }
    AmPmMarkers {
        "\u1320\u12CB\u1275",
        "\u12A8\u1233\u12D3\u1275",
    }
    // CountryISBNNumber { "231" }
    // CountryNumber { "231" }
    CurrencyElements {
        "$",
        "ETB",
        ".",
    }
    DateTimePatterns { 
        "hh:mm:ss a",
        "hh:mm:ss a",
        "h:mm:ss a",
        "h:mm a",
        "EEEE\u1363 dd MMMM \u1240\u1295 yyyy G",
        "dd MMMM yyyy",
        "dd-MMM-yy",
        "dd/MM/yy",
        "{1} {0}",
    }
    // Measurement { "Metric" }
//    NumberElements {
//        ".",
//        ",",
//        ";",
//        "%",
//        "0",
//        "#",
//        "-",
//        "E",
//        "\u2030",
//        "\u221E",
//        "\uFFFD",
//    }
    NumberPatterns {
        "#,##0.###;-#,##0.###",
        "\u00A4#,##0.00;-\u00A4#,##0.00",
        "#,##0%",
        "#E0",
    }
    // PaperSize {
    //    Height { "297" }
    //    Width { "210" }
    //    Units { "mm" }
    // }
 }
