汎用イニシャライザ


init(localized:options:table:bundle:locale:comment:
including:)


属性スコープを含む、アプリのバンドルからローカライズされた文字列を検索して、属性付き文字列を作成します。


iOS 15.0+ iPadOS 15.0+ macOS 12.0+ Mac Catalyst 15.0+

tvOS 15.0+ watchOS 8.0+ visionOS 1.0+ Xcode 13.0+

init<S>(
localized key: String.LocalizationValue,
table: String? = nil,
bundle: Bundle? = nil,
locale: Locale? = nil,
comment: StaticString? = nil
including scope: S.Type
) where S : AttributeScope





パラメータ


key

table が識別する表内の文字列のキー。


options

属性の処理に影響するオプション。


table

検索するバンドルの文字列の表。tablenil または空の文字列の場合、メソッドは Localizable.strings 内の表を使用しようとします。デフォルトは nil です。


bundle

文字列の検索に使用するバンドル。nil の場合、アプリはそのメインバンドルを検索します。デフォルトは nil です。


locale

取得すべきローカライズされた文字列のロケール。nil の場合、このイニシャライザは現在のロケールを使用します。デフォルトは nil です。


comment

文字列ファイル内のキーと値のペアの上に配置するコメント。このパラメータは、ローカライズされた文字列のユーザへの提示に関するコンテキストを翻訳者に提供します。


scope

属性付き文字列に関連した属性スコープ。



議論


ローカライズ可能な属性付き文字列を作成するには、文字列ファイルでマークダウン構文を使用します。以下の例は、スペイン語のローカライズからの文字列を示しています。


  1. "_Please visit our [website](https://www.example.com)._" = "_Visita nuestro [sitio web](https://www.example.com)._";


以下のように、最初のパラメータとして localized を取るイニシャライザの 1 つを使用して、この文字列をロードします。


  1. let visitString = AttributedString(localized: "_Please visit our [website](https://www.example.com)._")


結果として得られる属性付き文字列には、文字列全体に emphasized (強調された) 提示意志を適用するための inlinePresentationIntent 属性が含まれています。また、link 属性をテキスト sitio Web に適用します。SwiftUI や UIKit などのユーザインターフェイスフレームワークは、ユーザにテキストを提示するときにこれらの属性を使用できます。



自動文法一致の適用


ローカライズされた文字列をロードするときに自動文法一致機能を適用するには、Apple の Markdown 拡張構文: ^[text to inflect](inflect: true) を使用します。以下の例は、食品注文アプリのスペイン語ローカライズを含む書式文字列を示しています。


  1. "Add ^[%lld %@ %@](inflect: true) to your order" = "Añadir ^[%1$lld %3$@ %2$@](inflect: true) a tu pedido";


この文字列を以下のようにロードしてローカライズします。


  1. let orderString = AttributedString(
  2. localized: "Add ^[\(quantity) \(foodSizeSelection.localizedName) \(food.localizedName)](inflect: true) to your order")
  3. // "Añadir 2 ensaladas grandes a tu pedido."


文字列がロードされると、自動文法一致機能により、foodSizeSelectionfood のテキストが文の数と性別に一致するように調整されます。






以下も見よ


ローカライズされた属性付き文字列の作成


init(localized: String.LocalizationValue, options: AttributedString.FormattingOptions, table: String?, bundle: Bundle?, locale: Locale?, comment: StaticString?)

アプリのバンドルからローカライズされた文字列を検索して、属性付き文字列を作成します。


init<S>(localized: String.LocalizationValue, options: AttributedString.FormattingOptions, table: String?, bundle: Bundle?, locale: Locale?, comment: StaticString?, including: KeyPath<AttributeScopes, S.Type>)

キーパスが識別する属性スコープを含む、アプリのバンドルからローカライズされた文字列を検索することにより、属性付き文字列を作成します。


struct String.LocalizationValue


struct AttributedString.FormattingOptions

属性の処理に影響するオプション。


init(localized: LocalizedStringResource)

ローカライズされた文字列リソースから、ローカライズされた属性付き文字列を作成します。


init<S>(localized: LocalizedStringResource, including: S.Type)

ローカライズされた文字列リソースから、属性スコープを含むローカライズされた属性付き文字列を作成します。


init<S>(localized: LocalizedStringResource, including: KeyPath<AttributeScopes, S.Type>)

ローカライズされた文字列リソースから、キーパスが識別する属性スコープを含む、ローカライズされた属性付き文字列を作成します。


struct LocalizedStringResource

別のプロセスからアクセスできる、ローカライズ可能な文字列への参照。















トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ