// *******************************************************************************
// *
// *   Copyright (C) 2001-2004, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// *******************************************************************************
// * Somali language locale for Somalia.
// * 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_SO {
    Version{ "x0.1" }
    // CountryISBNNumber { "706" }
    // CountryNumber { "706" }
    CurrencyElements {
            "$",
            "SOS",
            ".",
    }
    // 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" }
    // }
 }
