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

[Freeciv-Dev] Re: (PR#19049) Problematic/buggy strings.

[Top] [All Lists]

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

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

sini.ruohomaa@xxxxxx wrote:
> <URL: http://bugs.freeciv.org/Ticket/Display.html?id=19049 >
> 
> <URL: http://bugs.freeciv.org/Ticket/Display.html?id=19049 >
> 
> On Tue, 2006-08-01 at 08:36 -0700, Jason Dorje Short 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.
> 
> That does not seem to affect the result - in both cases, "City Walls,
> Coastal Defense" or "City Walls, Coastal Defense" or other possibilities
> can be built separately and stored to a string, and the start can be
> stored to another string, and 
> _("%s with %s"), string1, string2 can be translateable. 
> 
> In addition, either _("%s, %s"), list_so_far, new_addition_to_list or
> _(", ") can be translated if marked as such. (A context indicator for
> list separator is appreciated. :))

Yes, it could maybe be improved.  Though I don't see how many different 
ways "%s with %s" can be translated that this change would help with...

>>>>> --------------------------------------
>>>>> #: 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'.  
>>> 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.
> 
> Hmm, let's see in that case... If a fixed ruleset can modify the
> production "shields" to be "flowers", surely "flowers" will be
> marked/markable as translateable? (If a user builds their own vigorously
> modified ruleset for non-distribution, they probably won't care about
> translations anyway, so I'm assuming this theoretical ruleset is a part
> of the Freeciv distribution which we're translating.)
> 
> In connection to that mark, we should also (automatically) mark as
> PL-translateable "%d flowers" (%d flower and %d flowers for English),
> and make the above kind of message be
> 
> msgid "* Each of your cities will avoid paying %s towards unit
> upkeep.\n"
> (with %s replaced by the output of "%d flowers" in this case, and with 
> output of "%d shields" in the default ruleset).

Well, it is a problem.  Just having a PL_() translation of shields or of 
"%d shields" in the rulest would help - though the registry code is not 
capable of this ATM.

Maybe it would be better to change the grammar around a bit though. 
Instead of "%d shields" it could be "%d units of production" or "%d 
units of food" or "%d units of flowers".  It would then be easy to use 
PL on this.  This is also what's done with military units, with strings 
like "%d Musketeer units".

> (Just in case someone misunderstands this bit, don't hold your breath on
> me submitting patches - I can sort of read Freeciv code and I've now
> even managed to mail bugs a handful of times after several years of
> translating, I'm not fantasising about writing patches any time soon.
> Gotta focus on what I do best (complain? no, translate, I think). :))

One thing that translators could easily provide patches for is TRANS 
comments.  If any string confuses you and you figure it out, add a /* 
TRANS: XXX */ comment on the line right above that string.  Patches like 
these are easy.

>>> msgid "You receive %s's worldmap."
> 
> And if it were e.g. "You recieve the %s worldmap.", filled with
> "Finnish" (instead of e.g. "Tarja Halonen" or "sini"), we can use a word
> that's already been modified to fit that kind of role in a sentence.
> 
> "You recieve the Finnish worldmap." 
>   ~> Vastaanotat suomalaisten maailmankartan. 
> "The Finnish Pikemen attacks." 
>   ~> Suomalaisten yksikkö Keihäsmiehet hyökkää.
>   <~ Finnish unit (to force the sentence into singular) Pikemen attacks.
> Basically the same 'suomalaisten' works here (there's the capitalization
> challenge, but I think that was a in a different mail).
> 
> If the original message uses name-genetive:
> "You recieve Tarja's worldmap."
>   Literal translation:
>   ~> Vastaanotat Tarjan maailmankartan. 
>      Won't work: if name ends in a consonant like 'John', genetive
>      should be +in (JohnIN) not +n (TarjaN)) - Vastaanotat Johnn
>      maailmankartan is just plain wrong.
>   Avoid the problem by dropping the genetive:
>   ~> Vastaanotat maailmankartan jonka Tarja näkee. (cludgy)
>      You-recieve world-map      which Tarja sees. (sounds as bad in
>      English as it does in Finnish)

You receive the worldmap of John?
You receive Finland's worldmap?

I dunno, I guess 'you receive the Finnish worldmap' is as good as anything.

> No biggie, it took me quite a while lurking on the gnome-i18n and the
> Finnish Gnome translation team lists to even get the idea that it's a
> good idea to bring problems up also when they're more complex than typos
> and also when you can't guarantee they affect anyone else but
> yourself. :) When I started translating things back in 2001 or so, I had
> this strange fixation that coders know all about i18n and the gazillion
> languages that localization is done in, and if the message is weird it's
> weird for a reason and it's just our task to force it to work in our
> language. 

Heh.  Oddly, though the only language I know is english, I seem to have 
done most of the i18n fixes.  Mateusz did a huge amount of work on i18n, 
but he has disappeared in the last 6 months.

-jason





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