summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Cottenceau <gc@mandriva.com>2003-02-11 13:53:30 +0000
committerGuillaume Cottenceau <gc@mandriva.com>2003-02-11 13:53:30 +0000
commiteaa1d34e51c9102de4dd26fed5fd0763c4507920 (patch)
tree1aa1b2dfd745e288dd6cdbecdce9da86db96b0c0
parent38991f0fbe451db1be784f1503f364ef3b527916 (diff)
downloaddrakx-backup-do-not-use-eaa1d34e51c9102de4dd26fed5fd0763c4507920.tar
drakx-backup-do-not-use-eaa1d34e51c9102de4dd26fed5fd0763c4507920.tar.gz
drakx-backup-do-not-use-eaa1d34e51c9102de4dd26fed5fd0763c4507920.tar.bz2
drakx-backup-do-not-use-eaa1d34e51c9102de4dd26fed5fd0763c4507920.tar.xz
drakx-backup-do-not-use-eaa1d34e51c9102de4dd26fed5fd0763c4507920.zip
have compatibility with old $o->{lang} for not breaking existing auto install files
-rw-r--r--perl-install/install_steps.pm4
-rw-r--r--perl-install/lang.pm16
2 files changed, 13 insertions, 7 deletions
diff --git a/perl-install/install_steps.pm b/perl-install/install_steps.pm
index d5c7b5854..1cd4d5bf3 100644
--- a/perl-install/install_steps.pm
+++ b/perl-install/install_steps.pm
@@ -88,6 +88,10 @@ sub set_help { 1 }
#------------------------------------------------------------------------------
sub selectLanguage {
my ($o) = @_;
+
+ #- for auto_install compatibility with old $o->{lang}
+ $o->{locale} = lang::system_locales_to_ourlocale($o->{lang}, $o->{lang}) if $o->{lang} && !ref($o->{locale});
+
lang::set($o->{locale}{lang}, !$o->isa('interactive::gtk'));
$o->{locale}{langs} ||= { $o->{locale}{lang} => 1 };
diff --git a/perl-install/lang.pm b/perl-install/lang.pm
index f04eefcf7..4d565b68c 100644
--- a/perl-install/lang.pm
+++ b/perl-install/lang.pm
@@ -564,13 +564,8 @@ sub pack_langs {
$s;
}
-sub read {
- my ($prefix, $user_only) = @_;
- my ($f1, $f2) = ("$prefix$ENV{HOME}/.i18n", "$prefix/etc/sysconfig/i18n");
- my %h = getVarsFromSh($user_only && -e $f1 ? $f1 : $f2);
- my $locale;
- my $locale_lang = $h{LC_MESSAGES} || 'en_US';
- my $locale_country = $h{LC_MONETARY} || 'en_US';
+sub system_locales_to_ourlocale {
+ my ($locale_lang, $locale_country) = @_;
if (member($locale_lang, list_langs())) {
#- special lang's such as en_US pt_BR
$locale->{lang} = $locale_lang;
@@ -585,6 +580,13 @@ sub read {
$locale;
}
+sub read {
+ my ($prefix, $user_only) = @_;
+ 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');
+}
+
sub write_langs {
my ($prefix, $langs) = @_;
my $s = pack_langs($langs);