調べてる途中で必要なくなって中途半端な感じだけど備忘録的な。
システムの言語設定とかが UserDefaults
に渡されて、NSLocalizedString
とかはそれを見て返す言語を変えてるらしかった。
以下のように言語とかロケール系の設定を上書きすると、次回起動時から上書きした設定が使用される。
3つ上書きしてるけど、最低限どれを変えれば良いのかとかは調べてない。
userDefaults.synchronize()
した後に NSLocalizedString
読んでも上書き前のものが返ってきてた。
let userDefaults = UserDefaults.standard let identifier = "ja-JP" userDefaults.set([identifier], forKey: "AppleLanguages") userDefaults.set([identifier], forKey: "NSLanguages") userDefaults.set(identifier, forKey: "AppleLocale") userDefaults.synchronize()