Complete.Org: Mailing Lists: Archives: freeciv-dev: September 2000:
[Freeciv-Dev] Re: Improved grammatic handling of nation names.
Home

[Freeciv-Dev] Re: Improved grammatic handling of nation names.

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Jeff Mallatt <jjm@xxxxxxxxxxxx>
Cc: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: Improved grammatic handling of nation names.
From: gs234@xxxxxxxxx (Gaute (B) Strokkenes)
Date: 02 Sep 2000 20:17:38 +0200

Jeff Mallatt <jjm@xxxxxxxxxxxx> writes:

> Simply adding the accusative case is just a *bigger* form of the
> same system, not more general.  However, this may be the only way to
> approach the problem: keep adding cases until no one complains.  ;-)

The biggest problem isn't really to add a large list of cases, aspects
etc. but to come up with a general way to specify which variant to
use.  It is impossible to specify this at compile time, since the case
etc. of a particular word in a sentence may vary depending on the
language.

One way to do this would be to add an extra argument to some sort of
printf()-wrapper, e.g.

   iprintf("%s bites %s.", "Nn", "man", "dog")

You could then use various magic to mark appropriate strings as
translatable and pick the right translation at run time.

However, the whole thing becomes much more complicated once you
realise that some of the arguments may dictate which form of the other
arguments that you have to pick.  The proper name for this is
agreement, IIRC.  For example,

   iprintf("I see %s %s %s.", "whatever", "a", "blue", "car");

In many languages, the exact form of "blue" depends on "car".  Even in
English you may have to pick a different "a" depending on what "blue"
looks like.  Freeciv alreay uses constructs like this, e.g. "The
MAGNIFICENT Norwegians". 8-)

I don't think that there's any real solution to this problem except to
make some kind of survey and try to limit the number of places that
you have to deal with this, and then come up with specific solutions
where you need them.

-- 
Big Gaute (not to be confused with LG)
I'd like some JUNK FOOD...  and then I want to be ALONE --



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