Büyümeyen Türkçe Karakterler

Programlama ile ilgilenen herkes Türkçe karakterlerle ilgili bir sıkıntı kesin yaşamıştır. Bu sıkıntı genellikle Türkçe karakterleri görüntülerken ya da büyük/küçük harf durumunu değiştirirken yaşanıyor. Aşağıdaki örnekte olduğu gibi Swift’te String class‘ımız harfleri değiştirmek için hazır _method’_lara sahip.

let myString = "istanbul, İZmiR, Izgara"
let upperString = myString.uppercased() // Bütün harfleri büyük yapıyor "ISTANBUL, İZMIR, IZGARA"
let lowerString = myString.lowercased() // Bütün harfleri küçük yapıyor "istanbul, izmir, izgara"

Ama harfleri değiştirirken method‘a parametre sokmazsak varsayılan olarak cihazın dilini baz alıyor. Eğer kullanıcımızın cihazı İngilizce’yse “istanbul” kelimesini büyük harf yaptığımızda “ISTANBUL” oluyor. Bu gibi hatalardan kaçınmak için harfleri değiştirirken hangi dil olduğunu explicitly belirtmek gerekiyor. Bunu da aşağıdaki örnekte olduğu gibi _method’_umuza “with:” isimli parametre olarak “tr” identifier ile Locale (eski adı ile NSLocale. Swift 3’te bütün NS (NextStep) ön ekleri kaldırıldı.) class‘ından oluşturduğumuz değişkenimizi sokarak yapıyoruz.

let myString = "istanbul, İZmiR, Izgara"
let upperString = myString.uppercased(with: Locale(identifier: "tr"))
let lowerString = myString.lowercased(with: Locale(identifier: "tr"))