Re: Proposal for declinations in gettext
- From: Bernd Groh <bgroh redhat com>
- To: =?ISO-8859-15?Q?=22Martin_v=2E_L=F6wis=22?= <martin v loewis de>
- Cc: =?ISO-8859-15?Q?Keld_J=F8rn_Simonsen?= <keld dkuug dk>,linux-utf8 nl linux org, callum physics otago ac nz,translation IRO UMontreal CA, translation-i18n lists sourceforge net,GNOME I18N List <gnome-i18n gnome org>
- Subject: Re: Proposal for declinations in gettext
- Date: Tue, 17 Jun 2003 10:30:28 +1000
>
>
>>It is no problem that the "of" in "king of hearts" is not translated.
>>you can just omit it, as in
>>
>>msgid "Move %s of %s to stack"
>>msgstr "Flyt %2$s %1$s til bunken"
>>
>>which also makes use of the parameter positioning reordering of printf.
>>
>>
>
>Of course, it would not work that well for German. You could
>concatenate "%2$s%1$s" but that would require translating "king" as
>"könig". Unfortunately, as a noun, the proper translation would be
>"König"; lower-casing only happens for the compound word.
>
Completely agree here. Of course, you could do "%2$s-%1$s", i.e.
Herz-König, which will definitely be understood, though it doesn't
change that the correct translation would be Herzkönig. But, that wasn't
necessarily the point anyway, since you don't necessarily have "Move %s
of %s to stack" as a msgid. Instead, you might have the following:
#: 1
msgid "Move %s to stack"
msgstr ""
#: 2
msgid "%s of %s"
msgstr ""
#: 3
msgid "King"
msgstr ""
#: 4
msgid "Hearts"
msgstr ""
Where 3 and 4 are substituted into 2, before 2 is substituted into 1.
How do you get rid of the 'of' here? You can only translate "%s of %s"
to "%2$s-%1$s", iff you are certain there isn't any "x of y" where 'x'
not in (Two, Three, ...., King, Aces) and 'y' not in (Diamonds, Hearts,
Spades, Clubs). As such, you do require context, as following:
#: 2
msgid "[playing card]%s of %s"
msgstr ""
Now, while this might still appear easier for the engineer from a
development perspective, the engineer, most and for all, *must know*
that this context is required in the first place. Since whether someone
is the Queen of Hearts or whether we have the playing card Queen of
Hearts, it's still 'Queen of Hearts' and '%s of %s' is still '%s of %s'.
In a translation, on the other hand, that might be completely different
(e.g. for German it would be 'Königin der Herzen' and '[playing
card]Herzkönigin'). So, do we expect the engineer to know whether a
context is required in the translation or not, or do we simply expect
the engineer to just add a context for everything now? An alternative
might be that we do require a context for every part of a composed
string. Then, the engineer would simply have to think of a way to
describe what exactly s/he means, so that the translator will later on
know what exactly the engineer referred to, i.e. that the translator
knows in which whole the part is substituted into.
Question now is, is it really easier for an engineer to consider such
context issues, or to simply use the printf-method to simply generate
all complete msgids and let the translator handle the rest?
If you have everything in one string, then you don't need to worry about
whether translators know that you can reorder %s, %s with %2$s, %1$s either.
And another considerable advantage of having everything in one string is
following:
#: 1
msgid "Move King of Hearts to stack"
msgstr "Lege den Herzkönig auf den Stapel"
#: 2
msgid "Move Queen of Hearts to stack"
msgstr "Lege die Herzdame auf den Stapel"
While it might be alright in english to say "Move %s of %s to stack", it
really sounds wrong in some other languages not to say "Move the %s of
%s to stack". And I don't see how that could be covered with any kind of
composed string, since whether it's 'die' or 'der' entirely depends on
the noun, i.e. on 'Königin' or 'König'. IMO, considering *all* issues
and trying to create a system that is really good for most of the
languages, rather than going the easy way that works for all languages,
I personally believe to be a waste of ressources. And, in addition, I
believe that the overall quality of the translations would suffer, since
the whole is more than the sum of its parts, and this goes for texts in
particular.
And no, I am not talking about card games.
Cheers,
Bernd
--
Dr. Bernd R. Groh Email: bgroh@redhat.com
I18n/L10n Engineering Phone: +61 7 3872 4847
Red Hat Asia-Pacific Fax : +61 7 3257 4800
"Everything we know is an illusion, nothing we know is real,
nothing real we can know, illusion is what we call reality."
Disclaimer: http://apac.redhat.com/disclaimer
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]