エラーなしでローカリゼーション xliff ファイルをエクスポートしました。ファイルをローカライズし、Xcode にインポートしてアプリを実行しました。すべてが良かった。
2 回目のローカリゼーションのために、ローカリゼーション xliff ファイルを再度エクスポートしました。多くのキーが重複していることがわかりましたが、もちろん翻訳されていません。なぜこれが起こったのですか?Xcodeのバグですか?それを回避する方法は?
役に立つかもしれない補足事項: テスト ターゲットがあります。
エラーなしでローカリゼーション xliff ファイルをエクスポートしました。ファイルをローカライズし、Xcode にインポートしてアプリを実行しました。すべてが良かった。
2 回目のローカリゼーションのために、ローカリゼーション xliff ファイルを再度エクスポートしました。多くのキーが重複していることがわかりましたが、もちろん翻訳されていません。なぜこれが起こったのですか?Xcodeのバグですか?それを回避する方法は?
役に立つかもしれない補足事項: テスト ターゲットがあります。
先日、この問題に気づきました。翻訳がローカリゼーションを区別できないことが原因だと思います。
NSLocalizedString(@"Blue", nil);
nil の使用は有効ですが、翻訳のコンテキストに関する情報は提供されません。文字列がより冗長で、その文字列が 1 回しか使用されない場合は、nil で問題ありません。上記の例では、コンテキストが複数の意味 (色、感情など) を持つ可能性があるため、ローカライズされたコードを記述するときは、それが複数回使用される場合は、コードにコメントを追加し、それが別のローカライズされたテキストと同じであることに注意してください。翻訳された文字列はマージする必要があります
例
2 つのローカライズされたアイテムを作成します
NSLocalizedString(@"Blue", @"Colour");
NSLocalizedString(@"Blue", @"Feeling");
2 つのローカライズされたアイテムを作成します
NSLocalizedString(@"Blue", nil);
NSLocalizedString(@"Blue", nil);
ローカライズされたアイテムを 1 つ作成します
NSLocalizedString(@"Blue", @"Colour");
NSLocalizedString(@"Blue", @"Colour");
予想どおり、Export XLIFF ファイルには、テスト ターゲットにもローカライズ文字列が含まれています。現在 Xcode 6.2 を使用していますが、このプロセスからテスト ターゲットを除外する方法はまだありません。
テキスト エディター (TextEdit など) を使用してファイルを開き、テスト ターゲットのすべてのローカリゼーション ノードを削除する必要がありました。