Tableaux de noms de langues pour listes select, sites multilingues, langues officielles de l'Union Européenne + toutes les langues du monde (ISO 639-1)
- le 16/06/2010 à 23:42
Les tableaux en php de la liste de toutes les langues du Monde selon la norme ISO 639-1 et des langues officielles de l'union européenne, et petite application pratique
Il arrive parfois qu'on ne soit pas forcément disposé à écrire à la main 185 options de langues pour la balise select d'un formulaire.
Alors pour vos sites multilingues, voici d'abord le tableau en php de la liste de toutes les langues de l'union européenne :
array(
'bg' => 'български',
'cs' => 'čeština',
'da' => 'dansk',
'de' => 'deutsch',
'et' => 'eesti',
'el' => 'ελληνικά',
'en' => 'english',
'es' => 'español',
'fr' => 'français',
'ga' => 'gaeilge',
'it' => 'italiano',
'lv' => 'latviešu',
'lt' => 'lietuvių',
'hu' => 'magyar',
'mt' => 'malti',
'nl' => 'nederlands',
'pl' => 'polski',
'pt' => 'português',
'ro' => 'română',
'sk' => 'slovenčina',
'sl' => 'slovenščina',
'fi' => 'suomi',
'sv' => 'svenska');Puis encore plus international, le tableau en php prêt à l'emploi de toutes les langues du Monde selon la norme ISO 639-1 :
array( //ISO 639-1
'ab' => 'Abkhaz',
'aa' => 'Afar',
'af' => 'Afrikaans',
'ak' => 'Akan',
'sq' => 'Albanian',
'am' => 'Amharic',
'ar' => 'Arabic',
'an' => 'Aragonese',
'hy' => 'Armenian',
'as' => 'Assamese',
'av' => 'Avaric',
'ae' => 'Avestan',
'ay' => 'Aymara',
'az' => 'Azerbaijani',
'bm' => 'Bambara',
'ba' => 'Bashkir',
'eu' => 'Basque',
'be' => 'Belarusian',
'bn' => 'Bengali',
'bh' => 'Bihari',
'bi' => 'Bislama',
'bs' => 'Bosnian',
'br' => 'Breton',
'bg' => 'Bulgarian',
'my' => 'Burmese',
'ca' => 'Catalan; Valencian',
'ch' => 'Chamorro',
'ce' => 'Chechen',
'ny' => 'Chichewa',
'zh' => 'Chinese',
'cv' => 'Chuvash',
'kw' => 'Cornish',
'co' => 'Corsican',
'cr' => 'Cree',
'hr' => 'Croatian',
'cs' => 'Czech',
'da' => 'Danish',
'dv' => 'Divehi',
'nl' => 'Dutch',
'dz' => 'Dzongkha',
'en' => 'English',
'eo' => 'Esperanto',
'et' => 'Estonian',
'ee' => 'Ewe',
'fo' => 'Faroese',
'fj' => 'Fijian',
'fi' => 'Finnish',
'fr' => 'French',
'ff' => 'Fula',
'gl' => 'Galician',
'ka' => 'Georgian',
'de' => 'German',
'el' => 'Greek, Modern',
'gn' => 'Guaraní',
'gu' => 'Gujarati',
'ht' => 'Haitian',
'ha' => 'Hausa',
'he' => 'Hebrew (modern)',
'hz' => 'Herero',
'hi' => 'Hindi',
'ho' => 'Hiri Motu',
'hu' => 'Hungarian',
'ia' => 'Interlingua',
'id' => 'Indonesian',
'ie' => 'Interlingue',
'ga' => 'Irish',
'ig' => 'Igbo',
'ik' => 'Inupiaq',
'io' => 'Ido',
'is' => 'Icelandic',
'it' => 'Italian',
'iu' => 'Inuktitut',
'ja' => 'Japanese',
'jv' => 'Javanese',
'kl' => 'Kalaallisut',
'kn' => 'Kannada',
'kr' => 'Kanuri',
'ks' => 'Kashmiri',
'kk' => 'Kazakh',
'km' => 'Khmer',
'ki' => 'Kikuyu',
'rw' => 'Kinyarwanda',
'ky' => 'Kirghiz',
'kv' => 'Komi',
'kg' => 'Kongo',
'ko' => 'Korean',
'ku' => 'Kurdish',
'kj' => 'Kwanyama',
'la' => 'latine',
'lb' => 'Luxembourgish',
'lg' => 'Luganda',
'li' => 'Limburgish',
'ln' => 'Lingála',
'lo' => 'Lao',
'lt' => 'Lithuanian',
'lu' => 'Luba-Katanga',
'lv' => 'Latvian',
'gv' => 'Manx',
'mk' => 'Macedonian',
'mg' => 'Malagasy',
'ms' => 'Malay',
'ml' => 'Malayalam',
'mt' => 'Maltese',
'mi' => 'Māori',
'mr' => 'Marathi',
'mh' => 'Marshallese',
'mn' => 'Mongolian',
'na' => 'Nauru',
'nv' => 'Navajo',
'nb' => 'Norwegian Bokmål',
'nd' => 'North Ndebele',
'ne' => 'Nepali',
'ng' => 'Ndonga',
'nn' => 'Norwegian Nynorsk',
'no' => 'Norwegian',
'ii' => 'Nuosu',
'nr' => 'South Ndebele',
'oc' => 'Occitan (after 1500)',
'oj' => 'Ojibwa',
'cu' => 'Old Church Slavonic',
'om' => 'Oromo',
'or' => 'Oriya',
'os' => 'Ossetian',
'pa' => 'Panjabi',
'pi' => 'Pāli',
'fa' => 'Persian',
'pl' => 'Polish',
'ps' => 'Pashto',
'pt' => 'Portuguese',
'qu' => 'Quechua',
'rm' => 'Romansh',
'rn' => 'Kirundi',
'ro' => 'Romanian, Moldavian',
'ru' => 'Russian',
'sa' => 'Sanskrit',
'sc' => 'Sardinian',
'sd' => 'Sindhi',
'se' => 'Northern Sami',
'sm' => 'Samoan',
'sg' => 'Sango',
'sr' => 'Serbian',
'gd' => 'Scottish Gaelic',
'sn' => 'Shona',
'si' => 'Sinhala',
'sk' => 'Slovak',
'sl' => 'Slovene',
'so' => 'Somali',
'st' => 'Southern Sotho',
'es' => 'Spanish',
'su' => 'Sundanese',
'sw' => 'Swahili',
'ss' => 'Swati',
'sv' => 'Swedish',
'ta' => 'Tamil',
'te' => 'Telugu',
'tg' => 'Tajik',
'th' => 'Thai',
'ti' => 'Tigrinya',
'bo' => 'Tibetan Standard',
'tk' => 'Turkmen',
'tl' => 'Tagalog',
'tn' => 'Tswana',
'to' => 'Tonga',
'tr' => 'Turkish',
'ts' => 'Tsonga',
'tt' => 'Tatar',
'tw' => 'Twi',
'ty' => 'Tahitian',
'ug' => 'Uighur',
'uk' => 'Ukrainian',
'ur' => 'Urdu',
'uz' => 'Uzbek',
've' => 'Venda',
'vi' => 'Vietnamese',
'vo' => 'Volapük',
'wa' => 'Walloon',
'cy' => 'Welsh',
'wo' => 'Wolof',
'fy' => 'Western Frisian',
'xh' => 'Xhosa',
'yi' => 'Yiddish',
'yo' => 'Yoruba',
'za' => 'Zhuang',
'zu' => 'Zulu');Et pour finir, un petit script php qui permettra de générer une balise select valide XHTML
//$langs = array(fr => 'français', etc. );
function langSelect($langs)
{
$data = '<select>'."\n".'<option value="">...</option>'."\n";
foreach($langs as $key => $lang)
$data .= '<option value="'.$key.'">'.$lang.'</option>'."\n";
return $data .= '</select>'."\n";
}
// echo langSelect($langs);