2009-04-01 22 views
1

ユーザーの優先言語のローカライズされた文字列が見つからない場合、英語(en.lproj/Localizable.strings)のローカライズされた文字列をデフォルト値として取得しようとしています。特定の言語のローカライズされた文字列を取得する

私は、このメソッドにそのデフォルト値を渡したい:

[[NSBundle mainBundle] localizedStringForKey:key value:defaultValue table:nil] 

しかし、私はその値を取得する簡単な方法を発見していません。 文字列ファイルから辞書を作成できますが、もっと便利な方法があるのでしょうか?

答えて

1

私はココアが自動的にフォールバックとして英語の文字列を使用すると思います。

1

英語は開発領域(言語)ですか?その場合、デフォルトでは、ユーザーの優先言語に翻訳されていないローカライズ可能な文字列はすべて英語にフォールバックされます。これは、アプリケーションplistのCFBundleDevelopmentRegionキーによって管理されています。 official documentationから、

CFBundleDevelopmentRegion

CFBundleDevelopmentRegion(文字列 - のiOS、Mac OS Xの)バンドルのネイティブ領域を特定します。このキーには、通常バンドルを書いた人の母国語に対応する文字列値が含まれています。リソースがユーザーの優先地域または言語のために見つからない場合、この値で指定された言語がデフォルト言語として使用されます。

このキーは、Xcodeのテンプレートによって作成されたInfo.plistファイルに自動的に追加されます。その「友好的」表現はローカリゼーションのネイティブ開発領域です。

関連する問題