1. What do I need? - a reasonably recent version of GNU gettext (e.g. 0.10.35) Check the version using e.g. msgfmt -V - autoconf - gnokii distribution :-) - if you have the variable LINGUAS in the environment (most Red Hats have, no idea about other distributions), unset it 2. How to make gnokii.pot file? gnokii.pot file is a collection of all localizable strings in the gnokii package. It will be generated automagically and is included in the standard distribution package. If you need to regenerate it, goto "po" directory, remove gnokii.pot and say make gnokii.pot 3.1 How to start translating for a new language? First, you would like to contact the authors or write to the mailing list - maybe there already is someone working on this translation. If you get the OK from the maintainer, there are several steps to do: - add the code of your language to the ALL_LINGUAS line in the configure.in file Caution: the language code may differ from the country code, e.g. czech language is cs, Czech Republic is cz - run autoconf to recreate configure script - reconfigure the package (./configure) - in the po directory, copy gnokii.pot to .po - start translating 3.2 How to merge existing translations with the updated gnokii.pot? This is simple. Rename the old file and use msgmerge to create an updated one: mv cs.po cs.po.bak msgmerge -o cs.po cs.po.bak gnokii.pot 4. How to generate a .mo file When you say make in the po directory, all existing translations will be generated. The suffix will be .gmo. If you want to do this manually, use the msgfmt utility, e.g. msgfmt -o cs.mo -v cs.po 5. How to install the files Again, the makefile takes care of this. Simply use (as root) make install in the po directory. If you want to do this manually (and/or for your language only), move the .mo file to /usr/share/locale//LC_MESSAGES/gnokii.mo I'm from Czech republic, so I did (well, I did not, but if you would like to localize gnokii, you should :-): cd po make gnokii.pot cp gnokii.pot cs.po msgfmt -o cs.mo -v cs.po make make install And now: SnowWhite:/tmp/gnokii$ export LC_MESSAGES=cs_CZ SnowWhite:/tmp/gnokii$ ./gnokii --version GNOKII Version 0.3.1 Copyright (C) Hugh Blemings 1999. Kompilace: 19:09:02 Mar 13 1999 pro model 6110 na portu /dev/ttyS0 SnowWhite:/tmp/gnokii$ The second line is in czech language :-) There are some problems - for example with "Mar" which is substitute by the C preprocessor. 6. How to use locale in the gnokii code It's simple. Instead uf using: "some string" use: _("some string") In some cases _() cannot be used but the text still needs to be localized. In such cases use: N_("some string") For more detailes refer to gettext info pages. When sending us the patches and writing code for gnokii follow the rules: - do NOT translate DEBUG output (usually done by dprintf()), - translate all other output - do not output to stdout, unless you are in the application level code (gnokii/*.c, gnokiid/*.c, xgnokii/*.c, smsd/*.c) -- $Id$ Pavel Janik Pawel Kot