]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - fixtooltips.pl
Split the player specific stuff from PutClientInServer into a separate function ...
[xonotic/xonotic-data.pk3dir.git] / fixtooltips.pl
1 use strict;
2 use warnings;
3 use Locale::PO;
4
5 sub quote($)
6 {
7         my $s = shift;
8         $s = '"' . quotemeta($s) . '"';
9         return $s;
10 }
11 sub unquote($)
12 {
13         my $s = shift;
14         $s =~ s/^"//;
15         $s =~ s/"$//;
16         $s =~ s/\\(.)/$1/g;
17         return $s;
18 }
19 my $po = Locale::PO->load_file_ashash("menu.dat." . $ENV{L} . ".po");
20 while(<>)
21 {
22         /\\(.*?)\\(.*)/s or do { print; next; };
23         my @s = split /\//, $1;
24         @s = map { $po->{quote($_)} ? unquote($po->{quote($_)}->msgstr()) : $_ } @s;
25         my $s = join "/", @s;
26         $_ = "\\$s\\$2";
27         print "$_";
28 }