diff options
Diffstat (limited to 'perl-install')
-rw-r--r-- | perl-install/install_gtk.pm | 4 | ||||
-rw-r--r-- | perl-install/install_steps_interactive.pm | 13 | ||||
-rw-r--r-- | perl-install/keyboard.pm | 168 | ||||
-rw-r--r-- | perl-install/lang.pm | 60 |
4 files changed, 143 insertions, 102 deletions
diff --git a/perl-install/install_gtk.pm b/perl-install/install_gtk.pm index 6759403ca..7e31acf04 100644 --- a/perl-install/install_gtk.pm +++ b/perl-install/install_gtk.pm @@ -55,11 +55,11 @@ sub install_theme { Gtk::Rc->parse_string(qq( style "default-font" { - fontset = "$font" + fontset = "$font,*" } style "small-font" { - fontset = "$font2" + fontset = "$font2,*" } widget "*" style "default-font" widget "*Steps*" style "small-font" diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm index 3e47ec3c6..36c56eb8b 100644 --- a/perl-install/install_steps_interactive.pm +++ b/perl-install/install_steps_interactive.pm @@ -74,12 +74,13 @@ sub selectLanguage { $o->charsetChanged; $o->ask_warn('', -"If you see this message it is because you choose a language for which -DrakX does not include a translation yet; however the fact that it is -listed means there is some support for it anyway. That is, once GNU/Linux -will be installed, you will be able to at least read and write in that -language; and possibly more (various fonts, spell checkers, various programs -translated etc. that varies from language to language).") if $o->{lang} !~ /^en/ && translate("_I18N_"); +"If you see this message it is because you choose a language for " . +"which DrakX does not include a translation yet; however the fact " . +"that it is listed means there is some support for it anyway.\n" . +"That is, once GNU/Linux will be installed, you will be able to at " . +"least read and write in that language; and possibly more (various " . +"fonts, spell checkers, various programs translated etc. that " . +"varies from language to language).") if $o->{lang} !~ /^en/ && translate("_I18N_"); unless ($o->{useless_thing_accepted}) { $o->set_help('license'); diff --git a/perl-install/keyboard.pm b/perl-install/keyboard.pm index d5eeb9876..64c801068 100644 --- a/perl-install/keyboard.pm +++ b/perl-install/keyboard.pm @@ -23,87 +23,105 @@ my $KMAP_MAGIC = 0x8B39C07F; my %lang2keyboard = ( 'af' => 'us_intl', - 'az' => 'az', - 'be' => 'by', - 'be_BY.CP1251' => 'by', - 'bg' => 'bg', -'bg_BG'=> 'bg', - 'br' => 'fr', - 'ca' => 'es', - 'cs' => 'cz_qwerty', - 'cy' => 'uk', - 'da' => 'dk', - 'de' => 'de', -'de_AT'=> 'de', -'de_CH'=> 'ch_de', -'de_DE'=> 'de', - 'el' => 'gr', - 'en' => 'us', -'en_US'=> 'us', -'en_GB'=> 'uk', - 'eo' => 'us_intl', - 'es' => 'es', - 'es@tradicional' => 'es', -'es_AR'=> 'la', -'es_ES'=> 'es', -'es_MX'=> 'la', - 'et' => 'ee', - 'eu' => 'es', - 'fa' => 'ir', - 'fi' => 'fi', - 'fr' => 'fr', -'fr_BE'=> 'be', -'fr_CA'=> 'qc', -'fr_CH'=> 'ch_fr', -'fr_FR'=> 'fr', - 'ga' => 'uk', - 'gl' => 'es', - 'he' => 'il', - 'hr' => 'hr', - 'hu' => 'hu', - 'hy' => 'am', - 'is' => 'is', - 'it' => 'it', - 'ja' => 'jp', - 'ka' => 'ge_la', - 'lt' => 'lt', - 'mk' => 'mk', - 'nb' => 'no', -'nl_BE'=> 'be', -'nl_NL'=> 'us_intl:95 uk:2 nl:1', -#'nl_NL'=> 'nl', - 'no' => 'no', - 'no@nynorsk' => 'no', - 'ny' => 'no', - 'oc' => 'fr', - 'pl' => 'pl', - 'pt' => 'pt', -'pt_BR'=> 'br', -'pt_PT'=> 'pt', - 'ru' => 'ru', - 'ru_RU.KOI8-R' => 'ru', - 'sk' => 'sk_qwerty', - 'sl' => 'si', - 'sp' => 'sr', - 'sr' => 'yu', - 'sv' => 'se', - 'sv@ny' => 'se', - 'sv@traditionell' => 'se', - 'th' => 'th', - 'tr' => 'tr_q', - 'uk' => 'ua', -'uk_UA' => 'ua', - 'vi' => 'vn', -'vi_VN.tcvn' => 'vn', -'vi_VN.viscii' => 'vn', - 'wa' => 'be', +#-'ar' => 'ar:80', + 'az' => 'az:80 tr:10 us_intl:5', + 'be' => 'by:80 ru:50 ru_yawerty:40', + 'be_BY.CP1251' => 'by:80 ru:50 ru_yawerty:40', + 'bg' => 'bg:90', +'bg_BG'=> 'bg:90', + 'br' => 'fr:90', + 'bs' => 'hr:60 sr:50 si:40', + 'ca' => 'es:90 fr:15', + 'cs' => 'cz_qwerty:70 cz:50 cz_prog:10', + 'cy' => 'uk:90', + 'da' => 'dk:90', + 'de' => 'de_nodeadkeys:70 de:50', +'de_AT'=> 'de_nodeadkeys:70 de:50', +'de_BE'=> 'be:70 de_nodeadkeys:60 de:50', +'de_CH'=> 'ch_de:70 ch_fr:25 de_nodeadkeys:20 de:15', +'de_DE'=> 'de_nodeadkeys:70 de:50', + 'el' => 'gr:90', + 'en' => 'us:90 us_intl:50', +'en_US'=> 'us:90 us_intl:50', +'en_GB'=> 'uk:90 us:60 us_intl:50', + 'eo' => 'us_intl:90 dvorak:20', + 'es' => 'es:90 la:80 us_intl:50', + 'es@tradicional' => 'es:90 la:80 us_intl:50', +'es_AR'=> 'la:80 us_intl:50 es:20', +'es_ES'=> 'es:90', +'es_MX'=> 'la:80 us_intl:50 es:20', + 'et' => 'ee:90', + 'eu' => 'es:90 fr:15', + 'fa' => 'ir:90', + 'fi' => 'fi:90', + 'fr' => 'fr:90', +'fr_BE'=> 'be:90 fr:5', +'fr_CA'=> 'qc:90 fr:5', +'fr_CH'=> 'ch_fr:70 ch_de:15 fr:10', +'fr_FR'=> 'fr:90', + 'ga' => 'uk:90', + 'gd' => 'uk:90', + 'gl' => 'es:90', + 'gv' => 'uk:90', + 'he' => 'il:90 il_phonetic:10', + 'hr' => 'hr:90 si:50', + 'hu' => 'hu:90', + 'hy' => 'am:80 am_old:10 am_phonetic:5', + 'id' => 'us:90 us_intl:20', + 'is' => 'is:90', +'it_CH' => 'ch_fr:80 ch_de:60 it:50', +'it_IT' => 'it:90', + 'ja' => 'jp:80 us:50 us_intl:20', + 'ka' => 'ge_la:80 ge_ru:50', + 'kl' => 'dk:80 us_intl:30', + 'ko' => 'us:60', + 'kw' => 'uk:90', + 'lo' => 'us:60', + 'lt' => 'lt:80 lt_new:70 lt_b:60 lt_p:50', + 'lv' => 'lt:60 lt_new:50 lt_b:40 lt_p:30 ee:20', + 'mi' => 'us_intl:60 uk:20 us:10', + 'mk' => 'mk:80', + 'ms' => 'us:90 us_intl:20', + 'nb' => 'no:90 dvorak_no:10', +'nl_BE'=> 'be:90 nl:10 us_intl:5', +'nl_NL'=> 'us_intl:95 nl:15 us:10 uk:5', + 'nn' => 'no:90 dvorak_no:10', + 'no' => 'no:90 dvorak_no:10', + 'oc' => 'fr:90', + 'ph' => 'us:90 us_intl:20', + 'pl' => 'pl:80 pl2:60', + 'pp' => 'br:80 la:20 pt:10 us_intl:30', +'pt_BR'=> 'br:80 la:20 pt:10 us_intl:30', +'pt_PT'=> 'pt:80', + 'ro' => 'us-intl:10', + 'ru' => 'ru:90 ru_yawerty:80', + 'ru_RU.CP1251' => 'ru:90 ru_yawerty:80', + 'ru_RU.KOI8-R' => 'ru:90 ru_yawerty:80', + 'sk' => 'sk_qwerty:80 sk:70 sk_prog:50', + 'sl' => 'si:80 hr:50', + 'sp' => 'sr:80', + 'sr' => 'yu:80', + 'sv' => 'se:90 fi:20', + 'tg' => 'ru:50 ru_yawerty:40', + 'th' => 'th:90', + 'tr' => 'tr_q:90 tr_q:30', + 'tt' => 'ru:50 ru_yawerty:40', + 'uk' => 'ua:90 ru:50 ru_yawerty:40', +'uk_UA' => 'ua:90 ru:50 ru_yawerty:40', + 'uz' => 'us:80', + 'vi' => 'vn:80 us:60 us_intl:50', +'vi_VN.TCVN' => 'vn us:60 us_intl:50', +'vi_VN.VISCII' => 'vn us:60 us_intl:50', + 'wa' => 'be:90 fr:5', +'zh_CN.GB2312' => 'us:60', +'zh_TW.Big5' => 'us:60', ); #- key = extension for Xmodmap file, [0] = description of the keyboard, #- [1] = name for loadkeys, [2] = name for XKB my %keyboards = ( arch() =~ /^sparc/ ? ( - "cs" => [ __("Czech (QWERTZ)"), "sunt5-cz-us", "czsk(cz_us_qwertz)" ], + "cz" => [ __("Czech (QWERTZ)"), "sunt5-cz-us", "czsk(cz_us_qwertz)" ], "de" => [ __("German"), "sunt5-de-latin1", "de" ], "dvorak" => [ __("Dvorak"), "sundvorak", "dvorak" ], "es" => [ __("Spanish"), "sunt5-es", "es" ], diff --git a/perl-install/lang.pm b/perl-install/lang.pm index 76dea427c..45e3720f2 100644 --- a/perl-install/lang.pm +++ b/perl-install/lang.pm @@ -16,12 +16,14 @@ use log; #- key (to be used in $LC_ALL), [0] = english name, [1] = charset encoding, #- [2] = value for $LANG, [3] = value for LANGUAGE (a list of possible #- languages, carefully choosen) +#- +#- when adding a new language here, also add a line in kleyboards list my %languages = ( 'en_US' => [ 'English|United States', 'iso-8859-1', 'en', 'en_US:en' ], 'en_GB' => [ 'English|United Kingdom', 'iso-8859-1', 'en', 'en_GB:en' ], 'af' => [ 'Afrikaans', 'iso-8859-1', 'af', 'af:en_ZA' ], 'ar' => [ 'Arabic', 'iso-8859-6', 'ar', 'ar' ], - 'az' => [ 'Azeri|Latin', 'iso-8859-9e','az', 'az:tr' ], + 'az' => [ 'Azeri (Latin)', 'iso-8859-9e','az', 'az:tr' ], #-'a3' => [ 'Azeri|Cyrillic', 'koi8-c', 'a3', 'a3' ], 'be' => [ 'Belarussian', 'cp1251', 'be', 'be:be_BY.CP1251:ru_RU.CP1251' ], #- provide aliases for some not very standard names used in po files... @@ -33,6 +35,8 @@ my %languages = ( 'cy' => [ 'Cymraeg (Welsh)', 'iso-8859-14','cy', 'cy:en_GB:en' ], 'da' => [ 'Danish', 'iso-8859-1', 'da', 'da' ], 'de_AT' => [ 'German|Austria', 'iso-8859-1', 'de', 'de_AT:de' ], +'de_BE' => [ 'German|Belgium', 'iso-8859-1', 'de', 'de_BE:de' ], +'de_CH' => [ 'German|Switzerland', 'iso-8859-1', 'de', 'de_CH:de' ], 'de_DE' => [ 'German|Germany', 'iso-8859-1', 'de', 'de_DE:de' ], 'el' => [ 'Greek', 'iso-8859-7', 'el', 'el' ], 'eo' => [ 'Esperanto', 'iso-8859-3', 'eo', 'eo' ], @@ -45,9 +49,9 @@ my %languages = ( 'fa' => [ 'Farsi (Iranian)', 'isiri-3342', 'fa', 'fa' ], 'fi' => [ 'Suomi (Finnish)', 'iso-8859-15', 'fi', 'fi' ], #-'fo' => [ 'Faroese', 'iso-8859-1', 'fo', 'fo' ], -'fr_BE' => [ 'French|Belgium', 'iso-8859-1', 'fr', 'fr_CA:fr' ], +'fr_BE' => [ 'French|Belgium', 'iso-8859-1', 'fr', 'fr_BE:fr' ], 'fr_CA' => [ 'French|Canada', 'iso-8859-1', 'fr', 'fr_CA:fr' ], -'fr_CH' => [ 'French|Switzerland', 'iso-8859-1', 'fr', 'fr_CA:fr' ], +'fr_CH' => [ 'French|Switzerland', 'iso-8859-1', 'fr', 'fr_CH:fr' ], 'fr_FR' => [ 'French|France', 'iso-8859-1', 'fr', 'fr_FR:fr' ], 'ga' => [ 'Gaeilge (Irish)', 'iso-8859-14','ga', 'ga:en_IE:en' ], #-'gd' => [ 'Scottish gaelic', 'iso-8859-14','gd', 'gd:en_GB:en' ], @@ -62,7 +66,8 @@ my %languages = ( #- we catch the few catalog files still using the wrong code 'id' => [ 'Indonesian', 'iso-8859-1', 'id', 'id:in_ID' ], 'is' => [ 'Icelandic', 'iso-8859-1', 'is', 'is' ], - 'it' => [ 'Italian', 'iso-8859-1', 'it', 'it_IT:it' ], +'it_CH' => [ 'Italian|Switzerland', 'iso-8859-1', 'it', 'it_IT:it' ], +'it_IT' => [ 'Italian|Italy', 'iso-8859-1', 'it', 'it_IT:it' ], 'ja' => [ 'Japanese', 'jisx0208', 'ja', 'ja_JP.ujis:ja' ], 'ka' => [ 'Georgian', 'georgian-ps','ka', 'ka' ], 'kl' => [ 'Greenlandic (inuit)', 'iso-8859-1', 'kl', 'kl' ], @@ -77,9 +82,9 @@ my %languages = ( 'nl_BE' => [ 'Dutch|Belgium', 'iso-8859-1', 'nl', 'nl_NL:nl' ], 'nl_NL' => [ 'Dutch|Netherlands', 'iso-8859-1', 'nl', 'nl_NL:nl' ], # 'nb' is the new locale name in glibc 2.2 - 'no' => [ 'Norwegian|Bokmaal', 'iso-8859-1', 'no', 'no:nb:ny:no@nynorsk:no_NY' ], -# no_NY is used by KDE (but not standard); 'ny' is the new locale in glibc 2.2 - 'ny' => [ 'Norwegian|Nynorsk','iso-8859-1', 'no', 'ny:no@nynorsk:no_NY:no:nb' ], + 'no' => [ 'Norwegian|Bokmaal', 'iso-8859-1', 'no', 'no:nb:nn:no@nynorsk:no_NY' ], +# no_NY is used by KDE (but not standard); 'nn' is the new locale in glibc 2.2 + 'nn' => [ 'Norwegian|Nynorsk','iso-8859-1', 'no', 'nn:no@nynorsk:no_NY:no:nb' ], #-'oc' => [ 'Occitan', 'iso-8859-1', 'oc', 'oc:fr_FR' ], #-'pd' => [ 'Plauttdietsch', 'iso-8859-1', 'pd', 'pd' ], #-'ph' => [ 'Pilipino', 'iso-8859-1', 'ph', 'ph:tl' ], @@ -202,16 +207,17 @@ my %charsets = ( std_("iso8859-4") ], "iso-8859-5" => [ "iso05.f16", "iso05", "trivial.trans", std2("iso8859-5", 10), std2("iso8859-5", 8) ], -#- arabic needs special console driver for text mode [acon] -#- (and gtk support isn't done yet) +#-#- arabic needs special console driver for text mode [acon] +#-#- (and gtk support isn't done yet) "iso-8859-6" => [ "iso06.f16", "iso06", "trivial.trans", std_("iso8859-6") ], "iso-8859-7" => [ "iso07.f16", "iso07", "trivial.trans", std_("iso8859-7") ], -#- hebrew needs special console driver for text mode [acon] -#- (and gtk support isn't done yet) - "iso-8859-8" => [ "iso08.f16", "iso08", "trivial.trans", - std_("iso8859-8") ], +#-#- hebrew needs special console driver for text mode [acon] +#-#- (and gtk support isn't done yet) + "iso-8859-8" => [ "iso08.f16", "iso08", "trivial.trans", +# std_("iso8859-8") ], + std_("microsoft-cp1255") ], "iso-8859-9" => [ "iso09.f16", "iso09", "trivial.trans", sub { std("iso8859-9", @_) } ], "iso-8859-13" => [ "tlat7", "iso01", "trivial.trans", @@ -221,7 +227,7 @@ my %charsets = ( "iso-8859-15" => [ "lat0-sun16", undef, "iso15", std("iso8859-15") ], "iso-8859-9e" => [ "tiso09e", "iso09", "trivial.trans", - std("iso8859-9e") ], + std2("iso8859-9e",10) ], #- japanese needs special console driver for text mode [kon2] "jisx0208" => [ undef, undef, "trivial.trans", "-*-*-*-*-*-*-*-*-*-*-*-*-jisx*.*-0" ], @@ -229,12 +235,12 @@ my %charsets = ( std("koi8-r") ], "koi8-u" => [ "UniCyr_8x16", undef, "koi8-u", std("koi8-u") ], - "koi8-c" => [ "koi8-c", "iso01", "trivial.trans", + "koi8-k" => [ "koi8-k", "iso01", "trivial.trans", std("koi8-c") ], "tatar-cyr" => [ "tatar-cyr", undef, "cp1251", std("tatar-cyr") ], "cp1251" => [ "UniCyr_8x16", undef, "cp1251", - std("microsoft-cp1251") ], + sub { std("microsoft-cp1251", @_) } ], #- Yiddish needs special console driver for text mode [acon] #- (and gtk support isn't done yet) "cp1255" => [ "iso08.f16", "iso08", "trivial.trans", @@ -252,7 +258,8 @@ my %charsets = ( "tcvn" => [ "tcvn8x16", "tcvn", "trivial.trans", std2("tcvn-5712", 13), std2("tcvn-5712", 10) ], "viscii" => [ "viscii10-8x16", "viscii.uni", "viscii1.0_to_viscii1.1.trans", - "-*-*-*-*-*-*-*-*-*-*-*-*-viscii1.1-1" ], +#- "-*-*-*-*-*-*-*-*-*-*-*-*-viscii1.1-1" ], + std2("tcvn-5712", 13), std2("tcvn-5712", 10) ], #- Farsi (iranian) needs special console driver for text mode [acon] #- (and gtk support isn't done yet) "isiri-3342" => [ undef, undef, "trivial.trans", @@ -297,14 +304,29 @@ sub set { #run_program::run("packdrake", "-x", "$ENV{SHARE_PATH}/locale.cz2", "$ENV{SHARE_PATH}/locale", $languages{$lang}[2]); } - $ENV{LC_ALL} = $lang; +#- set all LC_* variables to a unique locale ("C"), and only redefine +#- LC_CTYPE (for X11 choosing the fontset) and LANGUAGE (for the po files) + $ENV{LC_NUMERIC} = "C"; + $ENV{LC_TIME} = "C"; + $ENV{LC_COLLATE} = "C"; + $ENV{LC_MONETARY} = "C"; + $ENV{LC_MESSAGES} = "C"; + $ENV{LC_PAPER} = "C"; + $ENV{LC_NAME} = "C"; + $ENV{LC_ADDRESS} = "C"; + $ENV{LC_TELEPHONE} = "C"; + $ENV{LC_MEASUREMENT} = "C"; + $ENV{LC_IDENTIFICATION} = "C"; + + $ENV{LC_CTYPE} = $lang; $ENV{LANG} = $languages{$lang}[2]; $ENV{LANGUAGE} = $languages{$lang}[3]; + } else { # stick with the default (English) */ delete $ENV{LANG}; delete $ENV{LC_ALL}; - delete $ENV{LINGUAGE}; + delete $ENV{LANGUAGE}; delete $ENV{LINGUAS}; } } |