﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/sg.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/sg.xml
 */
sg{
    AuxExemplarCharacters{"[c q x]"}
    ExemplarCharacters{"[a â ä b d e ê ë f g h i î ï j k l m n o ô ö p r s t u ù û ü v w y z]"}
    ExemplarCharactersIndex{"[A B D E F G H I J K L M N O P R S T U V W Y Z]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"¤#,##0.00;¤-#,##0.00"}
            }
            symbols{
                decimal{","}
                group{"."}
            }
        }
    }
    Version{"2.0.97.28"}
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d MMMM y G",
                "d MMMM y G",
                "d MMM, y G",
                "d/M/y GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                M{"M"}
                MMM{"MMM"}
                MMMEd{"E d MMM"}
                MMMMEd{"E d MMMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                MMd{"d/MM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                ms{"m:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"E d MMM y"}
                yMMMM{"MMMM y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
        }
        gregorian{
            AmPmMarkers{
                "ND",
                "LK",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d MMMM y",
                "d MMMM y",
                "d MMM, y",
                "d/M/y",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                M{"M"}
                MMM{"MMM"}
                MMMEd{"E d MMM"}
                MMMMEd{"E d MMMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                MMd{"d/MM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                ms{"m:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"E d MMM y"}
                yMMMM{"MMMM y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Bk1",
                        "Bk2",
                        "Bk3",
                        "Bk4",
                        "Bk5",
                        "Lâp",
                        "Lây",
                    }
                    wide{
                        "Bikua-ôko",
                        "Bïkua-ûse",
                        "Bïkua-ptâ",
                        "Bïkua-usïö",
                        "Bïkua-okü",
                        "Lâpôsö",
                        "Lâyenga",
                    }
                }
                stand-alone{
                    narrow{
                        "K",
                        "S",
                        "T",
                        "S",
                        "K",
                        "P",
                        "Y",
                    }
                }
            }
            eras{
                abbreviated{
                    "KnK",
                    "NpK",
                }
                wide{
                    "Kôzo na Krîstu",
                    "Na pekô tî Krîstu",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Nye",
                        "Ful",
                        "Mbä",
                        "Ngu",
                        "Bêl",
                        "Fön",
                        "Len",
                        "Kük",
                        "Mvu",
                        "Ngb",
                        "Nab",
                        "Kak",
                    }
                    wide{
                        "Nyenye",
                        "Fulundïgi",
                        "Mbängü",
                        "Ngubùe",
                        "Bêläwü",
                        "Föndo",
                        "Lengua",
                        "Kükürü",
                        "Mvuka",
                        "Ngberere",
                        "Nabändüru",
                        "Kakauka",
                    }
                }
                stand-alone{
                    narrow{
                        "N",
                        "F",
                        "M",
                        "N",
                        "B",
                        "F",
                        "L",
                        "K",
                        "M",
                        "N",
                        "N",
                        "K",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "F4-1",
                        "F4-2",
                        "F4-3",
                        "F4-4",
                    }
                    wide{
                        "Fângbisïö ôko",
                        "Fângbisïö ûse",
                        "Fângbisïö otâ",
                        "Fângbisïö usïö",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"”"}
        alternateQuotationStart{"“"}
        quotationEnd{"»"}
        quotationStart{"«"}
    }
    fields{
        day{
            dn{"Lâ"}
            relative{
                "-1"{"Bîrï"}
                "0"{"Lâsô"}
                "1"{"Kêkerêke"}
            }
        }
        dayperiod{
            dn{"Na lâ"}
        }
        era{
            dn{"Kùotângo"}
        }
        hour{
            dn{"Ngbonga"}
        }
        minute{
            dn{"Ndurü ngbonga"}
        }
        month{
            dn{"Nze"}
        }
        second{
            dn{"Nzîna ngbonga"}
        }
        week{
            dn{"Dimâsi"}
        }
        weekday{
            dn{"Bïkua"}
        }
        year{
            dn{"Ngû"}
        }
        zone{
            dn{"Zukangbonga"}
        }
    }
}
