[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-i18n-doc
Subject: Re: KGeography needs your help
From: Chusslove Illich <caslav.ilic () gmx ! net>
Date: 2005-08-03 17:17:09
Message-ID: 200508031917.12627.caslav.ilic () gmx ! net
[Download RAW message or body]
> [: Clytie Siddall :]
> This is much like the plurals issue: gettext handles plurals very
> well now, with a setting for each language. There may well be a way
> for translators of different languages to indicate their gender use,
> to include variations, and eventually, to have a way for gettext to
> pick up on this automatically.
You are having a little too much expectation of the Gettext :) Consider
that even the plural handling is not without dispute, as the KDE still
doesn't use the default Gettext's way of handling plurals. Also, current
plural handling (Gettext's or KDE's, whichever) will not allow you to have
more than one plural argument per message.
This, however, is not the fault or lack of agility on the side of Gettext
developers, but rather a consequence of huge differences between
languages. One can simply not hope that specific needs of many languages
can be covered in a monolithic way (single library), in such a way that
solution for one language doesn't get in the way of the other.
Just look at the topic at hand, KGeography. First of all, instead of the
problem being solved on the level of specific language, we need all this
concensus talk (one solution fits all), which wouldn't be too bad if it
weren't that all proposed solutions are:
1) Introducing a lot of work even for the languages that don't need it
(David's proposal for context info "flag of...", or Matthieu's for "of..."
messages). This is actually what Albert wanted advice against in the first
place.
2) Complicating the code, asking developer to implement what he cannot
really get the feel of (Albert's observation on the languages he speaks).
3) Reducing to lowest common denominator solution (as Federico proposed
"Contry: %1, Capital: ?"), which is going to reduce the legibility in any
language. Worse, it will do so even for languages which were well off in
the first place.
4) After all, still very probably not working for this or that language
(Marek and Federico demonstrate well the possible diversity). And don't
forget that upon implementing current "least worse" solution, any further
tweaks would be much harder.
In the current i18n framework, I would do pretty much nothing. I would
leave the messages as they were originally ("%1 is the capital of...",
"The flag of %1 is...", "The capital of %1 is..."), and forget about the
names in different contexts. And let the translator wrestle with it,
perhaps giving some info. For example, in my language I could use "%1 is
the capital of which country?", "Which flag does %1 have?" and "%1, the
capital is:", it wouldn't be too ugly (well, except for the last one :) In
inescapable situation in some language, translator could still go for
"Country: %1, Capital: ?" and the like.
Odds are, I guess, that less people are going to be annoyed this way, than
seeing one huge PO file.
More general solution to this problem, and many more of its kind, would be
to introduce some sort of scripting system for translators, such as the
one that I have been proposing:
http://caslav.gmxhome.de/writings/ktranscript.html
Concerns have been raised about its ease of use, performance and security,
and I would be happy to discuss them further (as I have before), but there
are two important points that I think I might have not made obvious.
First, the only change from the programmer's point of view would be that
i18n functions are ditched in favor of i18n functional classes (thus
almost retaining source compatibility). Now that KDE4 is approaching, it
would be the perfect moment to make this switch. It would allow us to
afterwards experiment heavily without breaking binary or source
compatibility. We could talk about the choice of scripting language (or
even have more of them!), implement natively specific i18n handlings that
are found to be very widespread in application, and who knows what else.
Or, if the worst happens, just ditch the scripting approach alltogether,
with almost no leftover overhead.
Second, from the point of view of translator who does not need to use such
scripting system, nothing changes at all. And for those who do need to use
it but are unsure exactly how, there is this list to talk it over :)
--
Chusslove Illich (Часлав Илић)
Serbian KDE translation team
[Attachment #3 (application/pgp-signature)]
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic