Yerelleştirme çalışmasına başlamadan önce, “Use Base Internationalization” onay işaretini seçtiğinizden emin olun.
“Base Internationalization” nedir?
Yeni XCode projesi oluşturduğunuzda, XCode otomatik olarak kaynakları ve varsayılan dil için bunları içeren dosya yapısını oluşturur.Bu "Base" dili denir. Uygulamanızı global pazar için yapıyorsanız, normal olarak bu “Base” dil kaynaklarında İngilizce metinleri kullanmak istersiniz.
Yeni Yerelleştirme Ekle
Tamam, varsayılan olarak Base dil kaynak yapısına sahibiz. Yeni dil desteği ekleyelim. Proje Gezgini'nde(Project Navigator) proje dosyanızı seçin ve projenizi proje ve hedefler listesinde seçin. Bilgi sekmesini açın ve Localization bölümünün altındaki “+” düğmesini tıklayın. Ardından, gösterilen açılır listeden desteklemek istediğiniz dili seçin.Localizable.strings dosyası nerede?
Localizable.strings dosyası, çeviri verilerini anahtar / değer (key-value) çiftleri olarak eklediğiniz yerdir. XCode'un son sürümleri varsayılan olarak Localizable.strings dosyası oluşturmaz. Localizable.strings dosyasını eklemek için Dosya-> Yeni-> Dosya'ya (File->New->File) gidin, iOS'un Kaynak (Resource) sekmesi altındaki String File seçin, Localizable.strings olarak adlandırın ve dosyayı oluşturun.Japonca için Localizable.strings eklemek için Dosya Denetçisi'nde (File Inspector) Japonca'yı tıklatın. Bu ja.lproj klasörünün altında yeni bir Localizable.strings dosyası oluşturur.
Aşağıda, NSLocalizedString yönteminin örneği verilmiştir. Yöntemin ilk parametresi olarak bir anahtar belirledik. Anahtarı ilk parametre olarak belirterek, karşılık gelen değeri Localizable.strings dosyasından çıkarabilir ve değeri döndürür. Bu örnekte, uyarı başlığı, mesaj ve düğmeler için yerelleştirilmiş dizeler elde ediyorum.
let alertTitle = NSLocalizedString("Welcome", comment: "")
let alertMessage = NSLocalizedString("Thank you for trying this app, you are a great person!", comment: "")
let cancelButtonText = NSLocalizedString("Cancel", comment: "")
let signupButtonText = NSLocalizedString("Signup", comment: "")
let alert = UIAlertController(title: alertTitle, message: alertMessage, preferredStyle: UIAlertControllerStyle.Alert)
let cancelAction = UIAlertAction(title: cancelButtonText, style: UIAlertActionStyle.Cancel, handler: nil)
let signupAction = UIAlertAction(title: signupButtonText, style: UIAlertActionStyle.Default, handler: nil)
alert.addAction(cancelAction)
alert.addAction(signupAction)
presentViewController(alert, animated: true, completion: nil)
Uygulamayı çalıştırın ve İngilizce metinle uyarıyı görmeliyiz.
Storyboard Yerelleştirmesi
Tamam, şimdi NSLocalizedString kullanarak yerelleştirilmiş metinlerin nasıl değiştirileceğini ve Localizable.strings dosyalarında verilerin nasıl hazırlanacağını biliyoruz. Bu, kullanıcılara yerelleştirilmiş metinleri programlı olarak göstermeniz için yeterlidir. Sonraki adım Storyboard'larda (button, label vb. başlıklar gibi) ayarlanan metinlerin yerelleştirilmesini desteklemektedir. Storyboard'larda button başlıkları veya label metinleri ayarlarsanız ve bu metinleri ViewControllers'de programsal olarak değiştirmezseniz, Storyboard dosyalarınızda yerelleştirmeniz gerekir. Storyboard'larda kullanılan kelimelere çeviri verileri eklemek için, önce Project Navigator'dan Storyboard dosyasını seçin, ardından sağdaki File Inspector'den Japonca'yı seçin ve ekleyin. Bu ja.lproj klasörünün altında [StoryboardFileName] .strings dosyasını oluşturur. Aşağıdaki örneğimizde, Storyboard dosya adı Main.storyboard olduğundan, Main.strings (Japonca) oluşturulur./* Class = "UIButton"; normalTitle = "Get Started"; ObjectID = "qs4-6I-gUp"; */
"qs4-6I-gUp.normalTitle" = "Get Started";
Yukarıdaki satırın “Get Started” bölümünü, ilgili Japonca ifadeye değiştirin.
/* Class = "UIButton"; normalTitle = "Get Started"; ObjectID = "qs4-6I-gUp"; */
"qs4-6I-gUp.normalTitle" = "始める";
Uygulamayı çalıştırın. Button başlığı, Japonca'ya uygun şekilde yerelleştirilmelidir.
Uygulama Başlığını Yerelleştirme
Uygulama başlığını veya Info.plist dosyasında tanımlanan diğer şeyleri yerelleştirmek için bir InfoPlist.strings dosyası oluşturun. Dosya-> Yeni-> Dosya'ya gidin(File->New->File), iOS'un Kaynak(Resources) sekmesi altındaki String File seçin, InfoPlist.strings olarak adlandırın. Base.lproj klasörünü InfoPlist.strings dosyasının konumu olarak seçin. (Bunu yaparak, bu InfoPlist.strings dosyası, XCode tarafından temel dil için bir tane olarak tanınır.) Normalde, bu iki değeri info.plist dosyasında yerelleştirmek istiyoruz.- CFBundleDisplayName - Ana ekranda gösterilen uygulama adı
- NSHumanReadableCopyright - Telif hakkı açıklaması (ör. 2014 Goldrush Computing Inc. Tüm hakları saklıdır) Aşağıdaki gibi bu iki anahtar için bir uygulama adı ve telif hakkı ayarlayın.
/*
InfoPlist.strings
LocalizationTutorialApp
Created by Takamitsu Mizutori on 2016/07/25.
Copyright © 2016年 Goldrush Computing Inc. All rights reserved.
*/
"CFBundleDisplayName" = "MyApp";
"NSHumanReadableCopyright" = "2016 Goldrush Computing Inc. All rights reserved."
Daha sonra File Inspector'den, ja.lproj klasörünün altında bir InfoPlist.strings eklemek için Japonca'yı işaretleyin (bunu yaparken InfoPlist.strings dosyasının seçili olmasını sağlamalısınız).
/*
InfoPlist.strings
LocalizationTutorialApp
Created by Takamitsu Mizutori on 2016/07/25.
Copyright © 2016年 Goldrush Computing Inc. All rights reserved.
*/
"CFBundleDisplayName" = "マイアプリ";
"NSHumanReadableCopyright" = "2016年 Goldrush Computing Inc. All rights reserved."
Uygulamayı çalıştırın ve uygulama başlığınızın Japonca'ya uygun şekilde yerelleştirilmiş olup olmadığını görün.
Hiç yorum yok:
Yorum Gönder
Yorumunuz için teşekkür ederim.