1 E2fsprogs-specific notes
2 ************************
4 1) NLS support is not enabled by default. In order to get NLS
5 support, use the --enable-nls option when running configure.
7 2) The intl and po directories aren't linked into the main makefile
10 3) The documentation for gettext is abysmal. I hope everything is
11 right, but I make no guarantees; the NLS integration is still in
12 testing. (This is why it's disabled by default.)
14 4) This ABOUT-NLS file was obtained from ftp.gnu.org in February,
15 2000. Apparently this is the most recent version as of this writing,
16 even though it was apparently last modified in August, 1998.
20 Notes on the Free Translation Project
21 *************************************
23 Free software is going international! The Free Translation Project
24 is a way to get maintainers of free software, translators, and users all
25 together, so that will gradually become able to speak many languages.
26 A few packages already provide translations for their messages.
28 If you found this `ABOUT-NLS' file inside a distribution, you may
29 assume that the distributed package does use GNU `gettext' internally,
30 itself available at your nearest GNU archive site. But you do *not*
31 need to install GNU `gettext' prior to configuring, installing or using
32 this package with messages translated.
34 Installers will find here some useful hints. These notes also
35 explain how users should proceed for getting the programs to use the
36 available translations. They tell how people wanting to contribute and
37 work at translations should contact the appropriate team.
39 When reporting bugs in the `intl/' directory or bugs which may be
40 related to internationalization, you should tell about the version of
41 `gettext' which is used. The information can be found in the
42 `intl/VERSION' file, in internationalized packages.
44 One piece of advise in advance
45 ==============================
47 If you want to exploit the full power of internationalization, you
48 should configure it using
50 ./configure --with-included-gettext
52 to force usage of internationalizing routines provided within this
53 package, despite the existence of internationalizing capabilities in the
54 operating system where this package is being installed. So far, only
55 the `gettext' implementation in the GNU C library version 2 provides as
56 many features (such as locale alias or message inheritance) as the
57 implementation here. It is also not possible to offer this additional
58 functionality on top of a `catgets' implementation. Future versions of
59 GNU `gettext' will very likely convey even more functionality. So it
60 might be a good idea to change to GNU `gettext' as soon as possible.
62 So you need not provide this option if you are using GNU libc 2 or
63 you have installed a recent copy of the GNU gettext package with the
69 Some packages are "localizable" when properly installed; the
70 programs they contain can be made to speak your own native language.
71 Most such packages use GNU `gettext'. Other packages have their own
72 ways to internationalization, predating GNU `gettext'.
74 By default, this package will be installed to allow translation of
75 messages. It will automatically detect whether the system provides
76 usable `catgets' (if using this is selected by the installer) or
77 `gettext' functions. If neither is available, the GNU `gettext' own
78 library will be used. This library is wholly contained within this
79 package, usually in the `intl/' subdirectory, so prior installation of
80 the GNU `gettext' package is *not* required. Installers may use
81 special options at configuration time for changing the default
82 behaviour. The commands:
84 ./configure --with-included-gettext
85 ./configure --with-catgets
86 ./configure --disable-nls
88 will respectively bypass any pre-existing `catgets' or `gettext' to use
89 the internationalizing routines provided within this package, enable
90 the use of the `catgets' functions (if found on the locale system), or
91 else, *totally* disable translation of messages.
93 When you already have GNU `gettext' installed on your system and run
94 configure without an option for your new package, `configure' will
95 probably detect the previously built and installed `libintl.a' file and
96 will decide to use this. This might be not what is desirable. You
97 should use the more recent version of the GNU `gettext' library. I.e.
98 if the file `intl/VERSION' shows that the library which comes with this
99 package is more recent, you should use
101 ./configure --with-included-gettext
103 to prevent auto-detection.
105 By default the configuration process will not test for the `catgets'
106 function and therefore they will not be used. The reasons are already
107 given above: the emulation on top of `catgets' cannot provide all the
108 extensions provided by the GNU `gettext' library. If you nevertheless
109 want to use the `catgets' functions use
111 ./configure --with-catgets
113 to enable the test for `catgets' (this causes no harm if `catgets' is
114 not available on your system). If you really select this option we
115 would like to hear about the reasons because we cannot think of any
118 Internationalized packages have usually many `po/LL.po' files, where
119 LL gives an ISO 639 two-letter code identifying the language. Unless
120 translations have been forbidden at `configure' time by using the
121 `--disable-nls' switch, all available translations are installed
122 together with the package. However, the environment variable `LINGUAS'
123 may be set, prior to configuration, to limit the installed set.
124 `LINGUAS' should then contain a space separated list of two-letter
125 codes, stating which languages are allowed.
130 As a user, if your language has been installed for this package, you
131 only have to set the `LANG' environment variable to the appropriate
132 ISO 639 `LL' two-letter code prior to using the programs in the
133 package. For example, let's suppose that you speak German. At the
134 shell prompt, merely execute `setenv LANG de' (in `csh'),
135 `export LANG; LANG=de' (in `sh') or `export LANG=de' (in `bash'). This
136 can be done from your `.login' or `.profile' file, once and for all.
138 An operating system might already offer message localization for
139 many of its programs, while other programs have been installed locally
140 with the full capabilities of GNU `gettext'. Just using `gettext'
141 extended syntax for `LANG' would break proper localization of already
142 available operating system programs. In this case, users should set
143 both `LANGUAGE' and `LANG' variables in their environment, as programs
144 using GNU `gettext' give preference to `LANGUAGE'. For example, some
145 Swedish users would rather read translations in German than English for
146 when Swedish is not available. This is easily accomplished by setting
147 `LANGUAGE' to `sv:de' while leaving `LANG' to `sv'.
152 For the Free Translation Project to be a success, we need interested
153 people who like their own language and write it well, and who are also
154 able to synergize with other translators speaking the same language.
155 Each translation team has its own mailing list, courtesy of Linux
156 International. You may reach your translation team at the address
157 `LL@li.org', replacing LL by the two-letter ISO 639 code for your
158 language. Language codes are *not* the same as the country codes given
159 in ISO 3166. The following translation teams exist, as of August 1998:
161 Chinese `zh', Czech `cs', Danish `da', Dutch `nl', English `en',
162 Esperanto `eo', Finnish `fi', French `fr', German `de', Hungarian
163 `hu', Irish `ga', Italian `it', Indonesian `id', Japanese `ja',
164 Korean `ko', Latin `la', Norwegian `no', Persian `fa', Polish
165 `pl', Portuguese `pt', Russian `ru', Slovenian `sl', Spanish `es',
166 Swedish `sv', and Turkish `tr'.
168 For example, you may reach the Chinese translation team by writing to
171 If you'd like to volunteer to *work* at translating messages, you
172 should become a member of the translating team for your own language.
173 The subscribing address is *not* the same as the list itself, it has
174 `-request' appended. For example, speakers of Swedish can send a
175 message to `sv-request@li.org', having this message body:
179 Keep in mind that team members are expected to participate
180 *actively* in translations, or at solving translational difficulties,
181 rather than merely lurking around. If your team does not exist yet and
182 you want to start one, or if you are unsure about what to do or how to
183 get started, please write to `translation@iro.umontreal.ca' to reach the
184 coordinator for all translator teams.
186 The English team is special. It works at improving and uniformizing
187 the terminology in use. Proven linguistic skill are praised more than
188 programming skill, here.
193 Languages are not equally supported in all packages. The following
194 matrix shows the current state of internationalization, as of August
195 1998. The matrix shows, in regard of each package, for which languages
196 PO files have been submitted to translation coordination.
198 Ready PO files cs da de el en es fi fr it
199 .----------------------------.
202 clisp | [] [] [] [] |
204 diffutils | [] [] [] |
205 enscript | [] [] [] [] |
206 fileutils | [] [] [] [] |
207 findutils | [] [] [] [] |
210 gettext | [] [] [] [] [] |
212 hello | [] [] [] [] [] |
220 recode | [] [] [] [] |
222 sh-utils | [] [] [] |
223 sharutils | [] [] [] [] [] |
226 textutils | [] [] [] [] |
227 wdiff | [] [] [] [] |
229 `----------------------------'
230 cs da de el en es fi fr it
233 ja ko nl no pl pt ru sl sv
234 .----------------------------.
239 diffutils | [] [] | 5
241 fileutils | [] [] [] [] [] [] [] | 11
242 findutils | [] [] [] [] [] | 9
245 gettext | [] [] [] [] [] [] [] | 13
246 grep | [] [] [] [] [] [] [] | 11
247 hello | [] [] [] [] [] [] [] | 12
249 indent | [] [] [] | 5
250 libc | [] [] [] [] [] | 8
254 ptx | [] [] [] [] [] | 8
255 recode | [] [] [] [] [] | 9
257 sh-utils | [] [] [] [] [] | 8
258 sharutils | [] [] | 7
259 tar | [] [] [] [] [] [] [] | 11
261 textutils | [] [] [] [] [] | 9
262 wdiff | [] [] [] [] | 8
264 `----------------------------'
265 18 teams ja ko nl no pl pt ru sl sv
266 29 domains 1 12 21 11 19 7 5 7 17 191
268 Some counters in the preceding matrix are higher than the number of
269 visible blocks let us expect. This is because a few extra PO files are
270 used for implementing regional variants of languages, or language
273 For a PO file in the matrix above to be effective, the package to
274 which it applies should also have been internationalized and
275 distributed as such by its maintainer. There might be an observable
276 lag between the mere existence a PO file and its wide availability in a
279 If August 1998 seems to be old, you may fetch a more recent copy of
280 this `ABOUT-NLS' file on most GNU archive sites.
282 Using `gettext' in new packages
283 ===============================
285 If you are writing a freely available program and want to
286 internationalize it you are welcome to use GNU `gettext' in your
287 package. Of course the GNU Public License applies to your sources from
288 then if you include `gettext' directly in your distribution on but
289 since you are writing free software anyway this is no restriction.
291 Once the sources are change appropriately and the setup can handle to
292 use of `gettext' the only thing missing are the translations. The Free
293 Translation Project is also available for packages which are not
294 developed inside the GNU project. Therefore the information given above
295 applies also for every other Free Software Project. Contact
296 `translation@iro.umontreal.ca' to make the `.pot' files available to
297 the translation teams.