XCode 15.0 日本語化計画:New Human Interface Guideline
ローカライズされた文字列内の引数との文法上の一致を表す属性。
この書式設定属性は、語形変化したテキストの一部ではない住所または語句に基づいてテキストを語形変化させる必要がある場合に使用します。
性別に依存する言語では、文内の単語やフレーズが文法的に一致している必要があります。たとえば、以下の文をスペイン語に翻訳する必要があるとします。「Anne is busy(アンは忙しいです。)」
問題は、システムがAnne (アン)という名前の人に望ましい呼び名を認識していないことです。さらに、ほとんどの場合、ローカリゼーションファイルには翻訳された単語の男性形のみが含まれています。これは、システムがアンの女性名に合わせて、「busy(忙しい」などの他の単語を文中で正しく活用できないことを意味します。したがって、結果の翻訳は次のようになります: Anne está occupado. Ocupado は男性的ですが、これは文の正しい性別一致ではありません。
ここで、agreeWithConcept 属性が役に立ちます。一致を求める単語 ocupado を、InflectionConcept.termsOfAddress(_:) 型の変形概念を指す acceptWithConcept 属性で包み込むことにより、システムは男性単語 ocupado を feminine 用語の呼び名 Anne と一致させます。翻訳された単語の男性形と女性形をローカリゼーションファイルに含める必要はありません。システムが条件に一致します。
以下の手順により、翻訳時に適切な性別の一致が得られます。
文法上の一致のためにローカライズされたフレーズを使用することは、呼び名の語句の代わりに InflectionConcept.localizedPhrase(_:) を語形変化することを除いて、呼び名の語句を使用することと同じです。
たとえば、食品の注文に関する以下の文をスペイン語に翻訳する必要があるとします。「Last time you ordered the small(前回は小を注文しました。)」
英語では、small という単語が単独で現れることがあります。しかし、スペイン語では、翻訳された単語は、それが説明している男性名詞または女性名詞と一致する必要があり、この場合(ensalada) は文の一部ではありません。
一致を得るには、small を意味する男性語 pequeño を agreeWithConcept 属性で包み込みます。次に、関連する食品項目と一致する InflectionConcept.localizedPhrase(_:) を指すように設定します。
以下の手順により、翻訳時に適切な性別の一致が得られます。
typealias AttributeScopes.FoundationAttributes.AgreementConceptAttribute.Value
static var inheritedByAddedText: Bool
static var invalidationConditions: Set<AttributedString.AttributeInvalidationCondition>?
static let markdownName: String
static var markdownName: String
static var runBoundaries: AttributedString.AttributeRunBoundaries?
static func decode(from: Decoder) -> Int
static func decodeMarkdown(from: Decoder) -> Int
static func encode(Int, to: Encoder)
MarkdownDecodableAttributedStringKey
let inflect: AttributeScopes.FoundationAttributes.InflectionRuleAttribute
語形変化ルール属性にアクセスするためのスコープ。
enum AttributeScopes.FoundationAttributes.InflectionRuleAttribute
語形変化ルールを属性として使用するための型。
let agreementArgument: AttributeScopes.FoundationAttributes.AgreementArgumentAttribute
一致引数属性にアクセスするためのスコープ。
enum AttributeScopes.FoundationAttributes.AgreementArgumentAttribute
ローカライズされた文字列内の引数との文法上の一致を表す属性。
let agreementConcept: AttributeScopes.FoundationAttributes.AgreementConceptAttribute
契約概念属性にアクセスするためのスコープ。
let morphology: AttributeScopes.FoundationAttributes.MorphologyAttribute
形態属性にアクセスするためのスコープ。
enum AttributeScopes.FoundationAttributes.MorphologyAttribute
形態を属性として使用するための型。
let referentConcept: AttributeScopes.FoundationAttributes.ReferentConceptAttribute
参照先の概念属性にアクセスするためのスコープ。
enum AttributeScopes.FoundationAttributes.ReferentConceptAttribute
ローカライズされたテキスト内で代名詞を置換するための文法上の一致概念を指定する属性。
let inflectionAlternative: AttributeScopes.FoundationAttributes.InflectionAlternativeAttribute
語形変化の代替属性にアクセスするためのスコープ。
enum AttributeScopes.FoundationAttributes.InflectionAlternativeAttribute
システムが文法上の一致を達成できない場合に、代替の語形変化を提供する属性。