﻿// ***************************************************************************
// *
// * 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>/xml/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"}
        }
    }
}
