コンテンツへスキップ

Xcode 15のString Catalogsが.stringsと.stringsdictを置き換える

Xcode 15が導入したString Catalogs。レガシーな.stringsファイルと.stringsdictファイルを置き換える、ローカライズ文字列管理のためのビジュアルエディタ。

これまでのローカライズワークフロー

.stringsファイルと.stringsdictファイルの操作は、Apple開発における粗い部分の一つでした。プレーンテキストのキーバリューファイルはミスしやすく、セミコロンの欠落、言語間のキーの不一致、翻訳の進捗を一目で確認する方法がないといった問題がありました。また、複数形ルールに使用される.stringsdictファイルはXMLベースのplistファイルで、手作業で作成するのが非常に難しいことで知られています。

String Catalogsがもたらすもの

Xcode 15は、String Catalogsと呼ばれる新しい.xcstringsファイル形式を導入します。これは.strings.stringsdictの両方を、専用のビジュアルエディタ付きの単一ファイルに置き換えます。

The String Catalog editor in Xcode 15 showing translations across multiple languages

主な改善点は大幅なものです:

ビジュアルエディタ – すべてのローカライズ可能な文字列が、各言語の列を持つテーブルで表示されます。ファイルを切り替えたり外部ツールを使用したりすることなく、翻訳をインラインで確認・編集できます。

翻訳進捗の追跡 – 各言語の完了率が表示されます。どの言語に注意が必要か、どの文字列がまだ未翻訳かを一目で確認できます。

自動文字列抽出 – XcodeがSwiftコードをスキャンし、ローカライズが必要な文字列を自動的に検出します。新しい文字列は手動の登録ステップなしでカタログに表示されます。

組み込みのマイグレーション – 既存の.stringsファイルと.stringsdictファイルからのマイグレーションパスがあります。既存のローカライズファイルを右クリックすると、Xcodeが新しい形式への変換を提案します。

実際の効果

サポートする言語が数個のプロジェクトであっても、これは生活の質を大幅に向上させる改善です。ビジュアルエディタだけで、フォーマットエラーのクラス全体を排除できます。自動抽出と組み合わせることで、忘れられた文字列が減り、プロジェクト全体のローカライズ状況がより明確になります。

Xcode 15で新規プロジェクトを始める場合、String Catalogsがデフォルトです。既存のプロジェクトについては、マイグレーションは簡単で、実行する価値があります。

参考になりましたか?BlueskyMastodonでフォローして、Swiftのヒントやインディー開発の最新情報をチェックしてください。