📙

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 SymbolsYES に変更します。

文字列を追加する

変数埋め込みなしの場合

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