﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/en.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/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]"}
    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{
        "[\\- ‐ – — , ; \\: ! ? . … ' ‘ ’ \u0022 “ ” ( ) \\[ \\] § @ * / \\& # † ‡ ′ "
        "″]"
    }
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            miscPatterns{
                atLeast{"{0}+"}
            }
            patterns{
                accountingFormat{"¤#,##0.00;(¤#,##0.00)"}
                currencyFormat{"¤#,##0.00"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        one{"0 thousand"}
                        other{"0 thousand"}
                    }
                    10000{
                        one{"00 thousand"}
                        other{"00 thousand"}
                    }
                    100000{
                        one{"000 thousand"}
                        other{"000 thousand"}
                    }
                    1000000{
                        one{"0 million"}
                        other{"0 million"}
                    }
                    10000000{
                        one{"00 million"}
                        other{"00 million"}
                    }
                    100000000{
                        one{"000 million"}
                        other{"000 million"}
                    }
                    1000000000{
                        one{"0 billion"}
                        other{"0 billion"}
                    }
                    10000000000{
                        one{"00 billion"}
                        other{"00 billion"}
                    }
                    100000000000{
                        one{"000 billion"}
                        other{"000 billion"}
                    }
                    1000000000000{
                        one{"0 trillion"}
                        other{"0 trillion"}
                    }
                    10000000000000{
                        one{"00 trillion"}
                        other{"00 trillion"}
                    }
                    100000000000000{
                        one{"000 trillion"}
                        other{"000 trillion"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        one{"0K"}
                        other{"0K"}
                    }
                    10000{
                        one{"00K"}
                        other{"00K"}
                    }
                    100000{
                        one{"000K"}
                        other{"000K"}
                    }
                    1000000{
                        one{"0M"}
                        other{"0M"}
                    }
                    10000000{
                        one{"00M"}
                        other{"00M"}
                    }
                    100000000{
                        one{"000M"}
                        other{"000M"}
                    }
                    1000000000{
                        one{"0B"}
                        other{"0B"}
                    }
                    10000000000{
                        one{"00B"}
                        other{"00B"}
                    }
                    100000000000{
                        one{"000B"}
                        other{"000B"}
                    }
                    1000000000000{
                        one{"0T"}
                        other{"0T"}
                    }
                    10000000000000{
                        one{"00T"}
                        other{"00T"}
                    }
                    100000000000000{
                        one{"000T"}
                        other{"000T"}
                    }
                }
            }
            symbols{
                decimal{"."}
                exponential{"E"}
                group{","}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
                superscriptingExponent{"×"}
            }
        }
    }
    Version{"2.1.8.87"}
    calendar{
        buddhist{
            eras{
                abbreviated{
                    "BE",
                }
            }
        }
        chinese{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, MMMM d, U",
                "MMMM d, U",
                "MMM d, U",
                "M/d/yy",
                "{1}, {0}",
                "{1} 'at' {0}",
                "{1} 'at' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            availableFormats{
                E{"ccc"}
                EHm{"E HH:mm"}
                EHms{"E HH:mm:ss"}
                Ed{"d E"}
                Ehm{"E h:mm a"}
                Ehms{"E h:mm:ss a"}
                Gy{"U"}
                GyMMM{"MMM U"}
                GyMMMEd{"E, MMM d, U"}
                GyMMMd{"MMM d, U"}
                H{"HH"}
                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"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"U"}
                yMd{"M/d/y"}
                yyyy{"U"}
                yyyyM{"M/y"}
                yyyyMEd{"E, M/d/y"}
                yyyyMMM{"MMM U"}
                yyyyMMMEd{"E, MMM d, U"}
                yyyyMMMd{"MMM d, U"}
                yyyyMd{"M/d/y"}
                yyyyQQQ{"QQQ U"}
                yyyyQQQQ{"QQQQ U"}
            }
            cyclicNameSets{
                zodiacs{
                    format{
                        abbreviated{
                            "Rat",
                            "Ox",
                            "Tiger",
                            "Rabbit",
                            "Dragon",
                            "Snake",
                            "Horse",
                            "Goat",
                            "Monkey",
                            "Rooster",
                            "Dog",
                            "Pig",
                        }
                    }
                }
            }
            intervalFormats{
                H{
                    H{"HH – HH"}
                }
                Hm{
                    H{"HH:mm – HH:mm"}
                    m{"HH:mm – HH:mm"}
                }
                Hmv{
                    H{"HH:mm – HH:mm v"}
                    m{"HH:mm – HH:mm v"}
                }
                Hv{
                    H{"HH – HH v"}
                }
                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{"U – U"}
                }
                yM{
                    M{"M/y – M/y"}
                    y{"M/y – M/y"}
                }
                yMEd{
                    M{"E, M/d/y – E, M/d/y"}
                    d{"E, M/d/y – E, M/d/y"}
                    y{"E, M/d/y – E, M/d/y"}
                }
                yMMM{
                    M{"MMM – MMM U"}
                    y{"MMM U – MMM U"}
                }
                yMMMEd{
                    M{"E, MMM d – E, MMM d, U"}
                    d{"E, MMM d – E, MMM d, U"}
                    y{"E, MMM d, U – E, MMM d, U"}
                }
                yMMMM{
                    M{"MMMM – MMMM U"}
                    y{"MMMM U – MMMM U"}
                }
                yMMMd{
                    M{"MMM d – MMM d, U"}
                    d{"MMM d – d, U"}
                    y{"MMM d, U – MMM d, U"}
                }
                yMd{
                    M{"M/d/y – M/d/y"}
                    d{"M/d/y – M/d/y"}
                    y{"M/d/y – M/d/y"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Mo1",
                        "Mo2",
                        "Mo3",
                        "Mo4",
                        "Mo5",
                        "Mo6",
                        "Mo7",
                        "Mo8",
                        "Mo9",
                        "Mo10",
                        "Mo11",
                        "Mo12",
                    }
                    wide{
                        "Month1",
                        "Month2",
                        "Month3",
                        "Month4",
                        "Month5",
                        "Month6",
                        "Month7",
                        "Month8",
                        "Month9",
                        "Month10",
                        "Month11",
                        "Month12",
                    }
                }
            }
        }
        generic{
            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/y GGGGG",
                "{1}, {0}",
                "{1} 'at' {0}",
                "{1} 'at' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            appendItems{
                Day{"{0} ({2}: {1})"}
                Day-Of-Week{"{0} {1}"}
                Era{"{0} {1}"}
                Hour{"{0} ({2}: {1})"}
                Minute{"{0} ({2}: {1})"}
                Month{"{0} ({2}: {1})"}
                Quarter{"{0} ({2}: {1})"}
                Second{"{0} ({2}: {1})"}
                Timezone{"{0} {1}"}
                Week{"{0} ({2}: {1})"}
                Year{"{0} {1}"}
            }
            availableFormats{
                E{"ccc"}
                EHm{"E HH:mm"}
                EHms{"E HH:mm:ss"}
                Ed{"d E"}
                Ehm{"E h:mm a"}
                Ehms{"E h:mm:ss a"}
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, MMM d, y G"}
                GyMMMd{"MMM d, y G"}
                H{"HH"}
                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"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y G"}
                yyyy{"y G"}
                yyyyM{"M/y GGGGG"}
                yyyyMEd{"E, M/d/y GGGGG"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E, MMM d, y G"}
                yyyyMMMd{"MMM d, y G"}
                yyyyMd{"M/d/y GGGGG"}
                yyyyQQQ{"QQQ y G"}
                yyyyQQQQ{"QQQQ y G"}
            }
            intervalFormats{
                H{
                    H{"HH – HH"}
                }
                Hm{
                    H{"HH:mm – HH:mm"}
                    m{"HH:mm – HH:mm"}
                }
                Hmv{
                    H{"HH:mm – HH:mm v"}
                    m{"HH:mm – HH:mm v"}
                }
                Hv{
                    H{"HH – HH v"}
                }
                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 G"}
                }
                yM{
                    M{"M/y – M/y GGGGG"}
                    y{"M/y – M/y GGGGG"}
                }
                yMEd{
                    M{"E, M/d/y – E, M/d/y GGGGG"}
                    d{"E, M/d/y – E, M/d/y GGGGG"}
                    y{"E, M/d/y – E, M/d/y GGGGG"}
                }
                yMMM{
                    M{"MMM – MMM y G"}
                    y{"MMM y – MMM y G"}
                }
                yMMMEd{
                    M{"E, MMM d – E, MMM d, y G"}
                    d{"E, MMM d – E, MMM d, y G"}
                    y{"E, MMM d, y – E, MMM d, y G"}
                }
                yMMMM{
                    M{"MMMM – MMMM y G"}
                    y{"MMMM y – MMMM y G"}
                }
                yMMMd{
                    M{"MMM d – MMM d, y G"}
                    d{"MMM d – d, y G"}
                    y{"MMM d, y – MMM d, y G"}
                }
                yMd{
                    M{"M/d/y – M/d/y GGGGG"}
                    d{"M/d/y – M/d/y GGGGG"}
                    y{"M/d/y – M/d/y GGGGG"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "AM",
                "PM",
            }
            AmPmMarkers%variant{
                "am",
                "pm",
            }
            AmPmMarkersNarrow{
                "a",
                "p",
            }
            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} 'at' {0}",
                "{1} 'at' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            NoonMarker{"noon"}
            NoonMarkerNarrow{"n"}
            appendItems{
                Day{"{0} ({2}: {1})"}
                Day-Of-Week{"{0} {1}"}
                Era{"{0} {1}"}
                Hour{"{0} ({2}: {1})"}
                Minute{"{0} ({2}: {1})"}
                Month{"{0} ({2}: {1})"}
                Quarter{"{0} ({2}: {1})"}
                Second{"{0} ({2}: {1})"}
                Timezone{"{0} {1}"}
                Week{"{0} ({2}: {1})"}
                Year{"{0} {1}"}
            }
            availableFormats{
                E{"ccc"}
                EHm{"E HH:mm"}
                EHms{"E HH:mm:ss"}
                Ed{"d E"}
                Ehm{"E h:mm a"}
                Ehms{"E h:mm:ss a"}
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, MMM d, y G"}
                GyMMMd{"MMM d, y G"}
                H{"HH"}
                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"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E, M/d/y"}
                yMMM{"MMM y"}
                yMMMEd{"E, MMM d, y"}
                yMMMd{"MMM d, y"}
                yMd{"M/d/y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Sun",
                        "Mon",
                        "Tue",
                        "Wed",
                        "Thu",
                        "Fri",
                        "Sat",
                    }
                    short{
                        "Su",
                        "Mo",
                        "Tu",
                        "We",
                        "Th",
                        "Fr",
                        "Sa",
                    }
                    wide{
                        "Sunday",
                        "Monday",
                        "Tuesday",
                        "Wednesday",
                        "Thursday",
                        "Friday",
                        "Saturday",
                    }
                }
                stand-alone{
                    narrow{
                        "S",
                        "M",
                        "T",
                        "W",
                        "T",
                        "F",
                        "S",
                    }
                }
            }
            eras{
                abbreviated{
                    "BC",
                    "AD",
                }
                abbreviated%variant{
                    "BCE",
                    "CE",
                }
                narrow{
                    "B",
                    "A",
                }
                wide{
                    "Before Christ",
                    "Anno Domini",
                }
                wide%variant{
                    "Before Common Era",
                    "Common Era",
                }
            }
            intervalFormats{
                H{
                    H{"HH – HH"}
                }
                Hm{
                    H{"HH:mm – HH:mm"}
                    m{"HH:mm – HH:mm"}
                }
                Hmv{
                    H{"HH:mm – HH:mm v"}
                    m{"HH:mm – HH:mm v"}
                }
                Hv{
                    H{"HH – HH v"}
                }
                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/y – M/y"}
                    y{"M/y – M/y"}
                }
                yMEd{
                    M{"E, M/d/y – E, M/d/y"}
                    d{"E, M/d/y – E, M/d/y"}
                    y{"E, M/d/y – E, M/d/y"}
                }
                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/y – M/d/y"}
                    d{"M/d/y – M/d/y"}
                    y{"M/d/y – M/d/y"}
                }
            }
            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",
                    }
                }
            }
        }
        hebrew{
            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 MMM y",
                "d MMM y",
                "{1}, {0}",
                "{1} 'at' {0}",
                "{1} 'at' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            availableFormats{
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, d MMM y G"}
                GyMMMd{"d MMM y G"}
                M{"L"}
                MEd{"E, d MMM"}
                MMM{"LLL"}
                MMMEd{"E, d MMM"}
                MMMd{"d MMM"}
                Md{"d MMM"}
                y{"y"}
                yM{"MMM y"}
                yMEd{"E, d MMM y"}
                yMMM{"MMM y"}
                yMMMEd{"E, d MMM y"}
                yMMMd{"d MMM y"}
                yMd{"d MMM y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            eras{
                abbreviated{
                    "AM",
                }
            }
            intervalFormats{
                M{
                    M{"MMM – MMM"}
                }
                MEd{
                    M{"E, d MMM – E, d MMM"}
                    d{"E, d MMM – E, d MMM"}
                }
                MMM{
                    M{"MMM – MMM"}
                }
                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 MMM – d MMM"}
                    d{"d – d MMM"}
                }
                y{
                    y{"y – y G"}
                }
                yM{
                    M{"MMM – MMM y"}
                    y{"MMM y – MMM y"}
                }
                yMEd{
                    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"}
                }
                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{"d – d MMM y"}
                    y{"d MMM y – d MMM y"}
                }
                yMd{
                    M{"d MMM – d MMM y"}
                    d{"d – d MMM y"}
                    y{"d MMM y – d MMM y"}
                }
            }
        }
        islamic{
            eras{
                abbreviated{
                    "AH",
                }
            }
        }
        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/y GGGGG",
                "{1}, {0}",
                "{1} 'at' {0}",
                "{1} 'at' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
        }
        roc{
            eras{
                abbreviated{
                    "Before R.O.C.",
                    "Minguo",
                }
            }
        }
    }
    contextTransforms{
        calendar-field:intvector{
            1,
            1,
        }
        keyValue:intvector{
            1,
            1,
        }
        number-spellout:intvector{
            1,
            1,
        }
        relative:intvector{
            1,
            1,
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    fields{
        day{
            dn{"Day"}
            relative{
                "-1"{"yesterday"}
                "0"{"today"}
                "1"{"tomorrow"}
            }
            relativeTime{
                future{
                    one{"in {0} day"}
                    other{"in {0} days"}
                }
                past{
                    one{"{0} day ago"}
                    other{"{0} days ago"}
                }
            }
        }
        day-short{
            dn{"day"}
        }
        dayperiod{
            dn{"AM/PM"}
        }
        era{
            dn{"Era"}
        }
        fri{
            relative{
                "-1"{"last Friday"}
                "0"{"this Friday"}
                "1"{"next Friday"}
            }
        }
        fri-narrow{
            relative{
                "-1"{"last F"}
                "0"{"this F"}
                "1"{"next F"}
            }
        }
        fri-short{
            relative{
                "-1"{"last Fri."}
                "0"{"this Fri."}
                "1"{"next Fri."}
            }
        }
        hour{
            dn{"Hour"}
            relativeTime{
                future{
                    one{"in {0} hour"}
                    other{"in {0} hours"}
                }
                past{
                    one{"{0} hour ago"}
                    other{"{0} hours ago"}
                }
            }
        }
        hour-short{
            dn{"hr."}
            relativeTime{
                future{
                    one{"in {0} hr."}
                    other{"in {0} hr."}
                }
                past{
                    one{"{0} hr. ago"}
                    other{"{0} hr. ago"}
                }
            }
        }
        minute{
            dn{"Minute"}
            relativeTime{
                future{
                    one{"in {0} minute"}
                    other{"in {0} minutes"}
                }
                past{
                    one{"{0} minute ago"}
                    other{"{0} minutes ago"}
                }
            }
        }
        minute-short{
            dn{"min."}
            relativeTime{
                future{
                    one{"in {0} min."}
                    other{"in {0} min."}
                }
                past{
                    one{"{0} min. ago"}
                    other{"{0} min. ago"}
                }
            }
        }
        mon{
            relative{
                "-1"{"last Monday"}
                "0"{"this Monday"}
                "1"{"next Monday"}
            }
        }
        mon-narrow{
            relative{
                "-1"{"last M"}
                "0"{"this M"}
                "1"{"next M"}
            }
        }
        mon-short{
            relative{
                "-1"{"last Mon."}
                "0"{"this Mon."}
                "1"{"next Mon."}
            }
        }
        month{
            dn{"Month"}
            relative{
                "-1"{"last month"}
                "0"{"this month"}
                "1"{"next month"}
            }
            relativeTime{
                future{
                    one{"in {0} month"}
                    other{"in {0} months"}
                }
                past{
                    one{"{0} month ago"}
                    other{"{0} months ago"}
                }
            }
        }
        month-short{
            dn{"mo."}
            relative{
                "-1"{"last mo."}
                "0"{"this mo."}
                "1"{"next mo."}
            }
            relativeTime{
                future{
                    one{"in {0} mo."}
                    other{"in {0} mo."}
                }
                past{
                    one{"{0} mo. ago"}
                    other{"{0} mo. ago"}
                }
            }
        }
        quarter{
            dn{"Quarter"}
            relative{
                "-1"{"last quarter"}
                "0"{"this quarter"}
                "1"{"next quarter"}
            }
            relativeTime{
                future{
                    one{"in {0} quarter"}
                    other{"in {0} quarters"}
                }
                past{
                    one{"{0} quarter ago"}
                    other{"{0} quarters ago"}
                }
            }
        }
        quarter-short{
            dn{"qtr."}
            relative{
                "-1"{"last qtr."}
                "0"{"this qtr."}
                "1"{"next qtr."}
            }
            relativeTime{
                future{
                    one{"in {0} qtr."}
                    other{"in {0} qtrs."}
                }
                past{
                    one{"{0} qtr. ago"}
                    other{"{0} qtrs. ago"}
                }
            }
        }
        sat{
            relative{
                "-1"{"last Saturday"}
                "0"{"this Saturday"}
                "1"{"next Saturday"}
            }
        }
        sat-narrow{
            relative{
                "-1"{"last Sa"}
                "0"{"this Sa"}
                "1"{"next Sa"}
            }
        }
        sat-short{
            relative{
                "-1"{"last Sat."}
                "0"{"this Sat."}
                "1"{"next Sat."}
            }
        }
        second{
            dn{"Second"}
            relative{
                "0"{"now"}
            }
            relativeTime{
                future{
                    one{"in {0} second"}
                    other{"in {0} seconds"}
                }
                past{
                    one{"{0} second ago"}
                    other{"{0} seconds ago"}
                }
            }
        }
        second-short{
            dn{"sec."}
            relative{
                "0"{"now"}
            }
            relativeTime{
                future{
                    one{"in {0} sec."}
                    other{"in {0} sec."}
                }
                past{
                    one{"{0} sec. ago"}
                    other{"{0} sec. ago"}
                }
            }
        }
        sun{
            relative{
                "-1"{"last Sunday"}
                "0"{"this Sunday"}
                "1"{"next Sunday"}
            }
        }
        sun-narrow{
            relative{
                "-1"{"last Su"}
                "0"{"this Su"}
                "1"{"next Su"}
            }
        }
        sun-short{
            relative{
                "-1"{"last Sun."}
                "0"{"this Sun."}
                "1"{"next Sun."}
            }
        }
        thu{
            relative{
                "-1"{"last Thursday"}
                "0"{"this Thursday"}
                "1"{"next Thursday"}
            }
        }
        thu-narrow{
            relative{
                "-1"{"last Th"}
                "0"{"this Th"}
                "1"{"next Th"}
            }
        }
        thu-short{
            relative{
                "-1"{"last Thu."}
                "0"{"this Thu."}
                "1"{"next Thu."}
            }
        }
        tue{
            relative{
                "-1"{"last Tuesday"}
                "0"{"this Tuesday"}
                "1"{"next Tuesday"}
            }
        }
        tue-narrow{
            relative{
                "-1"{"last Tu"}
                "0"{"this Tu"}
                "1"{"next Tu"}
            }
        }
        tue-short{
            relative{
                "-1"{"last Tue."}
                "0"{"this Tue."}
                "1"{"next Tue."}
            }
        }
        wed{
            relative{
                "-1"{"last Wednesday"}
                "0"{"this Wednesday"}
                "1"{"next Wednesday"}
            }
        }
        wed-narrow{
            relative{
                "-1"{"last W"}
                "0"{"this W"}
                "1"{"next W"}
            }
        }
        wed-short{
            relative{
                "-1"{"last Wed."}
                "0"{"this Wed."}
                "1"{"next Wed."}
            }
        }
        week{
            dn{"Week"}
            relative{
                "-1"{"last week"}
                "0"{"this week"}
                "1"{"next week"}
            }
            relativeTime{
                future{
                    one{"in {0} week"}
                    other{"in {0} weeks"}
                }
                past{
                    one{"{0} week ago"}
                    other{"{0} weeks ago"}
                }
            }
        }
        week-short{
            dn{"wk."}
            relative{
                "-1"{"last wk."}
                "0"{"this wk."}
                "1"{"next wk."}
            }
            relativeTime{
                future{
                    one{"in {0} wk."}
                    other{"in {0} wk."}
                }
                past{
                    one{"{0} wk. ago"}
                    other{"{0} wk. ago"}
                }
            }
        }
        weekday{
            dn{"Day of the Week"}
        }
        year{
            dn{"Year"}
            relative{
                "-1"{"last year"}
                "0"{"this year"}
                "1"{"next year"}
            }
            relativeTime{
                future{
                    one{"in {0} year"}
                    other{"in {0} years"}
                }
                past{
                    one{"{0} year ago"}
                    other{"{0} years ago"}
                }
            }
        }
        year-short{
            dn{"yr."}
            relative{
                "-1"{"last yr."}
                "0"{"this yr."}
                "1"{"next yr."}
            }
            relativeTime{
                future{
                    one{"in {0} yr."}
                    other{"in {0} yr."}
                }
                past{
                    one{"{0} yr. ago"}
                    other{"{0} yr. ago"}
                }
            }
        }
        zone{
            dn{"Time Zone"}
        }
    }
    listPattern{
        standard{
            2{"{0} and {1}"}
            end{"{0}, and {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit{
            2{"{0}, {1}"}
            end{"{0}, {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit-narrow{
            2{"{0} {1}"}
            end{"{0} {1}"}
            middle{"{0} {1}"}
            start{"{0} {1}"}
        }
        unit-short{
            2{"{0}, {1}"}
            end{"{0}, {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"UK"}
        US{"US"}
        metric{"Metric"}
    }
    transformNames{
        BGN{"BGN"}
        Numeric{"Numeric"}
        Tone{"Tone"}
        UNGEGN{"UNGEGN"}
        x-Accents{"Accents"}
        x-Fullwidth{"Fullwidth"}
        x-Halfwidth{"Halfwidth"}
        x-Jamo{"Jamo"}
        x-Pinyin{"Pinyin"}
        x-Publishing{"Publishing"}
    }
}
