// ***************************************************************************
// *
// *   Copyright (C) 2001-2003, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// ***************************************************************************
// * Afar language locale for Djibouti (Cadu/Laaqo Dialects).
// * Contributed by :
// *    Daniel Yacob <yacob@geez.org>, Ge'ez Frontier Foundation
// *    Afar terms provided by Mohamed Obakar <loubak@6sens.com> of the
// *    Afar Civilization Researcher, Melka Werer Research Center.

aa_DJ {
    Version{ "x0.1" }

    // 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" }
    // }
}
