diff options
-rw-r--r-- | perl-install/any.pm | 4 | ||||
-rw-r--r-- | perl-install/install_steps.pm | 4 | ||||
-rw-r--r-- | perl-install/lang.pm | 8 |
3 files changed, 12 insertions, 4 deletions
diff --git a/perl-install/any.pm b/perl-install/any.pm index 5c574ba7f..54a0cd0be 100644 --- a/perl-install/any.pm +++ b/perl-install/any.pm @@ -847,7 +847,9 @@ sub selectLanguage_and_more_standalone { local $::Wizard_no_previous = 1; my $old_lang = $locale->{lang}; selectLanguage_standalone($in, $locale); - $locale->{IM} = lang::get_default_im($locale->{lang}) if $old_lang ne $locale->{lang}; + if ($old_lang ne $locale->{lang}) { + lang::lang_changed($locale); + } undef $::Wizard_no_previous; selectCountry($in, $locale) or goto language; }; diff --git a/perl-install/install_steps.pm b/perl-install/install_steps.pm index dd4ab0370..ab37e3043 100644 --- a/perl-install/install_steps.pm +++ b/perl-install/install_steps.pm @@ -104,9 +104,7 @@ sub selectLanguage { $o->{locale}{langs} ||= { $o->{locale}{lang} => 1 }; if (!exists $o->{locale}{country}) { - my $h = lang::analyse_locale_name(lang::l2locale($o->{locale}{lang})); - $o->{locale}{country} = $h->{country} if $h->{country}; - $o->{locale}{IM} = lang::get_default_im($o->{locale}{lang}); + lang::lang_changed($o->{locale}); } lang::set($o->{locale}, !$o->isa('interactive::gtk')); diff --git a/perl-install/lang.pm b/perl-install/lang.pm index d1cde6002..15f5de647 100644 --- a/perl-install/lang.pm +++ b/perl-install/lang.pm @@ -983,6 +983,14 @@ sub system_locales_to_ourlocale { $locale; } +sub lang_changed { + my ($locale) = @_; + my $h = analyse_locale_name(l2locale($locale->{lang})); + $locale->{country} = $h->{country} if $h->{country}; + + $locale->{IM} = get_default_im($locale->{lang}); +} + sub read { my ($b_user_only) = @_; my ($f1, $f2) = ("$::prefix$ENV{HOME}/.i18n", "$::prefix/etc/sysconfig/i18n"); |