[translations] Limitations of the source-string-centric approach
Gerhard Killesreiter
gerhard at killesreiter.de
Thu Jul 19 15:09:26 UTC 2007
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Konstantin Käfer schrieb:
> On 19.07.2007, at 13:54, Cog Rusty wrote:
>> I suspect that in the center of these issues is the gettext system
>> which allows an English string to have only one translation. (Perhaps
>> the lack of context parameters in t() as well. I am not sure about
>> that).
>
> Maybe, we could add such context parameters (plain strings), for the
> case of the abbreviated word "May" the context parameter could be
> "month abbreviation", for the full month "May" the parameter would be
> "month full" (or something in that direction). Translators would have
> to advice programmers to use contexts for strings so that homographs
> can be separated in a clean fashion.
I am not sure that this would work. The whole gettext stuff can't deal
with this May/May situation.
>> Some time ago, for example, there was an unsolved issue with the month
>> "May", which in English happens to be same as its abbreviation,
>> therefore it can't have an abbreviation different from the name of the
>> month in any other language. Or, a sting as simple as "Active" can
>> have genders (male, female, neutral) depending on what it refers to,
>> but here we have to choose one gender for everything (which wouldn't
>> impress the occasional intellectual visitor of a site).
>
> That's also an issue I have discovered, for example with the string
> "Your @type has been created." (with @type being the name of a
> content type).
>
> I'll explain the problem for people who don't understand the problem:
> Content type names have a specific gender in most languages; let's
> take "story", which translates to "Artikel" in German. The word
> "Artikel" is male, thus the sentence should be "Ihr Artikel wurde
> erstellt." (Ihr = Your). However, if we use page = Seite, we end up
> with "Ihr Seite wurde erstellt." The problem here is that "Seite" is
> female, thus requiring "Ihre" in the German language. This results in
> grammatically incorrect sentences. A wrong gender is not a minor
> issue for a native speaker, it really disturbs the reading flow and
> may shed a bad light on the site creator.
>
> A possible solution to that problem could be to:
> a) remove variables that are embedded in a sentence (strings like "Do
> you really want to delete %title?" are perfectly fine since the %
> indicates that this is user supplied text dropping out of the regular
> reading flow)
I think this is the cleanest solution. However, it could be difficult to
implement programming-wise.
> b) Provide a way to override translations for specific variable
> contents. The site administrator could for example override "Your
> @type has been created." for @type = 'Seite' and replacing it with
> "Ihre @type has been created"
Seems ugly to me.
>> The rest of the time, a little bigger chunks of text, case sensitivity
>> or even occasional differences in the html markup of a string allow as
>> to hack our way to a better translation.
>
> I can't agree with that. If we split up long texts to paragraph
> length texts, the context is absolutely clear and the likelihood that
> an entire paragraph should be translated differently in different
> contexts converges against zero.
I agree.
Cheers,
Gerhard
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFGn36lfg6TFvELooQRAu2eAKDJGYBZFT9kRgwI+TP8Puj/NPbL/wCePfxK
9BAcyNm/OkomQB/6uOmXAVU=
=Q5VR
-----END PGP SIGNATURE-----
More information about the translations
mailing list