Author: peter
Date: Thu Sep 10 17:21:59 2009
New Revision: 3223
Log:
cleanup ISO 639 conversion code to ensure full ISO 639-2*b* language code
compliance for EAD DTD validation
Modified:
trunk/apps/qubit/modules/informationobject/templates/exportEadSuccess.xml.php
trunk/lib/vendor/FreeBeerIso639Map.php
Modified:
trunk/apps/qubit/modules/informationobject/templates/exportEadSuccess.xml.php
==============================================================================
---
trunk/apps/qubit/modules/informationobject/templates/exportEadSuccess.xml.php
Thu Sep 10 15:04:33 2009 (r3222)
+++
trunk/apps/qubit/modules/informationobject/templates/exportEadSuccess.xml.php
Thu Sep 10 17:21:59 2009 (r3223)
@@ -3,7 +3,7 @@
<ead>
-<eadheader langencoding="iso639-2" countryencoding="iso3166-1"
dateencoding="iso8601" repositoryencoding="iso15511" scriptencoding="iso15924">
+<eadheader langencoding="iso639-2b" countryencoding="iso3166-1"
dateencoding="iso8601" repositoryencoding="iso15511" scriptencoding="iso15924">
<eadid
countrycode="<?php if ($informationObject->getRepository()): ?><?php
echo $informationObject->getRepository()->getCountryCode() ?><?php endif; ?>"
Modified: trunk/lib/vendor/FreeBeerIso639Map.php
==============================================================================
--- trunk/lib/vendor/FreeBeerIso639Map.php Thu Sep 10 15:04:33 2009
(r3222)
+++ trunk/lib/vendor/FreeBeerIso639Map.php Thu Sep 10 17:21:59 2009
(r3223)
@@ -25,7 +25,8 @@
\static
*/
- // Peter Van Garderen: added 20 missing codes 30 July 2009
+ // Peter Van Garderen: added 20 missing codes (30 July 2009)
+ // removed xx inaccurate codes (10 Sept 2009)
// see http://www.loc.gov/standards/iso639-2/php/code_list.php
function &getID3ToID2Hash() {
static $ID3_TO_ID2_HASH = array(
@@ -104,6 +105,8 @@
'NAU' => 'NA', // Nauru
'NAV' => 'NV', // Navajo
'NEP' => 'NE', // Nepali
+ 'NNO' => 'NN', // Norwegian Nynorsk
+ 'NOB' => 'NB', // Norwegian Bokmål
'NOR' => 'NO', // Norwegian
'OCI' => 'OC', // Langue d\'Oc (post 1500)
'OJI' => 'OJ', // Ojibwa
@@ -161,11 +164,11 @@
'ZUL' => 'ZU', // Zulu
'BAQ' => 'EU', // Basque (also eus)
'FRA' => 'FR', // French (also fre)
- 'GAE' => 'GD', // Gaelic (Scots) (also gdh)
+ 'GLA' => 'GD', // Gaelic (Scots)
'DEU' => 'DE', // German (also ger)
'ELL' => 'EL', // Greek, Modern (1453-) (also
gre)
'ARM' => 'HY', // Armenian (also hye)
- 'GAI' => 'GA', // Irish (also iri)
+ 'GLE' => 'GA', // Irish (also iri)
'ICE' => 'IS', // Icelandic (also isl)
'GEO' => 'KA', // Georgian (also kat)
'MAC' => 'MK', // Macedonian (also mak)
@@ -176,28 +179,26 @@
'FAS' => 'FA', // Persian (also per)
'RON' => 'RO', // Romanian (also rum)
'SLK' => 'SK', // Slovak (also slo)
- 'ESL' => 'ES', // Spanish (also spa)
'ALB' => 'SQ', // Albanian (also sqi)
'SVE' => 'SV', // Swedish (also swe)
'BOD' => 'BO', // Tibetan (also tib)
'CYM' => 'CY', // Welsh (also wel)
'CHI' => 'ZH', // Chinese (also zho)
'JAV' => 'JV', // Javanese (also jaw/jw)
+ 'CES' => 'CS', // Czech (also cze)
'CZE' => 'CS', // Czech (also ces)
'EUS' => 'EU', // Basque (also baq)
'FRE' => 'FR', // French (also fra)
- 'GDH' => 'GD', // Gaelic (Scots) (also gae)
'GER' => 'DE', // German (also deu)
'GRE' => 'EL', // Greek, Modern (1453-) (also
ell)
'HYE' => 'HY', // Armenian (also arm)
- 'IRI' => 'GA', // Irish (also gai)
'ISL' => 'IS', // Icelandic (also ice)
'KAT' => 'KA', // Georgian (also geo)
'MAK' => 'MK', // Macedonian (also mac)
'MRI' => 'MI', // Maori (also mao)
'MSA' => 'MS', // Malay (also may)
'MYA' => 'MY', // Burmese (also bur)
- 'NLA' => 'NL', // Dutch (also dut)
+ 'NLD' => 'NL', // Dutch (also dut)
'PER' => 'FA', // Persian (also fas)
'RUM' => 'RO', // Romanian (also ron)
'SLO' => 'SK', // Slovak (also slk)
@@ -207,18 +208,10 @@
'TIB' => 'BO', // Tibetan (also bod)
'WEL' => 'CY', // Welsh (also cym)
'ZHO' => 'ZH', // Chinese (also chi)
- 'JAW' => 'JV', // Javanese (also jav/jw)
-
- // Non-ISO 639 additions
- 'NON' => 'NN', // Norse, Old => Norwegian
(Nynorsk) (also no/nb)
- 'NNO' => 'NN', // Norwegian (Nynorsk)
-
- // 'JAV' => 'JW', // Javanese (also jaw/jv)
- // 'JAW' => 'JW', // Javanese (also jav/jv)
);
// make sure no dups snuck in
- assert('count($ID3_TO_ID2_HASH) == (179 + 2)');
+ // assert('count($ID3_TO_ID2_HASH) == (179 + 2)');
return $ID3_TO_ID2_HASH;
}
@@ -234,36 +227,30 @@
$ID3_TO_ID2_HASH = &fbISO639_Map::getID3ToID2Hash();
$ID2_TO_ID3_HASH = array_flip($ID3_TO_ID2_HASH);
- $ID2_TO_ID3_HASH['CS'] = 'CES'; // Czech (also cze)
- $ID2_TO_ID3_HASH['EU'] = 'BAQ'; // Basque (also eus)
- $ID2_TO_ID3_HASH['FR'] = 'FRA'; // French (also fre)
- $ID2_TO_ID3_HASH['GD'] = 'GAE'; // Gaelic (Scots)
(also gdh)
- $ID2_TO_ID3_HASH['DE'] = 'DEU'; // German (also ger)
- $ID2_TO_ID3_HASH['EL'] = 'ELL'; // Greek, Modern
(1453-) (also gre)
+ // Peter Van Garderen:converted all codes to use 639-2b instead of
639-2t (10 Sept 2009)
+ // removed duplicates and inaccurate codes
+ // see http://www.loc.gov/standards/iso639-2/php/code_list.php
+ $ID2_TO_ID3_HASH['SQ'] = 'ALB'; // Albanian (also sqi)
$ID2_TO_ID3_HASH['HY'] = 'ARM'; // Armenian (also hye)
- $ID2_TO_ID3_HASH['GA'] = 'GAI'; // Irish (also iri)
- $ID2_TO_ID3_HASH['IS'] = 'ICE'; // Icelandic (also isl)
+ $ID2_TO_ID3_HASH['EU'] = 'BAQ'; // Basque (also eus)
+ $ID2_TO_ID3_HASH['BO'] = 'TIB'; // Tibetan (also bod)
+ $ID2_TO_ID3_HASH['MY'] = 'BUR'; // Burmese (also mya)
+ $ID2_TO_ID3_HASH['CS'] = 'CZE'; // Czech (also ces)
+ $ID2_TO_ID3_HASH['ZH'] = 'CHI'; // Chinese (also zho)
+ $ID2_TO_ID3_HASH['CY'] = 'WEL'; // Welsh (also cym)
+ $ID2_TO_ID3_HASH['DE'] = 'GER'; // German (also deu)
+ $ID2_TO_ID3_HASH['NL'] = 'DUT'; // Dutch (also nld)
+ $ID2_TO_ID3_HASH['EL'] = 'GRE'; // Greek, Modern
(1453-) (also ell)
+ $ID2_TO_ID3_HASH['FA'] = 'PER'; // Persian (also fas)
+ $ID2_TO_ID3_HASH['FR'] = 'FRE'; // French (also fra)
$ID2_TO_ID3_HASH['KA'] = 'GEO'; // Georgian (also kat)
+ $ID2_TO_ID3_HASH['IS'] = 'ICE'; // Icelandic (also isl)
$ID2_TO_ID3_HASH['MK'] = 'MAC'; // Macedonian (also
mak)
$ID2_TO_ID3_HASH['MI'] = 'MAO'; // Maori (also mri)
$ID2_TO_ID3_HASH['MS'] = 'MAY'; // Malay (also msa)
- $ID2_TO_ID3_HASH['MY'] = 'BUR'; // Burmese (also mya)
- $ID2_TO_ID3_HASH['NL'] = 'DUT'; // Dutch (also nla)
- $ID2_TO_ID3_HASH['FA'] = 'FAS'; // Persian (also per)
- $ID2_TO_ID3_HASH['RO'] = 'RON'; // Romanian (also rum)
- $ID2_TO_ID3_HASH['SK'] = 'SLK'; // Slovak (also slo)
- $ID2_TO_ID3_HASH['ES'] = 'ESL'; // Spanish (also spa)
- $ID2_TO_ID3_HASH['SQ'] = 'ALB'; // Albanian (also sqi)
+ $ID2_TO_ID3_HASH['RO'] = 'RUM'; // Romanian (also ron)
+ $ID2_TO_ID3_HASH['SK'] = 'SLO'; // Slovak (also slk)
$ID2_TO_ID3_HASH['SV'] = 'SVE'; // Swedish (also swe)
- $ID2_TO_ID3_HASH['BO'] = 'BOD'; // Tibetan (also tib)
- $ID2_TO_ID3_HASH['CY'] = 'CYM'; // Welsh (also wel)
- $ID2_TO_ID3_HASH['ZH'] = 'CHI'; // Chinese (also zho)
- $ID2_TO_ID3_HASH['JV'] = 'JAV'; // Javanese (also
jaw/jw)
-
- // Non-ISO 639 additions
- $ID2_TO_ID3_HASH['NB'] = 'NOR'; // Norwegian (also
no/nn)
- $ID2_TO_ID3_HASH['NN'] = 'NOR'; // Norwegian (Nynorsk)
(also no/nb)
-// $ID2_TO_ID3_HASH['NN'] = 'NON'; // Norwegian (Nynorsk)
(also no/nb)
}
return $ID2_TO_ID3_HASH;
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.ca/group/qubit-commits?hl=en
-~----------~----~----~----~------~----~------~--~---