gnucash/doc/README.translator.txt
Dave Peticolas 048501b8ae Yannick Le Ny's updated translator docs and French README.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@2673 57a11ea4-9604-0410-9ed3-97b8803252fd
2000-08-13 23:37:15 +00:00

154 lines
4.4 KiB
Plaintext

This document explains how to create a GnuCash translation file for
use with GNU gettext.
by Yannick LE NY <y-le-ny@ifrance.com>, the French translator
V1.1 - 20000813
1) Take the file gnucash.pot, edit it with any text editor and save it
as 'CODE-COUNTRY.po' (it must be a plain text file only not formatted text)
where the CODE-COUNTRY is two or more letters which denote the language
and country for the translation.
For example: 'it' for Italy, 'fr' for France, 'de' for Germany,
and fr_BE.po for people in Belgium who speak French.
For france, the file is 'fr.po'.
2) Now at the top of the file, you have this:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Free Software Foundation, Inc.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
You need to update this with the current information.
For example in the de.po file, we have this:
# Messages in Deutsch für GnuCash
# Copyright (C) 1999 Free Software Foundation, Inc.
# Jan-Uwe Finck <Jan-Uwe.Finck@bigfoot.de>, 1999.
3) Next, you need to translate each English string into the target
language, for example:
Before:
#: messages-i18n.c:11
msgid ""
"The GnuCash personal finance manager.\n"
"The GNU way to manage your money!"
msgstr ""
After, the tranlation in the de.po file:
#: messages-i18n.c:11
msgid ""
"The GnuCash personal finance manager.\n"
"The GNU way to manage your money!"
msgstr ""
"GnuCash: Ihr persönlicher Finanzmanager.\n"
"Der GNU-Weg, ihr Geld zu verwalten !"
4) When you are ready to test out the strings you have translated,
save the file in the 'po' directory of the gnucash source tree.
You can test if your file is good with this command line:
msgfmt -c -v -o /dev/null FILE.po where FILE is the CODE-COUNTRY.
If you have fuzzy errors, take a look at the end of this document.
5) Now, if you have the gettext package installed, you can compile your
po file with this command (run it in the gnucash/po directory):
msgfmt fr.po --output=./gnucash.mo
This will create the file 'gnucash.mo' which you can copy to the
appropriate locale directory for your installation. On a RedHat 6.1
installation, the directory is /usr/share/locale/fr/LC_MESSAGES.
Alternatively, instead of creating and installing the gnucash.mo
file by hand, you can edit the file 'configure.in' and the file
'configure' and add your language string ('it', 'fr', etc.) to
the definition of the ALL_LINGUAS variable.
If you add the be.po file, the old line is in the 2 files:
ALL_LINGUAS = "de en_GB fr it ja ru sv"
and the new line is in the 2 files:
ALL_LINGUAS = "de en_GB fr it ja ru sv be"
Now rerun 'make' and 'make install' to build and install the
gnucash.mo file.
When running GnuCash, you must set the appropriate locale environment
variables:
In French, with bash:
export LANG=fr_FR
In French, with tcsh:
setenv LANG fr_FR
6) Once you have a finished, working po file, need to compress your file
with gzip. On command line, type 'gzip fr.po' (for the French file) and
now you have a new compressed file named 'fr.po.gz'.
Email this file to gnucash-patches@gnucash.org.
------------------------------------------------------------------------------
Remarks
You can get more information about gettext and the po file format in
the 'info' pages for GNU gettext. Type 'info gettext' at the command
line.
Dave Peticolas <dave@krondo.com>, the CVS maintainer for GnuCash,
regularly updates the po files, and you may need to add some
translations to the file or correct some strings.
In the updated po files, you should not have the word 'fuzzy',
otherwise GnuCash will not use the translated string.
Two examples from the file de.po:
1) You have this:
#: messages-i18n.c:35
#, fuzzy, c-format
msgid ""
"There was an error writing the file\n"
" %s\n"
"\n"
"%s"
msgstr ""
"Es gab einen Fehler beim Öffnen der Datei. \n"
" %s."
You need to correct the translated string and remove the 'fuzzy' keyword.
For example:
#: messages-i18n.c:35
#, c-format
msgid ""
"There was an error writing the file\n"
" %s\n"
"\n"
"%s"
msgstr ""
"Es gab einen Fehler beim Öffnen der Datei. \n"
" %s."
2) You have this:
#: messages-i18n.c:251
#, fuzzy
msgid "Show Income/Expense"
msgstr "Einnahmen/Ausgaben anzeigen"
You need to correct the translated string and remove the 'fuzzy' keyword.
For example:
#: messages-i18n.c:251
msgid "Show Income/Expense"
msgstr "Einnahmen/Ausgaben anzeigen"