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

> [wsimpson - Fri Jan 11 18:48:25 2008]:
> Agro Rachmatullah wrote:
> > However, the server sends Japanese message to all players (e.g., turn
> > X starts)! Which means it will irritate people that can't understand
> > Japanese. 
> I also reported this problem in PR#39979, fixing the login messages.  This
> will be released in 2.1.3.  Other messages will have to wait for 2.2.0 or
> beyond, as they require extensive network packet format changes.
> > Every client should be able to report its preferred language to the
> > server. The server then should send messages with language appropriate
> > for each client, or if not possible, in English.
> > 
> Your solution is not currently possible.

Why not?  I am not an expert with gettext but there's no fundamental
reason the server cannot translate into multiple languages.  And for
some purposes (modpacks) this is more flexible than requiring client

>  Every client has the *.po files
> for all languages.  All messages should be sent to every client in the
> (ASCII msgid) canonical form without translation.  Each client translates
> to the appropriate local language.
> This will require a complete revision of the notify system, probably
> closely matching the event system (each notify message is usually followed
> by an event message).  This requires the variable parameters to be sent to
> the client in a canonical form.  Perhaps the systems can be merged.
> This also requires the unified object numbering system (PR#39476) and the
> struct universal revisions (PR#39515) be completed, started about 6 months
> ago....
> To summarize: known problem, I'm working on it!  I've spent the better
> of 7 months cleaning up the translation code, beginning with PR#39383.
> what I'd intended to work on here (I was working on the new terrain), but
> there was such a mess, it was too hard to add new things properly.

I think this problem is larger than you're making it out to be.  It's
not enough just to send an untranslated printf string and paramaters and
have the string translated.  Some parameters (but not others) must also
be translated.  What you're looking at therefore is a reimplementation
of printf.

In fact, this has been done before.  It wasn't implemented, partly due
to the complexity but largely because multilingual games are rare.  The
patch was by mateusz and should reside in RT somewhere, though I haven't
been able to find it.  It provided a printf-like syntax with different
escape codes for each type of printable unit (non-translated string,
translated string, etc, but working with the ugly-hack parts of
translation like the near/at lines instead of removing them).

Again, though this is possible, I don't see it as being advantageous
over server-side translations into the target language.


Freeciv-dev mailing list

Reply via email to