🌍
String Catalogsが勝手に項目を増やした!消せない!
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のその他の記事です。
Discussion