parent
8dae6f9e0e
commit
6221bc562b
@ -0,0 +1,59 @@
|
||||
#! /usr/bin/perl -w
|
||||
use strict;
|
||||
|
||||
if (@ARGV != 1) {
|
||||
print STDERR "Usage: $0 localechooser-source-tree\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
my $localechooser = $ARGV[0];
|
||||
|
||||
# hardcoded for now because it's messy to work this out any other way
|
||||
my %langcode_override = (
|
||||
'Chinese (Simplified)' => 'zh_CN',
|
||||
'Chinese (Traditional)' => 'zh_TW',
|
||||
'Portuguese (Brazil)' => 'pt_BR',
|
||||
'Portuguese' => 'pt',
|
||||
);
|
||||
|
||||
my %langcodes;
|
||||
open LIST, '<:utf8', "$localechooser/languagelist"
|
||||
or die "$0: can't open $localechooser/languagelist: $!";
|
||||
while (<LIST>) {
|
||||
chomp;
|
||||
next if /^#/ or not /\S/;
|
||||
my @bits = split /;/;
|
||||
next if $bits[0] eq 'C';
|
||||
my $lang;
|
||||
if (exists $langcode_override{$bits[0]}) {
|
||||
$lang = $langcode_override{$bits[0]};
|
||||
} else {
|
||||
$lang = $bits[4];
|
||||
}
|
||||
$langcodes{$bits[0]} = $lang;
|
||||
}
|
||||
close LIST;
|
||||
|
||||
my %langnames;
|
||||
open L10N, '<:utf8', "$localechooser/languagelist.l10n"
|
||||
or die "$0: can't open $localechooser/languagelist.l10n: $!";
|
||||
while (<L10N>) {
|
||||
chomp;
|
||||
next if /^#/ or not /\S/;
|
||||
next unless /(.*?): (.*)/;
|
||||
my ($lang_c, $lang_trans) = ($1, $2);
|
||||
next if $lang_c eq 'C';
|
||||
$langnames{$lang_c} = $lang_trans;
|
||||
}
|
||||
close L10N;
|
||||
|
||||
binmode STDOUT, ':utf8';
|
||||
|
||||
for my $lang_c (sort { $langcodes{$a} cmp $langcodes{$b} } keys %langcodes) {
|
||||
print "$langcodes{$lang_c} ";
|
||||
if (exists $langnames{$lang_c}) {
|
||||
print "$langnames{$lang_c}\n";
|
||||
} else {
|
||||
print "$lang_c\n";
|
||||
}
|
||||
}
|
Loading…
Reference in new issue