0

私の GUI には同じ文字列が使用されている場所がいくつかありますが、翻訳者やテスターが簡単に参照できるようにするため、また、文字列が別の場所で変更される可能性を考慮して、次のようなことをしたいと考えています。ローカリゼーション ファイルで次のように記述します。

"SHARED_DIALOG_TEXT" = "Shared in several places";
"DIALOG_A" = "SHARED_DIALOG_TEXT";
"DIALOG_B" = "SHARED_DIALOG_TEXT";
"DIALOG_C" = "SHARED_DIALOG_TEXT";

明らかにこれはうまくいかず、私がやりたいことを説明する目的で使用しています。以前のリソースを参照するリソースは可能ですか?

4

2 に答える 2

0

あなたのために働くことができるこれを行う方法があります。100% 純粋なリソース ベースではありませんが、目的に最も近いものです。

ローカリゼーション マクロを使用しNSLocalizedStringFromTable()ます。これには、次の 3 つのパラメーターが必要です。

  1. ローカライズする文字列
  2. 単なるファイル名であるテーブル名
  3. のように、コメントNSLocalizedString()

テーブル名を使用すると、共有文字列用に別の文字列ファイルを作成したり、後で変更するために別の文字列ファイルを作成したりできます。たとえばNSLocalizedStringFromTable(@"string", @"SharedStrings", @"comment");、文字列をファイルに入れると、SharedStrings.stringsそれが使用されます。

その後、後で翻訳を上書きする場合は、必要に応じて上書き用に別の「テーブル」ファイルを使用してください。NSLocalizedStringFromTable(@"string", @"NewOverride", @"comment");

あなたのプロジェクトを頑張ってください!

于 2013-05-30T19:10:41.603 に答える
0

次のようにできます。

"SHARED_DIALOG_TEXT" = "Shared in several places";
"DIALOG_A" = "%@";
"DIALOG_B" = "%@";
"DIALOG_C" = "%@";

NSString *string = [NSString stringWithFormat:NSLocalizedString(@"DIALOG_C"), NSLocalizedString(@"SHARED_DIALOG_TEXT")];
于 2013-05-30T19:02:10.147 に答える