From: Rudolf Polzer Date: Tue, 26 Jul 2011 12:34:34 +0000 (+0200) Subject: a tooltips fix script X-Git-Tag: xonotic-v0.5.0~148^2~37^2~1 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=6eb152fcf89fac48d46d2f2f25eb72c79b1c4ca4;p=xonotic%2Fxonotic-data.pk3dir.git a tooltips fix script --- diff --git a/fixtooltips.pl b/fixtooltips.pl new file mode 100644 index 000000000..e7af7b230 --- /dev/null +++ b/fixtooltips.pl @@ -0,0 +1,28 @@ +use strict; +use warnings; +use Locale::PO; + +sub quote($) +{ + my $s = shift; + $s = '"' . quotemeta($s) . '"'; + return $s; +} +sub unquote($) +{ + my $s = shift; + $s =~ s/^"//; + $s =~ s/"$//; + $s =~ s/\\(.)/$1/g; + return $s; +} +my $po = Locale::PO->load_file_ashash("menu.dat." . $ENV{L} . ".po"); +while(<>) +{ + /\\(.*?)\\(.*)/s or do { print; next; }; + my @s = split /\//, $1; + @s = map { $po->{quote($_)} ? unquote($po->{quote($_)}->msgstr()) : $_ } @s; + my $s = join "/", @s; + $_ = "\\$s\\$2"; + print "$_"; +}