🌐

モダンなxcstringsでも、分割して画面毎に文言ファイルを持つことが可能

2024/01/31に公開

前提

ローカライズ文言のファイル(いわゆるLocalizable.stringsなど)が大きくなった。どうしましょう。分割しましょう。

以前のやり方

Localizable.stringsを

MenuLocalizable.strings
Content1Localizable.strings
Content2Localizable.strings

のように分割し

NSLocalizedString("Warning", tableName: "MenuLocalizable", comment: "")

String(localized: "Warning", table: "MenuLocalizable")

のようにアクセスする。ちなみにファイルの名前にLocalizableが入ってなくても可。

で、xcstringsで出来るの?

出来ます。同じように

NSLocalizedString("Warning", tableName: "MenuLocalizable", comment: "")

String(localized: "Warning", table: "MenuLocalizable")

と指定して、

MenuLocalizable.xcstringsファイルを持てば出来ます。

これはString Catalogsというモダンな方法です。String Catalogsでは、文言作成忘れ防止機能があります。これも機能しています。ソースコード上にtableNameとしてファイル名が書かれているので、ちゃんと対象のファイル内に忘れている項目が自動で作成されます。

String Catalogsのその他の記事です。

https://zenn.dev/samekard_dev/articles/436b1adb3f7890


複数、分割、指定、個別、ローカライズ、localizable.strings、iOS、String Catalogs

Discussion