Birisi bana yardım edebilir mi? Swift kullanıcı arayüzünde yerelleştirmenin herhangi bir açıklamasını bulamıyorum. Herkes nasıl tavsiye veya daha iyi örneğin yerelleştirmek için bir örnek verebilir Text()
misiniz?
Birisi bana yardım edebilir mi? Swift kullanıcı arayüzünde yerelleştirmenin herhangi bir açıklamasını bulamıyorum. Herkes nasıl tavsiye veya daha iyi örneğin yerelleştirmek için bir örnek verebilir Text()
misiniz?
Yanıtlar:
Metin belgelerine baktığınızda, başlatıcısına bir String değil LocalizedStringKey aldığını görebilirsiniz:
init(_ key: LocalizedStringKey, tableName: String? = nil, bundle: Bundle? = nil, comment: StaticString? = nil)
Lokalizasyonu çok düz yapar. Tüm yapman gereken:
Localizable.strings dosyasını seçtiğinizde, orijinal dil ve az önce eklediğiniz dil için dosyalar içerdiğini göreceksiniz. Çevirilerinizi buraya koyduğunuz yer, yani anahtar - yerelleştirilmiş metin çiftleri.
Bunun gibi bir metniniz uygulamanızsa:
Text("Hello World!")
Şimdi çevirilerinizi Localizable.strings dosyasına eklemelisiniz:
temel diliniz için:
"Hello World!" = "Hello World!";
ve ikinci diliniz için (bu durumda Almanca):
"Hello World!" = "Hallo Welt!";
Önizlemelerinizi yerel olarak görmek için bunları şu şekilde tanımlayabilirsiniz:
struct ContentViewView_Previews: PreviewProvider {
static var previews: some View {
ForEach(["en", "de"], id: \.self) { id in
ContentView()
.environment(\.locale, .init(identifier: id))
}
}
}
Hızlı kullanıcı arayüzü dosyası için, yerelleştirme .strings dosyasından dize anahtarı eklemeniz yeterlidir
SwiftUI'yi içe aktar
struct ContentView: View {
var body: some View {
VStack {
Text("selectLanguage")
Text("languagesList")
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
.environment(\.locale, .init(identifier: "en"))
}
}
ve bu .strings dosyasından bir örnek
"selectLanguage" = "Select language";
"languagesList" = "Languages list";
sonuç burada
Uygulamanızı yerelleştirmek için ihtiyacınız olan:
SwiftUI'de Localazable'ı kullanmak için şu şekilde yapabilirsiniz:
dosyalarınızda LocalizedStringKey kullanmak için SwiftUI'yi içe aktarın
//MARK: - File where you enum your keys to your Localized file
enum ButtonName: LocalizedStringKey {
case submit
case cancel
}
//MARK: - Your Localized file where are your translation
"submit" = "Submit is pressed";
"cancel" = "Cancel";
//MARK: - In your code
let submitButtonName = ButtonName.submit.rawValue
let cancelButtonName = ButtonName.cancel.rawValue
VStack {
Text(submitButtonName)
Text(cancelButtonName)
}