﻿// ***************************************************************************
// *
// * Copyright (C) 2012 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.65.46"}
    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{
                Ed{"E d"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E 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{"E d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"E 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{"“"}
    }
}
