Andrew wrote :
>I don't see why using
>two letter codes is hanging people up. RFC3066 is compatible with
>ISO639-2B and with ISO639-2T. One can easily map between all of them.
>[...]Use xml:lang and RFC3066.
I'am agree with Andrew.
It's easily to use a stylesheet to map MARC languages codes to xml:lang
codes, and vice-versa.
The exact relationship between MARC language code (ISO639-2B) and RFC3066 is
explained here :
http://lcweb.loc.gov/standards/iso639-2/faq.html#6
"RFC 3066 specifies use of a 2-character code from ISO 639-1 when it exists;
when a language does not have a 2-character code assigned the 3-character
code is used. Although it states that the 3-character terminology code
[ISO639-T] is used in these cases where no 2-character code exists, this
situation will not occur, since the only variant codes in ISO 639-2 are for
languages that already have a 2-character code."
Here some few practical examples :
+-----------+-------------+-------------+----------+---------+
| Language | ISO639-2(B) | ISO639-2(T) | ISO639-1 | RFC3066 |
+-----------+-------------+-------------+----------+---------+
| Corsican | | cos | co | co |
+-----------+-------------+-------------+----------+---------+
| Kabyle | | kab | | kab |
+-----------+-------------+-------------+----------+---------+
| Slovak | slo | slk | sk | sk |
+-----------+-------------+-------------+----------+---------+
| French | fre | fra | fr | fr |
+-----------+-------------+-------------+----------+---------+
For the French and Slovak exemples, ISO639-2T should be prefered to
ISO639-2B, but in these cases, an ISO639-1 code is always provided.
If someone need "home made" codes, RFC3066 allow this.
For example, if you want to use SIL codes (defines more than 6000 languages)
(see http://www.ethnologue.com/language_code_index.asp )
you could use the custom code ("x-" prefix) and constructing your own code
this way :
x-sil-XXX (where XXX is the 3 digits number of the SIL code).
Here is an example of an XML "lookup table" for languages :
<languages>
<language xml:lang="fr" MARC="fre" ISO639-2="fra" ISO639-1="fr" SIL="FRN">
<name xml:lang="fr">français</name>
<name xml:lang="en">french</name>
<name xml:lang="de">franzosisch</name>
<name xml:lang="it">francese</name>
</language>
<language xml:lang="sk" MARC="slo" ISO639-2="slk" ISO639-1="sk" SIL="SLO">
<name xml:lang="fr">slovaque</name>
<name xml:lang="en">slovak</name>
</language>
</languages>
for the XSL code, see my email about relators.
I'll could provide a full working example if you want.
Rebecca wrote :
>3. define only xml:lang and not allow for the 639-2 code at the element
>level
>The problem I see in only defining xml:lang is that the 3-character code
>is better known in the library world. If converting from MARC records,
>the 3-character code would be in the language field; would it then be
>strange to use the 2-character one at the element level? Also, are there
>other options I haven't thought of?
I think that option 3 must be choose AND the language field must changed
accordingly :
<mods>
<language xml:lang="fr"/>
<!-- currently
<language>fra</language>
-->
<titleinfo>
<title xml:lang="fr">Il était une fois</title>
<title xml:lang="en" type="translated">Once upon a time</title>
</titleinfo>
</mods>
Yves
|