﻿// © 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_SG{
    %%Parent{"en_001"}
    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 MMM y G",
                "d/M/yy GGGGG",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            DateTimeSkeletons{
                "ahmmsszzzz",
                "ahmmssz",
                "ahmmss",
                "ahmm",
                "GyMMMMEEEEd",
                "GyMMMMd",
                "GyMMMd",
                "GGGGGyyMd",
            }
            availableFormats{
                yyyyMEd{"E, d/M/y GGGGG"}
            }
            intervalFormats{
                MEd{
                    M{"E, d/M – E, d/M"}
                    d{"E, d/M – E, d/M"}
                }
                MMMEd{
                    M{"E, d MMM – E, d MMM"}
                    d{"E, d MMM – E, d MMM"}
                }
                yMEd{
                    M{"E, d/M/y – E, d/M/y G"}
                    d{"E, d/M/y – E, d/M/y G"}
                    y{"E, d/M/y – E, d/M/y G"}
                }
                yMMMEd{
                    d{"E, d MMM – E, d MMM y G"}
                }
                yMd{
                    M{"d/M/y – d/M/y G"}
                    d{"d/M/y – d/M/y G"}
                    y{"d/M/y – d/M/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 MMM y",
                "d/M/yy",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            DateTimeSkeletons{
                "ahmmsszzzz",
                "ahmmssz",
                "ahmmss",
                "ahmm",
                "yMMMMEEEEd",
                "yMMMMd",
                "yMMMd",
                "yyMd",
            }
            intervalFormats{
                MEd{
                    M{"E, d/M – E, d/M"}
                    d{"E, d/M – E, d/M"}
                }
                MMMEd{
                    M{"E, d MMM – E, d MMM"}
                    d{"E, d MMM – E, d MMM"}
                }
                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"}
                }
                yMMMEd{
                    d{"E, d MMM – E, 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"}
                }
            }
        }
    }
    fields{
        month-short{
            dn{"mth"}
            relative{
                "-1"{"last mth"}
                "0"{"this mth"}
                "1"{"next mth"}
            }
            relativeTime{
                future{
                    one{"in {0} mth"}
                    other{"in {0} mth"}
                }
                past{
                    one{"{0} mth ago"}
                    other{"{0} mth ago"}
                }
            }
        }
        quarter-short{
            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"}
                }
            }
        }
    }
}
