[Scummvm-devel] Translations of the About text in ScummVM

Thierry Crozat criezy at scummvm.org
Fri May 13 11:53:41 CEST 2011


On 13 May 2011 10:24, Max Horn <max at quendi.de> wrote:
>
> The idea was to move the "burden" of having to map HTML entities to each encoding to the translator, who would know best how to map e.g. ö to the encoding of their translation. But if that doesn't ring well with people, we can ditch that. *shrug*

Oh I see I missed the point. I probably read the email too quickly.
But would the burden of this mapping really be a problem if it was
done by the software? I just don't want to scare translators away
because there are many more strings to translate, half of which should
actually not need to be translated, and some of those with html
entities.

>
>> Actually I would even prefer if we could filter in credits.pl the string we make translatable and exclude engine names and people names for example, because having many strings in the po file that we do not translate make it difficult to follow the status of the translations.
>
> I can trivially exclude people's name. For engine names it would be slightly more work. If the 31 engine names really cause so much bother, I can look into adding e.g. a flag to begin_section to mark section titles that should not be translated.
>
>
>> So the main issue for me is not translation but how to display correctly those special characters when using a font that doesn't have them (e.g. Ukrainian). I guess we could use a different marker (i.e. not _(string) but something similar) that will call a function to map html entities (or whatever way we want to code them) to either ASCII or latin1 without trying to translate them.
>
> I am not sure I understand what you mean with the different marker or how you envision it would work / would be used. Some examples might help to illustrate your idea.

The idea of a different marker for the strings not translated that
needs to map html entities to a character would be to avoid adding too
much burden on the software by calling the function that does the
mapping only on those strings that need it.

For example in the code if you had:
_("Fo&ouml") that would try to translate it (and if no translation is
found maybe this should also call the html entities mapping function).
__("Foö") that would call the html entities mapping function

Another approach is that this marker could be used to generate a
separate pot file and to have create_translations tool do the mapping
and add them to the translations data file. So at run time
_("Fo&ouml") and __("Foö") would behave the same (going through
the translation process), but the second one would be handled directly
by the create_translation tool and not be among the strings to
translate for the translator.

(I am not advocating the use of __( ) as a marker - I am just too lazy
to find a good one :) )

>
> Anyway, the only HTML entity that is *not* in a person or engine engine name is that of the norwegian translation. So, in my proposal (modified to not translate person & engine names) this would result in *one* HTML entity ending up inside the msgid inside the .po files. Surely the translators can deal with that? :)

No I don't think that would be a problem having a few of those if they
are in strings that need to be translated. Again my issue was with
asking translators to do more than translation work (i.e. character
mapping in strings that otherwise would not need to be translated).

Thierry




More information about the Scummvm-devel mailing list