﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/shi.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/shi.xml
 */
shi{
    ExemplarCharacters{"[ⴰ ⴱ ⴳ {ⴳⵯ} ⴷ ⴹ ⴻ ⴼ ⴽ {ⴽⵯ} ⵀ ⵃ ⵄ ⵅ ⵇ ⵉ ⵊ ⵍ ⵎ ⵏ ⵓ ⵔ ⵕ ⵖ ⵙ ⵚ ⵛ ⵜ ⵟ ⵡ ⵢ ⵣ ⵥ]"}
    ExemplarCharactersIndex{"[ⴰ ⴱ ⴳ ⴷ ⴹ ⴻ ⴼ ⴽ ⵀ ⵃ ⵄ ⵅ ⵇ ⵉ ⵊ ⵍ ⵎ ⵏ ⵓ ⵔ ⵕ ⵖ ⵙ ⵚ ⵛ ⵜ ⵟ ⵡ ⵢ ⵣ ⵥ]"}
    LocaleScript{
        "Tfng",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"#,##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{
                "ⵜⵉⴼⴰⵡⵜ",
                "ⵜⴰⴷⴳⴳⵯⴰⵜ",
            }
            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{
                        "ⴰⵙⴰ",
                        "ⴰⵢⵏ",
                        "ⴰⵙⵉ",
                        "ⴰⴽⵕ",
                        "ⴰⴽⵡ",
                        "ⴰⵙⵉⵎ",
                        "ⴰⵙⵉⴹ",
                    }
                    wide{
                        "ⴰⵙⴰⵎⴰⵙ",
                        "ⴰⵢⵏⴰⵙ",
                        "ⴰⵙⵉⵏⴰⵙ",
                        "ⴰⴽⵕⴰⵙ",
                        "ⴰⴽⵡⴰⵙ",
                        "ⵙⵉⵎⵡⴰⵙ",
                        "ⴰⵙⵉⴹⵢⴰⵙ",
                    }
                }
            }
            eras{
                abbreviated{
                    "ⴷⴰⵄ",
                    "ⴷⴼⵄ",
                }
                wide{
                    "ⴷⴰⵜ ⵏ ⵄⵉⵙⴰ",
                    "ⴷⴼⴼⵉⵔ ⵏ ⵄⵉⵙⴰ",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "ⵉⵏⵏ",
                        "ⴱⵕⴰ",
                        "ⵎⴰⵕ",
                        "ⵉⴱⵔ",
                        "ⵎⴰⵢ",
                        "ⵢⵓⵏ",
                        "ⵢⵓⵍ",
                        "ⵖⵓⵛ",
                        "ⵛⵓⵜ",
                        "ⴽⵜⵓ",
                        "ⵏⵓⵡ",
                        "ⴷⵓⵊ",
                    }
                    wide{
                        "ⵉⵏⵏⴰⵢⵔ",
                        "ⴱⵕⴰⵢⵕ",
                        "ⵎⴰⵕⵚ",
                        "ⵉⴱⵔⵉⵔ",
                        "ⵎⴰⵢⵢⵓ",
                        "ⵢⵓⵏⵢⵓ",
                        "ⵢⵓⵍⵢⵓⵣ",
                        "ⵖⵓⵛⵜ",
                        "ⵛⵓⵜⴰⵏⴱⵉⵔ",
                        "ⴽⵜⵓⴱⵔ",
                        "ⵏⵓⵡⴰⵏⴱⵉⵔ",
                        "ⴷⵓⵊⴰⵏⴱⵉⵔ",
                    }
                }
                stand-alone{
                    narrow{
                        "ⵉ",
                        "ⴱ",
                        "ⵎ",
                        "ⵉ",
                        "ⵎ",
                        "ⵢ",
                        "ⵢ",
                        "ⵖ",
                        "ⵛ",
                        "ⴽ",
                        "ⵏ",
                        "ⴷ",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "ⴰⴽ 1",
                        "ⴰⴽ 2",
                        "ⴰⴽ 3",
                        "ⴰⴽ 4",
                    }
                    wide{
                        "ⴰⴽⵕⴰⴹⵢⵓⵔ 1",
                        "ⴰⴽⵕⴰⴹⵢⵓⵔ 2",
                        "ⴰⴽⵕⴰⴹⵢⵓⵔ 3",
                        "ⴰⴽⵕⴰⴹⵢⵓⵔ 4",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"”"}
        alternateQuotationStart{"„"}
        quotationEnd{"»"}
        quotationStart{"«"}
    }
    fields{
        day{
            dn{"ⴰⵙⵙ"}
            relative{
                "-1"{"ⵉⴹⵍⵍⵉ"}
                "0"{"ⴰⵙⵙⴰ"}
                "1"{"ⴰⵙⴽⴽⴰ"}
            }
        }
        dayperiod{
            dn{"ⵜⵉⵣⵉ ⴳ ⵡⴰⵙⵙ: ⵜⵉⴼⴰⵡⵜ/ⵜⴰⴷⴳⴳⵯⴰⵜ"}
        }
        era{
            dn{"ⵜⴰⵙⵓⵜ"}
        }
        hour{
            dn{"ⵜⴰⵙⵔⴰⴳⵜ"}
        }
        minute{
            dn{"ⵜⵓⵙⴷⵉⴷⵜ"}
        }
        month{
            dn{"ⴰⵢⵢⵓⵔ"}
        }
        second{
            dn{"ⵜⴰⵙⵉⵏⵜ"}
        }
        week{
            dn{"ⵉⵎⴰⵍⴰⵙⵙ"}
        }
        weekday{
            dn{"ⴰⵙⵙ ⴳ ⵉⵎⴰⵍⴰⵙⵙ"}
        }
        year{
            dn{"ⴰⵙⴳⴳⵯⴰⵙ"}
        }
        zone{
            dn{"ⴰⴽⵓⴷ ⵏ ⵓⴳⵎⵎⴰⴹ"}
        }
    }
}
