﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/en_NZ.xml
// *
// ***************************************************************************
en_NZ{
    %%Parent{"en_001"}
    Version{"2.1.11.51"}
    calendar{
        generic{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, d MMMM y G",
                "d MMMM y G",
                "d/MM/y G",
                "d/MM/y GGGGG",
                "{1}, {0}",
                "{1} 'at' {0}",
                "{1} 'at' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            availableFormats{
                Md{"d/M"}
                yyyyMd{"d/MM/y G"}
            }
            intervalFormats{
                MEd{
                    M{"E, d/MM – E, d/MM"}
                    d{"E, d/MM – E, d/MM"}
                }
                MMMEd{
                    M{"E, d MMM – E, d MMM"}
                    d{"E, d – E, d MMM"}
                }
                Md{
                    M{"d/MM – d/MM"}
                    d{"d/MM – d/MM"}
                }
                yM{
                    M{"MM/y – MM/y G"}
                    y{"MM/y – MM/y G"}
                }
                yMEd{
                    M{"E, d/MM/y – E, d/MM/y G"}
                    d{"E, d/MM/y – E, d/MM/y G"}
                    y{"E, d/MM/y – E, d/MM/y G"}
                }
                yMd{
                    M{"d/MM/y – d/MM/y G"}
                    d{"d/MM/y – d/MM/y G"}
                    y{"d/MM/y – d/MM/y G"}
                }
            }
        }
        gregorian{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, d MMMM y",
                "d MMMM y",
                "d/MM/y",
                "d/MM/yy",
                "{1}, {0}",
                "{1} 'at' {0}",
                "{1} 'at' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            availableFormats{
                Md{"d/M"}
                yMd{"d/MM/y"}
            }
            intervalFormats{
                MEd{
                    M{"E, d/MM – E, d/MM"}
                    d{"E, d/MM – E, d/MM"}
                }
                MMMEd{
                    M{"E, d MMM – E, d MMM"}
                    d{"E, d – E, d MMM"}
                }
                Md{
                    M{"d/MM – d/MM"}
                    d{"d/MM – d/MM"}
                }
                yMEd{
                    M{"E, d/MM/y – E, d/MM/y"}
                    d{"E, d/MM/y – E, d/MM/y"}
                    y{"E, d/MM/y – E, d/MM/y"}
                }
                yMd{
                    M{"d/MM/y – d/MM/y"}
                    d{"d/MM/y – d/MM/y"}
                    y{"d/MM/y – d/MM/y"}
                }
            }
        }
    }
}
