summaryrefslogtreecommitdiffstats
path: root/perl-install/standalone/localedrake
blob: 231c528ea949a423d742fedff59b92529df5e631 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/usr/bin/perl

use lib qw(/usr/lib/libDrakX);

use standalone;     #- warning, standalone must be loaded very first, for 'explanations'

use interactive;
use common;
use lang;
use any;

my ($klang, $kcountry, $apply);

foreach (@ARGV) {
    $apply = 1 if /--apply/;
    $klang = $1 if /--kde_lang=(.*)/;
    $kcountry = uc($1) if /--kde_country=(.*)/;
}

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($>);
    $klang and $locale->{lang} = $lang;
    $kcountry and $locale->{country} = $country;
    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 $in = 'interactive'->vnew;

$ugtk3::wm_icon = "localedrake";
$::Wizard_title = N("LocaleDrake");

any::selectLanguage_and_more_standalone($in, $locale);

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);