// ***************************************************************************
// *
// *   Copyright (C) 1998-2002, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// ***************************************************************************
// Maltese, Malta locale
// srl@monkey.sbay.org

mt_MT {
      
    Version { "1.0" }

//    ShortCountry { MLT }

    CurrencyElements {
        "Lm",
        MTL,
        "."
    }

    NumberPatterns {
        "#,##0.###;-#,##0.###",
        "\u00A4#,##0.00;(\u00A4#,##0.00)",
        "#,##0%",
        "#E0",
    }

    LocaleID:int { 0x043A }

}
