/
if (open(PIPE,"locale |")) {
my @lines = <PIPE>;
close(PIPE);
print "Checking root bash language";
my ($is_english,$is_posix);
foreach my $line (@lines) {
if ($line =~ /^LANG=en/) {
$is_english = 1;
print "... OK\n";
last;
} elsif ($line =~ /^LANG=POSIX/) {
$is_posix = 1;
}
if ($is_posix) {
if ($line =~ /^LC_CTYPE=en/) {
$is_english = 1;
print "... OK\n";
last;
}
}
}
if (!$is_english) {
print "\n**** WARNING: You seem to have a non-English root bash. This can cause incorrect error messages.\n".
" It is recommended that you set your bash language to English by setting LANG=en_US.UTF-8 in /root/.bashrc\n";
}
}
my $osmsg = "\n**** WARNING: You seem to have a non-English operating system.\n";
if ('' eq 'sles9' || '' eq 'sles10' || '' eq 'sles11' ||
'' eq 'suse11.1' || '' eq 'suse11.2' || '' eq 'suse11.3' ||
'' eq 'suse11.4' || '' eq '12.1') {
if (open(PIPE,"cat /etc/sysconfig/language |grep '^RC_LANG' |")) {
print "Checking OS language";
if (<PIPE> =~ /^RC_LANG="en/) {
print "... OK\n";
} else {
print $osmsg.
"It is recommended that you set LANG=\"en_US.UTF-8\" in /etc/sysconfig/language\n";
}
close(PIPE);
}
} elsif ('' eq 'debian5' || '' eq 'debian6' || '' eq 'ubuntu6' ||
'' eq 'ubuntu8' || '' eq 'ubuntu10') {
if (open(PIPE,"cat /etc/default/locale |grep '^LANG' |")) {
print "Checking OS language";
if (<PIPE> =~ /^LANG="en/) {
print "... OK\n";
} else {
print $osmsg.
"It is recommended that you set LANG=\"en_US.UTF-8\" in /etc/default/locale\n";
}
close(PIPE);
}
} else {
if (open(PIPE,"cat /etc/sysconfig/i18n |grep '^LANG' |")) {
print "Checking OS language";
if (<PIPE> =~ /^LANG="en/) {
print "... OK\n";
} else {
print $osmsg.
"It is recommended that you set LANG=\"en_US.UTF-8\" in /etc/sysconfig/i18n.\n";
}
close(PIPE);
}
}