diff options
Diffstat (limited to 'perl-install')
-rw-r--r-- | perl-install/any.pm | 8 | ||||
-rw-r--r-- | perl-install/lang.pm | 15 |
2 files changed, 11 insertions, 12 deletions
diff --git a/perl-install/any.pm b/perl-install/any.pm index f982ae534..82d928caf 100644 --- a/perl-install/any.pm +++ b/perl-install/any.pm @@ -689,9 +689,6 @@ sub selectCountry { my ($other, $ext_country); member($country, @best) or ($ext_country, $country) = ($country, $ext_country); - my %cfg = getVarsFromSh($< ? "$::prefix$ENV{HOME}/.i18n" : "$::prefix/etc/sysconfig/i18n"); - my %ims = lang::get_ims(); - my $im = find { $ims{$_}{XIM_PROGRAM} eq $cfg{XIM_PROGRAM} } keys %ims; $in->ask_from_( { title => N("Country / Region"), messages => N("Please choose your country."), @@ -705,11 +702,10 @@ sub selectCountry { list => \@best, sort => 1 }), { val => \$ext_country, type => 'list', format => \&lang::c2name, list => [ difference2(\@countries, \@best) ], advanced => scalar(@best) }, - { val => \$im, type => 'list', label => N("Input method:"), - list => [ 'None', sort keys %ims ], advanced => 1, format => sub { uc(translate($_[0])) }, }, + { val => \$locale->{IM}, type => 'list', label => N("Input method:"), + list => [ N_("None"), sort(lang::get_ims()) ], advanced => 1, format => sub { uc(translate($_[0])) }, }, ]) or return; - $locale->{IM} = $im if ($im ne 'None'); $locale->{country} = $other || !@best ? $ext_country : $country; } diff --git a/perl-install/lang.pm b/perl-install/lang.pm index 81e407d79..2851d68df 100644 --- a/perl-install/lang.pm +++ b/perl-install/lang.pm @@ -527,9 +527,7 @@ my %gtkqt_im = ); -sub get_ims() { - %gtkqt_im; -} +sub get_ims() { keys %gtkqt_im } my %xim = ( @@ -943,7 +941,12 @@ sub read { $prefix ||= ""; my ($f1, $f2) = ("$prefix$ENV{HOME}/.i18n", "$prefix/etc/sysconfig/i18n"); my %h = getVarsFromSh($user_only && -e $f1 ? $f1 : $f2); - system_locales_to_ourlocale($h{LC_MESSAGES} || 'en_US', $h{LC_MONETARY} || 'en_US'); + my $locale = system_locales_to_ourlocale($h{LC_MESSAGES} || 'en_US', $h{LC_MONETARY} || 'en_US'); + + if ($h{XIM_PROGRAM}) { + $locale->{IM} = find { $gtkqt_im{$_}{XIM_PROGRAM} eq $locale->{XIM_PROGRAM} } keys %gtkqt_im; + } + $locale; } sub write_langs { @@ -1006,8 +1009,8 @@ sub write { } } - add2hash $h, $gtkqt_im{$locale->{IM}}; - add2hash $h, $xim{$h->{LANG}}; + add2hash($h, $gtkqt_im{$locale->{IM}}); + add2hash($h, $xim{$h->{LANG}}); #- deactivate translations on console for RTL languages if ($h->{LANG} =~ /ar|fa|he|ur|yi/) { |