構造体
LocalizedStringKey
文字列ファイルまたは文字列辞書ファイル内のエントリを検索するために使用されるキー。
宣言
@frozen struct LocalizedStringKey
概観
Text、Toggle、Picker などのいくつかの SwiftUI 型のイニシャライザは、文字列リテラルを提供すると、ローカライズされた文字列を暗黙的に検索します。イニシャライザの Text("Hello") を使用すると、SwiftUI はあなたに LocalizedStringKey を作成し、それを使用して Hello 文字列の位置を検索します。これは、LocalizedStringKey が ExpressibleByStringLiteral に準拠しているために機能します。
イニシャライザが LocalizedStringKey を受け取る型には、通常、StringProtocol に準拠するパラメータを受け入れて対応するイニシャライザがあります。String 変数をこれらのイニシャライザに渡すと、ローカリゼーションが回避され、これは通常、変数にユーザが提供した値が含まれている場合に適しています。
原則として、ローカリゼーションが必要な場合は文字列リテラル引数を使用し、そうでない場合は文字列変数引数を使用します。文字列変数の値をローカライズしたい case の場合は、文字列を使用して新しい LocalizedStringKey インスタンスを作成します。
以下の例は、ローカリゼーションの有無にかかわらず、Text インスタンスを作成する方法を示しています。Section に提供される title パラメータはリテラル文字列であるため、SwiftUI はそのための LocalizedStringKey を作成します。ただし、messageStore.today 配列内の文字列エントリは String 変数であるため、リスト内の Text ビューでは文字列値がそのまま使用されます。
List {
}
アプリが その Localizable.strings ファイルの以下の翻訳で日本語にローカライズされている場合:
この例を日本語で実行すると、以下のようなリストが生成され、セクションヘッダの "Today" がローカライズされますが、リスト項目はローカライズされません。
トピックス
リテラル値からキーを作成
与えられた文字列値からローカライズされた文字列キーを作成します。
与えられた文字列リテラルからローカライズされた文字列キーを作成します。
init(unicodeScalarLiteral:Self.ExtendedGraphemeClusterLiteralType)
与えられた値に初期化されたインスタンスを作成します。
ExtendedGraphemeClusterLiteralType が Self.UnicodeScalarLiteralType の場合に使用できます。
typealias UnicodeScalarLiteralType
Unicode スカラーリテラルを表す型。
init(extendedGraphemeClusterLiteral:Self.StringLiteralType)
与えられた値に初期化されたインスタンスを作成します。
ExtendedGraphemeClusterLiteralType が Self.StringLiteralType の場合に使用できます。
typealias ExtendedGraphemeClusterLiteralType
拡張書記素クラスターリテラルを表す型。
補間からキーを作成
init(stringInterpolation: LocalizedStringKey.StringInterpolation)
与えられた文字列補間からローカライズされた文字列キーを作成します。
ローカライズされた文字列キーの作成に使用するために、ビルド中に補間を使用して文字列リテラルの内容を表します。
@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@
10月22日
作成中
@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@