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 58 59 60 61
|
#!/usr/bin/perl -w
use lib "./lib";
use YAML::Syck qw(DumpFile);
use Locale::Codes::Constants;
use Locale::Codes;
use Locale::Codes::Country;
use Locale::Codes::Language;
use Locale::Codes::Currency;
use Locale::Codes::Script;
use Locale::Codes::LangExt;
use Locale::Codes::LangVar;
my @type = qw(country
currency
langext
langvar
language
script
);
$yaml = "internal/curr.yaml";
$prev = "internal/prev.yaml";
if (-f $yaml) {
rename $yaml,$prev;
}
my %hash;
foreach my $type (@type) {
#print "# $type\n";
my $obj = new Locale::Codes $type;
foreach my $codeset (sort keys %{ $Locale::Codes::Constants::ALL_CODESETS{$type}{'codesets'} }) {
#print "# $codeset\n";
my @codes = $obj->all_codes($codeset);
foreach my $code (@codes) {
my $name = $obj->code2name($code,$codeset);
$hash{$type}{$codeset}{'code'}{$code} = $name;
}
my @names = $obj->all_names($codeset);
foreach my $name (@names) {
my $code = $obj->name2code($name,$codeset);
$hash{$type}{$codeset}{'name'}{lc($name)} = [$code,$name];
}
}
}
DumpFile($yaml,\%hash);
# Local Variables:
# mode: cperl
# indent-tabs-mode: nil
# cperl-indent-level: 3
# cperl-continued-statement-offset: 2
# cperl-continued-brace-offset: 0
# cperl-brace-offset: 0
# cperl-brace-imaginary-offset: 0
# cperl-label-offset: 0
# End:
|