#!/usr/bin/perl
use warnings 'all';
use strict;
use Locale::gettext;
use POSIX;
BEGIN {
my $file;
if ($ARGV[0]) {
$file = $ARGV[0];
} else {
$file = './KeyboardNames.pl';
}
do "$file";
}
for my $model (sort keys %KeyboardNames::models) {
my $name = $KeyboardNames::models{$model};
print "C*model*$name*$model\n"
}
for my $layout (sort keys %KeyboardNames::layouts) {
my $name = $KeyboardNames::layouts{$layout};
print "C*layout*$name*$layout\n";
print "C*variant*$name**$layout\n";
for my $variant (sort keys %{$KeyboardNames::variants{$name}}) {
my $variantname = $KeyboardNames::variants{$name}{$variant};
print "C*variant*$name*$variantname*$layout - $variant\n";
}
}
# Make sure we output UTF-8
$ENV{'LC_ALL'} = "en_US.UTF-8";
binmode STDOUT, ":utf8";
for my $mo (</usr/share/locale/*/LC_MESSAGES/xkeyboard-config.mo>) {
my $lang = $mo;
$lang =~ s:/usr/share/locale/(.*)/LC_MESSAGES/xkeyboard-config.mo:$1:;
$ENV{'LANGUAGE'} = $lang;
setlocale(LC_ALL,"");
bindtextdomain("xkeyboard-config", "/usr/share/locale");
textdomain("xkeyboard-config");
$lang =~ s:\@:__:;
$lang =~ s:__Latn:__latin:; # special fixup for sr
my $d = Locale::gettext->domain("xkeyboard-config");
for my $model (sort keys %KeyboardNames::models) {
my $name = $KeyboardNames::models{$model};
print "$lang*model*$name*".($d->get($model))."\n"
}
for my $layout (sort keys %KeyboardNames::layouts) {
my $name = $KeyboardNames::layouts{$layout};
my $local_layout = $d->get($layout);
print "$lang*layout*$name*$local_layout\n";
print "$lang*variant*$name**$local_layout\n";
for my $variant (sort keys %{$KeyboardNames::variants{$name}}) {
my $variantname = $KeyboardNames::variants{$name}{$variant};
print "$lang*variant*$name*$variantname*$local_layout - ".($d->get($variant))."\n";
}
}
}
|