aboutsummaryrefslogtreecommitdiff
path: root/tools/po2c
diff options
context:
space:
mode:
authorAlejandro Marzini2010-08-06 03:21:21 +0000
committerAlejandro Marzini2010-08-06 03:21:21 +0000
commit33e40e1a20c4cc60031854c87d6da5e461f9eb73 (patch)
treef76425d516e75d147ffbbacbec3fad49297da1b1 /tools/po2c
parentf97809a9a62a2d8840229facb2c2b6f75e37bad3 (diff)
parent6c8bcd2ba1cad1312f0a588ca284110bbbb81ccc (diff)
downloadscummvm-rg350-33e40e1a20c4cc60031854c87d6da5e461f9eb73.tar.gz
scummvm-rg350-33e40e1a20c4cc60031854c87d6da5e461f9eb73.tar.bz2
scummvm-rg350-33e40e1a20c4cc60031854c87d6da5e461f9eb73.zip
Merged from trunk, from r51495 to r51775
svn-id: r51776
Diffstat (limited to 'tools/po2c')
-rwxr-xr-xtools/po2c21
1 files changed, 19 insertions, 2 deletions
diff --git a/tools/po2c b/tools/po2c
index 9dbc5e0fb7..10e15338c7 100755
--- a/tools/po2c
+++ b/tools/po2c
@@ -161,19 +161,29 @@ foreach my $l (keys(%msgs))
print "struct PoLangEntry {\n";
print "\tconst char *lang;\n";
print "\tconst char *charset;\n";
+print "\tconst char *langname;\n";
print "\tconst PoMessageEntry *msgs;\n";
print "};\n\n";
print "const PoLangEntry _translations[] = {\n";
foreach my $l (keys(%msgs))
{
+ # charset
$header = $msgs{$l}->{""};
$header =~ /charset=([^\\]+)/;
$charset = $1;
- print "\t{ \"" . $l . "\", \"" . $charset . "\", _translation_${l} },\n";
+ # user readable language name
+ $lang = "NULL";
+ $header = $msgs{$l}->{""};
+ $header =~ /Language:[\s]*([^\\]*)/;
+ unless ($1 eq "")
+ {
+ $lang = "\"" . $1 . "\"";
+ }
+ print "\t{ \"" . $l . "\", \"" . $charset . "\", " . $lang . ", _translation_${l} },\n";
}
-print "\t{ NULL, NULL, NULL }\n};\n\n";
+print "\t{ NULL, NULL, NULL, NULL }\n};\n\n";
print "// code\n";
print << 'EOF';
@@ -255,6 +265,13 @@ const char *po2c_getlang(const int num) {
assert(num < ARRAYSIZE(_translations));
return _translations[num].lang;
}
+
+const char *po2c_getlangname(const int num) {
+ assert(num < ARRAYSIZE(_translations));
+ if (_translations[num].langname != NULL)
+ return _translations[num].langname;
+ return _translations[num].lang;
+}
EOF
exit 0;