#!/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 () { 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"; } } }