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

en_NZ {
    Countries { 
        US { "United States" }
        GB { "United Kingdom" }
        CA { "Canada" }
        IE { "Ireland" }
        AU { "Australia" }
        NZ { "New Zealand" }
    }
    CurrencyElements { 
            "$",
            "NZD",
            ".",
    }
    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 { "1409" }
    LocaleString { "en_NZ" }
    ShortCountry { "NZL" }
}
