Localizable.xcstrings 対象語句が出てこない時
SwiftUIのView以外に設定した文字列は出てきません、変数に宣言した場合も同様です。
対策①:LocalizedStringKey を使う(SwiftUI部)
|
1 2 |
@State var buttonTitle: LocalizedStringKey = "enable_button" Text(buttonTitle) |
対策②:String(localized:) を使う(ロジック側)
SwiftUI 以外・ロジック層ならこちら。
|
1 |
let title = String(localized: "enable_button") |
動的切り替え
|
1 2 |
let key = isOn ? "button_on" : "button_off" Text(String(localized: key)) |
対策③:enum でキーを管理(おすすめ)
定義
|
1 2 3 4 |
enum L10n { static let buttonOn = LocalizedStringKey("button_on") static let buttonOff = LocalizedStringKey("button_off") } |
使用
|
1 |
Text(isOn ? L10n.buttonOn : L10n.buttonOff) |
他
|
1 2 3 4 |
#if false Text("button_on") Text("button_off") #endif |
コメント