iOS ローカライズ
iOSローカライズのファイルQA
iOSローカライズでは、Localizable.stringsやString Catalogの訳文に加え、キー、ロケール、書式指定子がアプリの期待どおり維持されているか確認します。
対応形式:JSON、YAML、XLIFF、Android XML、Apple .strings/.xcstrings、Java .properties
例
Localizable.strings
/* Source */ "welcome.user" = "Welcome, %@"; /* Japanese */ "welcome.user" = "ようこそ、%d";
検出したい問題
プレースホルダー: %@ → %d 欠落キー: settings.title 未翻訳候補: Delete account
.stringsと.xcstringsの違い
.stringsはキーと値の組をロケール別ファイルで管理します。.xcstrings(String Catalog)はソース言語と複数ロケール、翻訳状態、バリエーションを一つのカタログに保持できます。形式は違っても、アプリが参照するキーと実行時トークンを壊さないことが重要です。
LocaleQAでは.strings同士を比較でき、.xcstringsはカタログ内のソースと対象ロケールを指定して確認できます。
iOSで確認したいトークン
%@、%d、%ld、位置指定の%1$@などは、値の型や順序に関係します。訳文で削除、追加、型変更が起きると、正しい値が表示されない可能性があります。Swiftの補間ではなく、ローカライズリソース内の書式指定子として原文と対応させます。
- %@と数値指定子
- 位置指定子
- 改行エスケープ
- 引用符とセミコロン
- String Catalogのロケール
- 未翻訳の値
Xcodeへ戻す前に比較する
翻訳納品ファイルをXcodeへ取り込む前に、原文との差分を確認します。カタログやファイルが構文上読み込めても、キーの欠落やトークン差分は別に残るためです。
構造チェック後にシミュレータと実機でレイアウト、複数形、文脈を確認すると、ファイル問題と画面問題を分けて追跡できます。