// *******************************************************************************
// *
// *   Copyright (C) 1997-2000, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// *******************************************************************************

en_AU {
    Countries { 
        US { "United States" }
        GB { "United Kingdom" }
        CA { "Canada" }
        IE { "Ireland" }
        AU { "Australia" }
        NZ { "New Zealand" }
    }
    CurrencyElements { 
            "$",
            "AUD",
            ".",
    }
    DateTimePatterns { 
            "hh:mm:ss a z",
            "H:mm:ss",
            "HH:mm:ss",
            "HH:mm",
            "EEEE, d MMMM yyyy",
            "d MMMM yyyy",
            "d/MM/yyyy",
            "d/MM/yy",
            "{1} {0}",
    }
    Languages { 
        en { "English" }
    }
    LocaleID { "0c09" }
    LocaleString { "en_AU" }
    ShortCountry { "AUS" }
}
