🌐
[SwiftUI] TextにImageが埋め込まれていてもlocalizeする
次のようなテキストがあるとします。
Text("The symbol \(Image(systemName: "globe")) represents the earth.")
これを日本語にlocalizeするには、次のように行います。変数展開の部分を丸々%@
で置き換えるだけです。
localizable.strings
"The symbol %@ represents the earth." = "%@という記号は地球を表しています。";
複数のImageが埋め込まれていても問題ありません。
Text("The symbol \(Image(systemName: "globe")) represents the earth and the symbol \(Image(systemName: "sun")) represents the sun.")
localizable.strings
"The symbol %@ represents the earth and the symbol %@ represents the sun." = "%1$@という記号は地球を表していて、%2$@という記号は太陽を表しています。";
かなり悩んだのですが、最終的には非常に簡単な解決法が見つかってよかったです。
Discussion