﻿// ***************************************************************************
// *
// * 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/kab.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/kab.xml
 */
kab{
    AuxExemplarCharacters{"[o v]"}
    ExemplarCharacters{"[a b c č d ḍ e ɛ f g ǧ ɣ h ḥ i j k l m n p q r ṛ s ṣ t ṭ u w x y z ẓ]"}
    ExemplarCharactersIndex{"[A B C Č D Ḍ E Ɛ F G Ǧ Ɣ H Ḥ I J K L M N P Q R Ṛ S Ṣ T Ṭ U W X Y Z Ẓ]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"#,##0.00¤"}
            }
            symbols{
                decimal{","}
                group{" "}
            }
        }
    }
    Version{"2.0.57.99"}
    calendar{
        gregorian{
            AmPmMarkers{
                "n tufat",
                "n tmeddit",
            }
            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{
                M{"M"}
                MMM{"MMM"}
                MMMEd{"E d MMM"}
                MMMMEd{"EEE 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{"EEE d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"EEE d MMM y"}
                yMMMM{"MMMM y"}
                yQ{"'T'Q y"}
                yQQQ{"QQQ y"}
                yyMM{"MM/y"}
                yyMMM{"MMM yy"}
                yyMMMEEEd{"EEE d MMM yy"}
                yyMMMd{"d MMM yy"}
                yyyyMMMM{"MMMM yyyy"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Yan",
                        "San",
                        "Kraḍ",
                        "Kuẓ",
                        "Sam",
                        "Sḍis",
                        "Say",
                    }
                    wide{
                        "Yanass",
                        "Sanass",
                        "Kraḍass",
                        "Kuẓass",
                        "Samass",
                        "Sḍisass",
                        "Sayass",
                    }
                }
                stand-alone{
                    narrow{
                        "Y",
                        "S",
                        "K",
                        "K",
                        "S",
                        "S",
                        "S",
                    }
                }
            }
            eras{
                abbreviated{
                    "snd. T.Ɛ",
                    "sld. T.Ɛ",
                }
                wide{
                    "send talalit n Ɛisa",
                    "seld talalit n Ɛisa",
                }
            }
            fields{
                day{
                    dn{"Ass"}
                    relative{
                        "-1"{"Iḍelli"}
                        "0"{"Ass-a"}
                        "1"{"Azekka"}
                    }
                }
                dayperiod{
                    dn{"n tufat / n tmeddit"}
                }
                era{
                    dn{"Tallit"}
                }
                hour{
                    dn{"Tamert"}
                }
                minute{
                    dn{"Tamrect"}
                }
                month{
                    dn{"Aggur"}
                }
                second{
                    dn{"Tasint"}
                }
                week{
                    dn{"Ddurt"}
                }
                weekday{
                    dn{"Ussan n ddurt"}
                }
                year{
                    dn{"Aseggas"}
                }
                zone{
                    dn{"Aseglem asergan"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Yen",
                        "Fur",
                        "Meɣ",
                        "Yeb",
                        "May",
                        "Yun",
                        "Yul",
                        "Ɣuc",
                        "Cte",
                        "Tub",
                        "Nun",
                        "Duǧ",
                    }
                    wide{
                        "Yennayer",
                        "Fuṛar",
                        "Meɣres",
                        "Yebrir",
                        "Mayyu",
                        "Yunyu",
                        "Yulyu",
                        "Ɣuct",
                        "Ctembeṛ",
                        "Tubeṛ",
                        "Nunembeṛ",
                        "Duǧembeṛ",
                    }
                }
                stand-alone{
                    narrow{
                        "Y",
                        "F",
                        "M",
                        "Y",
                        "M",
                        "Y",
                        "Y",
                        "Ɣ",
                        "C",
                        "T",
                        "N",
                        "D",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "Kḍg1",
                        "Kḍg2",
                        "Kḍg3",
                        "Kḍg4",
                    }
                    wide{
                        "akraḍaggur amenzu",
                        "akraḍaggur wis-sin",
                        "akraḍaggur wis-kraḍ",
                        "akraḍaggur wis-kuẓ",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"”"}
        alternateQuotationStart{"“"}
        quotationEnd{"»"}
        quotationStart{"«"}
    }
}
