2016-10-21 7 views
-1

実行時にNSLocalizedStringで取得するlangを変更しようとしています。実行時にアプリケーション言語を変更する

私は試してみるこの質問が既に尋ねられて、私はスウィフト3.

のための答えを見つけていないことを知っている:

UserDefaults.standard.removeObject(forKey: "AppleLanguages") 
UserDefaults.standard.set("en", forKey: "AppleLanguages") 
UserDefaults.standard.synchronize() 

と:

let language = "en" 
let path = Bundle.main.path(forResource: language, ofType: "lproj") 
let bundle = Bundle(path: path!) 
let string = bundle?.localizedString(forKey: "AppleLanguages", value: language, table: nil) 

をが、何も動作しません....

ありがとうございました!

答えて

2

最後に、Githubのカスタムローカライザクラスを使用しました。このクラスを使用すると、アプリのどこからでも言語を切り替えたり、アプリをさらに起動することができます。

notification.name == kNotificationLanguageChanged 

へ:

notification.name.rawValue == kNotificationLanguageChanged 

https://github.com/micazeve/iOS-CustomLocalisator

それは、迅速2.2で書かれていますが、Xcodeのは自動的スウィフト3にコードを更新されてちょうどデモ中の場所にで変更しなければなりませんでした

関連する問題