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 <country>.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/<your 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
        <translating messages in cs.po>
        <checking the translations using> 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. <hugh@linuxcare.com>
        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: gettext-howto,v 1.10 2001/11/29 11:27:32 pkot Exp $
Pavel Janik
Pawel Kot
