SWIFT 3.x, 4.x, 5.0
regardless of ISO standards, Apple using "tr" for Turkish language without country shortcode. you must explicitly set an identifier (if you don't care device settings from 'Local.current')
"istanbul, izmir, ateştuğla".uppercased(with: Locale(identifier: "tr"))
// Output is:
// "İSTANBUL, İZMİR, ATEŞTUĞLA"
to see all available identifiers i suggest to print them all, to your debugging console by:
po Locale.availableIdentifiers
..
Here is an example output from LLDB of XCode.10.2 by swift5:
(lldb) po Locale.availableIdentifiers
▿ 797 elements
- 0 : "eu"
- 1 : "hr_BA"
- 2 : "en_CM"
- 3 : "en_BI"
- 4 : "rw_RW"
- 5 : "ast"
- 6 : "en_SZ"
- 7 : "he_IL"
- 8 : "ar"
- 9 : "uz_Arab"
- 10 : "en_PN"
- 11 : "as"
- 12 : "en_NF"
- 13 : "ks_IN"
- 14 : "es_KY"
- 15 : "rwk_TZ"
- 16 : "zh_Hant_TW"
- 17 : "en_CN"
- 18 : "gsw_LI"
- 19 : "ta_IN"
- 20 : "th_TH"
- 21 : "es_EA"
- 22 : "fr_GF"
- 23 : "ar_001"
- 24 : "en_RW"
- 25 : "tr_TR"
- 26 : "de_CH"
- 27 : "ee_TG"
- 28 : "en_NG"
- 29 : "fr_TG"
- 30 : "az"
- 31 : "fr_SC"
- 32 : "es_HN"
- 33 : "en_AG"
- 34 : "ccp_IN"
- 35 : "ru_KZ"
- 36 : "gsw"
- 37 : "dyo"
- 38 : "so_ET"
- 39 : "zh_Hant_MO"
- 40 : "de_BE"
- 41 : "nus_SS"
- 42 : "km_KH"
- 43 : "my_MM"
- 44 : "mgh_MZ"
- 45 : "ee_GH"
- 46 : "es_EC"
- 47 : "kw_GB"
- 48 : "rm_CH"
- 49 : "en_ME"
- 50 : "nyn"
- 51 : "mk_MK"
- 52 : "bs_Cyrl_BA"
- 53 : "ar_MR"
- 54 : "es_GL"
- 55 : "en_BM"
- 56 : "ms_Arab"
- 57 : "en_AI"
- 58 : "gl_ES"
- 59 : "en_PR"
- 60 : "ff_CM"
- 61 : "ne_IN"
- 62 : "or_IN"
- 63 : "khq_ML"
- 64 : "en_MG"
- 65 : "pt_TL"
- 66 : "en_LC"
- 67 : "iu_CA"
- 68 : "ta_SG"
- 69 : "jmc_TZ"
- 70 : "om_ET"
- 71 : "lv_LV"
- 72 : "es_US"
- 73 : "en_PT"
- 74 : "vai_Latn_LR"
- 75 : "en_NL"
- 76 : "to_TO"
- 77 : "cgg_UG"
- 78 : "en_MH"
- 79 : "ta"
- 80 : "zu_ZA"
- 81 : "shi_Latn_MA"
- 82 : "es_FK"
- 83 : "ar_KM"
- 84 : "en_AL"
- 85 : "brx_IN"
- 86 : "te"
- 87 : "chr_US"
- 88 : "yo_BJ"
- 89 : "fr_VU"
- 90 : "pa"
- 91 : "tg"
- 92 : "kea"
- 93 : "ksh_DE"
- 94 : "sw_CD"
- 95 : "te_IN"
- 96 : "fr_RE"
- 97 : "th"
- 98 : "ur_IN"
- 99 : "yo_NG"
- 100 : "ti"
- 101 : "es_HT"
- 102 : "es_GP"
- 103 : "guz_KE"
- 104 : "tk"
- 105 : "kl_GL"
- 106 : "ksf_CM"
- 107 : "mua_CM"
- 108 : "lag_TZ"
- 109 : "lb"
- 110 : "fr_TN"
- 111 : "es_PA"
- 112 : "pl_PL"
- 113 : "to"
- 114 : "hi_IN"
- 115 : "dje_NE"
- 116 : "es_GQ"
- 117 : "en_BR"
- 118 : "kok_IN"
- 119 : "pl"
- 120 : "fr_GN"
- 121 : "bem"
- 122 : "ha"
- 123 : "ckb"
- 124 : "es_CA"
- 125 : "lg"
- 126 : "tr"
- 127 : "en_PW"
- 128 : "tt"
- 129 : "en_NO"
- 130 : "nyn_UG"
- 131 : "sr_Latn_RS"
- 132 : "gsw_FR"
- 133 : "pa_Guru"
- 134 : "he"
- 135 : "qu_BO"
- 136 : "ps_AF"
- 137 : "lu_CD"
- 138 : "mgo_CM"
- 139 : "sn_ZW"
- 140 : "en_BS"
- 141 : "da"
- 142 : "ps"
- 143 : "ln"
- 144 : "pt"
- 145 : "hi"
- 146 : "lo"
- 147 : "ebu"
- 148 : "de"
- 149 : "gu_IN"
- 150 : "wo_SN"
- 151 : "seh"
- 152 : "en_CX"
- 153 : "en_ZM"
- 154 : "fr_HT"
- 155 : "fr_GP"
- 156 : "pt_GQ"
- 157 : "lt"
- 158 : "lu"
- 159 : "es_TT"
- 160 : "ln_CD"
- 161 : "vai_Latn"
- 162 : "el_GR"
- 163 : "lv"
- 164 : "en_KE"
- 165 : "sbp"
- 166 : "hr"
- 167 : "en_CY"
- 168 : "es_GT"
- 169 : "twq_NE"
- 170 : "zh_Hant_HK"
- 171 : "kln_KE"
- 172 : "fr_GQ"
- 173 : "chr"
- 174 : "hu"
- 175 : "es_UY"
- 176 : "fr_CA"
- 177 : "ms_BN"
- 178 : "en_NR"
- 179 : "mer"
- 180 : "shi"
- 181 : "es_PE"
- 182 : "fr_SN"
- 183 : "bez"
- 184 : "sw_TZ"
- 185 : "wae_CH"
- 186 : "kkj"
- 187 : "hy"
- 188 : "dz_BT"
- 189 : "en_CZ"
- 190 : "teo_KE"
- 191 : "teo"
- 192 : "en_AR"
- 193 : "ar_JO"
- 194 : "yue_Hans_CN"
- 195 : "mer_KE"
- 196 : "khq"
- 197 : "ln_CF"
- 198 : "nn_NO"
- 199 : "es_SR"
- 200 : "en_MO"
- 201 : "ar_TD"
- 202 : "dz"
- 203 : "ses"
- 204 : "en_BW"
- 205 : "en_AS"
- 206 : "ar_IL"
- 207 : "es_BB"
- 208 : "bo_CN"
- 209 : "nnh"
- 210 : "teo_UG"
- 211 : "hy_AM"
- 212 : "ln_CG"
- 213 : "sr_Latn_BA"
- 214 : "en_MP"
- 215 : "ksb_TZ"
- 216 : "ar_SA"
- 217 : "smn_FI"
- 218 : "ar_LY"
- 219 : "en_AT"
- 220 : "so_KE"
- 221 : "fr_CD"
- 222 : "af_NA"
- 223 : "en_NU"
- 224 : "es_PH"
- 225 : "en_KI"
- 226 : "en_JE"
- 227 : "lkt"
- 228 : "en_AU"
- 229 : "fa_IR"
- 230 : "pt_FR"
- 231 : "uz_Latn_UZ"
- 232 : "zh_Hans_CN"
- 233 : "ewo_CM"
- 234 : "fr_PF"
- 235 : "ca_IT"
- 236 : "es_GY"
- 237 : "en_BZ"
- 238 : "ar_KW"
- 239 : "pt_GW"
- 240 : "fr_FR"
- 241 : "am_ET"
- 242 : "en_VC"
- 243 : "es_DM"
- 244 : "fr_DJ"
- 245 : "fr_CF"
- 246 : "es_SV"
- 247 : "en_MS"
- 248 : "pt_ST"
- 249 : "ar_SD"
- 250 : "luy_KE"
- 251 : "gd_GB"
- 252 : "de_LI"
- 253 : "it_VA"
- 254 : "fr_CG"
- 255 : "pt_CH"
- 256 : "ckb_IQ"
- 257 : "zh_Hans_SG"
- 258 : "en_MT"
- 259 : "ha_NE"
- 260 : "en_ID"
- 261 : "ewo"
- 262 : "af_ZA"
- 263 : "os_GE"
- 264 : "om_KE"
- 265 : "nl_SR"
- 266 : "es_ES"
- 267 : "es_DO"
- 268 : "ar_IQ"
- 269 : "fr_CH"
- 270 : "nnh_CM"
- 271 : "es_SX"
- 272 : "es_419"
- 273 : "en_MU"
- 274 : "en_US_POSIX"
- 275 : "yav_CM"
- 276 : "luo_KE"
- 277 : "dua_CM"
- 278 : "et_EE"
- 279 : "en_IE"
- 280 : "ak_GH"
- 281 : "rwk"
- 282 : "es_CL"
- 283 : "kea_CV"
- 284 : "fr_CI"
- 285 : "ckb_IR"
- 286 : "fr_BE"
- 287 : "se"
- 288 : "en_NZ"
- 289 : "en_MV"
- 290 : "en_LR"
- 291 : "es_PM"
- 292 : "en_KN"
- 293 : "nb_SJ"
- 294 : "ha_NG"
- 295 : "sg"
- 296 : "sr_Cyrl_RS"
- 297 : "ru_RU"
- 298 : "en_ZW"
- 299 : "sv_AX"
- 300 : "ga_IE"
- 301 : "si"
- 302 : "wo"
- 303 : "en_VG"
- 304 : "ff_MR"
- 305 : "ky_KG"
- 306 : "agq_CM"
- 307 : "mzn"
- 308 : "fr_BF"
- 309 : "naq_NA"
- 310 : "mr_IN"
- 311 : "en_MW"
- 312 : "de_AT"
- 313 : "az_Latn"
- 314 : "en_LS"
- 315 : "ka"
- 316 : "sk"
- 317 : "sl"
- 318 : "sn"
- 319 : "sr_Latn_ME"
- 320 : "fr_NC"
- 321 : "so"
- 322 : "is_IS"
- 323 : "twq"
- 324 : "ig_NG"
- 325 : "sq"
- 326 : "fo_FO"
- 327 : "sr"
- 328 : "tzm"
- 329 : "ga"
- 330 : "om"
- 331 : "en_LT"
- 332 : "bas_CM"
- 333 : "se_NO"
- 334 : "ki"
- 335 : "nl_BE"
- 336 : "ar_QA"
- 337 : "gd"
- 338 : "sv"
- 339 : "kk"
- 340 : "rn_BI"
- 341 : "es_CO"
- 342 : "az_Latn_AZ"
- 343 : "kl"
- 344 : "or"
- 345 : "es_AG"
- 346 : "ca"
- 347 : "en_VI"
- 348 : "km"
- 349 : "os"
- 350 : "sw"
- 351 : "en_MY"
- 352 : "kn"
- 353 : "en_LU"
- 354 : "fr_SY"
- 355 : "ar_TN"
- 356 : "en_JM"
- 357 : "fr_PM"
- 358 : "ko"
- 359 : "fr_NE"
- 360 : "ce"
- 361 : "fr_MA"
- 362 : "gl"
- 363 : "ru_MD"
- 364 : "es_BL"
- 365 : "saq_KE"
- 366 : "ks"
- 367 : "fr_CM"
- 368 : "lb_LU"
- 369 : "gv_IM"
- 370 : "fr_BI"
- 371 : "en_LV"
- 372 : "en_KR"
- 373 : "es_NI"
- 374 : "en_GB"
- 375 : "kw"
- 376 : "nl_SX"
- 377 : "dav_KE"
- 378 : "tr_CY"
- 379 : "ky"
- 380 : "en_UG"
- 381 : "es_BM"
- 382 : "en_TC"
- 383 : "es_AI"
- 384 : "ar_EG"
- 385 : "fr_BJ"
- 386 : "gu"
- 387 : "es_PR"
- 388 : "fr_RW"
- 389 : "gv"
- 390 : "lrc_IQ"
- 391 : "sr_Cyrl_BA"
- 392 : "es_MF"
- 393 : "fr_MC"
- 394 : "cs"
- 395 : "bez_TZ"
- 396 : "es_CR"
- 397 : "asa_TZ"
- 398 : "ar_EH"
- 399 : "fo_DK"
- 400 : "ms_Arab_BN"
- 401 : "ccp"
- 402 : "en_JP"
- 403 : "sbp_TZ"
- 404 : "en_IL"
- 405 : "lt_LT"
- 406 : "mfe"
- 407 : "en_GD"
- 408 : "es_LC"
- 409 : "cy"
- 410 : "ug_CN"
- 411 : "ca_FR"
- 412 : "es_BO"
- 413 : "en_SA"
- 414 : "fr_BL"
- 415 : "bn_IN"
- 416 : "uz_Cyrl_UZ"
- 417 : "lrc_IR"
- 418 : "az_Cyrl"
- 419 : "en_IM"
- 420 : "sw_KE"
- 421 : "en_SB"
- 422 : "pa_Arab"
- 423 : "ur_PK"
- 424 : "haw_US"
- 425 : "ar_SO"
- 426 : "en_IN"
- 427 : "fil"
- 428 : "fr_MF"
- 429 : "en_WS"
- 430 : "es_CU"
- 431 : "es_BQ"
- 432 : "ja_JP"
- 433 : "fy_NL"
- 434 : "en_SC"
- 435 : "yue_Hant_HK"
- 436 : "en_IO"
- 437 : "pt_PT"
- 438 : "en_HK"
- 439 : "en_GG"
- 440 : "fr_MG"
- 441 : "de_LU"
- 442 : "tzm_MA"
- 443 : "es_BR"
- 444 : "en_TH"
- 445 : "en_SD"
- 446 : "nds_DE"
- 447 : "shi_Tfng"
- 448 : "ln_AO"
- 449 : "as_IN"
- 450 : "en_GH"
- 451 : "ms_MY"
- 452 : "ro_RO"
- 453 : "jgo_CM"
- 454 : "es_CW"
- 455 : "dua"
- 456 : "en_UM"
- 457 : "es_BS"
- 458 : "en_SE"
- 459 : "kn_IN"
- 460 : "en_KY"
- 461 : "vun_TZ"
- 462 : "kln"
- 463 : "lrc"
- 464 : "en_GI"
- 465 : "ca_ES"
- 466 : "rof"
- 467 : "pt_CV"
- 468 : "kok"
- 469 : "pt_BR"
- 470 : "ar_DJ"
- 471 : "yi_001"
- 472 : "fi_FI"
- 473 : "zh"
- 474 : "es_PY"
- 475 : "ar_SS"
- 476 : "mua"
- 477 : "sr_Cyrl_ME"
- 478 : "vai_Vaii_LR"
- 479 : "en_001"
- 480 : "nl_NL"
- 481 : "en_TK"
- 482 : "fr_DZ"
- 483 : "en_SG"
- 484 : "ca_AD"
- 485 : "si_LK"
- 486 : "sv_SE"
- 487 : "pt_AO"
- 488 : "vi"
- 489 : "xog_UG"
- 490 : "xog"
- 491 : "en_IS"
- 492 : "nb"
- 493 : "seh_MZ"
- 494 : "es_AR"
- 495 : "sk_SK"
- 496 : "en_SH"
- 497 : "ti_ER"
- 498 : "nd"
- 499 : "az_Cyrl_AZ"
- 500 : "zu"
- 501 : "ne"
- 502 : "nd_ZW"
- 503 : "el_CY"
- 504 : "en_IT"
- 505 : "nl_BQ"
- 506 : "da_GL"
- 507 : "ja"
- 508 : "rm"
- 509 : "fr_ML"
- 510 : "rn"
- 511 : "en_VU"
- 512 : "rof_TZ"
- 513 : "ro"
- 514 : "ebu_KE"
- 515 : "ru_KG"
- 516 : "en_SI"
- 517 : "sg_CF"
- 518 : "mfe_MU"
- 519 : "nl"
- 520 : "brx"
- 521 : "bs_Latn"
- 522 : "fa"
- 523 : "zgh_MA"
- 524 : "en_GM"
- 525 : "shi_Latn"
- 526 : "en_FI"
- 527 : "nn"
- 528 : "en_EE"
- 529 : "ru"
- 530 : "yue"
- 531 : "kam_KE"
- 532 : "fur"
- 533 : "vai_Vaii"
- 534 : "ar_ER"
- 535 : "rw"
- 536 : "ti_ET"
- 537 : "ff"
- 538 : "luo"
- 539 : "fa_AF"
- 540 : "nl_CW"
- 541 : "es_MQ"
- 542 : "en_HR"
- 543 : "en_FJ"
- 544 : "fi"
- 545 : "pt_MO"
- 546 : "be"
- 547 : "en_US"
- 548 : "en_TO"
- 549 : "en_SK"
- 550 : "bg"
- 551 : "ru_BY"
- 552 : "it_IT"
- 553 : "ml_IN"
- 554 : "gsw_CH"
- 555 : "qu_EC"
- 556 : "fo"
- 557 : "sv_FI"
- 558 : "en_FK"
- 559 : "nus"
- 560 : "ta_LK"
- 561 : "vun"
- 562 : "sr_Latn"
- 563 : "es_BZ"
- 564 : "fr"
- 565 : "en_SL"
- 566 : "bm"
- 567 : "es_VC"
- 568 : "ar_BH"
- 569 : "guz"
- 570 : "bn"
- 571 : "bo"
- 572 : "ar_SY"
- 573 : "es_MS"
- 574 : "lo_LA"
- 575 : "ne_NP"
- 576 : "uz_Latn"
- 577 : "be_BY"
- 578 : "es_IC"
- 579 : "sr_Latn_XK"
- 580 : "ar_MA"
- 581 : "pa_Guru_IN"
- 582 : "br"
- 583 : "luy"
- 584 : "kde_TZ"
- 585 : "es_AW"
- 586 : "bs"
- 587 : "fy"
- 588 : "fur_IT"
- 589 : "hu_HU"
- 590 : "ar_AE"
- 591 : "en_HU"
- 592 : "sah_RU"
- 593 : "zh_Hans"
- 594 : "en_FM"
- 595 : "fr_MQ"
- 596 : "ko_KP"
- 597 : "en_150"
- 598 : "en_DE"
- 599 : "ce_RU"
- 600 : "en_CA"
- 601 : "hsb_DE"
- 602 : "sq_AL"
- 603 : "en_TR"
- 604 : "ro_MD"
- 605 : "es_VE"
- 606 : "tg_TJ"
- 607 : "fr_WF"
- 608 : "mt_MT"
- 609 : "kab"
- 610 : "nmg_CM"
- 611 : "ms_SG"
- 612 : "en_GR"
- 613 : "ru_UA"
- 614 : "fr_MR"
- 615 : "zh_Hans_MO"
- 616 : "de_IT"
- 617 : "ccp_BD"
- 618 : "ff_GN"
- 619 : "bs_Cyrl"
- 620 : "tt_RU"
- 621 : "nds_NL"
- 622 : "es_KN"
- 623 : "sw_UG"
- 624 : "yue_Hans"
- 625 : "ko_KR"
- 626 : "en_DG"
- 627 : "bo_IN"
- 628 : "en_CC"
- 629 : "shi_Tfng_MA"
- 630 : "lag"
- 631 : "it_SM"
- 632 : "os_RU"
- 633 : "en_TT"
- 634 : "ms_Arab_MY"
- 635 : "sq_MK"
- 636 : "es_VG"
- 637 : "bem_ZM"
- 638 : "kde"
- 639 : "ar_OM"
- 640 : "kk_KZ"
- 641 : "cgg"
- 642 : "bas"
- 643 : "kam"
- 644 : "wae"
- 645 : "es_MX"
- 646 : "sah"
- 647 : "zh_Hant"
- 648 : "en_GU"
- 649 : "fr_MU"
- 650 : "fr_KM"
- 651 : "ar_LB"
- 652 : "en_BA"
- 653 : "en_TV"
- 654 : "sr_Cyrl"
- 655 : "mzn_IR"
- 656 : "es_VI"
- 657 : "dje"
- 658 : "kab_DZ"
- 659 : "fil_PH"
- 660 : "se_SE"
- 661 : "vai"
- 662 : "hr_HR"
- 663 : "bs_Latn_BA"
- 664 : "nl_AW"
- 665 : "dav"
- 666 : "so_SO"
- 667 : "ar_PS"
- 668 : "en_FR"
- 669 : "uz_Cyrl"
- 670 : "ff_SN"
- 671 : "en_BB"
- 672 : "ki_KE"
- 673 : "en_TW"
- 674 : "naq"
- 675 : "en_SS"
- 676 : "mg_MG"
- 677 : "mas_KE"
- 678 : "en_RO"
- 679 : "en_PG"
- 680 : "mgh"
- 681 : "dyo_SN"
- 682 : "mas"
- 683 : "agq"
- 684 : "bn_BD"
- 685 : "haw"
- 686 : "yi"
- 687 : "nb_NO"
- 688 : "da_DK"
- 689 : "en_DK"
- 690 : "saq"
- 691 : "ug"
- 692 : "cy_GB"
- 693 : "fr_YT"
- 694 : "jmc"
- 695 : "ses_ML"
- 696 : "en_PH"
- 697 : "de_DE"
- 698 : "ar_YE"
- 699 : "es_TC"
- 700 : "bm_ML"
- 701 : "yo"
- 702 : "lkt_US"
- 703 : "uz_Arab_AF"
- 704 : "jgo"
- 705 : "sl_SI"
- 706 : "pt_LU"
- 707 : "uk"
- 708 : "en_CH"
- 709 : "asa"
- 710 : "en_BD"
- 711 : "lg_UG"
- 712 : "nds"
- 713 : "qu_PE"
- 714 : "mgo"
- 715 : "id_ID"
- 716 : "en_NA"
- 717 : "en_GY"
- 718 : "zgh"
- 719 : "pt_MZ"
- 720 : "fr_LU"
- 721 : "dsb"
- 722 : "mas_TZ"
- 723 : "en_DM"
- 724 : "ta_MY"
- 725 : "es_GD"
- 726 : "en_BE"
- 727 : "mg"
- 728 : "ur"
- 729 : "fr_GA"
- 730 : "ka_GE"
- 731 : "nmg"
- 732 : "en_TZ"
- 733 : "eu_ES"
- 734 : "ar_DZ"
- 735 : "id"
- 736 : "so_DJ"
- 737 : "hsb"
- 738 : "yav"
- 739 : "mk"
- 740 : "pa_Arab_PK"
- 741 : "ml"
- 742 : "en_ER"
- 743 : "ig"
- 744 : "se_FI"
- 745 : "mn"
- 746 : "ksb"
- 747 : "uz"
- 748 : "vi_VN"
- 749 : "ii"
- 750 : "qu"
- 751 : "en_PK"
- 752 : "ee"
- 753 : "ast_ES"
- 754 : "yue_Hant"
- 755 : "mr"
- 756 : "ms"
- 757 : "en_ES"
- 758 : "ha_GH"
- 759 : "it_CH"
- 760 : "sq_XK"
- 761 : "mt"
- 762 : "en_CK"
- 763 : "br_FR"
- 764 : "en_BG"
- 765 : "es_GF"
- 766 : "tk_TM"
- 767 : "sr_Cyrl_XK"
- 768 : "ksf"
- 769 : "en_SX"
- 770 : "bg_BG"
- 771 : "en_PL"
- 772 : "af"
- 773 : "el"
- 774 : "cs_CZ"
- 775 : "fr_TD"
- 776 : "zh_Hans_HK"
- 777 : "is"
- 778 : "ksh"
- 779 : "my"
- 780 : "mn_MN"
- 781 : "en"
- 782 : "it"
- 783 : "dsb_DE"
- 784 : "ii_CN"
- 785 : "eo"
- 786 : "iu"
- 787 : "en_ZA"
- 788 : "smn"
- 789 : "en_AD"
- 790 : "ak"
- 791 : "en_RU"
- 792 : "kkj_CM"
- 793 : "am"
- 794 : "es"
- 795 : "et"
- 796 : "uk_UA"
...
print(text.uppercaseStringWithLocale(NSLocale(localeIdentifier: "tr")))
gives the expected output "İSTANBUL, İZMİR". – Please show the output ofprint(NSLocale.currentLocale().localeIdentifier)
. – Lucknow