﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * 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.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{
                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"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
        }
        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/y",
                "{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"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ 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",
                }
            }
            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{"“"}
    }
    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"}
        }
    }
}
