Complete.Org: Mailing Lists: Archives: freeciv-dev: August 2006:
[Freeciv-Dev] Re: [freeciv-i18n] Re: (PR#19049) Problematic/buggy string
Home

[Freeciv-Dev] Re: [freeciv-i18n] Re: (PR#19049) Problematic/buggy string

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: sini.ruohomaa@xxxxxx
Subject: [Freeciv-Dev] Re: [freeciv-i18n] Re: (PR#19049) Problematic/buggy strings.
From: "Jason Dorje Short" <jdorje@xxxxxxxxx>
Date: Tue, 1 Aug 2006 08:36:11 -0700
Reply-to: bugs@xxxxxxxxxxx

<URL: http://bugs.freeciv.org/Ticket/Display.html?id=19049 >

Sini Ruohomaa wrote:

>>From a quick look, you're building a structure like, e.g.
> "City: Helsinki (Finland(?), Friendly) with Aqueduct" or
> "City: Helsinki (Finland(?), Friendly), Aqueduct". 
> (not sure what the difference here is, but I'm not a Freeciv coder :))

No, the text is something like

   "City: Helsinki (Finland, Friendly) with City Walls" or
   "City: Helsinki (Finland, Friendly) with City Walls, Coastal Defense" or
   "City: Helsinki (Finland, Friendly) with City Walls, Coastal Defense,
SDI Defense"

and so on.  You can see there are a potentially unlimited number of
cases.  However for the default ruleset the number of cases is clearly
very limited as only certain buildings are "visible from outside the
city".  And if we had too long a list, then a list isn't the right way
to store it anyway.

>>> --------------------------------------
>>> #: client/helpdata.c:1310
>>> #, c-format
>>> msgid "* Each of your cities will avoid paying %d %s towards unit
>>> upkeep.\n"
>> %s is the output type, like 'shields'.  There are currently no different 
>> forms of this.  I honestly don't know much about linguistics or 
>> translation so I don't know if a different form is needed here.  In 
>> particular, since there is no singular/plural/dual forms available it 
>> isn't really possible to use PL_ here.
>>
>> In most cases this won't matter since for the default ruleset I believe 
>> %d is always 3.
> 
> Hmmm. So the ruleset generally is only 3, but is user-modifiable to
> anything, while there's always only three options for the output type
> (shields, trade, food)? You can use PL_ if you split it into "avoid
> paying %d food", "avoid paying %d shields" and "avoid paying %d trade",
> right?

No, not really.  THe problem is the output type names are (potentially)
modifyable in the ruleset, and it can (potentially) be any output type
that is used here (gold is certainly possible, if you have gold upkeep
for units).  Thus you would need a full PL_ translation of those, at the
ruleset level.

> #: client/gui-xaw/citydlg.c:1435
> #, c-format
> msgid ""
> "\n"
> "Total trade %d Trade/Year\n"
> msgstr ""
> 
> (which, by the way, could use a PL even though it's identical for
> Freeciv-English)

Sure, patch wanted.  Though this is an example of "old" code which knows
about the specific output type - it should be using %s like the previous
one.

> It's uncommon that I spot a pluralized form of any of the six
> measurables, but a quick grep finds:
> 
> #: client/gui-mui/citydlg.c:1324
> msgid "Shields"
> msgstr ""
> 
> #: common/city.c:54 client/gui-gtk-2.0/repodlgs.c:935
> #: client/gui-mui/citydlg.c:1600 client/gui-mui/repodlgs.c:667
> #: client/gui-win32/repodlgs.c:692
> msgid "Shield"
> msgstr ""
> 
> - strange that a single "2 or more"-plural of Shield appears in a single
> file.

Yeah.  Maybe elsewhere it is translated as "Production".

>>> #: client/gui-gtk-2.0/gui_main.c:201
>>> msgid "Notify Label"
>>>
>>> All these labels are unclear. Could you add translator comments to
>>> gui-gtk-2.0/gui_main around lines 196-241?
>> Same problem as above.  Notify Label is one of the FIXME options.  But I 
>> don't know what it does so I can't write a full help message or a TRANS 
>> comment.
>>
>>> ------------------------------------------------------------
> [We can't follow these kinds of inflictions, and why's %s not e.g.
> "(the) Finnish"?]

I don't follow.
>>> ------------------------------------------------------------
>>>
>>> #: server/diplomats.c:714
>>> #, c-format
>>> msgid "You caught %s %s attempting to incite a revolt in %s!"
>>>
>>> This is a very generic example of a sentence which will need to be
>>> translated starting with %s %s for reasons of general Freeciv
>>> untranslateability to a non-analythical language. In addition, %s is
>>> e.g. "Finnish", which in Finnish is translated as
>>> 'suomalaisten' (of-the-Finnish-people). I'm suspecting the sentence will
>>> begin with a non-capital letter as a result. What can be done about it?
>>> It's bad form to cap all genetives in Finnish.
>>>
>>> The general problem of untranslateability is that a language like
>>> Finnish would need separate translateable strings to e.g.
>>> "your %s" (unit)
>>> "object?%s" (as an object of a sentence, like you caught %s)
>>> to make sentences really work.
>>>
>>> In addition, all town names really need separate translations for "in %
>>> s", "near %s" and "to %s". And town names are untranslateable to begin
>>> with. But I'll have to write about this more after I consult the Gnome
>>> Finnish team for more wisdom. Basically, the Finnish translation sounds
>>> like a mechanized horror because all these need to be tweaked around:
>>> "You caught the %s unit of %s attempting to incite a revolt in the town
>>> of %s!" is an example of the more sensible adjustments I've made. It
>>> causes me motivational problems to translate something that sounds so
>>> horrible I wouldn't use it myself, but working with Freeciv seldom
>>> enough is good for forgetting such misthoughts and getting some work
>>> done instead. ;)
>> I don't see that anything can reasonably be done for this.
> 
> I don't have any bright ideas about it so far either, but judging by a
> quick question round it might be something to take up with gettext folk
> instead anyway - we got pluralization support that's personalized to how
> many plurals you need, so we might eventually have infliction support in
> gettext too. In either case it's a long-term project, but hey, I vividly
> remember my amazement when plurals started working too. :)

Indeed.

> Thanks for your quick reply to a big pile of subprojects!

Too bad it isn't easy to fix more of these issues.  Most translation
issues are just a simple fix, but you bring up some complex problems...

-jason





[Prev in Thread] Current Thread [Next in Thread]