Localizable.strings → .xcstrings 変換ツール

Localizable.strings ファイル(1 言語につき 1 つ)をドロップすると、ダウンロードできる 1 つの .xcstrings String Catalog にまとめます。無料・登録不要で、ファイルがブラウザの外に出ることはありません。

.strings ファイルを変換する

またはファイルの内容を貼り付け

変換はブラウザ内で行われ、ファイルはアップロードされません。

Xcode に戻らずにカタログを編集する

LocalePilot は .xcstrings ファイルを開き、プレースホルダー(%@、%1$@、%d)をチェックし、必要ならローカル AI で翻訳し、Xcode と同じ書式でファイルを書き戻すデスクトップアプリです。変更のないカタログはバイト単位で同一のまま出力されます。macOS 版を最終調整中です。メールアドレスを登録すると、リリース時にお知らせします。

変換ツールがすること

  • .strings ファイルを読み込みます(UTF-8 または UTF-16、/* … */ と // のコメント、\n、\"、\U00e9 のエスケープに対応)。
  • 1 つのテーブルの全言語を 1 つのカタログ(Localizable.xcstrings、InfoPlist.xcstrings など)にまとめます。キーごとに 1 エントリで、各言語の翻訳は translated 状態になります。テーブル同士が混ざることはありません。
  • キーの上にあるコメントを、エントリのコメントとして使います。
  • ある言語で不足しているキー、2 回定義されたキー、読み取れない行を報告します。

ファイルは Xcode と同じ書式(スペース 2 つのインデント、各コロンの前にスペース)で書き出されるため、Git の差分は読みやすいままです。

Localizable.strings を xcstrings に変換する手順

  1. 各 xx.lproj フォルダから Localizable.strings ファイルを集めます。
  2. プロジェクトフォルダをドロップするか、ファイルを 1 つずつドロップし、各ファイルの言語を確認します。
  3. ソース言語を選び、Localizable.xcstrings をダウンロードして Xcode プロジェクトに追加します。
  4. ビルドしてから差分を確認します。Stale と表示されたキー、コードから抽出された新しいキー、書式指定子についてはString Catalog への移行ガイドで解説しています。

変換ツールがしないこと

.stringsdict ファイルは読み込みません。複数形とデバイス別バリエーションは Xcode かカタログエディタで扱います。コードもスキャンしないため、Xcode が SwiftUI のリテラルから抽出する文字列は追加されません。プロジェクト全体なら、Xcode の Migrate to String Catalog コマンドが基本です。このツールは単体のファイル、翻訳者からの書き出し、ちょっとしたテスト向けです。

よくある質問

.strings ファイルはサーバーにアップロードされますか?

いいえ。ファイルはローカルで読み込まれ、カタログはページ内で組み立てられます。ダウンロードもブラウザから直接行われ、サーバーとのやり取りはありません。

各ファイルの言語はどう判定していますか?

フォルダをドロップした場合は xx.lproj フォルダ名から、それ以外はファイル名(Localizable_ja.strings)から読み取ります。判定できない場合は、カタログを生成する前に自分で入力します。

Xcode の移行機能を使えばいいのでは?

プロジェクト全体ならそれを使ってください。.stringsdict も扱え、コードも把握しています。この変換ツールは、翻訳者から届いたファイルやテストなど、プロジェクトを開かずに単体のファイルを扱うためのものです。

.stringsdict の複数形は変換されますか?

いいえ、読み込むのは .strings ファイルだけです。複数形は Xcode でカタログの複数形バリエーションとして作り直します。

.strings ファイルが UTF-16 ですが、問題ありますか?

問題ありません。Xcode が生成するファイルの UTF-16 エンコーディングは、UTF-8 と同様に自動で検出されます。

生成されたカタログは有効ですか?

String Catalog 形式(バージョン 1.0)の JSON です。Xcode の xcstringstool でコンパイルできますが、コミットする前に Xcode で開いて差分を確認してください。

LocalePilot との違いは?

このツールはファイルを一度変換するだけです。LocalePilot は macOS 版を最終調整中のデスクトップアプリで、.xcstrings を編集し、プレースホルダーをチェックし、AI で翻訳し、バックアップ付きで書き出します。

リリース時にお知らせを受け取る

LocalePilot は最終調整中です。メールアドレスを登録すると、リリース時にお知らせします。

  • macOS 12 以降 · Ollama または LM Studio は任意
  • アプリの表示言語は英語、フランス語、スペイン語、イタリア語、ポルトガル語です。