構造体


LocalizedStringKey


文字列ファイルまたは文字列辞書ファイル内のエントリを検索するために使用されるキー。





宣言


@frozen struct LocalizedStringKey



概観


TextTogglePicker などのいくつかの SwiftUI 型のイニシャライザは、文字列リテラルを提供すると、ローカライズされた文字列を暗黙的に検索します。イニシャライザの Text("Hello") を使用すると、SwiftUI はあなたに LocalizedStringKey を作成し、それを使用して Hello 文字列の位置を検索します。これは、LocalizedStringKeyExpressibleByStringLiteral に準拠しているために機能します。


イニシャライザが LocalizedStringKey を受け取る型には、通常、StringProtocol に準拠するパラメータを受け入れて対応するイニシャライザがあります。String 変数をこれらのイニシャライザに渡すと、ローカリゼーションが回避され、これは通常、変数にユーザが提供した値が含まれている場合に適しています。


原則として、ローカリゼーションが必要な場合は文字列リテラル引数を使用し、そうでない場合は文字列変数引数を使用します。文字列変数の値をローカライズしたい case の場合は、文字列を使用して新しい LocalizedStringKey インスタンスを作成します。


以下の例は、ローカリゼーションの有無にかかわらず、Text インスタンスを作成する方法を示しています。Section に提供される title パラメータはリテラル文字列であるため、SwiftUI はそのための LocalizedStringKey を作成します。ただし、messageStore.today 配列内の文字列エントリは String 変数であるため、リスト内の Text ビューでは文字列値がそのまま使用されます。


List {

Section(header: Text("Today")) {

ForEach(messageStore.today) { message in

Text(message.title)

}

}

}


アプリが その Localizable.strings ファイルの以下の翻訳で日本語にローカライズされている場合:

"Today" = "今日";

この例を日本語で実行すると、以下のようなリストが生成され、セクションヘッダの "Today" がローカライズされますが、リスト項目はローカライズされません。




トピックス




リテラル値からキーを作成




補間からキーを作成






@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@
10月22日
作成中

@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@



サポートする型




型メソッド


関連




以下も見よ


























目次
Xcode の新機能

  • 利用可能
  • iOS 13.0+
    iPadOS 13.0+
    macOS 10.15+
    Mac Catalyst 13.0+
    tvOS 13.0+
    watchOS 6.0+

    フレームワーク

    SwiftUI


    このページには

  • 宣言
  • 概観
  • トピックス
  • 関連
  • 以下も見よ












  • トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ