XCode 15.0 日本語化計画:New Human Interface Guideline
ローカライズされた文字列内の引数との文法上の一致を表す属性。
多くの言語では、それらの文中で文法的一致が必要です。たとえば、スペイン語では、形容詞と動詞は、文中で参照する主語の性別と一致する必要があります。たとえば、次の文をスペイン語に翻訳する必要があるとします。「Your small salad is ready(小さなサラダができました。)」 正しい翻訳は「Tu ensalada pequeña está lista. 」です。
課題は、ほとんどの場合、ローカリゼーションファイルには翻訳された単語の男性形のみが含まれていることです。したがって、この文では、small で ready という男性形の単語の pequeño と listo が、文の女性主語 (ensalada) と一致するように単語変形して pequeña と lista になる必要があります。(注 アメリカでは、スペイン語が第一外国語として教えられており、すなわち殆どのアメリカ人にとって、スペイン語は我々日本人にとっての英語と同じような意味を持つ。)
inflect 属性を使用して単語 ensalada と pequeño を一緒に活用することで、文の最初の部分を文法的に一致させることができます。ensalada は文の女性主語であるため、男性形の pequeño は女性形の pequeña に変化します。
ただし、文の 2 番目の部分には、agreeWithArgument 属性が必要です。listo は文の終わりにありますが、先頭にある主語の ensalada で活用する必要があります。listo を acceptWithArgument 属性で包み込み、女性形の単語 ensalada を指すようにすると、男性形 listo が女性形 lista に活用し、文全体が一致します。
このように acceptWithArgument を使用すると、ローカリゼーションファイルに各単語の男性形と女性形の両方を含める必要がなくなります。語尾変化が必要な単語を包み込み、一致する必要がある単語を指し示すことにより、システムはローカライズされたテキストで一致を実現します。
以下の手順により、翻訳時に適切な性別の一致が得られます。
typealias AttributeScopes.FoundationAttributes.AgreementArgumentAttribute.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
一致引数属性にアクセスするためのスコープ。
let agreementConcept: AttributeScopes.FoundationAttributes.AgreementConceptAttribute
契約概念属性にアクセスするためのスコープ。
enum 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
システムが文法上の一致を達成できない場合に、代替の語形変化を提供する属性。