When JOE is released:
Create a new joe.pot file with
xgettext -k_ *.c *.h
mv messages.po ../po/joe.pot
Merge into each existing .po file with
msgmerge -U de.po joe.pot
To create a translation for JOE:
- Create a new .po file and edit in your translations. You can
start with any of the existing .po files, or with the joe.pot file.
JOE's gettext() allows comments in msgid and msgstr. These look like
this: "|comment|yY". These are used to distinguish between two otherwise
identical strings which have different meanings, except in english.
Without the comment, xgettext (which generates the joe.pot file) will
merge them.
Some of the strings are sets of characters which can be used as
responses to single-key queries. For example: "|yes|yYoO" means
y, Y, o, and O can all be used to answer yes to a yes/no question.
It may be difficult to figure out the meaning of some strings- a good
idea is to look at the referenced source code or ask a question
in the joe-editor-general@lists.sourceforge.net mailing list.
- Verify the .po file with:
msgfmt --check-format de.po
This verifies that the number of printf format string directives
has been preserved in your translations. It also generates a binary
version of the .po, but we don't need it.
- If the joe.pot file has been updated since your last translation
you need to merge in the updates with: msgmerge de.po joe.pot >new.po
- Copy the .po file into ~/.joe/lang You should be able to try it
now. Run JOE like this to set a particular language: LANG=de_DE joe
- Translate the on-line help in the joerc file and call it joerc.de
- If you are feeling ambitious, translate the man page. It goes
here: /usr/share/man/de/man1/joe.1
- Upload the files to the patch area of
http://sourceforge.net/projects/joe-editor so that others can use them. I
will include them in the next version of JOE.