2017-10-23 1 views
0

ich swift 3.2 arbeiten Multi-lang App arbeitenLaden bestimmten Text fehlgeschlagen

für jede der lproj Dateien und LocalisedString, ich Schlüssel-Wert-Paar als erstellen:

"Benutzer E-Mail"; = "登入 電郵";

Es ist möglich, den Pfad von Bundle zu drucken, aber ich kann die lokalisierte Zeichenfolge stattdessen einfach nicht verwenden.

Containers/Bundle/Application/0C630DFA-2AB8-48AA-9BE2-3FD6524716C1/TaxIRD.app/zh-Hant.lproj 

Würden Sie bitte sagen. mir welchen Weg können wir die App-Sprache nach Benutzervorlieben ändern? Hier

ist mein Arbeits

extension String { 

    func localized(lang:String , key:String) ->String { 
     let path = Bundle.main.path(forResource: lang, ofType: "lproj") 
     print(path ?? "nil path") 
     let bundle = Bundle(path: path!) 
     //Bundle.main.lo 
     return NSLocalizedString(key, comment: "") 
    }... 

Viewcontroller

UserDefaults.standard.setValue(lcode, forKey: "lang") 
if lcode == "tw" { 
    lcode = "zh-Hant" 
}else if lcode == "cn" { 
    lcode = "zh-Hans" 
} 
+0

Ich würde empfehlen, [Localize-Swift] (https://github.com/marmelroy/Localize-Swift) dafür zu versuchen. – the4kman

+0

Ich habe pod install versucht, aber das Framework kann nicht geladen werden. https://github.com/marmelroy/Localize-Swift –

Antwort

1

Sie haben ein zusätzliches Semikolon; nach "User Email". Sicher, das ist nicht das Problem? Ändern Sie es in "User Email" = "登入電郵";

Verwandte Themen