はじめに
本記事は Swift Advent Calendar 2022 の2日目の記事です。
昨日も私で iOS 15.0+ではNSLocalizedStringよりString(localized:)を使おう(Swift) でした。
LocalizedStringKey
について簡単に説明します。
環境
- OS:macOS Ventura 13.0.1
- Xcode:14.1 (14B47b)
- Swift:5.7.1
「LocalizedStringKey」とは?
文字列ファイル内のエントリの検索に使うキーのことです。
以下の文字列ファイルがある場合、 LocalizedStringKey
に "Uhooi"
を渡すことで "ウホーイ"
を取得できます。
"Uhooi" = "ウホーイ";
Viewのイニシャライザが LocalizedStringKey
に対応していると、 String(localized:)
などを使ってローカライズされた文字列を取得する必要がなく、そのままキーを渡せるので、記述がスッキリします。
例えば 前日の記事 で私が紹介した記述は、実はもう少しスッキリさせることができます。
import SwiftUI
struct FooView: View {
var body: some View {
VStack {
- Text(String(localized: "Set \(Int(3) + 1)", bundle: .module))
+ Text("Set \(Int(3) + 1)", bundle: .module)
}
}
}
これは Text
のイニシャライザが String
のみでなく LocalizedStringKey
も受け付けているためです。
おわりに
LocalizedStringKey
の簡単な説明でした。
以上 Swift Advent Calendar 2022 の2日目の記事でした。
明日も私で何か書きます。