]> gcc.gnu.org Git - gcc.git/blame - texinfo/ABOUT-NLS
Set the ld_library_path so that running programs linked against the
[gcc.git] / texinfo / ABOUT-NLS
CommitLineData
d275726b
JL
1Notes on the Free Translation Project
2*************************************
1eb3e844 3
d275726b
JL
4 Free software is going international! The Free Translation Project
5is a way to get maintainers of free software, translators, and users all
6together, so that will gradually become able to speak many languages.
7A few packages already provide translations for their messages.
1eb3e844 8
d275726b
JL
9 If you found this `ABOUT-NLS' file inside a distribution, you may
10assume that the distributed package does use GNU `gettext' internally,
11itself available at your nearest GNU archive site. But you do *not*
12need to install GNU `gettext' prior to configuring, installing or using
13this package with messages translated.
1eb3e844
JL
14
15 Installers will find here some useful hints. These notes also
16explain how users should proceed for getting the programs to use the
17available translations. They tell how people wanting to contribute and
18work at translations should contact the appropriate team.
19
20 When reporting bugs in the `intl/' directory or bugs which may be
21related to internationalization, you should tell about the version of
22`gettext' which is used. The information can be found in the
23`intl/VERSION' file, in internationalized packages.
24
25One advise in advance
26=====================
27
28 If you want to exploit the full power of internationalization, you
29should configure it using
30
31 ./configure --with-included-gettext
32
33to force usage of internationalizing routines provided within this
d275726b
JL
34package, despite the existence of internationalizing capabilities in the
35operating system where this package is being installed. So far, only
36the `gettext' implementation in the GNU C library version 2 provides as
37many features (such as locale alias or message inheritance) as the
38implementation here. It is also not possible to offer this additional
39functionality on top of a `catgets' implementation. Future versions of
40GNU `gettext' will very likely convey even more functionality. So it
41might be a good idea to change to GNU `gettext' as soon as possible.
42
43 So you need not provide this option if you are using GNU libc 2 or
44you have installed a recent copy of the GNU gettext package with the
45included `libintl'.
1eb3e844
JL
46
47INSTALL Matters
48===============
49
d275726b 50 Some packages are "localizable" when properly installed; the
1eb3e844
JL
51programs they contain can be made to speak your own native language.
52Most such packages use GNU `gettext'. Other packages have their own
53ways to internationalization, predating GNU `gettext'.
54
55 By default, this package will be installed to allow translation of
56messages. It will automatically detect whether the system provides
57usable `catgets' (if using this is selected by the installer) or
58`gettext' functions. If neither is available, the GNU `gettext' own
59library will be used. This library is wholly contained within this
60package, usually in the `intl/' subdirectory, so prior installation of
61the GNU `gettext' package is *not* required. Installers may use
62special options at configuration time for changing the default
63behaviour. The commands:
64
65 ./configure --with-included-gettext
66 ./configure --with-catgets
67 ./configure --disable-nls
68
69will respectively bypass any pre-existing `catgets' or `gettext' to use
70the internationalizing routines provided within this package, enable
71the use of the `catgets' functions (if found on the locale system), or
72else, *totally* disable translation of messages.
73
74 When you already have GNU `gettext' installed on your system and run
75configure without an option for your new package, `configure' will
76probably detect the previously built and installed `libintl.a' file and
77will decide to use this. This might be not what is desirable. You
78should use the more recent version of the GNU `gettext' library. I.e.
79if the file `intl/VERSION' shows that the library which comes with this
80package is more recent, you should use
81
82 ./configure --with-included-gettext
83
84to prevent auto-detection.
85
86 By default the configuration process will not test for the `catgets'
87function and therefore they will not be used. The reasons are already
88given above: the emulation on top of `catgets' cannot provide all the
89extensions provided by the GNU `gettext' library. If you nevertheless
90want to use the `catgets' functions use
91
92 ./configure --with-catgets
93
94to enable the test for `catgets' (this causes no harm if `catgets' is
95not available on your system). If you really select this option we
96would like to hear about the reasons because we cannot think of any
97good one ourself.
98
99 Internationalized packages have usually many `po/LL.po' files, where
100LL gives an ISO 639 two-letter code identifying the language. Unless
101translations have been forbidden at `configure' time by using the
102`--disable-nls' switch, all available translations are installed
103together with the package. However, the environment variable `LINGUAS'
104may be set, prior to configuration, to limit the installed set.
105`LINGUAS' should then contain a space separated list of two-letter
106codes, stating which languages are allowed.
107
108Using This Package
109==================
110
111 As a user, if your language has been installed for this package, you
112only have to set the `LANG' environment variable to the appropriate
113ISO 639 `LL' two-letter code prior to using the programs in the
114package. For example, let's suppose that you speak German. At the
115shell prompt, merely execute `setenv LANG de' (in `csh'),
116`export LANG; LANG=de' (in `sh') or `export LANG=de' (in `bash'). This
117can be done from your `.login' or `.profile' file, once and for all.
118
119 An operating system might already offer message localization for
d275726b
JL
120many of its programs, while other programs have been installed locally
121with the full capabilities of GNU `gettext'. Just using `gettext'
122extended syntax for `LANG' would break proper localization of already
123available operating system programs. In this case, users should set
124both `LANGUAGE' and `LANG' variables in their environment, as programs
125using GNU `gettext' give preference to `LANGUAGE'. For example, some
126Swedish users would rather read translations in German than English for
127when Swedish is not available. This is easily accomplished by setting
128`LANGUAGE' to `sv:de' while leaving `LANG' to `sv'.
1eb3e844
JL
129
130Translating Teams
131=================
132
d275726b 133 For the Free Translation Project to be a success, we need interested
1eb3e844
JL
134people who like their own language and write it well, and who are also
135able to synergize with other translators speaking the same language.
136Each translation team has its own mailing list, courtesy of Linux
137International. You may reach your translation team at the address
138`LL@li.org', replacing LL by the two-letter ISO 639 code for your
139language. Language codes are *not* the same as the country codes given
d275726b 140in ISO 3166. The following translation teams exist, as of August 1997:
1eb3e844 141
d275726b
JL
142 Chinese `zh', Czech `cs', Danish `da', Dutch `nl', English `en',
143 Esperanto `eo', Finnish `fi', French `fr', German `de', Hungarian
144 `hu', Irish `ga', Italian `it', Indonesian `id', Japanese `ja',
145 Korean `ko', Latin `la', Norwegian `no', Persian `fa', Polish
146 `pl', Portuguese `pt', Russian `ru', Slovenian `sl', Spanish `es',
147 Swedish `sv', and Turkish `tr'.
1eb3e844
JL
148
149For example, you may reach the Chinese translation team by writing to
150`zh@li.org'.
151
152 If you'd like to volunteer to *work* at translating messages, you
153should become a member of the translating team for your own language.
154The subscribing address is *not* the same as the list itself, it has
155`-request' appended. For example, speakers of Swedish can send a
156message to `sv-request@li.org', having this message body:
157
158 subscribe
159
160 Keep in mind that team members are expected to participate
161*actively* in translations, or at solving translational difficulties,
162rather than merely lurking around. If your team does not exist yet and
163you want to start one, or if you are unsure about what to do or how to
d275726b
JL
164get started, please write to `translation@iro.umontreal.ca' to reach the
165coordinator for all translator teams.
1eb3e844
JL
166
167 The English team is special. It works at improving and uniformizing
d275726b
JL
168the terminology in use. Proven linguistic skill are praised more than
169programming skill, here.
1eb3e844
JL
170
171Available Packages
172==================
173
d275726b
JL
174 Languages are not equally supported in all packages. The following
175matrix shows the current state of internationalization, as of August
1761997. The matrix shows, in regard of each package, for which languages
177PO files have been submitted to translation coordination.
178
179 Ready PO files cs da de en es fi fr it ja ko nl no pl pt sl sv
180 .-------------------------------------------------.
181 bash | [] [] [] | 3
182 bison | [] [] [] | 3
183 clisp | [] [] [] [] | 4
184 cpio | [] [] [] [] [] | 5
185 diffutils | [] [] [] [] [] | 5
186 enscript | [] [] [] [] [] [] | 6
187 fileutils | [] [] [] [] [] [] [] [] [] [] | 10
188 findutils | [] [] [] [] [] [] [] [] | 8
189 flex | [] [] [] [] | 4
190 gcal | [] [] [] [] [] | 5
191 gettext | [] [] [] [] [] [] [] [] [] [] | 11
192 grep | [] [] [] [] [] [] [] [] [] | 9
193 hello | [] [] [] [] [] [] [] [] [] [] | 10
194 id-utils | [] [] [] | 3
195 indent | [] [] [] [] | 4
196 libc | [] [] [] [] [] [] [] | 7
197 m4 | [] [] [] [] [] | 5
198 make | [] [] [] [] [] [] | 6
199 music | [] [] | 2
200 ptx | [] [] [] [] [] [] [] [] | 8
201 recode | [] [] [] [] [] [] [] [] [] | 9
202 sh-utils | [] [] [] [] [] [] [] | 7
203 sharutils | [] [] [] [] [] | 5
204 tar | [] [] [] [] [] [] [] [] [] [] | 10
205 texinfo | [] | 1
206 textutils | [] [] [] [] [] [] [] [] [] | 9
207 wdiff | [] [] [] [] [] [] [] [] | 8
208 `-------------------------------------------------'
209 16 languages cs da de en es fi fr it ja ko nl no pl pt sl sv
210 27 packages 3 2 24 1 17 1 26 2 1 11 20 9 19 7 7 17 167
1eb3e844
JL
211
212 Some counters in the preceding matrix are higher than the number of
213visible blocks let us expect. This is because a few extra PO files are
214used for implementing regional variants of languages, or language
215dialects.
216
217 For a PO file in the matrix above to be effective, the package to
218which it applies should also have been internationalized and
219distributed as such by its maintainer. There might be an observable
220lag between the mere existence a PO file and its wide availability in a
d275726b 221distribution.
1eb3e844 222
d275726b
JL
223 If August 1997 seems to be old, you may fetch a more recent copy of
224this `ABOUT-NLS' file on most GNU archive sites.
1eb3e844 225
This page took 0.169516 seconds and 5 git commands to generate.