// ***************************************************************************
// *
// *   Copyright (C) 1997-2003, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// ***************************************************************************

tr {
    Version{ "2.0" }
    // According to Nurdan Mete from IBM Turkey, the following would be the correct
    // sorting order for Turkish
    collations {
      standard { 
        Version { "2" }
        Sequence { "& C < c\u0327 <<< C\u0327" 
                   "& G < g\u0306 <<< G\u0306"
                   "& H < \u0131 <<< I < i <<< \u0130" 
                   "& O < o\u0308 <<< O\u0308"
                   "& S < s\u0327 <<< S\u0327" 
                   "& U < u\u0308 <<< U\u0308" }
      }
    }
    Countries { 
        Fallback{ "en"}
        AD { "Andora" }
        AE { "Birle\u015Fik Arap Emirlikleri" }
        AF { "Afganistan" }
        AG { "Antigua ve Barbuda" }
        //AI { "Anguilla" }
        AL { "Arnavutluk" }
        AM { "Ermenistan" }
        AN { "Hollanda Antilleri" }
        //AO { "Angola" }
        AQ { "Antarktika" }
        AR { "Arjantin" }
        AS { "Amerikan Samoas\u0131" }
        AT { "Avusturya" }
        AU { "Avustralya" }
        //AW { "Aruba" }
        AZ { "Azerbaycan" }
        BA { "Bosna Hersek" }
        //BB { "Barbados" }
        BD { "Banglade\u015F" }
        BE { "Bel\u00E7ika" }
        //BF { "Burkina Faso" }
        BG { "Bulgaristan" }
        BH { "Bahreyn" }
        //BI { "Burundi" }
        //BJ { "Benin" }
        //BM { "Bermuda" }
        //BN { "Brunei Dar\u00FCsselam" }
        BO { "Bolivya" }
        BR { "Brezilya" }
        BS { "Bahamalar" }
        //BT { "Bhutan" }
        BV { "Bouvet Adas\u0131" }
        //BW { "Botswana" }
        //BY { "Belarus" }
        //BZ { "Belize" }
        CA { "Kanada" }
        CC { "Cocos (Keeling) Adalar\u0131" }
        CD { "Kongo Demokratik Cumhuriyeti" }
        CF { "Orta Afrika Cumhuriyeti" }
        CG { "Kongo" }
        CH { "\u0130svi\u00E7re" }
        CI { "Fildi\u015Fi Sahilleri" }
        CK { "Cook Adalar\u0131" }
        CL { "\u015Eili" }
        CM { "Kamerun" }
        CN { "\u00C7in" }
        CO { "Kolombiya" }
        CR { "Kosta Rika" }
        CU { "K\u00FCba" }
        //CV { "Cape Verde" }
        CX { "Christmas Adas\u0131" }
        CY { "K\u0131br\u0131s" }
        CZ { "\u00C7ek Cumhuriyeti" }
        DE { "Almanya" }
        DJ { "Cibuti" }
        DK { "Danimarka" }
        DM { "Dominik" }
        DO { "Dominik Cumhuriyeti" }
        DZ { "Cezayir" }
        EC { "Ekvador" }
        EE { "Estonya" }
        EG { "M\u0131s\u0131r" }
        EH { "Bat\u0131 Sahara" }
        ER { "Eritre" }
        ES { "\u0130spanya" }
        ET { "Etiyopya" }
        FI { "Finlandiya" }
        //FJ { "Fiji" }
        FK { "Falkland Adalar\u0131 (Malvinalar)" }    // alternate name { "Falkland Adalar\u0131" }
        FM { "Mikronezya Federal Eyaletleri" }
        FO { "Faroe Adalar\u0131" }
        FR { "Fransa" }
        //GA { "Gabon" }
        GB { "Birle\u015Fik Krall\u0131k" }
        GD { "Granada" }
        GE { "G\u00FCrcistan" }
        GF { "Frans\u0131z Ginesi" }
        GH { "Gana" }
        GI { "Cebelitar\u0131k" }
        GL { "Gr\u00F6nland" }
        //GM { "Gambia" }
        GN { "Gine" }
        //GP { "Guadeloupe" }
        GQ { "Ekvator Ginesi" }
        GR { "Yunanistan" }
        GS { "G\u00FCney Georgia ve G\u00FCney Sandwich Adalar\u0131" }
        //GT { "Guatemala" }
        //GU { "Guam" }
        GW { "Gine-Bissau" }
        //GY { "Guyana" }
        HK { "Hong Kong SAR - \u00C7in" }
        HM { "Heard Adas\u0131 ve McDonald Adalar\u0131" }
        //HN { "Honduras" }
        HR { "H\u0131rvatistan" }
        //HT { "Haiti" }
        HU { "Macaristan" }
        ID { "Endonezya" }
        IE { "\u0130rlanda" }
        IL { "\u0130srail" }
        IN { "Hindistan" }
        IO { "Hint Okyanusu \u0130ngiliz B\u00F6lgesi" }
        IQ { "Irak" }
        IR { "\u0130ran" }
        IS { "\u0130zlanda" }
        IT { "\u0130talya" }
        JM { "Jamaika" }
        JO { "\u00DCrd\u00FCn" }
        JP { "Japonya" }
        //KE { "Kenya" }
        KG { "K\u0131rg\u0131zistan" }
        KH { "Kambo\u00E7ya" }
        //KI { "Kiribati" }
        KM { "Komorlar" }
        KN { "Saint Kittler ve Neviler" }
        KP { "Kore, Kuzey" }    // alternate name { "Kore Demokratik Halk Cumhuriyeti" }
        KR { "Kore, G\u00FCney" }    // alternate name { "Kore Cumhuriyeti" }
        KW { "Kuveyt" }
        KY { "Cayman Adalar\u0131" }
        KZ { "Kazakistan" }
        LA { "Lao Demokratik Halk Cumhuriyeti" }
        LB { "L\u00FCbnan" }
        //LC { "Saint Lucia" }
        //LI { "Liechtenstein" }
        //LK { "Sri Lanka" }
        LR { "Liberya" }
        //LS { "Lesotho" }
        LT { "Litvanya" }
        LU { "L\u00FCksemburg" }
        LV { "Letonya" }
        //LY { "Libya Arap Cemahiriyesi" }
        MA { "Fas" }
        MC { "Monako" }
        MD { "Moldovya Cumhuriyeti" }
        MG { "Madagaskar" }
        MH { "Marshall Adalar\u0131" }
        MK { "Makedonya Cumhuriyeti" }
        //ML { "Mali" }
        //MM { "Myanmar" }
        MN { "Mo\u011Folistan" }
        MO { "Macao S.A.R. - \u00C7in" }
        MP { "Kuzey Mariana Adalar\u0131" }
        MQ { "Martinik" }
        MR { "Moritanya" }
        //MS { "Montserrat" }
        //MT { "Malta" }
        //MU { "Mauritius" }
        MV { "Maldivler" }
        MW { "Malavi" }
        MX { "Meksika" }
        MY { "Malezya" }
        MZ { "Mozambik" }
        NA { "Namibya" }
        NC { "Yeni Kaledonya" }
        NE { "Nijer" }
        NF { "Norfolk Adas\u0131" }
        NG { "Nijerya" }
        NI { "Nikaragua" }
        NL { "Hollanda" }
        NO { "Norve\u00E7" }
        //NP { "Nepal" }
        NR { "Nauru Adas\u0131" }
        NU { "Niue Adalar\u0131" }
        NZ { "Yeni Zelanda" }
        OM { "Umman" }
        //PA { "Panama" }
        //PE { "Peru" }
        PF { "Frans\u0131z Polinezyas\u0131" }
        PG { "Papua Yeni Gine" }
        PH { "Filipinler" }
        //PK { "Pakistan" }
        PL { "Polonya" }
        PM { "Saint Pierre ve Miquelon" }
        //PN { "Pitcairn" }
        PR { "Porto Riko" }
        PS { "Filistin B\u00F6lgesi" }
        PT { "Portekiz" }
        //PW { "Palau" }
        //PY { "Paraguay" }
        QA { "Katar" }
        RE { "Reunion" }
        RO { "Romanya" }
        RU { "Rusya Federasyonu" }
        RW { "Ruanda" }
        SA { "Suudi Arabistan" }
        SB { "Solomon Adalar\u0131" }
        SC { "Sey\u015Feller" }
        //SD { "Sudan" }
        SE { "\u0130sve\u00E7" }
        SG { "Singapur" }
        //SH { "Saint Helena" }
        SI { "Slovenya" }
        SJ { "Svalbard ve Jan Mayen" }
        SK { "Slovakya" }
        //SL { "Sierra Leone" }
        //SM { "San Marino" }
        //SN { "Senegal" }
        SO { "Somali" }
        SR { "Surinam" }
        ST { "Sao Tome ve Principe" }
        //SV { "El Salvador" }
        SY { "Suriye" }
        //SZ { "Swaziland" }
        TC { "Turks ve Caicos Adalar\u0131" }
        TD { "\u00C7ad" }
        TF { "Frans\u0131z G\u00FCney B\u00F6lgeleri" }
        //TG { "Togo" }
        TH { "Tayland" }
        TJ { "Tacikistan" }
        //TK { "Tokelau" }
        TL { "Do\u011Fu Timor" }
        TM { "T\u00FCrkmenistan" }
        TN { "Tunus" }
        //TO { "Tonga" }
        TR { "T\u00FCrkiye" }
        TT { "Trinidad ve Tobago" }
        //TV { "Tuvalu" }
        TW { "Tayvan, \u00C7in B\u00F6lgesi" }    // alternate name { "Tayvan" }
        TZ { "Tanzanya" }
        UA { "Ukrayna" }
        //UG { "Uganda" }
        UM { "Amerika Birle\u015Fik Devletleri K\u00FC\u00E7\u00FCk D\u0131\u015F Adalar\u0131" }
        US { "Amerika Birle\u015Fik Devletleri" }
        //UY { "Uruguay" }
        UZ { "\u00D6zbekistan" }
        VA { "Kutsal Devlet (Vatikan \u015Eehir Devleti)" }
        VC { "Saint Vincent ve Grenadinler" }
        //VE { "Venezuela" }
        VG { "\u0130ngiliz Virgin Adalar\u0131" }
        VI { "ABD Virgin Adalar\u0131" }
        //VN { "Vietnam" }
        //VU { "Vanuatu" }
        WF { "Wallis ve Futuna" }
        //WS { "Samoa" }
        //YE { "Yemen" }
        //YT { "Mayotte" }
        YU { "Yugoslavya" }
        ZA { "G\u00FCney Afrika" }
        ZM { "Zambiya" }
        //ZW { "Zimbabwe" }
    }
    DateTimeElements:intvector { 
        2,
        1,
    }
    DateTimePatterns { 
        "HH:mm:ss z",
        "HH:mm:ss z",
        "HH:mm:ss",
        "HH:mm",
        "dd MMMM yyyy EEEE",
        "dd MMMM yyyy EEEE",
        "dd.MMM.yyyy",
        "dd.MM.yyyy",
        "{1} {0}",
    }
    DayAbbreviations { 
        "Paz",
        "Pzt",
        "Sal",
        "\u00C7ar",
        "Per",
        "Cum",
        "Cmt",
    }
    DayNames { 
        "Pazar",
        "Pazartesi",
        "Sal\u0131",
        "\u00C7ar\u015Famba",
        "Per\u015Fembe",
        "Cuma",
        "Cumartesi",
    }
    Languages { 
        ar { "Arap\u00E7a" }
        bg { "Bulgarca" }
        cs { "\u00C7ek\u00E7e" }
        da { "Danca" }
        de { "Almanca" }
        el { "Yunanca" }
        en { "\u0130ngilizce" }
        es { "\u0130spanyolca" }
        et { "Estonya Dili" }
        fi { "Fince" }
        fr { "Frans\u0131zca" }
        he { "\u0130branice" }
        hr { "H\u0131rvat\u00E7a" }
        hu { "Macarca" }
        it { "\u0130talyanca" }
        ja { "Japonca" }
        ko { "Korece" }
        lt { "Litvanya Dili" }
        lv { "Letonya Dili" }
        nl { "Felemenk\u00E7e" }
        no { "Norve\u00E7\u00E7e" }
        pl { "Leh\u00E7e" }
        pt { "Portekizce" }
        ro { "Romence" }
        ru { "Rus\u00E7a" }
        sk { "Slovak\u00E7a" }
        sl { "Slovence" }
        sv { "\u0130sve\u00E7ce" }
        tr { "T\u00FCrk\u00E7e" }
        zh { "\u00C7ince" }
        //zh_cn { "\u00C7ince (Basitle\u015Ftirilmi\u015F)" }
        //zh_tw { "\u00C7ince (Geleneksel)" }
    }
    MonthAbbreviations { 
        "Oca",
        "\u015Eub",
        "Mar",
        "Nis",
        "May",
        "Haz",
        "Tem",
        "A\u011Fu",
        "Eyl",
        "Eki",
        "Kas",
        "Ara",
    }
    MonthNames { 
        "Ocak",
        "\u015Eubat",
        "Mart",
        "Nisan",
        "May\u0131s",
        "Haziran",
        "Temmuz",
        "A\u011Fustos",
        "Eyl\u00FCl",
        "Ekim",
        "Kas\u0131m",
        "Aral\u0131k",
    }
    NumberElements { 
        ",",
        ".",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "\u2030",
        "\u221E",
        "\uFFFD",
        ",",
        "+",
    }
    localPatternChars { "GanjkHmsSEDFwWxhKzAe" }
    zoneStrings { 
        {
            "Africa/Casablanca",
            "GMT",
            "GMT",
            "GMT",
            "GMT",
        }
    }
    LocaleScript{ 
        "Latn",  // ISO 15924 Name 
    }
    ExemplarCharacters { "[a-z\u00e2\u00ee\u00fb\u00f6\u00fc\u0131\u00e7\u015f\u011f]" }

    // Currency display names
    Currencies {
        ITL { "ITL", "ITL" } // Italian Lira
//        TRL { "\u20A4", "TRL" } // Turkish Lira (Rarely used)
        TRL { "TL", "TRL" } // Turkish Lira
    }
}