This allows to keep the engines to specfiy the files for translation close to
the engine sources itself.
Thanks to criezy for his suggestion on this approach.
The charsets used by the translations now need to have a "$(name).cp" file,
which contains an charset index => unicode mapping. Otherwise
create_translations will fail.
This change means there can now be different translations for the same
english string depending on the context. It is based on gettext msgctxt feature.
There is a new macro _c(msg, ctxt) that should be used instead of _(msg) in
the source code when we want to add a context to the message. For the
moment I have added contexts to only one message ("None") so that I could
test the changes. Context could be added also to get shorter translations when
GUI is in 1x mode.
I have also added back the fuzzy option to msmerge since it is useful when
adding contexts to populate the translations for the new contexts.
svn-id: r52308
Until now the parsing was done by the po2c perl script, which
generated a messages.h file. The create_translations executable
had then to be recompiled before being executed. This commit
removes the po2c perl script. The parsing is now directly done by
the create_translations tool.
The parsing has also been extended to support the msgctxt strings.
This is not dumped yet in translations.dat but will be once I have
finished implementing context support for the translations.
svn-id: r52284
When updating the template pot file from source code and then
merging it with existing translations po file, it was trying to translate
automatically new string using a fuzzy matching. I have never seen
it work, so I am disabling the option. I prefer to have an untranslated
string rather than a wrongly translated string. And after discussing
with another translator it seems I am not the only one.
svn-id: r52233
In recent discussions on -devel it turned out, that this
feature is rather superfluous and instead we should rather
implement a proper error reporting in our GUI.
I also removed the dependency on iconv along with this.
svn-id: r50335
Based on patch #2903830: "Updated Translation Prototype" by alexbevi
which in turn is based on patch #1739965 by jvprat.
Currently it builds all translations right into ScummVM. Once the
feature will be accepted more widely, i.e. more translations will
pop up, it will be trivial to move translation strings to external
file.
Finished translation: Russian
Unfinished translation: Hungarian
Things which are nice to do:
- Language code -> language mapping for more user friendness
- Specifying fonts to be used with language
- Updating of interface language without restart. It will require
moving of much code to reflowLayout() methods for each dialog
The .po files must be in single byte encodings. I.e. no support
for Unicode.
svn-id: r49759