Xcode 26の新機能「Generate String Catalog Symbols」を使う
はじめに
本記事ではXcode 26の新機能「Generate String Catalog Symbols」の使用方法を解説します。
Generate String Catalog Symbols
String Catalogに手動で追加した文字列からシンボルを自動生成する機能です。コード補完が効くようになり、実装側からの文字列参照をタイプセーフにできます。

Code Along:Xcodeによるローカライズの詳細より引用
Asset Catalog内の画像/色からシンボルを生成できる機能は以前からありましたが、ローカライズ文字列に関しても同様のことをできるようになりました。
検証環境
- Xcode 26.0.1
参考
手動追加文字列からシンボルが自動生成されるようにする
自動生成を有効にする
プロジェクト設定(またはターゲットの設定)の Generate String Catalog Symbols を YES に変更します。

文字列を追加する
変数埋め込みなしの場合
String Catalogを開き、上部の + をクリックします。行が増えるのでkey/valueを入力します。コード側からの使用例は、右側の属性インスペクタで確認できます。

コード側からの使用例
// Symbol usage in SwiftUI
Text(.title)
// Symbol usage in Foundation
let title = String(localized: .title)
変数埋め込みありの場合
String Catalogを開き、変数埋め込みなしの場合と同様に行を追加します。変数を埋め込む部分で % を入力すると型の選択肢が出てくるので、いずれかを選びます。ここでは Int を選びました。

変数名を適切なものに変更します。


変数埋め込みありの場合でも、コード側からの使用例は属性インスペクタで確認できます。

コード側からの使用例
// Symbol usage in SwiftUI
Text(.subtitle(count: Int))
// Symbol usage in Foundation
let subtitle = String(localized: .subtitle(count: Int))
コードから抽出された文字列をシンボルに変換する
コードから抽出された文字列をシンボルに変換することもできます。
シンボルに変換するには、String Catalog上の対象文字列を右クリックし、 Refactor > Convert Strings to Symbols をクリックします。

変更内容の確認が出るので、問題なければ、Convert をクリックします。

シンボルに変換できました。

コード側も変更されました。
| before | after |
|---|---|
![]() |
![]() |


Discussion