diff options
Diffstat (limited to 'perl-install/standalone/localedrake')
| -rwxr-xr-x[-rw-r--r--] | perl-install/standalone/localedrake | 30 | 
1 files changed, 19 insertions, 11 deletions
diff --git a/perl-install/standalone/localedrake b/perl-install/standalone/localedrake index 3c379c763..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=(.*)/;  } @@ -24,7 +24,7 @@ if (defined $klang) {      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"; @@ -34,16 +34,24 @@ if (defined $klang) {  my $locale = lang::read($>);  my $in = 'interactive'->vnew; -$ugtk2::wm_icon = "localedrake"; +$ugtk3::wm_icon = "localedrake";  $::Wizard_title = N("LocaleDrake");  any::selectLanguage_and_more_standalone($in, $locale); -lang::write($locale, $>); - -my $msg = N("The change is done, but to be effective you must logout"); -if (my $wm = $> && any::running_window_manager()) { -    $in->ask_yesorno('', $msg, 1) -      and any::ask_window_manager_to_logout($wm); -} else { -    $in->ask_warn('', $msg); + +if ($>) { +    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, $>); + +any::ask_for_X_restart($in);  | 
