~siretart/gnucash/ubuntu-fullsource

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
This document describes some loosely related notes about the different
things needed to translate GnuCash for a particular locale.

NOTE: A much more up to date and exhaustive HOWTO for translators can
be found in the file TRANSLATION_HOWTO. 


Table Of Contents

1. How to create a GnuCash translation file for use with gettext

2. Remarks about the keyword 'fuzzy' in the po file

3. How to translate the GnuCash manual

4. How to translate the files containing the new account hierarchies

----------------------------------------------------------------------


 1. How to create a GnuCash translation file for use with gettext

This section 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.


------------------------------------------------------------------------------


 2. Remarks about the keyword 'fuzzy' in the po file

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"

----------------------------------------------------------------------


 3. How to translate the GnuCash manual

This section describes the actions needed to translate the manual.

1) Create a new directory doc/sgml/<locale> (where <locale> is
   something like es, en_GB, or pt_PT).
2) Copy the files from doc/sgml/C into this directory.
3) Recreate the image files in doc/sgml/C/gnucash so that they are
   appropriate to the locale.
4) Edit all the sgml files and translate for the locale.

----------------------------------------------------------------------


 4. How to translate the files containing the new account hierarchies

This section describes the actions needed to translate the files
containing the new account hierarchies.

1) Create a new directory accounts/<locale>.
2) Copy the acctchrt_* files from accounts/C to accounts/<locale>
3) Do not change any xml tags.
For each file:
4) Change the gnc-act:title, gnc-act:short-description, and
   gnc-act:long-description to contain appropriately translated text.
   Do not add any newlines in the long description except at the end
   and begining of the string.
5) For each gnc:account in the file translate the act:name, and
   act:description fields.  Please do not translate any other fields.

Note: You absolutely don't need to translate all of the files from
accounts/C.  A subset of those are fine as well. Probably several of
them will not apply to your local legislative/economic system anyway.
For a really customized account hierarchy you might better create a
new account hierarchy file in GnuCash, and then, by hand-editing the
xml code, split it up into several files and cut&paste the appropriate
tags from the accounts/C/acctchrt_* files.
----------------------------------------------------------------------

Thanks so very much to all the translators for their hard effort and
excellent work.