私のプロジェクトでは「ローカリゼーション ネイティブ開発地域」が英語に設定されているため、ベース ファイルには私の英語の単語が含まれていると思います。
更新 - 私の質問を明確にするために:
私のプロジェクトでは「ローカリゼーション ネイティブ開発地域」が英語に設定されているため、ベース ファイルには私の英語の単語が含まれていると思います。
更新 - 私の質問を明確にするために:
これが正しいかどうかは完全にはわかりませんが、あなたの質問 TTBOMK に答えようと思います。
コードで fromを使用しているとNSLocalizedString(key, comment)
します。最初の引数が実際には、翻訳された (または翻訳される) 文字列自体ではなく、文字列のキーであることがはっきりとわかります。したがって、「コードを書く」とき、実際には基本言語で文字列を書くことはありません。コードに文字列プレースホルダーを追加しているかのように考える必要があります。
後で、Localizable.strings
サポートしたい各言語のファイルをkey = value;
. Localizable.strings
UI を少なくとも 1 つの人間が読める言語で表示するには、プレースホルダー キーごとに適切な文字列値を含むファイルを少なくとも 1 つ用意する必要があります。
例:コードに要素が含まれている場合、要素を含むファイルをNSLocalizedString(@“ConfirmationButtonTitle", @“Yada yada”)
持つことは完全に理にかなっています。ファイルを作成しない場合、またはキーを含むファイルがない場合、ボタンのタイトルは に戻ります。これはプレースホルダー キーの名前であるためです。Localizable.strings
”ConfirmationButtonTitle” = “Tap here to confirm”;
Localizable.strings
Localizable.strings
ConfirmationButtonTitle
ConfirmationButtonTitle
そうは言っても、ほとんどの人は、さまざまな理由から、キーに文字列値とまったく同じ名前を付けることを好みます。これは間違いなく便利であり、非常に一般的な慣行ですが、人々の心の中で対立を引き起こす可能性があります.
したがって、代わりに前のNSLocalizedString
例のようなものを作成する場合、デフォルト/ベースファイルにはおそらく のような要素が含まれます。NSLocalizedString(@“Tap here to confirm", @“Yada yada”)
Localizable.strings
“Tap here to confirm” = “Tap here to confirm”;
ここで起こっていることは、自分自身を繰り返しているということではなく、ベース言語の文字列値とまったく同じようにキーに名前を付けているということです。それだけです。
編集
基本言語の概念は常にありますが、私が理解しているように、Xcode 5 ではこれがさらに強調されています。それは良いことです。Localizable.strings
ベース言語が英語の場合、英語用のファイルを用意する必要はありません。