私は多くの開発者がこのようにそれをしていることを知っています:彼らは英語で彼らのアプリを開発し始め、そしてNSLoclaizedString(@"Tap this to do that!", @"Telling what to do...")
単にの代わりに置き@"Tap this to do that!"
ます。
次に、genstrings
これらすべての文字列を抽出することにより、何らかの方法でLocalizable.stringsファイルを作成する実行を行います。厄介な部分:コードで使用される長いテキストが鍵になります。できます。ある日、コードにすばやくアクセスして英語の文字列を変更し、ローカリゼーションを忘れて、それがすべてのLocalizable.stringsファイルのキーとして機能するまで。
そのため、文字列と混同しない「実際の」キーを使用する傾向があります。簡単なテストのために、英語とフランス語にローカライズされたプロジェクトを作成しました。次に、シミュレータ言語をドイツ語に設定しました。なぜなら、ユーザーがのようなキーを見るとしたら、それはひどくひどいことになるからですTTTDT
。
そこで、英語とドイツ語だけを用意して、デモアプリを起動しました。そして、私が得たのは、EnglishLocalizable.stringsファイルからの英語のテキストでした。
結論: OS言語がアプリでカバーされていない場合、NSLocalizedStringは英語ファイルにフォールバックするようです。
質問:常にLocalizable.strings (English)
ファイルがあり、キーが適切にフォーマットされた値とともにファイル内にあると仮定します。NSLocalizedStringが失敗し、キーを直接表示する状況はありますか?