🔠

WWDC25 『Code Along:Xcodeによるローカライズの詳細』の視聴メモ

に公開

アシスタントエディタで利用箇所を確認する

  • アシスタントエディタを起動するとString Catalogの横でコードが表示される

コメントを自動生成する

  • [Xcode] - [Settings] - [Editing] - [Automatically generate string catalog comments]をオンにするとコメントが自動生成される

ターゲットのリソースを含むバンドルから参照する

  • #bundleマクロを使用すると現在のターゲットのリソースを含むバンドルを参照できる
  • bundleパラメータを含めないとデフォルトで.mainを利用する
// Localized String in the main app:
Text("My Collections", 
comment: "Section title above user-created collections.")

// Localized String in a Swift Package or Framework
Text("My Collections", 
bundle: #bundle, 
comment: "Section title above user-created collections.")

String Catalogをグループ化する

  • 別ファイルを作成してグループ化できる
  • グループを指定するにはtableNameを利用する
    • "Discover"を指定するとDiscover.xcstringsを利用する
  • tableNameパラメータを含めないとデフォルトでLocalizableテーブルを利用する
// Localized String in the main app:
Text("My Collections",
tableName: "Discover",
comment: "Section title above user-created collections.")

// Localized String in a Swift Package or Framework
Text("My Collections",
tableName: "Discover",
bundle: #bundle, 
comment: "Section title above user-created collections.")

文字列のシンボルが使えるようになった

  • 既存のプロジェクトで使用するには、ビルド設定Generate String Catalog Symbolsをオンにする
  • String Catalogに手動で追加した文字列のシンボルが自動的に生成される
  • 属性インスペクタで文字列をコードで使用する方法を確認できる

Catalog Symbolsの使い方

  • 以下の記事がわかりやすい 🙇🏻‍♂️

https://zenn.dev/shingohry/articles/f5dc171d1902f0

ワークフローの選び方

コードからの抽出

  • まず文字列抽出を使用することをお勧めする
  • UIを開発する場所で文字列を記述するため、コードをよりすばやく読んで理解できる
  • Xcodeのコメント生成機能を活用して、入力の手間を省きつつ翻訳者に有意義なコンテキストを提供できる

タイプセーフなAPIによる参照

  • プロジェクトが大きくなるにつれて、文字列をより詳細に整理する必要が生じたら、生成されたシンボルを使用することをお勧めする
  • キーとその値を分離できるため、コードを変更することなくテキストを反復処理できる
  • Xcodeの自動補完機能により、すべてのテーブルの文字列を簡単に参照できる
  • 生成されたシンボルはフレームワークとパッケージで定型コードの回避に役立つ

リファクタリング機能

  • Stryng Catalogの文字列を選択して、コンテキストメニューから[Refactor]>[Convert Strings to Symbols]を選択する

参考資料

https://developer.apple.com/jp/videos/play/wwdc2025/225

Discussion