diff options
author | Alejandro Marzini | 2010-08-06 03:21:21 +0000 |
---|---|---|
committer | Alejandro Marzini | 2010-08-06 03:21:21 +0000 |
commit | 33e40e1a20c4cc60031854c87d6da5e461f9eb73 (patch) | |
tree | f76425d516e75d147ffbbacbec3fad49297da1b1 /tools/po2c | |
parent | f97809a9a62a2d8840229facb2c2b6f75e37bad3 (diff) | |
parent | 6c8bcd2ba1cad1312f0a588ca284110bbbb81ccc (diff) | |
download | scummvm-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-x | tools/po2c | 21 |
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; |