﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/to.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/to.xml
 */
to{
    AuxExemplarCharacters{
        "[à ă â å ä æ b c ç d è ĕ ê ë g ì ĭ î ï j ñ ò ŏ ô ö ø œ q r ù ŭ û ü w x y ÿ z"
        "]"
    }
    ExemplarCharacters{"[a á ā e é ē f h i í ī k l m n {ng} o ó ō p s t u ú ū v ʻ]"}
    ExemplarCharactersIndex{"[A E F H I K L M N {NG} O P S T U V ʻ]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"¤ #,##0.00"}
                decimalFormat{"#0.###"}
                percentFormat{"‎#0%"}
            }
        }
    }
    Version{"2.0.82.57"}
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d MMMM y G",
                "d MMMM y G",
                "d MMM y G",
                "d/M/yy GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"d E"}
                Hm{"H:mm"}
                Hms{"H:mm:ss"}
                M{"L"}
                MEd{"E, d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMMEd{"E d MMMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                Md{"d/M"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M-y"}
                yMEd{"E, d/M/y"}
                yMM{"MM-y"}
                yMMM{"MMM y"}
                yMMMEd{"E d MMM y"}
                yMMMM{"MMMM y"}
                yQQQ{"y QQQ"}
                yQQQQ{"y QQQQ"}
            }
            intervalFormats{
                M{
                    M{"M–M"}
                }
                MEd{
                    M{"E, d/M - E, d/M"}
                    d{"E, d/M - E, d/M"}
                }
                MMM{
                    M{"LLL–LLL"}
                }
                MMMEd{
                    M{"E, d MMM - E, d MMM"}
                    d{"E, d MMM - E, d MMM"}
                }
                MMMd{
                    M{"d MMM - d MMM"}
                    d{"d-d MMM"}
                }
                Md{
                    M{"d/M - d/M"}
                    d{"d/M - d/M"}
                }
                d{
                    d{"d–d"}
                }
                fallback{"{0} – {1}"}
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hm{
                    a{"h:mm a – h:mm a"}
                    h{"h:mm–h:mm a"}
                    m{"h:mm–h:mm a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                    h{"h:mm–h:mm a v"}
                    m{"h:mm–h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h–h a v"}
                }
                y{
                    y{"y–y"}
                }
                yM{
                    M{"M/y - M/y"}
                    y{"M/y - M/y"}
                }
                yMEd{
                    M{"E, d/M/y - E, d/M/y"}
                    d{"E, d/M/y - E, d/M/y"}
                    y{"E, d/M/y - E, d/M/y"}
                }
                yMMM{
                    M{"MMM-MMM y"}
                    y{"MMM y - MMM y"}
                }
                yMMMEd{
                    M{"E, d MMM - E, d MMM y"}
                    d{"E, d MMM - E, d MMM y"}
                    y{"E, d MMM y - E, d MMM y"}
                }
                yMMMM{
                    M{"MMMM - MMMM y"}
                    y{"MMMM y - MMMM y"}
                }
                yMMMd{
                    M{"d MMM - d MMM y"}
                    d{"MMM d-d, y"}
                    y{"d MMM y - d MMM y"}
                }
                yMd{
                    M{"d/M/y - d/M/y"}
                    d{"d/M/y - d/M/y"}
                    y{"d/M/y - d/M/y"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "AM",
                "PM",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d MMMM y",
                "d MMMM y",
                "d MMM y",
                "d/M/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"d E"}
                Hm{"H:mm"}
                Hms{"H:mm:ss"}
                M{"L"}
                MEd{"E, d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMMEd{"E d MMMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                Md{"d/M"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M-y"}
                yMEd{"E, d/M/y"}
                yMM{"MM-y"}
                yMMM{"MMM y"}
                yMMMEd{"E d MMM y"}
                yMMMM{"MMMM y"}
                yQQQ{"y QQQ"}
                yQQQQ{"y QQQQ"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Sāp",
                        "Mōn",
                        "Tūs",
                        "Pul",
                        "Tuʻa",
                        "Fal",
                        "Tok",
                    }
                    narrow{
                        "S",
                        "M",
                        "T",
                        "P",
                        "T",
                        "F",
                        "T",
                    }
                    wide{
                        "Sāpate",
                        "Mōnite",
                        "Tūsite",
                        "Pulelulu",
                        "Tuʻapulelulu",
                        "Falaite",
                        "Tokonaki",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Sāp",
                        "Mōn",
                        "Tūs",
                        "Pul",
                        "Tuʻa",
                        "Fal",
                        "Tok",
                    }
                    narrow{
                        "S",
                        "M",
                        "T",
                        "P",
                        "T",
                        "F",
                        "T",
                    }
                    wide{
                        "Sāpate",
                        "Mōnite",
                        "Tūsite",
                        "Pulelulu",
                        "Tuʻapulelulu",
                        "Falaite",
                        "Tokonaki",
                    }
                }
            }
            eras{
                abbreviated{
                    "KM",
                    "TS",
                }
                narrow{
                    "KāMā",
                    "TāSā",
                }
                wide{
                    "ki muʻa",
                    "taʻu ʻo Sīsū",
                }
            }
            intervalFormats{
                M{
                    M{"M–M"}
                }
                MEd{
                    M{"E, d/M - E, d/M"}
                    d{"E, d/M - E, d/M"}
                }
                MMM{
                    M{"LLL–LLL"}
                }
                MMMEd{
                    M{"E, d MMM - E, d MMM"}
                    d{"E, d MMM - E, d MMM"}
                }
                MMMd{
                    M{"d MMM - d MMM"}
                    d{"d-d MMM"}
                }
                Md{
                    M{"d/M - d/M"}
                    d{"d/M - d/M"}
                }
                d{
                    d{"d–d"}
                }
                fallback{"{0} – {1}"}
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hm{
                    a{"h:mm a – h:mm a"}
                    h{"h:mm–h:mm a"}
                    m{"h:mm–h:mm a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                    h{"h:mm–h:mm a v"}
                    m{"h:mm–h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h–h a v"}
                }
                y{
                    y{"y–y"}
                }
                yM{
                    M{"M/y - M/y"}
                    y{"M/y - M/y"}
                }
                yMEd{
                    M{"E, d/M/y - E, d/M/y"}
                    d{"E, d/M/y - E, d/M/y"}
                    y{"E, d/M/y - E, d/M/y"}
                }
                yMMM{
                    M{"MMM-MMM y"}
                    y{"MMM y - MMM y"}
                }
                yMMMEd{
                    M{"E, d MMM - E, d MMM y"}
                    d{"E, d MMM - E, d MMM y"}
                    y{"E, d MMM y - E, d MMM y"}
                }
                yMMMM{
                    M{"MMMM - MMMM y"}
                    y{"MMMM y - MMMM y"}
                }
                yMMMd{
                    M{"d MMM - d MMM y"}
                    d{"MMM d-d, y"}
                    y{"d MMM y - d MMM y"}
                }
                yMd{
                    M{"d/M/y - d/M/y"}
                    d{"d/M/y - d/M/y"}
                    y{"d/M/y - d/M/y"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Sān",
                        "Fēp",
                        "Maʻa",
                        "ʻEpe",
                        "Mē",
                        "Sun",
                        "Siu",
                        "ʻAok",
                        "Sep",
                        "ʻOka",
                        "Nōv",
                        "Tīs",
                    }
                    narrow{
                        "S",
                        "F",
                        "M",
                        "E",
                        "M",
                        "S",
                        "S",
                        "A",
                        "S",
                        "O",
                        "N",
                        "T",
                    }
                    wide{
                        "Sānuali",
                        "Fēpueli",
                        "Maʻasi",
                        "ʻEpeleli",
                        "Mē",
                        "Sune",
                        "Siulai",
                        "ʻAokosi",
                        "Sepitema",
                        "ʻOkatopa",
                        "Nōvema",
                        "Tīsema",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Sān",
                        "Fēp",
                        "Maʻa",
                        "ʻEpe",
                        "Mē",
                        "Sun",
                        "Siu",
                        "ʻAok",
                        "Sep",
                        "ʻOka",
                        "Nōv",
                        "Tīs",
                    }
                    narrow{
                        "S",
                        "F",
                        "M",
                        "E",
                        "M",
                        "S",
                        "S",
                        "A",
                        "S",
                        "O",
                        "N",
                        "T",
                    }
                    wide{
                        "Sānuali",
                        "Fēpueli",
                        "Maʻasi",
                        "ʻEpeleli",
                        "Mē",
                        "Sune",
                        "Siulai",
                        "ʻAokosi",
                        "Sepitema",
                        "ʻOkatopa",
                        "Nōvema",
                        "Tīsema",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "K1",
                        "K2",
                        "K3",
                        "K4",
                    }
                    wide{
                        "kuata ʻuluaki",
                        "kuata ua",
                        "kuata tolu",
                        "kuata fā",
                    }
                }
                stand-alone{
                    abbreviated{
                        "K1",
                        "K2",
                        "K3",
                        "K4",
                    }
                    wide{
                        "kuata 1",
                        "kuata 2",
                        "kuata 3",
                        "kuata 4",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    fields{
        day{
            dn{"ʻaho"}
            relative{
                "-1"{"ʻaneafi"}
                "-2"{"ʻaneheafi"}
                "0"{"ʻaho⸍ni"}
                "1"{"ʻapongipongi"}
                "2"{"ʻahepongipongi"}
            }
        }
        dayperiod{
            dn{"AM/PM"}
        }
        era{
            dn{"kuonga"}
        }
        hour{
            dn{"houa"}
        }
        minute{
            dn{"miniti"}
        }
        month{
            dn{"māhina"}
        }
        second{
            dn{"sekoni"}
        }
        week{
            dn{"uike"}
        }
        weekday{
            dn{"ʻaho ʻo e uike"}
        }
        year{
            dn{"taʻu"}
        }
        zone{
            dn{"taimi fakavahe"}
        }
    }
    measurementSystemNames{
        US{"fakaʻamelika"}
        metric{"fakamita"}
    }
    units{
        day{
            other{"{0} ʻa"}
        }
        hour{
            other{"{0} h"}
        }
        minute{
            other{"{0} m"}
        }
        month{
            other{"{0} m"}
        }
        second{
            other{"{0} s"}
        }
        week{
            other{"{0} u"}
        }
        year{
            other{"{0} t"}
        }
    }
}
