SwiftUI Text のローカライズ
SwiftUI の Text は、ローカライズを強力にサポートしています。文字列リテラルを渡すと、自動的にローカライズキーとして扱われます。
自動ローカライズ
Text に文字列リテラルを渡すと、Localizable.strings ファイルから対応する翻訳を探します。
Text("Hello") // "Hello" をキーとして翻訳を検索Localizable.strings(日本語):
"Hello" = "こんにちは";LocalizedStringKey
明示的に LocalizedStringKey を使うこともできます。
let key: LocalizedStringKey = "greeting"
Text(key)文字列補間
LocalizedStringKey は文字列補間もサポートしています。
let name = "田中"
Text("Hello, \(name)!")Localizable.strings:
"Hello, %@!" = "こんにちは、%@さん!";verbatim でローカライズを無効化
ローカライズさせたくない動的な文字列は verbatim: を使います。
let userInput = "何かのテキスト"
Text(verbatim: userInput)String(localized:) を使う方法
iOS 15 以降では String(localized:) でローカライズした文字列を取得できます。
let message = String(localized: "welcome_message")テーブルを指定する場合:
let message = String(localized: "greeting", table: "Onboarding")コメントの追加
翻訳者向けのコメントを追加できます。
Text("Order", comment: "Button title for placing an order")let text = String(
localized: "Order",
comment: "Button title for placing an order"
)ローカライズを意識した実装をしておくと、多言語対応がスムーズに進みます。












