]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - fixtooltips.pl
a tooltips fix script
[xonotic/xonotic-data.pk3dir.git] / fixtooltips.pl
diff --git a/fixtooltips.pl b/fixtooltips.pl
new file mode 100644 (file)
index 0000000..e7af7b2
--- /dev/null
@@ -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 "$_";
+}