﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml
en_GB{
    %%Parent{"en_001"}
    NumberElements{
        latn{
            miscPatterns{
                range{"{0}–{1}"}
            }
        }
        minimumGroupingDigits{"1"}
    }
    calendar{
        generic{
            availableFormats{
                MEd{"E dd/MM"}
                MMMEd{"E d MMM"}
            }
            intervalFormats{
                MMMEd{
                    d{"E d MMM – E d MMM"}
                }
                Md{
                    M{"dd/MM–dd/MM"}
                    d{"dd/MM–dd/MM"}
                }
                yMMMEd{
                    d{"E, d MMM – E, d MMM y G"}
                }
            }
        }
        gregorian{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d MMMM y",
                "d MMMM y",
                "d MMM y",
                "dd/MM/y",
                "{1}, {0}",
                "{1} 'at' {0}",
                "{1} 'at' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            DateTimeSkeletons{
                "HHmmsszzzz",
                "HHmmssz",
                "HHmmss",
                "HHmm",
                "yMMMMEEEEd",
                "yMMMMd",
                "yMMMd",
                "yMMdd",
            }
            availableFormats{
                EBhm{"E h:mm B"}
                EBhms{"E h:mm:ss B"}
            }
            dayNames{
                format{
                    narrow{
                        "S",
                        "M",
                        "T",
                        "W",
                        "T",
                        "F",
                        "S",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Sun",
                        "Mon",
                        "Tue",
                        "Wed",
                        "Thu",
                        "Fri",
                        "Sat",
                    }
                    short{
                        "Su",
                        "Mo",
                        "Tu",
                        "We",
                        "Th",
                        "Fr",
                        "Sa",
                    }
                    wide{
                        "Sunday",
                        "Monday",
                        "Tuesday",
                        "Wednesday",
                        "Thursday",
                        "Friday",
                        "Saturday",
                    }
                }
            }
            dayPeriod{
                stand-alone{
                    narrow{
                        midnight{"midnight"}
                        noon{"noon"}
                    }
                }
            }
            intervalFormats{
                MMMEd{
                    d{"E d MMM – E d MMM"}
                }
                yMMMEd{
                    d{"E, d MMM – E, d MMM y"}
                }
            }
            monthNames{
                format{
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Jan",
                        "Feb",
                        "Mar",
                        "Apr",
                        "May",
                        "Jun",
                        "Jul",
                        "Aug",
                        "Sept",
                        "Oct",
                        "Nov",
                        "Dec",
                    }
                    wide{
                        "January",
                        "February",
                        "March",
                        "April",
                        "May",
                        "June",
                        "July",
                        "August",
                        "September",
                        "October",
                        "November",
                        "December",
                    }
                }
            }
            quarters{
                format{
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                    wide{
                        "1st quarter",
                        "2nd quarter",
                        "3rd quarter",
                        "4th quarter",
                    }
                }
            }
        }
    }
    fields{
        day-narrow{
            relativeTime{
                future{
                    one{"in {0} day"}
                    other{"in {0} days"}
                }
                past{
                    one{"{0} day ago"}
                    other{"{0} days ago"}
                }
            }
        }
        hour-narrow{
            dn{"hr"}
        }
        second-narrow{
            dn{"sec"}
        }
        year-narrow{
            dn{"yr"}
        }
    }
}
