summaryrefslogtreecommitdiffstats
path: root/perl-install/any.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/any.pm')
-rw-r--r--perl-install/any.pm8
1 files changed, 7 insertions, 1 deletions
diff --git a/perl-install/any.pm b/perl-install/any.pm
index d6ce4ee2f..f982ae534 100644
--- a/perl-install/any.pm
+++ b/perl-install/any.pm
@@ -689,6 +689,9 @@ 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."),
@@ -701,9 +704,12 @@ sub selectCountry {
[ if_(@best, { val => \$country, type => 'list', format => \&lang::c2name,
list => \@best, sort => 1 }),
{ val => \$ext_country, type => 'list', format => \&lang::c2name,
- list => [ difference2(\@countries, \@best) ], advanced => scalar(@best) }
+ 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])) }, },
]) or return;
+ $locale->{IM} = $im if ($im ne 'None');
$locale->{country} = $other || !@best ? $ext_country : $country;
}