-
Notifications
You must be signed in to change notification settings - Fork 2
Languages
This was the outcome of a discussion between Council members and others relating to multilingual ODD-chaining:
-
All transformations prior to the output of RNG or HTML at the end of the chain should preserve all language versions of gloss/desc/remarks, even those which are technically obsolete per their
@versionDate
attributes. -
A final rendering process should use elements in the specified docLang, EVEN THOSE WHICH ARE OUTDATED, in preference to English, but should fall back to English where nothing is available in the target language.
-
If the chain originates with P5, then English is special, because it's the canonical language of the base schema. But I like Peter's suggestion that a language could/should be declared as canonical for a schema, and where no element exists in that language, and error could be raised.
Council Discussion:
@targetLang
(not being useful, XSLT processing isn't supporting what it's supposed to be for: to output tags in another language: XSLT only works on glosses in @targetLang
). What we use for that is altIdent usually. But should @targetLang
be supported and worked on? Council discussion: Yes, it should.
Testing by @martindholmes following meeting 2022-04-27:
For an <elementSpec>
like this:
<elementSpec ident="p" module="core" mode="change">
<altIdent xml:lang="ja">段落</altIdent>
<gloss xml:lang="ja">何かしら</gloss>
<gloss xml:lang="en">something, I guess</gloss>
</elementSpec>
if @targetLang
on <schemaSpec>
is "ja", then the element name becomes 段落.
if @docLang
on schemaSpec is "ja", then the parenthesized gloss in the annotation becomes 何かしら:
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">
(何かしら) 散文の段落を示す. [3.1. Paragraphs 7.2.5. Speech Contents]
</a:documentation>
and all other glosses/descs etc. are taken from the ja versions in the p5subset.
So I conclude that the descriptions of the two attributes in the schemaSpec specification are absolutely correct:
targetLang (target language) specifies which language to use when creating the objects in a schema if names for elements or attributes are available in more than one language
docLang (documentation language) specifies which languages to use when creating documentation if the description for an element, attribute, class or macro is available in more than one language
and that the current stylesheets correctly process them.