4

iPhone での現在のローカリゼーションに関係なく、特定のキーのローカライズされた文字列を取得できるようにしたいアプリがあります。

en.lproj ローカライズされた文字列ファイルに次のものがあります

"黒" = "黒";

私が持っている es.lproj ローカライズされた文字列ファイルで

"黒人" = "黒人";

だから私がしたいのは、私の電話が米国にあるときにスペイン語の文字列を取得し、それに応じて設定することです

私は次のコードを使用しています:

let bpath:String = NSBundle.mainBundle().pathForResource("es", ofType: "lproj")! as String
let bundle = NSBundle(path: bpath as String)
let thisWord="Black"
let ourWord=NSLocalizedString(thisWord, bundle: bundle!, comment: "")

ourWord の値に「Negro」が表示されることを期待していますが、常に「Black」が表示されます。

明らかな何かが欠けていますか?

4

2 に答える 2

1

ローカリゼーション設定は、場所ではなく、携帯電話で設定した設定に基づいて適用されます。お使いの電話がスペイン語のアプリケーション言語を表示するように設定されている場合、適切な文字列が表示されます。これをテストできるようにアプリケーション言語設定を構成するには、スキームを編集する必要があります。

Xcode 7.1+ では、[製品] > [スキーム] > [スキームの編集] に移動します。

次に、アプリケーションの言語および/または地域を変更して、米国で英語以外の地域または言語用に構成された iPhone を持っているユーザーに表示される内容をシミュレートします。

(スペイン語に切り替えてから、デバイスでアプリを再度デバッグして、更新されたローカライズされた文字列を確認します)

1

于 2015-12-23T23:12:38.233 に答える