🌍

String Catalogsが勝手に項目を増やした!消せない!

2023/09/20に公開

Xcode15からの新機能String Catalogを使ってみたところ少しハマったので世に公開する。

前提

Venture 13.5.2
Xcode 15.0
SwiftUIのコードで説明

ハマりパターン

Localizable.xcstringsファイルをプロジェクトに追加してある状態で、下のコードを実行するとLocalizable.xcstringsに自動で項目が追加される。(もちろんLocalizable.xcstringsに"A"が存在していないとき)

Text("A")

この理由で追加されたものは マイナスボタンで消せない

解決策(ソースコード)

Text(verbatim: "A")

のように書き換える。これは"A"をローカライズする処理を飛ばし、"A"をそのまま表示する。

解決策(Localizable.xcstrings)

で、Localizable.xcstringsファイルの方に項目が残っているので、Xcodeの右のエリアで手動に切り替えてマイナスボタンで削除する。

同様のコード

TextField("0", text: $input)

の場合も同じことになるが、verbatim: 引数を持たないので次のようにするとよかった。

TextField(String("0"), text: $input)

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

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

Discussion