]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Generate CountryLanguageScript.java from xml-lang.xml using xml-lang.xsl.
authorPeter Bernard West <pbwest@apache.org>
Sat, 2 Nov 2002 01:22:35 +0000 (01:22 +0000)
committerPeter Bernard West <pbwest@apache.org>
Sat, 2 Nov 2002 01:22:35 +0000 (01:22 +0000)
Remove languageConfigFile from config.xml.

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/FOP_0-20-0_Alt-Design@195400 13f79535-47bb-0310-9956-ffa450edef68

conf/config.xml
conf/xml-lang.xml
conf/xml-lang.xsl [new file with mode: 0644]

index ea99eca4c9ef1e5ed6ab5f648630f338473d090c..24a35601182790df55879eb5bd2beebd6510d0c5 100644 (file)
     <value>userconfig.xml</value>
   </entry>
 
-  <entry>
-    <key>languageConfigFileName</key>
-    <value>xml-lang.xml</value>
-  </entry>
-
   <!-- stream-filter-list provides the default filters that are applied to all
   stream objects within the PDF file. These are normally used for 
   compression -->
index 0a80052fc2e7a139025b2ad0e735b1adc615ce66..856f00038a40ba61b1df6f39a1757197ac1bd12b 100644 (file)
@@ -2,6 +2,11 @@
 <!DOCTYPE xml-lang>
 <xml-lang>
   <countrycodes>
+    <!-- ISO 3166-1
+      http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/index.html
+      A French list is also available throught he above site.  This data
+      should probably be updated to reflect that.
+     -->
     <country name="AFGHANISTAN" code="AF"/>
     <country name="ALBANIA" code="AL"/>
     <country name="ALGERIA" code="DZ"/>
     <country name="ZIMBABWE" code="ZW"/>
   </countrycodes>
   <languagecodes>
-    <language name="ABKHAZIAN" code="AB"/>
-    <language name="AFAN (OROMO)" code="OM"/>
-    <language name="AFAR" code="AA"/>
-    <language name="AFRIKAANS" code="AF"/>
-    <language name="ALBANIAN" code="SQ"/>
-    <language name="AMHARIC" code="AM"/>
-    <language name="ARABIC" code="AR"/>
-    <language name="ARMENIAN" code="HY"/>
-    <language name="ASSAMESE" code="AS"/>
-    <language name="AYMARA" code="AY"/>
-    <language name="AZERBAIJANI" code="AZ"/>
-    <language name="BASHKIR" code="BA"/>
-    <language name="BASQUE" code="EU"/>
-    <language name="BENGALI;BANGLA" code="BN"/>
-    <language name="BHUTANI" code="DZ"/>
-    <language name="BIHARI" code="BH"/>
-    <language name="BISLAMA" code="BI"/>
-    <language name="BRETON" code="BR"/>
-    <language name="BULGARIAN" code="BG"/>
-    <language name="BURMESE" code="MY"/>
-    <language name="BYELORUSSIAN" code="BE"/>
-    <language name="CAMBODIAN" code="KM"/>
-    <language name="CATALAN" code="CA"/>
-    <language name="CHINESE" code="ZH"/>
-    <language name="CORSICAN" code="CO"/>
-    <language name="CROATIAN" code="HR"/>
-    <language name="CZECH" code="CS"/>
-    <language name="DANISH" code="DA"/>
-    <language name="DUTCH" code="NL"/>
-    <language name="ENGLISH" code="EN"/>
-    <language name="ESPERANTO" code="EO"/>
-    <language name="ESTONIAN" code="ET"/>
-    <language name="FAROESE" code="FO"/>
-    <language name="FIJI" code="FJ"/>
-    <language name="FINNISH" code="FI"/>
-    <language name="FRENCH" code="FR"/>
-    <language name="FRISIAN" code="FY"/>
-    <language name="GALICIAN" code="GL"/>
-    <language name="GEORGIAN" code="KA"/>
-    <language name="GERMAN" code="DE"/>
-    <language name="GREEK" code="EL"/>
-    <language name="GREENLANDIC" code="KL"/>
-    <language name="GUARANI" code="GN"/>
-    <language name="GUJARATI" code="GU"/>
-    <language name="HAUSA" code="HA"/>
-    <language name="HEBREW" code="HE"/>
-    <language name="HINDI" code="HI"/>
-    <language name="HUNGARIAN" code="HU"/>
-    <language name="ICELANDIC" code="IS"/>
-    <language name="INDONESIAN" code="ID"/>
-    <language name="INTERLINGUA" code="IA"/>
-    <language name="INTERLINGUE" code="IE"/>
-    <language name="INUKTITUT" code="IU"/>
-    <language name="INUPIAK" code="IK"/>
-    <language name="IRISH" code="GA"/>
-    <language name="ITALIAN" code="IT"/>
-    <language name="JAPANESE" code="JA"/>
-    <language name="JAVANESE" code="JV"/>
-    <language name="KANNADA" code="KN"/>
-    <language name="KASHMIRI" code="KS"/>
-    <language name="KAZAKH" code="KK"/>
-    <language name="KINYARWANDA" code="RW"/>
-    <language name="KIRGHIZ" code="KY"/>
-    <language name="KURUNDI" code="RN"/>
-    <language name="KOREAN" code="KO"/>
-    <language name="KURDISH" code="KU"/>
-    <language name="LAOTHIAN" code="LO"/>
-    <language name="LATIN" code="LA"/>
-    <language name="LATVIAN;LETTISH" code="LV"/>
-    <language name="LINGALA" code="LN"/>
-    <language name="LITHUANIAN" code="LT"/>
-    <language name="MACEDONIAN" code="MK"/>
-    <language name="MALAGASY" code="MG"/>
-    <language name="MALAY" code="MS"/>
-    <language name="MALAYALAM" code="ML"/>
-    <language name="MALTESE" code="MT"/>
-    <language name="MAORI" code="MI"/>
-    <language name="MARATHI" code="MR"/>
-    <language name="MOLDAVIAN" code="MO"/>
-    <language name="MONGOLIAN" code="MN"/>
-    <language name="NAURU" code="NA"/>
-    <language name="NEPALI" code="NE"/>
-    <language name="NORWEGIAN" code="NO"/>
-    <language name="OCCITAN" code="OC"/>
-    <language name="ORIYA" code="OR"/>
-    <language name="PASHTO;PUSHTO" code="PS"/>
-    <language name="PERSIAN (farsi)" code="FA"/>
-    <language name="POLISH" code="PL"/>
-    <language name="PORTUGUESE" code="PT"/>
-    <language name="PUNJABI" code="PA"/>
-    <language name="QUECHUA" code="QU"/>
-    <language name="RHAETO-ROMANCE" code="RM"/>
-    <language name="ROMANIAN" code="RO"/>
-    <language name="RUSSIAN" code="RU"/>
-    <language name="SAMOAN" code="SM"/>
-    <language name="SANGHO" code="SG"/>
-    <language name="SANSKRIT" code="SA"/>
-    <language name="SCOTS GAELIC" code="GD"/>
-    <language name="SERBIAN" code="SR"/>
-    <language name="SERBO-CROATIAN" code="SH"/>
-    <language name="SESOTHO" code="ST"/>
-    <language name="SETSWANA" code="TN"/>
-    <language name="SHONA" code="SN"/>
-    <language name="SINDHI" code="SD"/>
-    <language name="SINGHALESE" code="SI"/>
-    <language name="SISWATI" code="SS"/>
-    <language name="SLOVAK" code="SK"/>
-    <language name="SLOVENIAN" code="SL"/>
-    <language name="SOMALI" code="SO"/>
-    <language name="SPANISH" code="ES"/>
-    <language name="SUNDANESE" code="SU"/>
-    <language name="SWAHILI" code="SW"/>
-    <language name="SWEDISH" code="SV"/>
-    <language name="TAGALOG" code="TL"/>
-    <language name="TAJIK" code="TG"/>
-    <language name="TAMIL" code="TA"/>
-    <language name="TATAR" code="TT"/>
-    <language name="TELUGU" code="TE"/>
-    <language name="THAI" code="TH"/>
-    <language name="TIBETAN" code="BO"/>
-    <language name="TIGRINYA" code="TI"/>
-    <language name="TONGA" code="TO"/>
-    <language name="TSONGA" code="TS"/>
-    <language name="TURKISH" code="TR"/>
-    <language name="TURKMEN" code="TK"/>
-    <language name="TWI" code="TW"/>
-    <language name="UIGUR" code="UG"/>
-    <language name="UKRAINIAN" code="UK"/>
-    <language name="URDU" code="UR"/>
-    <language name="UZBEK" code="UZ"/>
-    <language name="VIETNAMESE" code="VI"/>
-    <language name="VOLAPUK" code="VO"/>
-    <language name="WELSH" code="CY"/>
-    <language name="WOLOF" code="WO"/>
-    <language name="XHOSA" code="XH"/>
-    <language name="YIDDISH" code="YI"/>
-    <language name="YORUBA" code="YO"/>
-    <language name="ZHUANG" code="ZA"/>
-    <language name="ZULU" code="ZU"/>
+    <!--
+      ISO 639-2T, ISO 639-2B, ISO 639-1
+      http://www.loc.gov/standards/iso639-2/
+     -->
+    <language terminology="aar" iso639-1="aa"
+      EnglishName="Afar"
+      FrenchName="afar"/>
+    <language terminology="abk" iso639-1="ab"
+      EnglishName="Abkhazian"
+      FrenchName="abkhaze"/>
+    <language terminology="ace" 
+      EnglishName="Achinese"
+      FrenchName="aceh"/>
+    <language terminology="ach" 
+      EnglishName="Acoli"
+      FrenchName="acoli"/>
+    <language terminology="ada" 
+      EnglishName="Adangme"
+      FrenchName="adangme"/>
+    <language terminology="afa" 
+      EnglishName="Afro-Asiatic (Other)"
+      FrenchName="afro-asiatiques, autres langues"/>
+    <language terminology="afh" 
+      EnglishName="Afrihili"
+      FrenchName="afrihili"/>
+    <language terminology="afr" iso639-1="af"
+      EnglishName="Afrikaans"
+      FrenchName="afrikaans"/>
+    <language terminology="aka" 
+      EnglishName="Akan"
+      FrenchName="akan"/>
+    <language terminology="akk" 
+      EnglishName="Akkadian"
+      FrenchName="akkadien"/>
+    <language terminology="sqi" bibliographic="alb" iso639-1="sq" 
+      EnglishName="Albanian"
+      FrenchName="albanais"/>
+    <language terminology="ale" 
+      EnglishName="Aleut"
+      FrenchName="aléoute"/>
+    <language terminology="alg" 
+      EnglishName="Algonquian languages"
+      FrenchName="algonquines, langues"/>
+    <language terminology="amh" iso639-1="am"
+      EnglishName="Amharic"
+      FrenchName="amharique"/>
+    <language terminology="ang" 
+      EnglishName="English, Old (ca.450-1100)"
+      FrenchName="anglo-saxon (ca.450-1100)"/>
+    <language terminology="apa" 
+      EnglishName="Apache languages"
+      FrenchName="apache"/>
+    <language terminology="ara" iso639-1="ar"
+      EnglishName="Arabic"
+      FrenchName="arabe"/>
+    <language terminology="arc" 
+      EnglishName="Aramaic"
+      FrenchName="araméen"/>
+    <language terminology="hye" bibliographic="arm" iso639-1="hy" 
+      EnglishName="Armenian"
+      FrenchName="arménien"/>
+    <language terminology="arn" 
+      EnglishName="Araucanian"
+      FrenchName="araucan"/>
+    <language terminology="arp" 
+      EnglishName="Arapaho"
+      FrenchName="arapaho"/>
+    <language terminology="art" 
+      EnglishName="Artificial (Other)"
+      FrenchName="artificielles, autres langues"/>
+    <language terminology="arw" 
+      EnglishName="Arawak"
+      FrenchName="arawak"/>
+    <language terminology="asm" iso639-1="as"
+      EnglishName="Assamese"
+      FrenchName="assamais"/>
+    <language terminology="ast" 
+      EnglishName="Asturian; Bable"
+      FrenchName="asturien; bable"/>
+    <language terminology="ath" 
+      EnglishName="Athapascan languages"
+      FrenchName="athapascanes, langues"/>
+    <language terminology="aus" 
+      EnglishName="Australian languages"
+      FrenchName="australiennes, langues"/>
+    <language terminology="ava" 
+      EnglishName="Avaric"
+      FrenchName="avar"/>
+    <language terminology="ave" iso639-1="ae"
+      EnglishName="Avestan"
+      FrenchName="avestique"/>
+    <language terminology="awa" 
+      EnglishName="Awadhi"
+      FrenchName="awadhi"/>
+    <language terminology="aym" iso639-1="ay"
+      EnglishName="Aymara"
+      FrenchName="aymara"/>
+    <language terminology="aze" iso639-1="az"
+      EnglishName="Azerbaijani"
+      FrenchName="azéri"/>
+    <language terminology="bad" 
+      EnglishName="Banda"
+      FrenchName="banda"/>
+    <language terminology="bai" 
+      EnglishName="Bamileke languages"
+      FrenchName="bamilékés, langues"/>
+    <language terminology="bak" iso639-1="ba"
+      EnglishName="Bashkir"
+      FrenchName="bachkir"/>
+    <language terminology="bal" 
+      EnglishName="Baluchi"
+      FrenchName="baloutchi"/>
+    <language terminology="bam" 
+      EnglishName="Bambara"
+      FrenchName="bambara"/>
+    <language terminology="ban" 
+      EnglishName="Balinese"
+      FrenchName="balinais"/>
+    <language terminology="eus" bibliographic="baq" iso639-1="eu" 
+      EnglishName="Basque"
+      FrenchName="basque"/>
+    <language terminology="bas" 
+      EnglishName="Basa"
+      FrenchName="basa"/>
+    <language terminology="bat" 
+      EnglishName="Baltic (Other)"
+      FrenchName="baltiques, autres langues"/>
+    <language terminology="bej" 
+      EnglishName="Beja"
+      FrenchName="bedja"/>
+    <language terminology="bel" iso639-1="be"
+      EnglishName="Belarusian"
+      FrenchName="biélorusse"/>
+    <language terminology="bem" 
+      EnglishName="Bemba"
+      FrenchName="bemba"/>
+    <language terminology="ben" iso639-1="bn"
+      EnglishName="Bengali"
+      FrenchName="bengali"/>
+    <language terminology="ber" 
+      EnglishName="Berber (Other)"
+      FrenchName="berbères, autres langues"/>
+    <language terminology="bho" 
+      EnglishName="Bhojpuri"
+      FrenchName="bhojpuri"/>
+    <language terminology="bih" iso639-1="bh"
+      EnglishName="Bihari"
+      FrenchName="bihari"/>
+    <language terminology="bik" 
+      EnglishName="Bikol"
+      FrenchName="bikol"/>
+    <language terminology="bin" 
+      EnglishName="Bini"
+      FrenchName="bini"/>
+    <language terminology="bis" iso639-1="bi"
+      EnglishName="Bislama"
+      FrenchName="bichlamar"/>
+    <language terminology="bla" 
+      EnglishName="Siksika"
+      FrenchName="blackfoot"/>
+    <language terminology="bnt" 
+      EnglishName="Bantu (Other)"
+      FrenchName="bantoues, autres langues"/>
+    <language terminology="bod" bibliographic="tib" iso639-1="bo" 
+      EnglishName="Tibetan"
+      FrenchName="tibétain"/>
+    <language terminology="bos" iso639-1="bs"
+      EnglishName="Bosnian"
+      FrenchName="bosniaque"/>
+    <language terminology="bra" 
+      EnglishName="Braj"
+      FrenchName="braj"/>
+    <language terminology="bre" iso639-1="br"
+      EnglishName="Breton"
+      FrenchName="breton"/>
+    <language terminology="btk" 
+      EnglishName="Batak (Indonesia)"
+      FrenchName="batak (Indonésie)"/>
+    <language terminology="bua" 
+      EnglishName="Buriat"
+      FrenchName="bouriate"/>
+    <language terminology="bug" 
+      EnglishName="Buginese"
+      FrenchName="bugi"/>
+    <language terminology="bul" iso639-1="bg"
+      EnglishName="Bulgarian"
+      FrenchName="bulgare"/>
+    <language terminology="mya" bibliographic="bur" iso639-1="my" 
+      EnglishName="Burmese"
+      FrenchName="birman"/>
+    <language terminology="cad" 
+      EnglishName="Caddo"
+      FrenchName="caddo"/>
+    <language terminology="cai" 
+      EnglishName="Central American Indian (Other)"
+      FrenchName="indiennes d'Amérique centrale, autres langues"/>
+    <language terminology="car" 
+      EnglishName="Carib"
+      FrenchName="caribe"/>
+    <language terminology="cat" iso639-1="ca"
+      EnglishName="Catalan"
+      FrenchName="catalan"/>
+    <language terminology="cau" 
+      EnglishName="Caucasian (Other)"
+      FrenchName="caucasiennes, autres langues"/>
+    <language terminology="ceb" 
+      EnglishName="Cebuano"
+      FrenchName="cebuano"/>
+    <language terminology="cel" 
+      EnglishName="Celtic (Other)"
+      FrenchName="celtiques, autres langues"/>
+    <language terminology="ces" bibliographic="cze" iso639-1="cs" 
+      EnglishName="Czech"
+      FrenchName="tchèque"/>
+    <language terminology="cha" iso639-1="ch"
+      EnglishName="Chamorro"
+      FrenchName="chamorro"/>
+    <language terminology="chb" 
+      EnglishName="Chibcha"
+      FrenchName="chibcha"/>
+    <language terminology="che" iso639-1="ce"
+      EnglishName="Chechen "
+      FrenchName="tchétchène"/>
+    <language terminology="chg" 
+      EnglishName="Chagatai"
+      FrenchName="djaghataï"/>
+    <language terminology="zho" bibliographic="chi" iso639-1="zh" 
+      EnglishName="Chinese"
+      FrenchName="chinois"/>
+    <language terminology="chk" 
+      EnglishName="Chuukese"
+      FrenchName="chuuk"/>
+    <language terminology="chm" 
+      EnglishName="Mari"
+      FrenchName="mari"/>
+    <language terminology="chn" 
+      EnglishName="Chinook jargon"
+      FrenchName="chinook, jargon"/>
+    <language terminology="cho" 
+      EnglishName="Choctaw"
+      FrenchName="choctaw"/>
+    <language terminology="chp" 
+      EnglishName="Chipewyan"
+      FrenchName="chipewyan"/>
+    <language terminology="chr" 
+      EnglishName="Cherokee"
+      FrenchName="cherokee"/>
+    <language terminology="chu" iso639-1="cu"
+      EnglishName="Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic"
+      FrenchName="slavon d'église; vieux slave; slavon liturgique; vieux bulgare"/>
+    <language terminology="chv" iso639-1="cv"
+      EnglishName="Chuvash"
+      FrenchName="tchouvache"/>
+    <language terminology="chy" 
+      EnglishName="Cheyenne"
+      FrenchName="cheyenne"/>
+    <language terminology="cmc" 
+      EnglishName="Chamic languages"
+      FrenchName="chames, langues"/>
+    <language terminology="cop" 
+      EnglishName="Coptic"
+      FrenchName="copte"/>
+    <language terminology="cor" iso639-1="kw"
+      EnglishName="Cornish"
+      FrenchName="cornique"/>
+    <language terminology="cos" iso639-1="co"
+      EnglishName="Corsican"
+      FrenchName="corse"/>
+    <language terminology="cpe"
+      EnglishName="Creoles and pidgins, English based (Other)"
+      FrenchName="créoles et pidgins anglais, autres"/>
+    <language terminology="cpf"
+      EnglishName="Creoles and pidgins, French-based (Other)"
+      FrenchName="créoles et pidgins français, autres"/>
+    <language terminology="cpp" 
+      EnglishName="Creoles and pidgins, Portuguese-based (Other)"
+      FrenchName="créoles et pidgins portugais, autres"/>
+    <language terminology="cre" 
+      EnglishName="Cree"
+      FrenchName="cree"/>
+    <language terminology="crp" 
+      EnglishName="Creoles and pidgins (Other)"
+      FrenchName="créoles et pidgins divers"/>
+    <language terminology="cus" 
+      EnglishName="Cushitic (Other)"
+      FrenchName="couchitiques, autres langues"/>
+    <language terminology="cym" bibliographic="wel" iso639-1="cy" 
+      EnglishName="Welsh"
+      FrenchName="gallois"/>
+    <language terminology="ces" bibliographic="cze" iso639-1="cs" 
+      EnglishName="Czech"
+      FrenchName="tchèque"/>
+    <language terminology="dak" 
+      EnglishName="Dakota"
+      FrenchName="dakota"/>
+    <language terminology="dan" iso639-1="da"
+      EnglishName="Danish"
+      FrenchName="danois"/>
+    <language terminology="day" 
+      EnglishName="Dayak"
+      FrenchName="dayak"/>
+    <language terminology="del" 
+      EnglishName="Delaware"
+      FrenchName="delaware"/>
+    <language terminology="den" 
+      EnglishName="Slave (Athapascan)"
+      FrenchName="esclave (athapascan)"/>
+    <language terminology="deu" bibliographic="ger" iso639-1="de" 
+      EnglishName="German"
+      FrenchName="allemand"/>
+    <language terminology="dgr" 
+      EnglishName="Dogrib"
+      FrenchName="dogrib"/>
+    <language terminology="din" 
+      EnglishName="Dinka"
+      FrenchName="dinka"/>
+    <language terminology="div" 
+      EnglishName="Divehi"
+      FrenchName="maldivien"/>
+    <language terminology="doi" 
+      EnglishName="Dogri"
+      FrenchName="dogri"/>
+    <language terminology="dra" 
+      EnglishName="Dravidian (Other)"
+      FrenchName="dravidiennes, autres langues"/>
+    <language terminology="dua" 
+      EnglishName="Duala"
+      FrenchName="douala"/>
+    <language terminology="dum" 
+      EnglishName="Dutch, Middle (ca.1050-1350)"
+      FrenchName="néerlandais moyen (ca. 1050-1350)"/>
+    <language terminology="nld" bibliographic="dut" iso639-1="nl" 
+      EnglishName="Dutch"
+      FrenchName="néerlandais"/>
+    <language terminology="dyu" 
+      EnglishName="Dyula"
+      FrenchName="dioula"/>
+    <language terminology="dzo" iso639-1="dz"
+      EnglishName="Dzongkha"
+      FrenchName="dzongkha"/>
+    <language terminology="efi" 
+      EnglishName="Efik"
+      FrenchName="efik"/>
+    <language terminology="egy" 
+      EnglishName="Egyptian (Ancient)"
+      FrenchName="égyptien"/>
+    <language terminology="eka" 
+      EnglishName="Ekajuk"
+      FrenchName="ekajuk"/>
+    <language terminology="ell" bibliographic="gre" iso639-1="el" 
+      EnglishName="Greek, Modern (1453-)"
+      FrenchName="grec moderne (après 1453)"/>
+    <language terminology="elx" 
+      EnglishName="Elamite"
+      FrenchName="élamite"/>
+    <language terminology="eng" iso639-1="en"
+      EnglishName="English"
+      FrenchName="anglais"/>
+    <language terminology="enm" 
+      EnglishName="English, Middle (1100-1500)"
+      FrenchName="anglais moyen (1100-1500)"/>
+    <language terminology="epo" iso639-1="eo"
+      EnglishName="Esperanto"
+      FrenchName="espéranto"/>
+    <language terminology="est" iso639-1="et"
+      EnglishName="Estonian"
+      FrenchName="estonien"/>
+    <language terminology="eus" bibliographic="baq" iso639-1="eu" 
+      EnglishName="Basque"
+      FrenchName="basque"/>
+    <language terminology="ewe" 
+      EnglishName="Ewe"
+      FrenchName="éwé"/>
+    <language terminology="ewo" 
+      EnglishName="Ewondo"
+      FrenchName="éwondo"/>
+    <language terminology="fan" 
+      EnglishName="Fang"
+      FrenchName="fang"/>
+    <language terminology="fao" iso639-1="fo"
+      EnglishName="Faroese"
+      FrenchName="féroïen"/>
+    <language terminology="fas" bibliographic="per" iso639-1="fa" 
+      EnglishName="Persian"
+      FrenchName="persan"/>
+    <language terminology="fat" 
+      EnglishName="Fanti"
+      FrenchName="fanti"/>
+    <language terminology="fij" iso639-1="fj"
+      EnglishName="Fijian"
+      FrenchName="fidjien"/>
+    <language terminology="fin" iso639-1="fi"
+      EnglishName="Finnish"
+      FrenchName="finnois"/>
+    <language terminology="fiu" 
+      EnglishName="Finno-Ugrian (Other)"
+      FrenchName="finno-ougriennes, autres langues"/>
+    <language terminology="fon" 
+      EnglishName="Fon"
+      FrenchName="fon"/>
+    <language terminology="fra" bibliographic="fre" iso639-1="fr" 
+      EnglishName="French"
+      FrenchName="français"/>
+    <language terminology="frm" 
+      EnglishName="French, Middle (ca.1400-1800)"
+      FrenchName="français moyen (1400-1800)"/>
+    <language terminology="fro" 
+      EnglishName="French, Old (842-ca.1400)"
+      FrenchName="français ancien (842-ca.1400)"/>
+    <language terminology="fry" iso639-1="fy"
+      EnglishName="Frisian"
+      FrenchName="frison"/>
+    <language terminology="ful" 
+      EnglishName="Fulah"
+      FrenchName="peul"/>
+    <language terminology="fur"
+      EnglishName="Friulian"
+      FrenchName="frioulan"/>
+    <language terminology="gaa"
+      EnglishName="Ga"
+      FrenchName="ga"/>
+    <language terminology="gay"
+      EnglishName="Gayo"
+      FrenchName="gayo"/>
+    <language terminology="gba"
+      EnglishName="Gbaya"
+      FrenchName="gbaya"/>
+    <language terminology="gem"
+      EnglishName="Germanic (Other)"
+      FrenchName="germaniques, autres langues"/>
+    <language terminology="kat" bibliographic="geo" iso639-1="ka"
+      EnglishName="Georgian"
+      FrenchName="géorgien"/>
+    <language terminology="deu" bibliographic="ger" iso639-1="de"
+      EnglishName="German"
+      FrenchName="allemand"/>
+    <language terminology="gez"
+      EnglishName="Geez"
+      FrenchName="guèze"/>
+    <language terminology="gil"
+      EnglishName="Gilbertese"
+      FrenchName="kiribati"/>
+    <language terminology="gla" iso639-1="gd"
+      EnglishName="Gaelic; Scottish Gaelic"
+      FrenchName="gaélique; gaélique écossais"/>
+    <language terminology="gle" iso639-1="ga"
+      EnglishName="Irish"
+      FrenchName="irlandais"/>
+    <language terminology="glg" iso639-1="gl"
+      EnglishName="Gallegan"
+      FrenchName="galicien"/>
+    <language terminology="glv" iso639-1="gv"
+      EnglishName="Manx"
+      FrenchName=" manx; mannois"/>
+    <language terminology="gmh"
+      EnglishName="German, Middle High (ca.1050-1500)"
+      FrenchName="allemand, moyen haut (ca. 1050-1500)"/>
+    <language terminology="goh"
+      EnglishName="German, Old High (ca.750-1050)"
+      FrenchName="allemand, vieux haut (ca. 750-1050)"/>
+    <language terminology="gon"
+      EnglishName="Gondi"
+      FrenchName="gond"/>
+    <language terminology="gor"
+      EnglishName="Gorontalo"
+      FrenchName="gorontalo"/>
+    <language terminology="got"
+      EnglishName="Gothic"
+      FrenchName="gothique"/>
+    <language terminology="grb"
+      EnglishName="Grebo"
+      FrenchName="grebo"/>
+    <language terminology="grc"
+      EnglishName="Greek, Ancient (to 1453)"
+      FrenchName="grec ancien (jusqu'à 1453)"/>
+    <language terminology="ell" bibliographic="gre" iso639-1="el"
+      EnglishName="Greek, Modern (1453-)"
+      FrenchName="grec moderne (après 1453)"/>
+    <language terminology="grn" iso639-1="gn"
+      EnglishName="Guarani"
+      FrenchName="guarani"/>
+    <language terminology="guj" iso639-1="gu"
+      EnglishName="Gujarati"
+      FrenchName="goudjrati"/>
+    <language terminology="gwi"
+      EnglishName="Gwich&#180;in"
+      FrenchName="gwich&#180;in"/>
+    <language terminology="hai"
+      EnglishName="Haida"
+      FrenchName="haida"/>
+    <language terminology="hau" iso639-1="ha"
+      EnglishName="Hausa"
+      FrenchName="haoussa"/>
+    <language terminology="haw"
+      EnglishName="Hawaiian"
+      FrenchName="hawaïen"/>
+    <language terminology="heb" iso639-1="he"
+      EnglishName="Hebrew"
+      FrenchName="hébreu"/>
+    <language terminology="her" iso639-1="hz"
+      EnglishName="Herero"
+      FrenchName="herero"/>
+    <language terminology="hil"
+      EnglishName="Hiligaynon"
+      FrenchName="hiligaynon"/>
+    <language terminology="him"
+      EnglishName="Himachali"
+      FrenchName="himachali"/>
+    <language terminology="hin" iso639-1="hi"
+      EnglishName="Hindi "
+      FrenchName="hindi"/>
+    <language terminology="hit"
+      EnglishName="Hittite"
+      FrenchName="hittite"/>
+    <language terminology="hmn"
+      EnglishName="Hmong"
+      FrenchName="hmong"/>
+    <language terminology="hmo" iso639-1="ho"
+      EnglishName="Hiri Motu"
+      FrenchName="hiri motu"/>
+    <language terminology="hrv" bibliographic="scr" iso639-1="hr"
+      EnglishName="Croatian"
+      FrenchName="croate"/>
+    <language terminology="hun" iso639-1="hu"
+      EnglishName="Hungarian"
+      FrenchName="hongrois"/>
+    <language terminology="hup"
+      EnglishName="Hupa"
+      FrenchName="hupa"/>
+    <language terminology="hye" bibliographic="arm" iso639-1="hy"
+      EnglishName="Armenian"
+      FrenchName="arménien"/>
+    <language terminology="iba" 
+      EnglishName="Iban"
+      FrenchName="iban"/>
+    <language terminology="ibo" 
+      EnglishName="Igbo"
+      FrenchName="igbo"/>
+    <language terminology="isl" bibliographic="ice" iso639-1="is" 
+      EnglishName="Icelandic"
+      FrenchName="islandais"/>
+    <language terminology="ido" iso639-1="io"
+      EnglishName="Ido"
+      FrenchName="ido"/>
+    <language terminology="ijo" 
+      EnglishName="Ijo"
+      FrenchName="ijo"/>
+    <language terminology="iku" iso639-1="iu"
+      EnglishName="Inuktitut"
+      FrenchName="inuktitut"/>
+    <language terminology="ile" iso639-1="ie"
+      EnglishName="Interlingue"
+      FrenchName="interlingue"/>
+    <language terminology="ilo" 
+      EnglishName="Iloko"
+      FrenchName="ilocano"/>
+    <language terminology="ina" iso639-1="ia"
+      EnglishName="Interlingua (International Auxiliary Language Association)"
+      FrenchName="interlingua (langue auxiliaire internationale)"/>
+    <language terminology="inc" 
+      EnglishName="Indic (Other)"
+      FrenchName="indo-aryennes, autres langues"/>
+    <language terminology="ind" iso639-1="id"
+      EnglishName="Indonesian"
+      FrenchName="indonésien"/>
+    <language terminology="ine" 
+      EnglishName="Indo-European (Other)"
+      FrenchName="indo-européennes, autres langues"/>
+    <language terminology="ipk" iso639-1="ik"
+      EnglishName="Inupiaq"
+      FrenchName="inupiaq"/>
+    <language terminology="ira" 
+      EnglishName="Iranian (Other)"
+      FrenchName="iraniennes, autres langues"/>
+    <language terminology="iro" 
+      EnglishName="Iroquoian languages"
+      FrenchName="iroquoises, langues (famille)"/>
+    <language terminology="isl" bibliographic="ice" iso639-1="is" 
+      EnglishName="Icelandic"
+      FrenchName="islandais"/>
+    <language terminology="ita" iso639-1="it"
+      EnglishName="Italian"
+      FrenchName="italien"/>
+    <language terminology="jav" iso639-1="jv"
+      EnglishName="Javanese"
+      FrenchName="javanais"/>
+    <language terminology="jpn" iso639-1="ja"
+      EnglishName="Japanese"
+      FrenchName="japonais"/>
+    <language terminology="jpr" 
+      EnglishName="Judeo-Persian"
+      FrenchName="judéo-persan"/>
+    <language terminology="jrb" 
+      EnglishName="Judeo-Arabic"
+      FrenchName="judéo-arabe"/>
+    <language terminology="kaa" 
+      EnglishName="Kara-Kalpak"
+      FrenchName="karakalpak"/>
+    <language terminology="kab" 
+      EnglishName="Kabyle"
+      FrenchName="kabyle"/>
+    <language terminology="kac" 
+      EnglishName="Kachin"
+      FrenchName="kachin"/>
+    <language terminology="kal" iso639-1="kl"
+      EnglishName="Kalaallisut"
+      FrenchName="groenlandais"/>
+    <language terminology="kam" 
+      EnglishName="Kamba"
+      FrenchName="kamba"/>
+    <language terminology="kan" iso639-1="kn"
+      EnglishName="Kannada"
+      FrenchName="kannada"/>
+    <language terminology="kar" 
+      EnglishName="Karen"
+      FrenchName="karen"/>
+    <language terminology="kas" iso639-1="ks"
+      EnglishName="Kashmiri"
+      FrenchName="kashmiri"/>
+    <language terminology="kat" bibliographic="geo" iso639-1="ka" 
+      EnglishName="Georgian"
+      FrenchName="géorgien"/>
+    <language terminology="kau" 
+      EnglishName="Kanuri"
+      FrenchName="kanouri"/>
+    <language terminology="kaw" 
+      EnglishName="Kawi"
+      FrenchName="kawi"/>
+    <language terminology="kaz" iso639-1="kk"
+      EnglishName="Kazakh"
+      FrenchName="kazakh"/>
+    <language terminology="kha" 
+      EnglishName="Khasi"
+      FrenchName="khasi"/>
+    <language terminology="khi" 
+      EnglishName="Khoisan (Other)"
+      FrenchName="khoisan, autres langues"/>
+    <language terminology="khm" iso639-1="km"
+      EnglishName="Khmer"
+      FrenchName="khmer"/>
+    <language terminology="kho" 
+      EnglishName="Khotanese"
+      FrenchName="khotanais"/>
+    <language terminology="kik" iso639-1="ki"
+      EnglishName="Kikuyu; Gikuyu"
+      FrenchName="kikuyu"/>
+    <language terminology="kin" iso639-1="rw"
+      EnglishName="Kinyarwanda"
+      FrenchName="rwanda"/>
+    <language terminology="kir" iso639-1="ky"
+      EnglishName="Kirghiz"
+      FrenchName="kirghize"/>
+    <language terminology="kmb" 
+      EnglishName="Kimbundu"
+      FrenchName="kimbundu"/>
+    <language terminology="kok" 
+      EnglishName="Konkani"
+      FrenchName="konkani"/>
+    <language terminology="kom" iso639-1="kv"
+      EnglishName="Komi"
+      FrenchName="kom"/>
+    <language terminology="kon" 
+      EnglishName="Kongo"
+      FrenchName="kongo"/>
+    <language terminology="kor" iso639-1="ko"
+      EnglishName="Korean"
+      FrenchName="coréen"/>
+    <language terminology="kos" 
+      EnglishName="Kosraean"
+      FrenchName="kosrae"/>
+    <language terminology="kpe" 
+      EnglishName="Kpelle"
+      FrenchName="kpellé"/>
+    <language terminology="kro" 
+      EnglishName="Kru"
+      FrenchName="krou"/>
+    <language terminology="kru" 
+      EnglishName="Kurukh"
+      FrenchName="kurukh"/>
+    <language terminology="kua" iso639-1="kj"
+      EnglishName="Kuanyama; Kwanyama"
+      FrenchName="kuanyama; kwanyama"/>
+    <language terminology="kum" 
+      EnglishName="Kumyk"
+      FrenchName="koumyk"/>
+    <language terminology="kur" iso639-1="ku"
+      EnglishName="Kurdish"
+      FrenchName="kurde"/>
+    <language terminology="kut" 
+      EnglishName="Kutenai"
+      FrenchName="kutenai"/>
+    <language terminology="lad" 
+      EnglishName="Ladino"
+      FrenchName="judéo-espagnol"/>
+    <language terminology="lah" 
+      EnglishName="Lahnda"
+      FrenchName="lahnda"/>
+    <language terminology="lam" 
+      EnglishName="Lamba"
+      FrenchName="lamba"/>
+    <language terminology="lao" iso639-1="lo"
+      EnglishName="Lao"
+      FrenchName="lao"/>
+    <language terminology="lat" iso639-1="la"
+      EnglishName="Latin"
+      FrenchName="latin"/>
+    <language terminology="lav" iso639-1="lv"
+      EnglishName="Latvian"
+      FrenchName="letton"/>
+    <language terminology="lez" 
+      EnglishName="Lezghian"
+      FrenchName="lezghien"/>
+    <language terminology="lim" iso639-1="li"
+      EnglishName="Limburgan; Limburger; Limburgish"
+      FrenchName="limbourgeois"/>
+    <language terminology="lin" iso639-1="ln"
+      EnglishName="Lingala"
+      FrenchName="lingala"/>
+    <language terminology="lit" iso639-1="lt"
+      EnglishName="Lithuanian"
+      FrenchName="lituanien"/>
+    <language terminology="lol" 
+      EnglishName="Mongo"
+      FrenchName="mongo"/>
+    <language terminology="loz" 
+      EnglishName="Lozi"
+      FrenchName="lozi"/>
+    <language terminology="ltz" iso639-1="lb"
+      EnglishName="Luxembourgish; Letzeburgesch"
+      FrenchName="luxembourgeois"/>
+    <language terminology="lua" 
+      EnglishName="Luba-Lulua"
+      FrenchName="luba-lulua"/>
+    <language terminology="lub" 
+      EnglishName="Luba-Katanga"
+      FrenchName="luba-katanga"/>
+    <language terminology="lug" 
+      EnglishName="Ganda"
+      FrenchName="ganda"/>
+    <language terminology="lui" 
+      EnglishName="Luiseno"
+      FrenchName="luiseno"/>
+    <language terminology="lun" 
+      EnglishName="Lunda"
+      FrenchName="lunda"/>
+    <language terminology="luo" 
+      EnglishName="Luo (Kenya and Tanzania)"
+      FrenchName="luo (Kenya et Tanzanie)"/>
+    <language terminology="lus" 
+      EnglishName="lushai"
+      FrenchName="Lushai"/>
+    <language terminology="mkd" bibliographic="mac" iso639-1="mk" 
+      EnglishName="Macedonian"
+      FrenchName="macédonien"/>
+    <language terminology="mad" 
+      EnglishName="Madurese"
+      FrenchName="madourais"/>
+    <language terminology="mag" 
+      EnglishName="Magahi"
+      FrenchName="magahi"/>
+    <language terminology="mah" iso639-1="mh"
+      EnglishName="Marshallese"
+      FrenchName="marshall"/>
+    <language terminology="mai" 
+      EnglishName="Maithili"
+      FrenchName="maithili"/>
+    <language terminology="mak" 
+      EnglishName="Makasar"
+      FrenchName="makassar"/>
+    <language terminology="mal" iso639-1="ml"
+      EnglishName="Malayalam"
+      FrenchName="malayalam"/>
+    <language terminology="man" 
+      EnglishName="Mandingo"
+      FrenchName="mandingue"/>
+    <language terminology="mri" bibliographic="mao" iso639-1="mi" 
+      EnglishName="Maori"
+      FrenchName="maori"/>
+    <language terminology="map" 
+      EnglishName="Austronesian (Other)"
+      FrenchName="malayo-polynésiennes,autres langues"/>
+    <language terminology="mar" iso639-1="mr"
+      EnglishName="Marathi"
+      FrenchName="marathe"/>
+    <language terminology="mas" 
+      EnglishName="Masai"
+      FrenchName="massaï"/>
+    <language terminology="msa" bibliographic="may" iso639-1="ms" 
+      EnglishName="Malay"
+      FrenchName="malais"/>
+    <language terminology="mdr" 
+      EnglishName="Mandar"
+      FrenchName="mandar"/>
+    <language terminology="men" 
+      EnglishName="Mende"
+      FrenchName="mendé"/>
+    <language terminology="mga" 
+      EnglishName="Irish, Middle (900-1200)"
+      FrenchName="irlandais moyen (900-1200)"/>
+    <language terminology="mic" 
+      EnglishName="Micmac"
+      FrenchName="micmac"/>
+    <language terminology="min" 
+      EnglishName="Minangkabau"
+      FrenchName="minangkabau"/>
+    <language terminology="mis" 
+      EnglishName="Miscellaneous languages"
+      FrenchName="diverses, langues"/>
+    <language terminology="mkd" bibliographic="mac" iso639-1="mk" 
+      EnglishName="Macedonian"
+      FrenchName="macédonien"/>
+    <language terminology="mkh" 
+      EnglishName="Mon-Khmer (Other)"
+      FrenchName="môn-khmer, autres langues"/>
+    <language terminology="mlg" iso639-1="mg"
+      EnglishName="Malagasy"
+      FrenchName="malgache"/>
+    <language terminology="mlt" iso639-1="mt"
+      EnglishName="Maltese"
+      FrenchName="maltais"/>
+    <language terminology="mnc" 
+      EnglishName="Manchu"
+      FrenchName="mandchou"/>
+    <language terminology="mni" 
+      EnglishName="Manipuri"
+      FrenchName="manipuri"/>
+    <language terminology="mno" 
+      EnglishName="Manobo languages "
+      FrenchName="manobo, langues"/>
+    <language terminology="moh" 
+      EnglishName="Mohawk"
+      FrenchName="mohawk"/>
+    <language terminology="mol" iso639-1="mo"
+      EnglishName="Moldavian"
+      FrenchName="moldave"/>
+    <language terminology="mon" iso639-1="mn"
+      EnglishName="Mongolian"
+      FrenchName="mongol"/>
+    <language terminology="mos" 
+      EnglishName="Mossi"
+      FrenchName="moré"/>
+    <language terminology="mri" bibliographic="mao" iso639-1="mi" 
+      EnglishName="Maori"
+      FrenchName="maori"/>
+    <language terminology="msa" bibliographic="may" iso639-1="ms" 
+      EnglishName="Malay"
+      FrenchName="malais"/>
+    <language terminology="mul" 
+      EnglishName="Multiple languages"
+      FrenchName="multilingue"/>
+    <language terminology="mun" 
+      EnglishName="Munda languages"
+      FrenchName="mounda, langues"/>
+    <language terminology="mus" 
+      EnglishName="Creek"
+      FrenchName="muskogee"/>
+    <language terminology="mwr" 
+      EnglishName="Marwari"
+      FrenchName="marvari"/>
+    <language terminology="mya" bibliographic="bur" iso639-1="my" 
+      EnglishName="Burmese"
+      FrenchName="birman"/>
+    <language terminology="myn" 
+      EnglishName="Mayan languages"
+      FrenchName="maya, langues"/>
+    <language terminology="nah" 
+      EnglishName="Nahuatl"
+      FrenchName="nahuatl"/>
+    <language terminology="nai" 
+      EnglishName="North American Indian"
+      FrenchName="indiennes d'Amérique du Nord, autres langues"/>
+    <language terminology="nap" 
+      EnglishName="Neapolitan"
+      FrenchName="napolitain"/>
+    <language terminology="nau" iso639-1="na"
+      EnglishName="Nauru"
+      FrenchName="nauruan"/>
+    <language terminology="nav" iso639-1="nv"
+      EnglishName="Navajo; Navaho"
+      FrenchName="navaho"/>
+    <language terminology="nbl" iso639-1="nr"
+      EnglishName="Ndebele, South; South Ndebele"
+      FrenchName="ndébélé du Sud"/>
+    <language terminology="nde" iso639-1="nd"
+      EnglishName="Ndebele, North; North Ndebele"
+      FrenchName="ndébélé du Nord"/>
+    <language terminology="ndo" iso639-1="ng"
+      EnglishName="Ndonga"
+      FrenchName="ndonga"/>
+    <language terminology="nds" 
+      EnglishName="Low German; Low Saxon; German, Low; Saxon, Low"
+      FrenchName="bas allemand; bas saxon; allemand, bas; saxon, bas"/>
+    <language terminology="nep" iso639-1="ne"
+      EnglishName="Nepali"
+      FrenchName="népalais"/>
+    <language terminology="new" 
+      EnglishName="Newari"
+      FrenchName="newari"/>
+    <language terminology="nia" 
+      EnglishName="Nias"
+      FrenchName="nias"/>
+    <language terminology="nic" 
+      EnglishName="Niger-Kordofanian (Other)"
+      FrenchName="nigéro-congolaises, autres langues"/>
+    <language terminology="niu" 
+      EnglishName="Niuean"
+      FrenchName="niué"/>
+    <language terminology="nld" bibliographic="dut" iso639-1="nl" 
+      EnglishName="Dutch"
+      FrenchName="néerlandais"/>
+    <language terminology="non" 
+      EnglishName="Norse, Old"
+      FrenchName="norrois, vieux"/>
+    <language terminology="nor" iso639-1="no"
+      EnglishName="Norwegian"
+      FrenchName="norvégien"/>
+    <language terminology="nno" iso639-1="nn"
+      EnglishName="Norwegian Nynorsk; Nynorsk, Norwegian"
+      FrenchName="norvégien nynorsk; nynorsk, norvégien "/>
+    <language terminology="nob" iso639-1="nb"
+      EnglishName="Norwegian Bokmål; Bokmål, Norwegian"
+      FrenchName="norvégien bokmål; bokmål, norvégien"/>
+    <language terminology="nso" 
+      EnglishName="Sotho, Northern"
+      FrenchName="sotho du Nord"/>
+    <language terminology="nub" 
+      EnglishName="Nubian languages"
+      FrenchName="nubiennes, langues"/>
+    <language terminology="nya" iso639-1="ny"
+      EnglishName=" Chichewa; Chewa; Nyanja"
+      FrenchName="chichewa; chewa; nyanja"/>
+    <language terminology="nym" 
+      EnglishName="Nyamwezi"
+      FrenchName="nyamwezi"/>
+    <language terminology="nyn" 
+      EnglishName="Nyankole"
+      FrenchName="nyankolé"/>
+    <language terminology="nyo" 
+      EnglishName="Nyoro"
+      FrenchName="nyoro"/>
+    <language terminology="nzi" 
+      EnglishName="Nzima"
+      FrenchName="nzema"/>
+    <language terminology="oci" iso639-1="oc"
+      EnglishName="Occitan (post 1500); Provençal"
+      FrenchName="occitan (après 1500); provençal"/>
+    <language terminology="oji" 
+      EnglishName="Ojibwa"
+      FrenchName="ojibwa"/>
+    <language terminology="ori" iso639-1="or"
+      EnglishName="Oriya"
+      FrenchName="oriya"/>
+    <language terminology="orm" iso639-1="om"
+      EnglishName="Oromo"
+      FrenchName="galla"/>
+    <language terminology="osa" 
+      EnglishName="Osage"
+      FrenchName="osage"/>
+    <language terminology="oss" iso639-1="os"
+      EnglishName="Ossetian; Ossetic"
+      FrenchName="ossète"/>
+    <language terminology="ota" 
+      EnglishName="Turkish, Ottoman (1500-1928)"
+      FrenchName="turc ottoman (1500-1928)"/>
+    <language terminology="oto" 
+      EnglishName="Otomian languages"
+      FrenchName="otomangue, langues"/>
+    <language terminology="paa" 
+      EnglishName="Papuan (Other)"
+      FrenchName="papoues, autres langues"/>
+    <language terminology="pag" 
+      EnglishName="Pangasinan"
+      FrenchName="pangasinan"/>
+    <language terminology="pal" 
+      EnglishName="Pahlavi"
+      FrenchName="pahlavi"/>
+    <language terminology="pam" 
+      EnglishName="Pampanga"
+      FrenchName="pampangan"/>
+    <language terminology="pan" iso639-1="pa"
+      EnglishName="Panjabi"
+      FrenchName="pendjabi"/>
+    <language terminology="pap" 
+      EnglishName="Papiamento"
+      FrenchName="papiamento"/>
+    <language terminology="pau" 
+      EnglishName="Palauan"
+      FrenchName="palau"/>
+    <language terminology="peo" 
+      EnglishName="Persian, Old (ca.600-400 B.C.)"
+      FrenchName="perse, vieux (ca. 600-400 av. J.-C.)"/>
+    <language terminology="fas" bibliographic="per" iso639-1="fa" 
+      EnglishName="Persian"
+      FrenchName="persan"/>
+    <language terminology="phi" 
+      EnglishName="Philippine (Other)"
+      FrenchName="philippines, autres langues"/>
+    <language terminology="phn" 
+      EnglishName="Phoenician"
+      FrenchName="phénicien"/>
+    <language terminology="pli" iso639-1="pi"
+      EnglishName="Pali"
+      FrenchName="pali"/>
+    <language terminology="pol" iso639-1="pl"
+      EnglishName="Polish"
+      FrenchName="polonais"/>
+    <language terminology="pon" 
+      EnglishName="Pohnpeian"
+      FrenchName="pohnpei"/>
+    <language terminology="por" iso639-1="pt"
+      EnglishName="Portuguese"
+      FrenchName="portugais"/>
+    <language terminology="pra" 
+      EnglishName="Prakrit languages"
+      FrenchName="prâkrit"/>
+    <language terminology="pro" 
+      EnglishName="Provençal, Old (to 1500)"
+      FrenchName="provençal ancien (jusqu'à 1500)"/>
+    <language terminology="pus" iso639-1="ps"
+      EnglishName="Pushto"
+      FrenchName="pachto"/>
+    <language terminology="que" iso639-1="qu"
+      EnglishName="Quechua"
+      FrenchName="quechua"/>
+    <language terminology="raj" 
+      EnglishName="Rajasthani"
+      FrenchName="rajasthani"/>
+    <language terminology="rap" 
+      EnglishName="Rapanui"
+      FrenchName="rapanui"/>
+    <language terminology="rar" 
+      EnglishName="Rarotongan"
+      FrenchName="rarotonga"/>
+    <language terminology="roa"
+      EnglishName="Romance (Other)"
+      FrenchName="romanes, autres langues"/>
+    <language terminology="roh" iso639-1="rm"
+      EnglishName="Raeto-Romance"
+      FrenchName="rhéto-roman"/>
+    <language terminology="rom" 
+      EnglishName="Romany"
+      FrenchName="tsigane"/>
+    <language terminology="ron" bibliographic="rum" iso639-1="ro" 
+      EnglishName="Romanian"
+      FrenchName="roumain"/>
+    <language terminology="run" iso639-1="rn"
+      EnglishName="Rundi"
+      FrenchName="rundi"/>
+    <language terminology="rus" iso639-1="ru"
+      EnglishName="Russian"
+      FrenchName="russe"/>
+    <language terminology="sad" 
+      EnglishName="Sandawe"
+      FrenchName="sandawe"/>
+    <language terminology="sag" iso639-1="sg"
+      EnglishName="Sango"
+      FrenchName="sango"/>
+    <language terminology="sah" 
+      EnglishName="Yakut"
+      FrenchName="iakoute"/>
+    <language terminology="sai" 
+      EnglishName="South American Indian (Other)"
+      FrenchName="indiennes d'Amérique du Sud,autres langues"/>
+    <language terminology="sal" 
+      EnglishName="Salishan languages "
+      FrenchName="salish, langues"/>
+    <language terminology="sam" 
+      EnglishName="Samaritan Aramaic"
+      FrenchName="samaritain"/>
+    <language terminology="san" iso639-1="sa"
+      EnglishName="Sanskrit"
+      FrenchName="sanskrit"/>
+    <language terminology="sas" 
+      EnglishName="Sasak"
+      FrenchName="sasak"/>
+    <language terminology="sat" 
+      EnglishName="Santali"
+      FrenchName="santal"/>
+    <language terminology="srp" bibliographic="scc" iso639-1="sr" 
+      EnglishName="Serbian"
+      FrenchName="serbe"/>
+    <language terminology="sco" 
+      EnglishName="Scots"
+      FrenchName="écossais"/>
+    <language terminology="hrv" bibliographic="scr" iso639-1="hr" 
+      EnglishName="Croatian"
+      FrenchName="croate"/>
+    <language terminology="sel" 
+      EnglishName="Selkup"
+      FrenchName="selkoupe"/>
+    <language terminology="sem" 
+      EnglishName="Semitic (Other) "
+      FrenchName="sémitiques, autres langues"/>
+    <language terminology="sga" 
+      EnglishName="Irish, Old (to 900) "
+      FrenchName="irlandais ancien (jusqu'à 900)"/>
+    <language terminology="sgn" 
+      EnglishName="Sign Languages"
+      FrenchName="langues des signes"/>
+    <language terminology="shn" 
+      EnglishName="Shan"
+      FrenchName="chan"/>
+    <language terminology="sid" 
+      EnglishName="Sidamo"
+      FrenchName="sidamo"/>
+    <language terminology="sin" iso639-1="si"
+      EnglishName="Sinhalese"
+      FrenchName="singhalais"/>
+    <language terminology="sio" 
+      EnglishName="Siouan languages "
+      FrenchName="sioux, langues"/>
+    <language terminology="sit" 
+      EnglishName="Sino-Tibetan (Other)"
+      FrenchName="sino-tibétaines, autres langues"/>
+    <language terminology="sla" 
+      EnglishName="Slavic (Other)"
+      FrenchName="slaves, autres langues"/>
+    <language terminology="slk" bibliographic="slo" iso639-1="sk" 
+      EnglishName="Slovak"
+      FrenchName="slovaque"/>
+    <language terminology="slv" iso639-1="sl"
+      EnglishName="Slovenian"
+      FrenchName="slovène"/>
+    <language terminology="sma" 
+      EnglishName="Southern Sami"
+      FrenchName="sami du Sud"/>
+    <language terminology="sme" iso639-1="se"
+      EnglishName="Northern Sami"
+      FrenchName="sami du Nord"/>
+    <language terminology="smi" 
+      EnglishName="Sami languages (Other) "
+      FrenchName="sami, autres langues"/>
+    <language terminology="smj" 
+      EnglishName="Lule Sami"
+      FrenchName="sami de Lule"/>
+    <language terminology="smn" 
+      EnglishName="Inari Sami"
+      FrenchName="sami d'Inari"/>
+    <language terminology="smo" iso639-1="sm"
+      EnglishName="Samoan"
+      FrenchName="samoan"/>
+    <language terminology="sms" 
+      EnglishName="Skolt Sami"
+      FrenchName="sami skolt"/>
+    <language terminology="sna" iso639-1="sn"
+      EnglishName="Shona"
+      FrenchName="shona"/>
+    <language terminology="snd" iso639-1="sd"
+      EnglishName="Sindhi"
+      FrenchName="sindhi"/>
+    <language terminology="snk" 
+      EnglishName="Soninke "
+      FrenchName="soninké"/>
+    <language terminology="sog" 
+      EnglishName="Sogdian"
+      FrenchName="sogdien"/>
+    <language terminology="som" iso639-1="so"
+      EnglishName="Somali"
+      FrenchName="somali"/>
+    <language terminology="son" 
+      EnglishName="Songhai"
+      FrenchName="songhai"/>
+    <language terminology="sot" iso639-1="st"
+      EnglishName="Sotho, Southern "
+      FrenchName="sotho du Sud"/>
+    <language terminology="spa" iso639-1="es"
+      EnglishName="Spanish; Castilian"
+      FrenchName="espagnol; castillan"/>
+    <language terminology="sqi" bibliographic="alb" iso639-1="sq"
+      EnglishName="Albanian"
+      FrenchName="albanais"/>
+    <language terminology="srd" iso639-1="sc"
+      EnglishName="Sardinian"
+      FrenchName="sarde"/>
+    <language terminology="srp" bibliographic="scc" iso639-1="sr" 
+      EnglishName="Serbian"
+      FrenchName="serbe"/>
+    <language terminology="srr" 
+      EnglishName="Serer"
+      FrenchName="sérère"/>
+    <language terminology="ssa" 
+      EnglishName="Nilo-Saharan (Other)"
+      FrenchName="nilo-sahariennes, autres langues"/>
+    <language terminology="ssw" iso639-1="ss"
+      EnglishName="Swati"
+      FrenchName="swati"/>
+    <language terminology="suk" 
+      EnglishName="Sukuma"
+      FrenchName="sukuma"/>
+    <language terminology="sun" iso639-1="su"
+      EnglishName="Sundanese"
+      FrenchName="soundanais"/>
+    <language terminology="sus" 
+      EnglishName="Susu"
+      FrenchName="soussou"/>
+    <language terminology="sux" 
+      EnglishName="Sumerian"
+      FrenchName="sumérien"/>
+    <language terminology="swa" iso639-1="sw"
+      EnglishName="Swahili"
+      FrenchName="swahili"/>
+    <language terminology="swe" iso639-1="sv"
+      EnglishName="Swedish"
+      FrenchName="suédois"/>
+    <language terminology="syr" 
+      EnglishName="Syriac"
+      FrenchName="syriaque"/>
+    <language terminology="tah" iso639-1="ty"
+      EnglishName="Tahitian"
+      FrenchName="tahitien"/>
+    <language terminology="tai" 
+      EnglishName="Tai (Other)"
+      FrenchName="thaïes, autres langues"/>
+    <language terminology="tam" iso639-1="ta"
+      EnglishName="Tamil"
+      FrenchName="tamoul"/>
+    <language terminology="tat" iso639-1="tt"
+      EnglishName="Tatar"
+      FrenchName="tatar"/>
+    <language terminology="tel" iso639-1="te"
+      EnglishName="Telugu"
+      FrenchName="télougou"/>
+    <language terminology="tem" 
+      EnglishName="Timne"
+      FrenchName="temne"/>
+    <language terminology="ter" 
+      EnglishName="Tereno"
+      FrenchName="tereno"/>
+    <language terminology="tet" 
+      EnglishName="Tetum"
+      FrenchName="tetum"/>
+    <language terminology="tgk" iso639-1="tg"
+      EnglishName="Tajik"
+      FrenchName="tadjik"/>
+    <language terminology="tgl" iso639-1="tl"
+      EnglishName="Tagalog"
+      FrenchName="tagalog"/>
+    <language terminology="tha" iso639-1="th"
+      EnglishName="Thai"
+      FrenchName="thaï"/>
+    <language terminology="bod" bibliographic="tib" iso639-1="bo" 
+      EnglishName="Tibetan"
+      FrenchName="tibétain"/>
+    <language terminology="tig" 
+      EnglishName="Tigre"
+      FrenchName="tigré"/>
+    <language terminology="tir" iso639-1="ti"
+      EnglishName="Tigrinya"
+      FrenchName="tigrigna"/>
+    <language terminology="tiv" 
+      EnglishName="Tiv"
+      FrenchName="tiv"/>
+    <language terminology="tkl" 
+      EnglishName="Tokelau"
+      FrenchName="tokelau"/>
+    <language terminology="tli" 
+      EnglishName="Tlingit"
+      FrenchName="tlingit"/>
+    <language terminology="tmh" 
+      EnglishName="Tamashek"
+      FrenchName="tamacheq"/>
+    <language terminology="tog" 
+      EnglishName="Tonga (Nyasa) "
+      FrenchName="tonga (Nyasa)"/>
+    <language terminology="ton" iso639-1="to"
+      EnglishName="Tonga (Tonga Islands)"
+      FrenchName="tongan (Îles Tonga)"/>
+    <language terminology="tpi" 
+      EnglishName="Tok Pisin"
+      FrenchName="tok pisin"/>
+    <language terminology="tsi" 
+      EnglishName="Tsimshian"
+      FrenchName="tsimshian"/>
+    <language terminology="tsn" iso639-1="tn"
+      EnglishName="Tswana"
+      FrenchName="tswana"/>
+    <language terminology="tso" iso639-1="ts"
+      EnglishName="Tsonga"
+      FrenchName="tsonga"/>
+    <language terminology="tuk" iso639-1="tk"
+      EnglishName="Turkmen"
+      FrenchName="turkmène"/>
+    <language terminology="tum" 
+      EnglishName="Tumbuka"
+      FrenchName="tumbuka"/>
+    <language terminology="tup" 
+      EnglishName="Tupi languages"
+      FrenchName="tupi, langues"/>
+    <language terminology="tur" iso639-1="tr"
+      EnglishName="Turkish"
+      FrenchName="turc"/>
+    <language terminology="tut" 
+      EnglishName="Altaic (Other)"
+      FrenchName="altaïques, autres langues"/>
+    <language terminology="tvl" 
+      EnglishName="Tuvalu"
+      FrenchName="tuvalu"/>
+    <language terminology="twi" iso639-1="tw"
+      EnglishName="Twi"
+      FrenchName="twi"/>
+    <language terminology="tyv" 
+      EnglishName="Tuvinian"
+      FrenchName="touva"/>
+    <language terminology="uga" 
+      EnglishName="Ugaritic"
+      FrenchName="ougaritique"/>
+    <language terminology="uig" iso639-1="ug"
+      EnglishName="Uighur"
+      FrenchName="ouïgour"/>
+    <language terminology="ukr" iso639-1="uk"
+      EnglishName="Ukrainian"
+      FrenchName="ukrainien"/>
+    <language terminology="umb" 
+      EnglishName="Umbundu"
+      FrenchName="umbundu"/>
+    <language terminology="und" 
+      EnglishName="Undetermined "
+      FrenchName="indéterminée"/>
+    <language terminology="urd" iso639-1="ur"
+      EnglishName="Urdu"
+      FrenchName="ourdou"/>
+    <language terminology="uzb" iso639-1="uz"
+      EnglishName="Uzbek"
+      FrenchName="ouszbek"/>
+    <language terminology="vai" 
+      EnglishName="Vai"
+      FrenchName="vaï"/>
+    <language terminology="ven" 
+      EnglishName="Venda"
+      FrenchName="venda"/>
+    <language terminology="vie" iso639-1="vi"
+      EnglishName="Vietnamese"
+      FrenchName="vietnamien"/>
+    <language terminology="vol" iso639-1="vo"
+      EnglishName="Volapük"
+      FrenchName="volapük"/>
+    <language terminology="vot" 
+      EnglishName="Votic"
+      FrenchName="vote"/>
+    <language terminology="wak" 
+      EnglishName="Wakashan languages"
+      FrenchName="wakashennes, langues"/>
+    <language terminology="wal" 
+      EnglishName="Walamo"
+      FrenchName="walamo"/>
+    <language terminology="war" 
+      EnglishName="Waray"
+      FrenchName="waray"/>
+    <language terminology="was" 
+      EnglishName="Washo"
+      FrenchName="washo"/>
+    <language terminology="cym" bibliographic="wel" iso639-1="cy" 
+      EnglishName="Welsh"
+      FrenchName="gallois"/>
+    <language terminology="wen" 
+      EnglishName="Sorbian languages"
+      FrenchName="sorabes, langues"/>
+    <language terminology="wln" iso639-1="wa"
+      EnglishName="Walloon"
+      FrenchName="wallon"/>
+    <language terminology="wol" iso639-1="wo"
+      EnglishName="Wolof"
+      FrenchName="wolof"/>
+    <language terminology="xho" iso639-1="xh"
+      EnglishName="Xhosa"
+      FrenchName="xhosa"/>
+    <language terminology="yao" 
+      EnglishName="Yao"
+      FrenchName="yao"/>
+    <language terminology="yap" 
+      EnglishName="Yapese"
+      FrenchName="yapois"/>
+    <language terminology="yid" iso639-1="yi"
+      EnglishName="Yiddish"
+      FrenchName="yiddish"/>
+    <language terminology="yor" iso639-1="yo"
+      EnglishName="Yoruba"
+      FrenchName="yoruba"/>
+    <language terminology="ypk" 
+      EnglishName="Yupik languages"
+      FrenchName="yupik, langues"/>
+    <language terminology="zap" 
+      EnglishName="Zapotec"
+      FrenchName="zapotèque"/>
+    <language terminology="zen" 
+      EnglishName="Zenaga"
+      FrenchName="zenaga"/>
+    <language terminology="zha" iso639-1="za"
+      EnglishName="Zhuang; Chuang"
+      FrenchName="zhuang; chuang"/>
+    <language terminology="zho" bibliographic="chi" iso639-1="zh" 
+      EnglishName="Chinese"
+      FrenchName="chinois"/>
+    <language terminology="znd" 
+      EnglishName="Zande"
+      FrenchName="zandé"/>
+    <language terminology="zul" iso639-1="zu"
+      EnglishName="Zulu"
+      FrenchName="zoulou"/>
+    <language terminology="zun" 
+      EnglishName="Zuni"
+      FrenchName="zuni"/>
   </languagecodes>
   <scriptcodes>
+    <!--
+      See:
+      http://www.evertype.com/standards/iso15924/document/index.html
+      and
+      http://www.evertype.com/standards/iso15924/document/dis15924.pdf
+      Script codes probably should be updated to include the script number
+      and the French name.
+     -->
     <script name="Abur" code="Ab"/>
     <script name="Ahom" code="Ah"/>
     <script name="Aiha (Kesh)" code="Ai"/>
diff --git a/conf/xml-lang.xsl b/conf/xml-lang.xsl
new file mode 100644 (file)
index 0000000..d8d3653
--- /dev/null
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<xsl:stylesheet version="1.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+  <!-- $Id$ -->
+  <!-- Copyright (C) 2002 The Apache Software Foundation. All rights reserved.
+        For details on use and redistribution please refer to the LICENSE
+        file included with these sources. -->
+  <xsl:output method="text" encoding="iso-8859-1"/>
+
+  <xsl:template match="xml-lang"
+>/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ * Automatically generated from xml-lang.xml.  DO NOT EDIT!
+ *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ */
+  <xsl:variable name="languages">
+    <xsl:value-of select="count(./languagecodes/language)"/>
+  </xsl:variable>
+  <xsl:variable name="countries">
+    <xsl:value-of select="count(./countrycodes/country)"/>
+  </xsl:variable>
+  <xsl:variable name="scripts">
+    <xsl:value-of select="count(./scriptcodes/script)"/>
+  </xsl:variable>
+/*
+ * $Id<xsl:text>$</xsl:text>
+ * Copyright (C) 2002 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the LICENSE
+ * file included with these sources.
+ */
+
+package org.apache.fop.datatypes;
+
+import java.util.HashMap;
+
+/**
+ * A class for accessing and validating:&lt;br&gt;
+ * ISO 3166 country codes.&lt;br&gt;
+ * ISO 639-2T, 639-2B and 639-1 language codes.&lt;br&gt;
+ * ISO 15924 script codes.&lt;br&gt;
+ * @see 
+&lt;a href="http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/index.html"
+&gt;http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/index.html&lt;/a&gt;
+ * @see &lt;a href="http://www.loc.gov/standards/iso639-2/"
+&gt;http://www.loc.gov/standards/iso639-2/&lt;/a&gt;
+ * @see &lt;a href="http://www.evertype.com/standards/iso15924/document/index.html"
+&gt;http://www.evertype.com/standards/iso15924/document/index.html&lt;/a&gt;
+ */
+public class CountryLanguageScript {
+
+    /**
+     * Map of English country names keyed on ISO 3166 country code.
+     */
+    private static final HashMap iso3166ToName;
+
+    /**
+     * Map of English language names keyed on ISO 639-2 terminology code.
+     */
+    private static final HashMap iso639_2T_ToENLang;
+
+    /**
+     * Map of French language names keyed on ISO 639-2 terminology code.
+     */
+    private static final HashMap iso639_2T_ToFRLang;
+
+    /**
+     * Map of ISO 639-2 terminology codes keyed on ISO 639-2 bibliographical
+     * code.
+     */
+    private static final HashMap iso639_2B_To_639_2T;
+
+    /**
+     * Map of ISO 639-2 terminology codes keyed on ISO 639-1 2-letter code.
+     */
+    private static final HashMap iso639_1_To_639_2T;
+
+    /**
+     * Map of English script names keyed on ISO 15924 script code.
+     */
+    private static final HashMap iso15924ToName;
+
+    static {
+        iso3166ToName = new HashMap(<xsl:value-of select="$countries"/>);
+
+        iso639_2T_ToENLang = new HashMap(<xsl:value-of select="$languages"/>);
+        iso639_2T_ToFRLang = new HashMap(<xsl:value-of select="$languages"/>);
+        iso639_2B_To_639_2T = new HashMap(<xsl:value-of select="$languages"/>);
+        iso639_1_To_639_2T = new HashMap(<xsl:value-of select="$languages"/>);
+
+        iso15924ToName = new HashMap(<xsl:value-of select="$scripts"/>);
+    <xsl:apply-templates select="countrycodes/country"/>
+    <xsl:apply-templates select="languagecodes/language"/>
+    <xsl:apply-templates select="scriptcodes/script"/>
+    }
+
+    /**
+     * Get the canonical 2-letter ISO 3166 country code corresponding
+     * to the argument.  ISO 3166 codes are upper case by convention.
+     * @param code - the <tt>String</tt> code.
+     * @return - the equivalent ISO 3166 code, or <tt>null</tt> if the
+     * code is invalid.
+     */
+    public static String canonicalCountryCode(String code) {
+        String hicode = code.toUpperCase();
+        if (iso3166ToName.get(hicode) != null)
+            return hicode;
+        return null;
+    }
+
+    /**
+     * Get the English name corresponding to a country code.
+     * @param code - the <tt>String</tt> code.
+     * @return - the English name of the country, or <tt>null</tt> if the
+     * code is invalid.
+     */
+    public static String getCountryName(String code) {
+      return (String)(iso3166ToName.get(canonicalCountryCode(code)));
+    }
+
+    /**
+     * Get the canonical 3-letter ISO 639-2 Terminology code corresponding
+     * to a language code.  The argument may be an ISO 639-2 Terminology
+     * code, an ISO 639-2 Bibliographic code, or an ISO 639-1 2-letter code.
+     * By convention, language codes are expressed in lower case.
+     * @param code - the <tt>String</tt> code.
+     * @return - the equivalent ISO 639-2T code, or <tt>null</tt> if the
+     * code is invalid.
+     */
+    public static String canonicalLangCode(String code) {
+        String biblio;
+        String iso639_1;
+        String locode = code.toLowerCase();
+        // Check for valid terminology code
+        if (iso639_2T_ToENLang.get(locode) != null)
+            return locode;
+        // Check for valid 2-letter code
+        if ((iso639_1 = (String)(iso639_1_To_639_2T.get(locode))) != null)
+            return iso639_1;
+        // Check for valid bibliographic code
+        if ((biblio = (String)(iso639_2B_To_639_2T.get(locode))) != null)
+            return biblio;
+        return null;
+    }
+
+    /**
+     * Get the English name corresponding to a language code.
+     * @param code - the <tt>String</tt> code.
+     * @return - the English name of the language, or <tt>null</tt> if the
+     * code is invalid.
+     */
+    public static String getEnglishName(String code) {
+      return (String)(iso639_2T_ToENLang.get(canonicalLangCode(code)));
+    }
+
+    /**
+     * Get the French name corresponding to a language code.
+     * @param code - the <tt>String</tt> code.
+     * @return - the French name of the language, or <tt>null</tt> if the
+     * code is invalid.
+     */
+    public static String getFrenchName(String code) {
+      return (String)(iso639_2T_ToFRLang.get(canonicalLangCode(code)));
+    }
+
+    /**
+     * Get the canonical 2-letter ISO 15924 script code corresponding
+     * to the argument.  ISO 15924 codes are camel case by convention.
+     * @param code - the <tt>String</tt> code.
+     * @return - the equivalent ISO 15924 code, or <tt>null</tt> if the
+     * code is invalid.
+     */
+    public static String canonicalScriptCode(String code) {
+        if (code.length() != 2)
+            return null;
+        String hilocode = code.substring(0,1).toUpperCase()
+                                        + code.substring(1).toLowerCase();
+        if (iso15924ToName.get(hilocode) != null)
+            return hilocode;
+        return null;
+    }
+
+    /**
+     * Get the English name corresponding to a script code.
+     * @param code - the <tt>String</tt> code.
+     * @return - the English name of the script, or <tt>null</tt> if the
+     * code is invalid.
+     */
+    public static String getScriptName(String code) {
+      return (String)(iso15924ToName.get(canonicalScriptCode(code)));
+    }
+
+}
+</xsl:template>
+  <xsl:template match="countrycodes/country">
+        iso3166ToName.put("<xsl:value-of select="@code"/>", "<xsl:value-of select="@name"/>");
+  </xsl:template>
+  <xsl:template match="languagecodes/language">
+        // <xsl:value-of select="@EnglishName"/>
+        iso639_2T_ToENLang.put("<xsl:value-of select="@terminology"/>", "<xsl:value-of select="@EnglishName"/>");
+        iso639_2T_ToFRLang.put("<xsl:value-of select="@terminology"/>", "<xsl:value-of select="@FrenchName"/>");
+    <xsl:apply-templates select="@bibliographic"/>
+    <xsl:apply-templates select="@iso639-1"/>
+  </xsl:template>
+  <xsl:template match="@bibliographic">
+        iso639_2B_To_639_2T.put("<xsl:value-of select="."/>", "<xsl:value-of select="../@terminology"/>");
+  </xsl:template>
+  <xsl:template match="@iso639-1">
+        iso639_1_To_639_2T.put("<xsl:value-of select="."/>", "<xsl:value-of select="../@terminology"/>");
+  </xsl:template>
+  <xsl:template match="scriptcodes/script">
+        iso15924ToName.put("<xsl:value-of select="@code"/>", "<xsl:value-of select="@name"/>");
+  </xsl:template>
+</xsl:stylesheet>