8
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

はじめに

本記事は 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" を渡すことで "ウホーイ" を取得できます。

Localizable.strings
"Uhooi" = "ウホーイ";

Viewのイニシャライザが LocalizedStringKey に対応していると、 String(localized:) などを使ってローカライズされた文字列を取得する必要がなく、そのままキーを渡せるので、記述がスッキリします。

例えば 前日の記事 で私が紹介した記述は、実はもう少しスッキリさせることができます。

FooView.swift
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日目の記事でした。
明日も私で何か書きます。

8
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?