﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/zh_Hans_SG.xml
// *
// ***************************************************************************
zh_Hans_SG{
    Version{"2.1.22.93"}
    calendar{
        buddhist{
            DateTimePatterns{
                "zzzz ah:mm:ss",
                "z ah:mm:ss",
                "ah:mm:ss",
                "ah:mm",
                "Gy年M月d日EEEE",
                "Gy年M月d日",
                "Gy年M月d日",
                "Gd/M/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
        }
        chinese{
            DateTimePatterns{
                "zzzz ah:mm:ss",
                "z ah:mm:ss",
                "ah:mm:ss",
                "ah:mm",
                {
                    "U年MMMd日EEEE",
                    "hanidec",
                }
                {
                    "U年MMMd日",
                    "hanidec",
                }
                {
                    "U年MMMd日",
                    "hanidec",
                }
                "r-M-d",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
        }
        generic{
            DateTimePatterns{
                "zzzz ah:mm:ss",
                "z ah:mm:ss",
                "ah:mm:ss",
                "ah:mm",
                "Gy年M月d日EEEE",
                "Gy年M月d日",
                "Gy年M月d日",
                "dd/MM/yyGGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                MEd{"M-dE"}
                MMMMdd{"M月d日"}
                MMdd{"MM-dd"}
                Md{"M-d"}
                yyyyMEd{"Gy年M月d日，E"}
                yyyyMd{"Gy年M月d日"}
            }
            intervalFormats{
                Hmv{
                    H{"vHH:mm–HH:mm"}
                    m{"vHH:mm–HH:mm"}
                }
                Hv{
                    H{"vHH–HH"}
                }
                MEd{
                    M{"M-dE至M-dE"}
                    d{"M-dE至M-dE"}
                }
                MMMEd{
                    d{"M月d日E至M月d日E"}
                }
                Md{
                    M{"M-d至M-d"}
                    d{"M-d至M-d"}
                }
                fallback{"{0}至{1}"}
                yM{
                    M{"y年M月至y年M月"}
                }
                yMEd{
                    M{"d/M/yE至d/M/yE"}
                    d{"d/M/yE至d/M/yE"}
                    y{"d/M/yE至d/M/yE"}
                }
                yMd{
                    M{"d/M/y至d/M/y"}
                    d{"d/M/y至d/M/y"}
                    y{"d/M/y至d/M/y"}
                }
            }
        }
        gregorian{
            DateTimePatterns{
                "zzzz ah:mm:ss",
                "z ah:mm:ss",
                "ah:mm:ss",
                "ah:mm",
                "y年M月d日EEEE",
                "y年M月d日",
                "y年M月d日",
                "dd/MM/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                MEd{"M-dE"}
                MMM{"M月"}
                MMMMdd{"M月d日"}
                MMdd{"MM-dd"}
                Md{"M-d"}
                yMEd{"y年M月d日，E"}
                yMd{"y年M月d日"}
            }
            intervalFormats{
                Hmv{
                    H{"vHH:mm–HH:mm"}
                    m{"vHH:mm–HH:mm"}
                }
                Hv{
                    H{"vHH–HH"}
                }
                MEd{
                    M{"M-dE至M-dE"}
                    d{"M-dE至M-dE"}
                }
                MMMEd{
                    d{"M月d日E至M月d日E"}
                }
                Md{
                    M{"M-d至M-d"}
                    d{"M-d至M-d"}
                }
                d{
                    d{"d日至d日"}
                }
                fallback{"{0}至{1}"}
                yM{
                    M{"y年M月至y年M月"}
                }
                yMEd{
                    M{"d/M/yE至d/M/yE"}
                    d{"d/M/yE至d/M/yE"}
                    y{"d/M/yE至d/M/yE"}
                }
                yMd{
                    M{"d/M/y至d/M/y"}
                    d{"d/M/y至d/M/y"}
                    y{"d/M/y至d/M/y"}
                }
            }
        }
        islamic{
            DateTimePatterns{
                "zzzz ah:mm:ss",
                "z ah:mm:ss",
                "ah:mm:ss",
                "ah:mm",
                "Gy年M月d日EEEE",
                "Gy年M月d日",
                "Gy年M月d日",
                "Gd/M/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
        }
        japanese{
            DateTimePatterns{
                "zzzz ah:mm:ss",
                "z ah:mm:ss",
                "ah:mm:ss",
                "ah:mm",
                "Gy年M月d日EEEE",
                "Gy年M月d日",
                "Gy年M月d日",
                "Gd/M/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                MEd{"M/dE"}
                Md{"M/d"}
            }
        }
        roc{
            DateTimePatterns{
                "zzzz ah:mm:ss",
                "z ah:mm:ss",
                "ah:mm:ss",
                "ah:mm",
                "Gy年M月d日EEEE",
                "Gy年M月d日",
                "Gy年M月d日",
                "Gd/M/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                MEd{"M-dE"}
                MMM{"M月"}
                Md{"M-d"}
            }
        }
    }
    fields{
        second{
            relativeTime{
                future{
                    other{"{0}秒后"}
                }
                past{
                    other{"{0}秒前"}
                }
            }
        }
    }
}
