diff options
Diffstat (limited to 'perl-install/network.pm')
0 files changed, 0 insertions, 0 deletions
![]() |
index : drakx | |
Mageia Installer and base platform for many utilities | Thierry Vignaud [tv] |
summaryrefslogtreecommitdiffstats |
package lang; # $Id$
use diagnostics;
use strict;
use common;
use log;
#- key: lang name (locale name for some (~5) special cases needing
#- extra distinctions)
#- [0]: lang name in english
#- [1]: transliterated locale name in the locale name (used for sorting)
#- [2]: default locale name to use for that language if there isn't
#- an existing locale for the combination language+country choosen
#- [3]: geographic groups that this language belongs to (for displaying
#- in the menu grouped in smaller lists), 1=Europe, 2=Asia, 3=Africa,
#- 4=Oceania&Pacific, 5=America (if you wonder, it's the order
#- used in the olympic flag)
#- [4]: special value for LANGUAGE variable (if different of the default
#- of 'll_CC:ll_DD:ll' (ll_CC: locale (if exist) resulting of the
#- combination of chosen lang (ll) and country (CC), ll_DD: the
#- default locale shown here (field [2]) and ll: the language (the key))
our %langs = (
'af' => [ 'Afrikaans', 'Afrikaans', 'af_ZA', ' 3 ', 'iso-8859-1' ],
'am' => [ 'Amharic', 'ZZ emarNa', 'am_ET', ' 3 ', 'utf_am' ],
'ar' => [ 'Arabic', 'AA Arabic', 'ar_EG', ' 23 ', 'utf_ar' ],
'as' => [ 'Assamese', 'ZZ Assamese', 'as_IN', ' 2 ', 'utf_bn' ],
'az' => [ 'Azeri (Latin)', 'Azerbaycanca', 'az_AZ', ' 2 ', 'utf_az' ],
'be' => [ 'Belarussian', 'Belaruskaya', 'be_BY', '1 ', 'cp1251' ],
#-'ber' => [ 'Berber', 'ZZ Tamazight', 'ber_MA',' 3 ', 'unicode' ],
'bg' => [ 'Bulgarian', 'Blgarski', 'bg_BG', '1 ', 'cp1251' ],
'bn' => [ 'Bengali', 'ZZ Bengali', 'bn_BD', ' 2 ', 'utf_bn' ],
'br' => [ 'Breton', 'Brezhoneg', 'br_FR', '1 ', 'iso-8859-15', 'br:fr_FR:fr' ],
'bs' => [ 'Bosnian', 'Bosanski', 'bs_BA', '1 ', 'iso-8859-2' ],
'ca' => [ 'Catalan', 'Catala', 'ca_ES', '1 ', 'iso-8859-15', 'ca:es_ES:es' ],
'cs' => [ 'Czech', 'Cestina', 'cs_CZ', '1 ', 'iso-8859-2' ],
'cy' => [ 'Welsh', 'Cymraeg', 'cy_GB', '1 ', 'utf_lat8', 'cy:en_GB:en' ],
'da' => [ 'Danish', 'Dansk', 'da_DK', '1 ', 'iso-8859-15' ],
'de' => [ 'German', 'Deutsch', 'de_DE', '1 ', 'iso-8859-15' ],
#-'dz' => [ 'Buthanese', 'ZZ Dzhonka', 'dz_BT', ' 2 ', 'unicode' ],
'el' => [ 'Greek', 'Ellynika', 'el_GR', '1 ', 'iso-8859-7' ],
'en_GB' => [ 'English', 'English', 'en_GB', '12345', 'iso-8859-15' ],
'en_US' => [ 'English (American)', 'English (American)', 'en_US', ' 5', 'C' ],
'en_IE' => [ 'English (Ireland)', 'English (Ireland)', 'en_IE', '1 ', 'iso-8859-15', 'en_IE:en_GB:en' ],
'eo' => [ 'Esperanto', 'Esperanto', 'eo_XX', '12345', 'unicode' ],
'es' => [ 'Spanish', 'Espanol', 'es_ES', '1 3 5', 'iso-8859-15' ],
'et' => [ 'Estonian', 'Eesti', 'et_EE', '1 ', 'iso-8859-15' ],
'eu' => [ 'Euskara (Basque)', 'Euskara', 'eu_ES', '1 ', 'iso-8859-15' ],
'fa' => [ 'Farsi (Iranian)', 'AA Farsi', 'fa_IR', ' 2 ', 'utf_ar' ],
'fi' => [ 'Finnish (Suomi)', 'Suomi', 'fi_FI', '1 ', 'iso-8859-15' ],
'fo' => [ 'Faroese', 'Foroyskt', 'fo_FO', '1 ', 'iso-8859-1' ],
'fr' => [ 'French', 'Francais', 'fr_FR', '1 345', 'iso-8859-15' ],
'fur' => [ 'Furlan', 'Furlan', 'fur_IT', '1 ', 'iso-8859-15', 'fur:it_IT:it' ],
'fy' => [ 'Frisian', 'Frysk', 'fy_NL', '1 ', 'iso-8859-1' ],
'ga' => [ 'Gaelic (Irish)', 'Gaeilge', 'ga_IE', '1 ', 'iso-8859-15', 'ga:en_IE:en_GB:en' ],
#'gd' => [ 'Gaelic (Scottish)', 'Gaidhlig', 'gd_GB', '1 ', 'utf_lat8', 'gd:en_GB:en' ],
'gl' => [ 'Galician', 'Galego', 'gl_ES', '1 ', 'iso-8859-15', 'gl:es_ES:es:pt:pt_BR' ],
#'gn' => [ 'Guarani', 'Avane-e', 'gn_PY', ' 5', 'utf8', 'gn:es_PY:es' ],
'gu' => [ 'Gujarati', 'ZZ Gujarati', 'gu_IN', ' 2 ', 'unicode' ],
#'gv' => [ 'Gaelic (Manx)', 'Gaelg', 'gv_GB', '1 ', 'utf_lat8', 'gv:en_GB:en' ],
'he' => [ 'Hebrew', 'AA Ivrit', 'he_IL', ' 2 ', 'utf_he' ],
'hi' => [ 'Hindi', 'ZZ Hindi', 'hi_IN', ' 2 ', 'utf_hi' ],
'hr' => [ 'Croatian', 'Hrvatski', 'hr_HR', '1 ', 'iso-8859-2' ],
'hu' => [ 'Hungarian', 'Magyar', 'hu_HU', '1 ', 'iso-8859-2' ],
'hy' => [ 'Armenian', 'ZZ Armenian', 'hy_AM', ' 2 ', 'utf_hy' ],
# locale not done yet
#'ia' => [ 'Interlingua', 'Interlingua', 'ia_XX', '1 5', 'utf8' ],
'id' => [ 'Indonesian', 'Bahasa Indonesia', 'id_ID', ' 2 ', 'iso-8859-1' ],
'is' => [ 'Icelandic', 'Islenska', 'is_IS', '1 ', 'iso-8859-1' ],
'it' => [ 'Italian', 'Italiano', 'it_IT', '1 ', 'iso-8859-15' ],
'iu' => [ 'Inuktitut', 'ZZ Inuktitut', 'iu_CA', ' 5', 'utf8iu' ],
'ja' => [ 'Japanese', 'ZZ Nihongo', 'ja_JP', ' 2 ', 'jisx0208' ],
'ka' => [ 'Georgian', 'ZZ Georgian', 'ka_GE', ' 2 ', 'utf_ka' ],
'kl' => [ 'Greenlandic (inuit)', 'Kalaallisut', 'kl_GL', ' 5', 'iso-8859-1' ],
'km' => [ 'Khmer', 'ZZ Khmer', 'km_KH', ' 2 ', 'utf_km' ],
'kn' => [ 'Kannada', 'ZZ Kannada', 'kn_IN', ' 2 ', 'utf_kn' ],
'ko' => [ 'Korean', 'ZZ Korea', 'ko_KR', ' 2 ', 'ksc5601' ],
'ku' => [ 'Kurdish', 'Kurdi', 'ku_TR', ' 2 ', 'iso-8859-9' ],
#-'kw' => [ 'Cornish', 'Kernewek', 'kw_GB', '1 ', 'utf_lat8', 'kw:en_GB:en' ],
'ky' => [ 'Kyrgyz', 'Kyrgyz', 'ky_KG', ' 2 ', 'utf_cyr2' ],
#- lb_LU not yet done, using de_LU locale instead
'lb' => [ 'Luxembourgish', 'Letzebuergesch', 'de_LU', '1 ', 'iso-8859-15', 'lb:de_LU' ],
'li' => [ 'Limbourgish', 'Limburgs', 'li_NL', '1 ', 'iso-8859-15' ],
'lo' => [ 'Laotian', 'Laotian', 'lo_LA', ' 2 ', 'utf_lo' ],
'lt' => [ 'Lithuanian', 'Lietuviskai', 'lt_LT', '1 ', 'iso-8859-13' ],
#- ltg_LV locale not done yet, using lv_LV for now
'ltg' => [ 'Latgalian', 'Latgalisu', 'lv_LV', '1 ', 'iso-8859-13', 'ltg:lv' ],
'lv' => [ 'Latvian', 'Latviesu', 'lv_LV', '1 ', 'iso-8859-13' ],
'mi' => [ 'Maori', 'Maori', 'mi_NZ', ' 4 ', 'unicode' ],
'mk' => [ 'Macedonian', 'Makedonski', 'mk_MK', '1 ', 'utf_cyr1' ],
'ml' => [ 'Malayalam', 'ZZ Malayalam', 'ml_IN', ' 2 ', 'utf_ml' ],
'mn' => [ 'Mongolian', 'Mongol', 'mn_MN', ' 2 ', 'utf_cyr2' ],
'mr' => [ 'Marathi', 'ZZ Marathi', 'mr_IN', ' 2 ', 'utf_hi' ],
'ms' => [ 'Malay', 'Bahasa Melayu', 'ms_MY', ' 2 ', 'iso-8859-1' ],
'mt' => [ 'Maltese', 'Maltin', 'mt_MT', '1 3 ', 'unicode' ],
'nb' => [ 'Norwegian Bokmaal', 'Norsk, Bokmal', 'nb_NO', '1 ', 'iso-8859-1', 'nb:no' ],
'nds' => [ 'Low Saxon', 'Platduutsch', 'nds_DE', '1 ', 'iso-8859-1', 'nds_DE:nds' ],
'ne' => [ 'Nepali', 'ZZ Nepali', 'ne_NP', ' 2 ', 'unicode' ],
'nl' => [ 'Dutch', 'Nederlands', 'nl_NL', '1 ', 'iso-8859-15' ],
'nn' => [ 'Norwegian Nynorsk', 'Norsk, Nynorsk', 'nn_NO', '1 ', 'iso-8859-1', 'nn:no@nynorsk:no_NY:no:nb' ],
'oc' => [ 'Occitan', 'Occitan', 'oc_FR', '1 ', 'iso-8859-1', 'oc:fr_FR:fr' ],
'pa' => [ 'Punjabi', 'ZZ Punjabi', 'pa_IN', ' 2 ', 'unicode' ],
# 'tl' in priority position for now, as 'ph' is not yet official and 'tl'
# is used instead. Monolingual window managers won't see the menus otherwise
'ph' => [ 'Filipino', 'Filipino', 'ph_PH', ' 2 ', 'iso-8859-1', 'tl:ph' ],
'pl' => [ 'Polish', 'Polski', 'pl_PL', '1 ', 'iso-8859-2' ],
'pt' => [ 'Portuguese', 'Portugues', 'pt_PT', '1 3 ', 'iso-8859-15', 'pt_PT:pt:pt_BR' ],
'pt_BR' => [ 'Portuguese Brazil', 'Portugues do Brasil', 'pt_BR', ' 5', 'iso-8859-1', 'pt_BR:pt_PT:pt' ],
'ro' => [ 'Romanian', 'Romana', 'ro_RO', '1 ', 'iso-8859-2' ],
'ru' => [ 'Russian', 'Russkij', 'ru_RU', '12 ', 'koi8-u' ],
'sc' => [ 'Sardinian', 'Sardu', 'sc_IT', '1 ', 'iso-8859-15', 'sc:it_IT:it' ],
'se' => [ 'Saami', 'Samegiella', 'se_NO', '1 ', 'unicode' ],
'sk' => [ 'Slovak', 'Slovencina', 'sk_SK', '1 ', 'iso-8859-2' ],
'sl' => [ 'Slovenian', 'Slovenscina', 'sl_SI', '1 ', 'iso-8859-2' ],
'sq' => [ 'Albanian', 'Shqip', 'sq_AL', '1 ', 'iso-8859-1' ],
'sr' => [ 'Serbian Cyrillic', 'Srpska', 'sr_CS', '1 ', 'utf_cyr1', 'sp:sr' ],
'sr@Latn' => [ 'Serbian Latin', 'Srpska', 'sr_CS', '1 ', 'unicode', 'sh:sr@Latn' ],
#- ss_ZA not yet done, using en_ZA locale instead
'ss' => [ 'Swati', 'SiSwati', 'en_ZA', ' 3 ', 'iso-8859-1', 'ss:en_ZA' ],
'st' => [ 'Sotho', 'Sesotho', 'st_ZA', ' 3 ', 'iso-8859-1', 'st:nso:en_ZA' ],
'sv' => [ 'Swedish', 'Svenska', 'sv_SE', '1 ', 'iso-8859-1' ],
'ta' => [ 'Tamil', 'ZZ Tamil', 'ta_IN', ' 2 ', 'utf_ta' ],
'te' => [ 'Telugu', 'ZZ Telugu', 'te_IN', ' 2 ', 'unicode' ],
'tg' => [ 'Tajik', 'Tojiki', 'tg_TJ', ' 2 ', 'utf_cyr2' ],
'th' => [ 'Thai', 'ZZ Thai', 'th_TH', ' 2 ', 'tis620' ],
'tk' => [ 'Turkmen', 'Turkmence', 'tk_TM', ' 2 ', 'utf8' ],
'tr' => [ 'Turkish', 'Turkce', 'tr_TR', ' 2 ', 'iso-8859-9' ],
'tt' => [ 'Tatar', 'Tatarca', 'tt_RU', ' 2 ', 'utf8' ],
#- ug_CN locale not done yet, using ar_EG locale instead
'ug' => [ 'Uyghur', 'AA Uyghur', 'ar_EG', ' 2 ', 'utf_ar', 'ug' ],
'uk' => [ 'Ukrainian', 'Ukrayinska', 'uk_UA', '1 ', 'koi8-u' ],
'ur' => [ 'Urdu', 'AA Urdu', 'ur_PK', ' 2 ', 'utf_ar' ],
'uz@Latn' => [ 'Uzbek (latin)', 'Ozbekcha', 'uz_UZ', ' 2 ', 'utf_cyr2', 'uz@Latn:uz' ],
'uz' => [ 'Uzbek (cyrillic)', 'Ozbekcha', 'uz_UZ', ' 2 ', 'utf_cyr2', 'uz@Cyrl:uz' ],
#- ve_ZA not yet done, using en_ZA locale instead
've' => [ 'Venda', 'Venda', 'en_ZA', ' 3 ', 'iso-8859-1', 've:ven:en_ZA' ],
'vi' => [ 'Vietnamese', 'Tieng Viet', 'vi_VN', ' 2 ', 'utf_vi' ],
'wa' => [ 'Walon', 'Walon', 'wa_BE', '1 ', 'iso-8859-15', 'wa:fr_BE:fr' ],
#- locale not done yet
#'wen' => [ 'Sorbian', 'XX Sorbian', 'wen_XX', '1 ', 'iso-8859-1' ],
'xh' => [ 'Xhosa', 'IsiXhosa', 'xh_ZA', ' 3 ', 'iso-8859-1', 'xh:en_ZA' ],
'yi' => [ 'Yiddish', 'AA Yidish', 'yi_US', '1 ', 'utf_he' ],
'zh_CN' => [ 'Chinese Simplified', 'ZZ ZhongWen', 'zh_CN', ' 2 ', 'gb2312', 'zh_CN.GB2312:zh_CN:zh' ],
'zh_TW' => [ 'Chinese Traditional', 'ZZ ZhongWen', 'zh_TW', ' 2 ', 'Big5', 'zh_TW.Big5:zh_TW:zh_HK:zh' ],
'zu' => [ 'Zulu', 'IsiZulu', 'zu_ZA', ' 3 ', 'iso-8859-1', 'xh:en_ZA' ],
);
sub l2name { exists $langs{$_[0]} && $langs{$_[0]}[0] }
sub l2transliterated { exists $langs{$_[0]} && $langs{$_[0]}[1] }
sub l2locale { exists $langs{$_[0]} && $langs{$_[0]}[2] }
sub l2location {
my %geo = (1 => 'Europe', 2 => 'Asia', 3 => 'Africa', 4 => 'Oceania/Pacific', 5 => 'America');
map { if_($langs{$_[0]}[3] =~ $_, $geo{$_}) } 1..5;
}
sub l2charset { exists $langs{$_[0]} && $langs{$_[0]}[4] }
sub l2language { exists $langs{$_[0]} && $langs{$_[0]}[5] }
sub list_langs {
my (%options) = @_;
my @l = keys %langs;
$options{exclude_non_installed} ? grep { -e "/usr/share/locale/" . l2locale($_) . "/LC_CTYPE" } @l : @l;
}
sub text_direction_rtl() {
#-PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
#-PO: or as "default:RTL", depending if your language is written from
#-PO: left to right, or from right to left; any other string is wrong.
N("default:LTR") eq "default:RTL"
}
#- key: country name (that should be YY in xx_YY locale)
#- [0]: country name in natural language