﻿// ***************************************************************************
// *
// * Copyright (C) 2009 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/tr.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/tr.xml
 */
tr{
    AuxExemplarCharacters{
        "[á à ă â å ä ā æ é è ĕ ê ë ē í ì ĭ î ï ī ñ ó ò ŏ ô ø ō œ q ß ú ù ŭ û ū w x ÿ"
        "]"
    }
    ExemplarCharacters{"[a-c ç d-g ğ h ı i İ {i\u0307} j-o ö p r s ş t u ü v y z]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        ",",
        ".",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "NaN",
        "+",
    }
    NumberPatterns{
        "#,##0.###",
        "#,##0.00 ¤",
        "% #,##0",
        "#E0",
    }
    Version{"2.0.42.82"}
    calendar{
        chinese{
            availableFormats{
                yyMMM{"yy MMM"}
            }
        }
        coptic{
            monthNames{
                format{
                    wide{
                        "Tût",
                        "Bâbe",
                        "Hatur",
                        "Keyhek",
                        "Tûbe",
                        "Imşir",
                        "Bermuhat",
                        "Bermude",
                        "Peyştes",
                        "Bune",
                        "Ebip",
                        "Mısrî",
                        "Nesî",
                    }
                }
            }
        }
        ethiopic{
            monthNames{
                format{
                    wide{
                        "Meskerem",
                        "Tikimt",
                        "Hidar",
                        "Tahsas",
                        "Tir",
                        "Yakatit",
                        "Magabit",
                        "Miyazya",
                        "Ginbot",
                        "Sene",
                        "Hamle",
                        "Nehasa",
                        "Pagumiene",
                    }
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "AM",
                "PM",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "dd MMMM y EEEE",
                "dd MMMM y",
                "dd MMM y",
                "dd.MM.yyyy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"d EEE"}
                Ed{"d E"}
                H{"H"}
                HHmm{"HH:mm"}
                HHmmss{"HH:mm:ss"}
                Hm{"HH:mm"}
                M{"L"}
                MEd{"dd/MM E"}
                MMM{"LLL"}
                MMMEd{"dd MMM E"}
                MMMMEd{"dd MMMM E"}
                MMMMd{"dd MMMM"}
                MMMd{"dd MMM"}
                Md{"dd/MM"}
                d{"d"}
                hhmm{"hh:mm a"}
                hhmmss{"hh:mm:ss a"}
                mmss{"mm:ss"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M/yyyy"}
                yMEd{"dd.MM.yyyy EEE"}
                yMMM{"MMM y"}
                yMMMEd{"dd MMM y EEE"}
                yMMMM{"MMMM y"}
                yQ{"Q yyyy"}
                yQQQ{"QQQ y"}
                yyMM{"MM/yy"}
                yyMMM{"MMM yy"}
                yyQ{"Q yy"}
                yyQQQQ{"QQQQ yy"}
                yyyy{"y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Paz",
                        "Pzt",
                        "Sal",
                        "Çar",
                        "Per",
                        "Cum",
                        "Cmt",
                    }
                    wide{
                        "Pazar",
                        "Pazartesi",
                        "Salı",
                        "Çarşamba",
                        "Perşembe",
                        "Cuma",
                        "Cumartesi",
                    }
                }
                stand-alone{
                    narrow{
                        "P",
                        "P",
                        "S",
                        "Ç",
                        "P",
                        "C",
                        "C",
                    }
                }
            }
            eras{
                abbreviated{
                    "MÖ",
                    "MS",
                }
                wide{
                    "Milattan Önce",
                    "Milattan Sonra",
                }
            }
            fields{
                day{
                    dn{"Gün"}
                    relative{
                        "-1"{"Dün"}
                        "-2"{"Evvelsi gün"}
                        "-3"{"Üç gün önce"}
                        "0"{"Bugün"}
                        "1"{"Yarın"}
                        "2"{"Yarından sonraki gün"}
                        "3"{"Üç gün sonra"}
                    }
                }
                dayperiod{
                    dn{"AM/PM"}
                }
                era{
                    dn{"Miladi Dönem"}
                }
                hour{
                    dn{"Saat"}
                }
                minute{
                    dn{"Dakika"}
                }
                month{
                    dn{"Ay"}
                }
                second{
                    dn{"Saniye"}
                }
                week{
                    dn{"Hafta"}
                }
                weekday{
                    dn{"Haftanın Günü"}
                }
                year{
                    dn{"Yıl"}
                }
                zone{
                    dn{"Saat Dilimi"}
                }
            }
            intervalFormats{
                M{
                    M{"M-M"}
                }
                MEd{
                    M{"dd.MM E - dd.MM E"}
                    d{"dd.MM E - dd.MM E"}
                }
                MMM{
                    M{"MMM-MMM"}
                }
                MMMEd{
                    M{"dd MMM E - dd MMM E"}
                    d{"dd MMM E - dd MMM E"}
                }
                MMMM{
                    M{"LLLL-LLLL"}
                }
                MMMd{
                    M{"dd MMM - dd MMM"}
                    d{"dd-dd MMM"}
                }
                Md{
                    M{"dd.MM - dd.MM"}
                    d{"dd.MM - dd.MM"}
                }
                d{
                    d{"d-d"}
                }
                fallback{"{0} - {1}"}
                h{
                    a{"HH-HH"}
                    h{"HH-HH"}
                }
                hm{
                    a{"HH:mm-HH:mm"}
                    h{"HH:mm-HH:mm"}
                    m{"HH:mm-HH:mm"}
                }
                hmv{
                    a{"HH:mm-HH:mm v"}
                    h{"HH:mm-HH:mm v"}
                    m{"HH:mm-HH:mm v"}
                }
                hv{
                    a{"HH-HH v"}
                    h{"HH-HH v"}
                }
                y{
                    y{"y-y"}
                }
                yM{
                    M{"MM.yyyy - MM.yyyy"}
                    y{"MM.yyyy - MM.yyyy"}
                }
                yMEd{
                    M{"dd.MM.yyyy E - dd.MM.yyyy E"}
                    d{"dd.MM.yyyy E - dd.MM.yyyy E"}
                    y{"dd.MM.yyyy E - dd.MM.yyyy E"}
                }
                yMMM{
                    M{"MMM-MMM y"}
                    y{"MMM y - MMM y"}
                }
                yMMMEd{
                    M{"dd MMM y E - dd MMM y E"}
                    d{"dd MMM y E - dd MMM y E"}
                    y{"dd MMM y E - dd MMM y E"}
                }
                yMMMM{
                    M{"MM – MM yyyy"}
                    y{"MM-yyyy – MM-yyyy"}
                }
                yMMMd{
                    M{"dd MMM - dd MMM y"}
                    d{"dd-dd MMM y"}
                    y{"dd MMM y - dd MMM y"}
                }
                yMd{
                    M{"dd.MM.yyyy - dd.MM.yyyy"}
                    d{"dd.MM.yyyy - dd.MM.yyyy"}
                    y{"dd.MM.yyyy - dd.MM.yyyy"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Oca",
                        "Şub",
                        "Mar",
                        "Nis",
                        "May",
                        "Haz",
                        "Tem",
                        "Ağu",
                        "Eyl",
                        "Eki",
                        "Kas",
                        "Ara",
                    }
                    wide{
                        "Ocak",
                        "Şubat",
                        "Mart",
                        "Nisan",
                        "Mayıs",
                        "Haziran",
                        "Temmuz",
                        "Ağustos",
                        "Eylül",
                        "Ekim",
                        "Kasım",
                        "Aralık",
                    }
                }
                stand-alone{
                    narrow{
                        "O",
                        "Ş",
                        "M",
                        "N",
                        "M",
                        "H",
                        "T",
                        "A",
                        "E",
                        "E",
                        "K",
                        "A",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "Ç1",
                        "Ç2",
                        "Ç3",
                        "Ç4",
                    }
                    wide{
                        "1. çeyrek",
                        "2. çeyrek",
                        "3. çeyrek",
                        "4. çeyrek",
                    }
                }
                stand-alone{
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                }
            }
        }
        hebrew{
            monthNames{
                format{
                    wide{
                        "Tişri",
                        "Heşvan",
                        "Kislev",
                        "Tevet",
                        "Şevat",
                        "Veadar",
                        "Adar",
                        "Nisan",
                        "İyar",
                        "Sivan",
                        "Tamuz",
                        "Av",
                        "Elul",
                        "Adar II",
                    }
                }
            }
        }
        islamic{
            monthNames{
                format{
                    wide{
                        "Muharrem",
                        "Safer",
                        "Rebiülevvel",
                        "Rebiülahir",
                        "Cemaziyelevvel",
                        "Cemaziyelahir",
                        "Recep",
                        "Şaban",
                        "Ramazan",
                        "Şevval",
                        "Zilkade",
                        "Zilhicce",
                    }
                }
            }
        }
        persian{
            monthNames{
                format{
                    wide{
                        "Ferverdin",
                        "Ordibeheşt",
                        "Hordad",
                        "Tir",
                        "Mordad",
                        "Şehriver",
                        "Mehr",
                        "Aban",
                        "Azer",
                        "Dey",
                        "Behmen",
                        "Esfend",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    measurementSystemNames{
        US{"ABD"}
        metric{"Metrik"}
    }
    units{
        day{
            other{"{0} gün"}
        }
        hour{
            other{"{0} saat"}
        }
        minute{
            other{"{0} dakika"}
        }
        month{
            other{"{0} ay"}
        }
        second{
            other{"{0} saniye"}
        }
        week{
            other{"{0} hafta"}
        }
        year{
            other{"{0} yıl"}
        }
    }
    unitsShort{
        day{
            other{"{0} gün"}
        }
        hour{
            other{"{0} sa."}
        }
        minute{
            other{"{0} dk."}
        }
        month{
            other{"{0} ay"}
        }
        second{
            other{"{0} sn."}
        }
        week{
            other{"{0} hafta"}
        }
        year{
            other{"{0} yıl"}
        }
    }
}
