r970 - in packages/trunk: . nexuiz-locale-fr nexuiz-locale-fr/debian

Bruno Kleinert fuddl at gmx.de
Tue Jul 4 18:48:00 UTC 2006


i hope my english is good enough to roughly explain some internals of
nexuiz... :/

hm... to be honest, i think it's too difficult and especially
problematic to build localized nexuiz add-ons.

to give some reasons:

- id software's engines aren't designed to support localization
- the QuakeC language isn't designed for localization
- it's not possible to install more than one language pack at the same
- the menu buttons and the text on them are put together by several
  graphics - they must be initially drawn and they must be redrawn every
  time the manu design changes
- gaining support for localization is a "hack"[1]. it's easily possible,
  that an older language pack breaks a newer nexuiz-data package.
- the language packs can break other add-ons
- language packs must be rebuild every upstream release

i'll explain, why i call it a "hack". maybe some people don't like me to
call it a hack :)

all id software engines are capable of reading zip archives. when the 
engine starts, it reads all .pk3 files (they are simply zip archives)
from the '/usr/share/games/nexuiz/data' and then from
'$HOME/.nexuiz/data' directories in alphabetical order.

the trick to exchange parts of nexuiz works this way:
the menu language is hardcoded in the dataXYZ.pk3, this cannot be
disabled. this file is read when the engine starts. then the
frenchpack.pk3 file is read. the files in the frenchpack.pk3 have
exactly the same filenames as in the dataXYZ.pk3 and as they are loaded
after dataXYZ.zip, the engine drops references to the files which were
read in first place.
this way one can override all files loaded into the engine before.

and this "feature" can cause a lot of problems. just imagine, a user
drops a .pk3 file to his $HOME/.nexuiz/data directory, which also
intends to overwrite the menu in some way. whatever the filename is,
it'll override the files from data.pk3 and frenchpack.pk3, because
system directories are read before the home directory -  this'll end up
in some chaos ;)

that's also the reason why there could always exist only one language
pack at a time: all language packs override each other, until the last
one, in alphabetical order...

as far as i could have a glance at the doom3/quake4 engine, this
situation won't change in the near future in id software's 3d engines :(

cheers - fuddl

Among elephants it's not considered cool nor in any good taste
to drain other elephants

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/pkg-games-devel/attachments/20060704/627ada7d/signature.pgp

More information about the Pkg-games-devel mailing list