﻿// ***************************************************************************
// *
// * Copyright (C) 2013 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.82.45"}
    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"}
                MMMdd{"dd 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"}
                MMMdd{"dd 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"}
        }
    }
}
