﻿// ***************************************************************************
// *
// * Copyright (C) 2010 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 b c ç d e f g ğ h ı i {i\u0307} j k l m n o ö p r s ş t u ü v y z]"}
    ExemplarCharactersCurrency{"[a b c č d e f g h i j k l ł m n o º p q r s t u v w x y z]"}
    ExemplarCharactersIndex{"[A B C Ç D E F G Ğ H I İ J K L M N O Ö P Q R S Ş T U Ü V W X Y Z]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"#,##0.00 ¤"}
                decimalFormat{"#,##0.###"}
                percentFormat{"% #,##0"}
                scientificFormat{"#E0"}
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{"."}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.0.50.45"}
    calendar{
        buddhist{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "dd MMMM y G EEEE",
                "dd MMMM y G",
                "dd MMM y G",
                "dd.MM.yyyy G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"d E"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"dd/MM E"}
                MMM{"LLL"}
                MMMEd{"dd MMM E"}
                MMMd{"dd MMM"}
                Md{"dd/MM"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                mmss{"mm:ss"}
                ms{"mm:ss"}
                y{"y G"}
                yM{"M/y G"}
                yMEd{"dd.MM.y G EEE"}
                yMMM{"MMM y G"}
                yMMMEd{"dd MMM y G EEE"}
                yMMMM{"MMMM y G"}
                yMMMd{"dd MMM y G"}
                yQ{"Q y G"}
                yQQQ{"QQQ y G"}
                yyMM{"MM/yy G"}
                yyMMM{"MMM yy G"}
                yyQ{"Q yy G"}
                yyQQQQ{"QQQQ yy G"}
                yyyy{"y G"}
            }
        }
        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{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                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"}
                hm{"h:mm a"}
                hms{"h: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{
                H{
                    H{"HH-HH"}
                    a{"HH-HH"}
                }
                Hm{
                    H{"HH:mm-HH:mm"}
                    a{"HH:mm-HH:mm"}
                    m{"HH:mm-HH:mm"}
                }
                Hmv{
                    H{"HH:mm-HH:mm v"}
                    a{"HH:mm-HH:mm v"}
                    m{"HH:mm-HH:mm v"}
                }
                Hv{
                    H{"HH-HH v"}
                    a{"HH-HH v"}
                }
                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{"h a - h a"}
                    h{"h-h a"}
                }
                hm{
                    a{"h:mm a - h:mm a"}
                    h{"h:mm-h:mm a"}
                    m{"h:mm-h:mm a"}
                }
                hmv{
                    a{"h:mm a - h:mm a v"}
                    h{"h:mm-h:mm a v"}
                    m{"h:mm-h:mm a v"}
                }
                hv{
                    a{"h a - h a v"}
                    h{"h-h a 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",
                    }
                }
            }
        }
        hebrew{
            monthNames{
                format{
                    wide{
                        "Tişri",
                        "Heşvan",
                        "Kislev",
                        "Tevet",
                        "Şevat",
                        "Veadar",
                        "Adar",
                        "Nisan",
                        "İyar",
                        "Sivan",
                        "Tamuz",
                        "Av",
                        "Elul",
                        "Adar II",
                    }
                }
            }
        }
        islamic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "dd MMMM y G EEEE",
                "dd MMMM y G",
                "dd MMM y G",
                "dd.MM.yyyy G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"d E"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"dd/MM E"}
                MMM{"LLL"}
                MMMEd{"dd MMM E"}
                MMMd{"dd MMM"}
                Md{"dd/MM"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                mmss{"mm:ss"}
                ms{"mm:ss"}
                yyMM{"MM/yy G"}
                yyMMM{"MMM yy G"}
                yyQ{"Q yy G"}
                yyQQQQ{"QQQQ yy G"}
                yyyy{"y G"}
                yyyyM{"M/y G"}
                yyyyMEd{"dd.MM.y G EEE"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"dd MMM y G EEE"}
                yyyyMMMM{"MMMM y G"}
                yyyyMMMd{"dd MMM y G"}
                yyyyQ{"Q y G"}
                yyyyQQQ{"QQQ y G"}
            }
            monthNames{
                format{
                    wide{
                        "Muharrem",
                        "Safer",
                        "Rebiülevvel",
                        "Rebiülahir",
                        "Cemaziyelevvel",
                        "Cemaziyelahir",
                        "Recep",
                        "Şaban",
                        "Ramazan",
                        "Şevval",
                        "Zilkade",
                        "Zilhicce",
                    }
                }
            }
        }
        japanese{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "dd MMMM y G EEEE",
                "dd MMMM y G",
                "dd MMM y G",
                "dd.MM.yyyy G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"d E"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"dd/MM E"}
                MMM{"LLL"}
                MMMEd{"dd MMM E"}
                MMMd{"dd MMM"}
                Md{"dd/MM"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                mmss{"mm:ss"}
                ms{"mm:ss"}
                yyMM{"MM/yy G"}
                yyMMM{"MMM yy G"}
                yyQ{"Q yy G"}
                yyQQQQ{"QQQQ yy G"}
                yyyy{"y G"}
                yyyyM{"M/y G"}
                yyyyMEd{"dd.MM.y G EEE"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"dd MMM y G EEE"}
                yyyyMMMM{"MMMM y G"}
                yyyyMMMd{"dd MMM y G"}
                yyyyQ{"Q y G"}
                yyyyQQQ{"QQQ y G"}
            }
        }
        persian{
            monthNames{
                format{
                    wide{
                        "Ferverdin",
                        "Ordibeheşt",
                        "Hordad",
                        "Tir",
                        "Mordad",
                        "Şehriver",
                        "Mehr",
                        "Aban",
                        "Azer",
                        "Dey",
                        "Behmen",
                        "Esfend",
                    }
                }
            }
        }
        roc{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "dd MMMM y G EEEE",
                "dd MMMM y G",
                "dd MMM y G",
                "dd.MM.yyyy G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"d E"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"dd/MM E"}
                MMM{"LLL"}
                MMMEd{"dd MMM E"}
                MMMd{"dd MMM"}
                Md{"dd/MM"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                mmss{"mm:ss"}
                ms{"mm:ss"}
                yyMM{"MM/yy G"}
                yyMMM{"MMM yy G"}
                yyQ{"Q yy G"}
                yyQQQQ{"QQQQ yy G"}
                yyyy{"y G"}
                yyyyM{"M/y G"}
                yyyyMEd{"dd.MM.y G EEE"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"dd MMM y G EEE"}
                yyyyMMMM{"MMMM y G"}
                yyyyMMMd{"dd MMM y G"}
                yyyyQ{"Q y G"}
                yyyyQQQ{"QQQ y G"}
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    listPattern{
        standard{
            2{"{0} ve {1}"}
            end{"{0} ve {1}"}
        }
    }
    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"}
        }
    }
}
