summaryrefslogtreecommitdiffstats
path: root/perl-install/standalone/localedrake
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/standalone/localedrake')
-rwxr-xr-x[-rw-r--r--]perl-install/standalone/localedrake51
1 files changed, 20 insertions, 31 deletions
diff --git a/perl-install/standalone/localedrake b/perl-install/standalone/localedrake
index e89804d3f..231c528ea 100644..100755
--- a/perl-install/standalone/localedrake
+++ b/perl-install/standalone/localedrake
@@ -12,7 +12,7 @@ use any;
my ($klang, $kcountry, $apply);
foreach (@ARGV) {
- $apply = /--apply/;
+ $apply = 1 if /--apply/;
$klang = $1 if /--kde_lang=(.*)/;
$kcountry = uc($1) if /--kde_country=(.*)/;
}
@@ -21,48 +21,37 @@ if (defined $klang) {
$klang or exit(-1);
my $lang = member($klang, lang::list_langs()) ? $klang : 'en_US';
my $country = member($kcountry, lang::list_countries()) ? $kcountry : 'US';
- my $locale = lang::read('', $>);
+ my $locale = lang::read($>);
$klang and $locale->{lang} = $lang;
$kcountry and $locale->{country} = $country;
- lang::write('', $locale, $>, 'dont_touch_kde_files') if $apply;
+ lang::write_and_install($locale, do_pkgs_standalone->new, $>, 'dont_touch_kde_files') if $apply;
#- help KDE defaulting to the right charset
print lang::charset2kde_charset(lang::l2charset($lang)), "\n";
exit(0);
}
-my $locale = lang::read('', $>);
+my $locale = lang::read($>);
my $in = 'interactive'->vnew;
-sub select_language() {
- $locale->{lang} = any::selectLanguage($in, $locale->{lang});
-}
-sub select_country() {
- any::selectCountry($in, $locale);
-}
+$ugtk3::wm_icon = "localedrake";
+$::Wizard_title = N("LocaleDrake");
-eval {
- language:
- select_language() or goto the_end;
- select_country() or goto language;
-};
-if ($@) {
- if ($@ =~ /^one lang only/) {
- select_country() or goto the_end;
- } else {
- die;
- }
-}
+any::selectLanguage_and_more_standalone($in, $locale);
-lang::write('', $locale, $>);
if ($>) {
- if (my $wm = any::running_window_manager()) {
- $in->ask_okcancel('', N("The change is done, but to be effective you must logout"), 1)
- and any::ask_window_manager_to_logout($wm);
- }
+ my @required_packages = lang::IM2packages($locale);
+ my @missing_packages = difference2(\@required_packages, [ $in->do_pkgs->are_installed(@required_packages) ]);
+ $in->ask_warn(N("Warning"),
+ N("You should install the following packages: %s",
+ join(
+ #-PO: the following is used to combine packages names. eg: "initscripts, harddrake, yudit"
+ N(", "),
+ @missing_packages,
+ ),
+ )
+ ) if @missing_packages;
}
+lang::write_and_install($locale, $in->do_pkgs, $>);
-the_end:
-$in->exit(0);
-
-
+any::ask_for_X_restart($in);