﻿// ***************************************************************************
// *
// * Copyright (C) 2011 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/swc.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/swc.xml
 */
swc{
    AuxExemplarCharacters{"[q x]"}
    ExemplarCharacters{"[a b c d e f g h i j k l m n o p r s t u v w y z]"}
    ExemplarCharactersIndex{"[A B C 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"}
                decimalFormat{"#,##0.###"}
            }
            symbols{
                decimal{","}
                group{"."}
            }
        }
    }
    Version{"2.0.58.44"}
    calendar{
        gregorian{
            AmPmMarkers{
                "ya asubuyi",
                "ya muchana",
            }
            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/yyyy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"EEE d"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"EEE d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMd{"d MMM"}
                Md{"d/M"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"m:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"EEE d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"EEE d MMM y"}
                yMMMd{"d MMM y"}
                yMd{"d/M/y"}
                yQ{"Q y"}
                yQQQ{"QQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "yen",
                        "kwa",
                        "pil",
                        "tat",
                        "ine",
                        "tan",
                        "sit",
                    }
                    wide{
                        "siku ya yenga",
                        "siku ya kwanza",
                        "siku ya pili",
                        "siku ya tatu",
                        "siku ya ine",
                        "siku ya tanu",
                        "siku ya sita",
                    }
                }
                stand-alone{
                    narrow{
                        "y",
                        "k",
                        "p",
                        "t",
                        "i",
                        "t",
                        "s",
                    }
                }
            }
            eras{
                abbreviated{
                    "mbele ya Y",
                    "kisha ya Y",
                }
                wide{
                    "mbele ya Yezu Kristo",
                    "kisha ya Yezu Kristo",
                }
            }
            fields{
                day{
                    dn{"Siku"}
                    relative{
                        "-1"{"Jana"}
                        "0"{"Leo"}
                        "1"{"Kesho"}
                    }
                }
                dayperiod{
                    dn{"Muda wa siku"}
                }
                era{
                    dn{"Wakati"}
                }
                hour{
                    dn{"Saa"}
                }
                minute{
                    dn{"Dakika"}
                }
                month{
                    dn{"Mwezi"}
                }
                second{
                    dn{"Sekunde"}
                }
                week{
                    dn{"Juma"}
                }
                weekday{
                    dn{"Siku ya juma"}
                }
                year{
                    dn{"Mwaka"}
                }
                zone{
                    dn{"Majira ya saa"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "mkw",
                        "mpi",
                        "mtu",
                        "min",
                        "mtn",
                        "mst",
                        "msb",
                        "mun",
                        "mts",
                        "mku",
                        "mkm",
                        "mkb",
                    }
                    wide{
                        "mwezi ya kwanja",
                        "mwezi ya pili",
                        "mwezi ya tatu",
                        "mwezi ya ine",
                        "mwezi ya tanu",
                        "mwezi ya sita",
                        "mwezi ya saba",
                        "mwezi ya munane",
                        "mwezi ya tisa",
                        "mwezi ya kumi",
                        "mwezi ya kumi na moya",
                        "mwezi ya kumi ya mbili",
                    }
                }
                stand-alone{
                    narrow{
                        "k",
                        "p",
                        "t",
                        "i",
                        "t",
                        "s",
                        "s",
                        "m",
                        "t",
                        "k",
                        "m",
                        "m",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "R1",
                        "R2",
                        "R3",
                        "R4",
                    }
                    wide{
                        "Robo 1",
                        "Robo 2",
                        "Robo 3",
                        "Robo 4",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"“"}
        alternateQuotationStart{"”"}
        quotationEnd{"'"}
        quotationStart{"'"}
    }
}
