[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