İçeriğe geç

Bundle Localization işlemi

Merhabalar bu yazımda iOS uygulamalarınızda anlık olarak kelimeleri farklı dillerde görüntüleme işlemini nasıl gerçekleştirebileceğinizi göstereceğim.

Localization işlemi farklı ülkelerden kullanan kullanıcılar için büyük önem taşımakta. Bu yüzden uygulama içerisinde bu tür farklı diller ile kullanıcılara destek vermeliyiz. Xcode üzerinde eklediğiniz .lproj dil dosyalarını kullanmak için Localizable.strings oluşturarak burada key, value şeklinde yapı oluşturuyor ve NSLocalizedString sınıfı ile bu key, value yapısını kullanarak otomatik olarak cihaz diline göre yazıları görüyoruz.

Localizable.strings içerisinde oluşturduğumuz key, value değerlerini uygulama içerisinde anlık kullanmak için aşağıda yazdığım hızlı ve kullanımı basit String extension kullanabilirsiniz.

extension String {
    func localizedText(code:String) -> String {
        let path = Bundle.main.path(forResource: code, ofType: "lproj")
        guard let langPath = path,
            let bundle = Bundle(path: langPath) else { return "" }
        return NSLocalizedString(self, tableName: nil, bundle: bundle, value: "", comment: "")
    }
}

"App.Title".localizedText(code: "tr")

Burada kullandığımız “App.Title” Localizable.strings içerisinde “App.Title” = “Uygulama Başlığı”; şeklindeki yapıda kullandığımız key değeri olacak. Böylelikle bu değere erişebiliriz.

 

Tarih:iOS

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Copyright © 2021 Kenan Atmaca