﻿// ***************************************************************************
// *
// * Copyright (C) 2011 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/en.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/en.xml
 */
en{
    AuxExemplarCharacters{
        "[á à ă â å ä ã ā æ ç é è ĕ ê ë ē í ì ĭ î ï ī ñ ó ò ŏ ô ö ø ō œ ú ù ŭ û ü ū ÿ"
        "]"
    }
    ExemplarCharacters{"[a b c d e f g h i j k l m n o p q r s t u v w x y z]"}
    ExemplarCharactersCurrency{"[a b c č d e f g h i j k l ł m n o º p q r s t u v w x y z]"}
    ExemplarCharactersIndex{"[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]"}
    ExemplarCharactersPunctuation{"[\- ‐ – — , ; : ! ? . … ‘ ' ’ ′ ″ “ \" ” ( ) [ ] / @ \& # § † ‡ *]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"¤#,##0.00;(¤#,##0.00)"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            symbols{
                decimal{"."}
                exponential{"E"}
                group{","}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.0.54.39"}
    calendar{
        buddhist{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, MMMM d, y G",
                "MMMM d, y G",
                "MMM d, y G",
                "M/d/yy GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"d EEE"}
                Gy{"y G"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, M/d"}
                MMM{"LLL"}
                MMMEd{"E, MMM d"}
                MMMd{"MMM d"}
                Md{"M/d"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y G"}
                yM{"M/y GGGGG"}
                yMEd{"EEE, M/d/y GGGGG"}
                yMMM{"MMM y G"}
                yMMMEd{"EEE, MMM d, y G"}
                yMMMd{"MMM d, y G"}
                yMd{"M/d/y GGGGG"}
                yQ{"Q y G"}
                yQQQ{"QQQ y G"}
            }
        }
        gregorian{
            AmPmMarkers{
                "AM",
                "PM",
            }
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, MMMM d, y",
                "MMMM d, y",
                "MMM d, y",
                "M/d/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"d EEE"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, M/d"}
                MMM{"LLL"}
                MMMEd{"E, MMM d"}
                MMMd{"MMM d"}
                Md{"M/d"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"EEE, M/d/y"}
                yMMM{"MMM y"}
                yMMMEd{"EEE, MMM d, y"}
                yMMMd{"MMM d, y"}
                yMd{"M/d/y"}
                yQ{"Q y"}
                yQQQ{"QQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Sun",
                        "Mon",
                        "Tue",
                        "Wed",
                        "Thu",
                        "Fri",
                        "Sat",
                    }
                    wide{
                        "Sunday",
                        "Monday",
                        "Tuesday",
                        "Wednesday",
                        "Thursday",
                        "Friday",
                        "Saturday",
                    }
                }
                stand-alone{
                    narrow{
                        "S",
                        "M",
                        "T",
                        "W",
                        "T",
                        "F",
                        "S",
                    }
                }
            }
            eras{
                abbreviated{
                    "BC",
                    "AD",
                }
                narrow{
                    "B",
                    "A",
                }
                wide{
                    "Before Christ",
                    "Anno Domini",
                }
            }
            fields{
                day{
                    dn{"Day"}
                    relative{
                        "-1"{"Yesterday"}
                        "0"{"Today"}
                        "1"{"Tomorrow"}
                    }
                }
                dayperiod{
                    dn{"AM/PM"}
                }
                era{
                    dn{"Era"}
                }
                hour{
                    dn{"Hour"}
                }
                minute{
                    dn{"Minute"}
                }
                month{
                    dn{"Month"}
                    relative{
                        "-1"{"Last month"}
                        "0"{"This month"}
                        "1"{"Next month"}
                    }
                }
                second{
                    dn{"Second"}
                }
                week{
                    dn{"Week"}
                    relative{
                        "-1"{"Last week"}
                        "0"{"This week"}
                        "1"{"Next week"}
                    }
                }
                weekday{
                    dn{"Day of the Week"}
                }
                year{
                    dn{"Year"}
                    relative{
                        "-1"{"Last year"}
                        "0"{"This year"}
                        "1"{"Next year"}
                    }
                }
                zone{
                    dn{"Time Zone"}
                }
            }
            intervalFormats{
                M{
                    M{"M–M"}
                }
                MEd{
                    M{"E, M/d – E, M/d"}
                    d{"E, M/d – E, M/d"}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"E, MMM d – E, MMM d"}
                    d{"E, MMM d – E, MMM d"}
                }
                MMMd{
                    M{"MMM d – MMM d"}
                    d{"MMM d–d"}
                }
                Md{
                    M{"M/d – M/d"}
                    d{"M/d – M/d"}
                }
                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/yy – M/yy"}
                    y{"M/yy – M/yy"}
                }
                yMEd{
                    M{"E, M/d/yy – E, M/d/yy"}
                    d{"E, M/d/yy – E, M/d/yy"}
                    y{"E, M/d/yy – E, M/d/yy"}
                }
                yMMM{
                    M{"MMM–MMM y"}
                    y{"MMM y – MMM y"}
                }
                yMMMEd{
                    M{"E, MMM d – E, MMM d, y"}
                    d{"E, MMM d – E, MMM d, y"}
                    y{"E, MMM d, y – E, MMM d, y"}
                }
                yMMMM{
                    M{"MMMM–MMMM y"}
                    y{"MMMM y – MMMM y"}
                }
                yMMMd{
                    M{"MMM d – MMM d, y"}
                    d{"MMM d–d, y"}
                    y{"MMM d, y – MMM d, y"}
                }
                yMd{
                    M{"M/d/yy – M/d/yy"}
                    d{"M/d/yy – M/d/yy"}
                    y{"M/d/yy – M/d/yy"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Jan",
                        "Feb",
                        "Mar",
                        "Apr",
                        "May",
                        "Jun",
                        "Jul",
                        "Aug",
                        "Sep",
                        "Oct",
                        "Nov",
                        "Dec",
                    }
                    wide{
                        "January",
                        "February",
                        "March",
                        "April",
                        "May",
                        "June",
                        "July",
                        "August",
                        "September",
                        "October",
                        "November",
                        "December",
                    }
                }
                stand-alone{
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                    wide{
                        "1st quarter",
                        "2nd quarter",
                        "3rd quarter",
                        "4th quarter",
                    }
                }
                stand-alone{
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                }
            }
        }
        islamic{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, MMMM d, y G",
                "MMMM d, y G",
                "MMM d, y G",
                "M/d/yy G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"d EEE"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, M/d"}
                MMM{"LLL"}
                MMMEd{"E, MMM d"}
                MMMd{"MMM d"}
                Md{"M/d"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                yyyy{"y G"}
                yyyyM{"M/y G"}
                yyyyMEd{"EEE, M/d/y G"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"EEE, MMM d, y G"}
                yyyyMMMd{"MMM d, y G"}
                yyyyMd{"M/d/y G"}
                yyyyQ{"Q y G"}
                yyyyQQQ{"QQQ y G"}
            }
            eras{
                abbreviated{
                    "AH",
                }
                narrow:alias{"/LOCALE/calendar/islamic/eras/abbreviated"}
                wide:alias{"/LOCALE/calendar/islamic/eras/abbreviated"}
            }
            monthNames{
                default{"format"}
                format{
                    abbreviated{
                        "Muh.",
                        "Saf.",
                        "Rab. I",
                        "Rab. II",
                        "Jum. I",
                        "Jum. II",
                        "Raj.",
                        "Sha.",
                        "Ram.",
                        "Shaw.",
                        "Dhuʻl-Q.",
                        "Dhuʻl-H.",
                    }
                    default{"wide"}
                    narrow:alias{"/LOCALE/calendar/islamic/monthNames/stand-alone/narrow"}
                    wide{
                        "Muharram",
                        "Safar",
                        "Rabiʻ I",
                        "Rabiʻ II",
                        "Jumada I",
                        "Jumada II",
                        "Rajab",
                        "Shaʻban",
                        "Ramadan",
                        "Shawwal",
                        "Dhuʻl-Qiʻdah",
                        "Dhuʻl-Hijjah",
                    }
                }
                stand-alone{
                    abbreviated:alias{"/LOCALE/calendar/islamic/monthNames/format/abbreviated"}
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "10",
                        "11",
                        "12",
                    }
                    wide:alias{"/LOCALE/calendar/islamic/monthNames/format/wide"}
                }
            }
        }
        japanese{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, MMMM d, y G",
                "MMMM d, y G",
                "MMM d, y G",
                "M/d/yy GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"d EEE"}
                Gy{"y G"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, M/d"}
                MMM{"LLL"}
                MMMEd{"E, MMM d"}
                MMMd{"MMM d"}
                Md{"M/d"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y G"}
                yyyy{"y G"}
                yyyyM{"M/y GGGGG"}
                yyyyMEd{"EEE, M/d/y GGGGG"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"EEE, MMM d, y G"}
                yyyyMMMd{"MMM d, y G"}
                yyyyMd{"M/d/y GGGGG"}
                yyyyQ{"Q y G"}
                yyyyQQQ{"QQQ y G"}
            }
        }
        roc{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, MMMM d, y G",
                "MMMM d, y G",
                "MMM d, y G",
                "M/d/yy GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"d EEE"}
                Gy{"y G"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, M/d"}
                MMM{"LLL"}
                MMMEd{"E, MMM d"}
                MMMd{"MMM d"}
                Md{"M/d"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y G"}
                yyyy{"y G"}
                yyyyM{"M/y GGGGG"}
                yyyyMEd{"EEE, M/d/y GGGGG"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"EEE, MMM d, y G"}
                yyyyMMMd{"MMM d, y G"}
                yyyyMd{"M/d/y GGGGG"}
                yyyyQ{"Q y G"}
                yyyyQQQ{"QQQ y G"}
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    listPattern{
        standard{
            2{"{0} and {1}"}
            end{"{0}, and {1}"}
        }
    }
    measurementSystemNames{
        UK{"UK"}
        US{"US"}
        metric{"Metric"}
    }
    units{
        day{
            one{"{0} day"}
            other{"{0} days"}
        }
        day-future{
            one{"In {0} day"}
            other{"In {0} days"}
        }
        day-past{
            one{"{0} day ago"}
            other{"{0} days ago"}
        }
        hour{
            one{"{0} hour"}
            other{"{0} hours"}
        }
        hour-future{
            one{"In {0} hour"}
            other{"In {0} hours"}
        }
        hour-past{
            one{"{0} hour ago"}
            other{"{0} hours ago"}
        }
        minute{
            one{"{0} minute"}
            other{"{0} minutes"}
        }
        minute-future{
            one{"In {0} minute"}
            other{"In {0} minutes"}
        }
        minute-past{
            one{"{0} minute ago"}
            other{"{0} minutes ago"}
        }
        month{
            one{"{0} month"}
            other{"{0} months"}
        }
        month-future{
            one{"In {0} month"}
            other{"In {0} months"}
        }
        month-past{
            one{"{0} month ago"}
            other{"{0} months ago"}
        }
        second{
            one{"{0} second"}
            other{"{0} seconds"}
        }
        second-future{
            one{"In {0} second"}
            other{"In {0} seconds"}
        }
        second-past{
            one{"{0} second ago"}
            other{"{0} seconds ago"}
        }
        week{
            one{"{0} week"}
            other{"{0} weeks"}
        }
        week-future{
            one{"In {0} week"}
            other{"In {0} weeks"}
        }
        week-past{
            one{"{0} week ago"}
            other{"{0} weeks ago"}
        }
        year{
            one{"{0} year"}
            other{"{0} years"}
        }
        year-future{
            one{"In {0} year"}
            other{"In {0} years"}
        }
        year-past{
            one{"{0} year ago"}
            other{"{0} years ago"}
        }
    }
    unitsShort{
        day{
            one{"{0} day"}
            other{"{0} days"}
        }
        hour{
            one{"{0} hr"}
            other{"{0} hrs"}
        }
        minute{
            one{"{0} min"}
            other{"{0} mins"}
        }
        month{
            one{"{0} mth"}
            other{"{0} mths"}
        }
        second{
            one{"{0} sec"}
            other{"{0} secs"}
        }
        week{
            one{"{0} wk"}
            other{"{0} wks"}
        }
        year{
            one{"{0} yr"}
            other{"{0} yrs"}
        }
    }
}
