This is the mail archive of the xconq7@sourceware.cygnus.com mailing list for the Xconq project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: internationalization



   From: Massimo Campostrini <campo@mailbox.difi.unipi.it>
   Date: 23 Apr 1998 16:06:25 +0200

   Let me dump core on another xconq dream of mine: internationalization.

Mine too - I was inspired by Alain Brossard's Frenchified Xconq 6.0.

   It can be approached on different levels; a relatively simple task
   would be to add portable support for non-ASCII characters.  A first
   step would be to support iso-8859-1; this would be enough to make me
   happy for a while. ;-)  Typing in 8-bit chars already works on
   X11/curses (with proper fonts), but I guess that some translation
   gimmick is needed to make this work on the Mac (I doubt that character
   203 is E-umlaut there).

Character sets I'm not too experienced with - what does the code have
to do differently?  Presumably any a-z tests are bogus, what else?

   I have a map of Italy and nearby lands
   c. 1400, but I can't do without e.g. the circumflex accent in Cīteaux
   (otherwise the monks must be called Citercians).  BTW, the period
   which goes with the map, codenamed "condottieri", is bogged down by
   the lack of sieges. 

OK OK, I'll work on it...

   The most interesting thing would be text generation in many languages.
   Now in nlang.c we have the comment
   /* This file should be entirely replaced for non-English Xconq. */
   But it's not as simple as that. 

That's right, you have to do help.c also... :-)

   In Italian, French, etc., e.g. an adjective must match the gender and
   number of the noun; therefore as a minimum every noun must have a
   gender and number propery (for every language), and every adjective
   must have male, female... singular, plural... forms.  German and
   Russian (and Latin) are even harder, and I don't know anything about
   Japanese or Shwaili.  A similar (or harder) thing for verbs.

   The sort of stuff I am dreaming of is like

   (unit-type submarine
      (name (english "battleship")
	    (italian "corazzata" (plural "corazzate") (gender female))
   ))

   (side 1
       (adjective (english "Russian")
		  (italian (singular (male "russo") (female ("russa")))
			   (plurar   (male "russi") (female ("russe"))))
   ))

   so you can generate all kind of "la corazzata russa Potėmkin", 
   "2 sommergibili russi" and so on...

Hmmm, I was anticipating an extension somewhat like what you're describing,
but I hadn't thought much about the grammatical details.  Ideally, those
bits would get tunneled through to the right nlang-foo.c, which could
as complicated as necessary for the language in question, so that generic
code doesn't have to try to represent every detail of every language.

   With this kind of GDL support in place, it would be easy (if boring)
   to write nlang-it.c etc.

You should try a first pass with the current code, see what the results
look like.  I don't have a good sense for the current flexibility; while
I know some German and a bit of French, I also know that only native
speakers should attempt to generate the actual phrases!

Incidentally, Ulrich Drepper (Herr GNU gettext) is here at Cygnus now,
and has been helping with the gettextization of GNU tools.  That is a
somewhat different approach that we could take, in which wired-in English
strings get translated at runtime.  In theory, this could be extended
to a per-player per-GDL regime - it occurs to me that it could clutter
up GDL files to have every reference to "battleship" have to have French,
Italian, Dutch, etc translations glued in...

							Stan


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]