// *******************************************************************************
// *
// *   Copyright (C) 2001-2004, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// *******************************************************************************
// * Somali language locale for Ethiopia.
// * Contributed by :
// *             Daniel Yacob <yacob@geez.org>, Ge'ez Frontier Foundation
// *             Mohamed Diriye Abdullahi <diriyeam@magellan.umontreal.ca>
// *             Department of Linguistics and Translation, Universite de Montreal, Montreal


so_ET {
    Version{ "x0.1" }
    // CountryISBNNumber { "231" }
    // CountryNumber { "231" }
    CurrencyElements {
            "$",
            "ETB",
            ".",
    }
    // Measurement { "Metric" }
    NumberElements {
            ".",
            ",",
            ";",
            "%",
            "0",
            "#",
            "-",
            "E",
            "\u2030",
            "\u221E",
            "\uFFFD",
    }
    NumberPatterns {
            "#,##0.###;-#,##0.###",
            "\u00A4#,##0.00;-\u00A4#,##0.00",
            "#,##0%",
    }
    // PaperSize {
    //    Hieght { "297" }
    //    Width { "210" }
    //    Units { "mm" }
    // }
 }
