はじめに
iOSアプリを多言語対応する場合、言語別にLocalizable.strings
を作成して文言を切替可能にする方法が一般的です。
最初からLocalizable.strings
にアプリ上で使う文言を設定していればよいのですが、日本語専用のつもりで直接コード上の文字列リテラルに文言を書き込んで開発を進めていた場合が問題です。
後から多言語対応するにはコード上に散らばった文言を全て見つけ出してLocalizable.strings
に移行する必要があります。
この記事ではXCodeの正規表現検索機能を使って日本語文字列リテラルを検索する方法を紹介します。
環境
XCode 14.2
方法
以下のサンプルコードで検索にヒットする様子を確認してみましょう。
print(NSLocalizedString("Hello World", comment: "greetings")) // 英語なのでヒットしない
print("ひらがな") // ヒットする
print("カタカナ") // ヒットする
print("漢字") // ヒットする
print("あのイーハトーヴォのすきとおった風") // ヒットする
print("Hello ワールド") // 英語を一部含んでいてもヒットする
- XCodeのFind>Regular Expression を選択
- 入力欄に
".*[一-龥ぁ-んァ-ヶ]+.*"
を入力して決定