6

アプリケーションを翻訳しようとしていますが、プレースホルダーが半分になると翻訳が難しくなります。次のコードを見つける必要があります。

[textView1 insertText:[NSString stringWithFormat:@"%@ è il %i/%i/%i. Il giorno delle settimana è %@. La Festa è compresa nel calcolo. \n", nomeFesta, giornoFesta, meseFesta, annoFestaModificato, ggSett]];

私はファイルlocalizable.string(英語)を入れました:

"festaCompresa" = @"%@ is the %i/%i/%i. the day of the week is %@. The holidays is included in the calculation. \n";

次に、コードを編集しました。

[textView1 insertText:[NSString stringWithFormat:NSLocalizedString(@"festaCompresaW, @""), nomeFesta, giornoFesta, meseFesta, annoFestaModificato, ggSett]];

それは動作しません。

4

2 に答える 2

6

文字列ファイルに小さなエラーがあります。@文字列をNSString定数として含めています。ファイル形式では、文字列を引用符で囲んで使用しています。

"festaCompresa" = "%@ is the %i/%i/%i. the day of the week is %@. The holidays is included in the calculation. \n";

ところで:ローカリゼーション用のフォーマット文字列を作成するときは、各フォーマット仕様に引数の番号が含まれる位置フォーマットを使用する必要があるかもしれません。例えば:

"festaCompresa" = "%1$@ is the %2$i/%3$i/%4$i. the day of the week is %@. The holidays is included in the calculation. \n";

引数は提供された順序で含まれているため、これは上記の文字列では明らかに必要ありません。ただし、一部の言語では、順序を変える必要がある場合があり、これがその方法です。

于 2012-04-30T18:47:27.383 に答える
5

コードをコピーして貼り付けましたか?または、再入力しましたか?コピーして貼り付けた場合、問題が発生するためです。

[textView1 insertText:[NSString stringWithFormat:NSLocalizedString(@"festaCompresaW, @""), nomeFesta, giornoFesta, meseFesta, annoFestaModificato, ggSett]];

私はそれがすべきだと思います

[textView1 insertText:[NSString stringWithFormat:NSLocalizedString(@"festaCompresa", @""), nomeFesta, giornoFesta, meseFesta, annoFestaModificato, ggSett]];

つまり、基本的にはの"代わりにW

@また、Localizable.stringsでは引用符の前に配置しないため、次のようになります。

"festaCompresa" = @"%@ is the %i/%i/%i. the day of the week is %@. The holidays is included in the calculation. \n";

これである必要があります:

"festaCompresa" = "%@ is the %i/%i/%i. the day of the week is %@. The holidays is included in the calculation. \n";

それが役に立てば幸い

于 2012-04-30T18:54:34.733 に答える