diff options
Diffstat (limited to 'doc/gettext.info-5')
-rw-r--r-- | doc/gettext.info-5 | 140 |
1 files changed, 71 insertions, 69 deletions
diff --git a/doc/gettext.info-5 b/doc/gettext.info-5 index 36383f1..60d99e8 100644 --- a/doc/gettext.info-5 +++ b/doc/gettext.info-5 @@ -13,8 +13,8 @@ END-INFO-DIR-ENTRY This file provides documentation for GNU `gettext' utilities. It also serves as a reference for the free Translation Project. - Copyright (C) 1995, 1996, 1997, 1998, 2001 Free Software Foundation, -Inc. + Copyright (C) 1995, 1996, 1997, 1998, 2001, 2002 Free Software +Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are @@ -31,6 +31,71 @@ versions, except that this permission notice may be stated in a translation approved by the Foundation. +File: gettext.info, Node: Installers, Next: End Users, Prev: Matrix, Up: Users + +Magic for Installers +==================== + + By default, packages fully using GNU `gettext', internally, are +installed in such a way that they to allow translation of messages. At +_configuration_ time, those packages should automatically detect +whether the underlying host system already provides the GNU `gettext' +functions. If not, the GNU `gettext' library should be automatically +prepared and used. Installers may use special options at configuration +time for changing this behavior. The command `./configure +--with-included-gettext' bypasses system `gettext' to use the included +GNU `gettext' instead, while `./configure --disable-nls' produces +programs totally unable to translate messages. + + Internationalized packages have usually many `LL.po' files. Unless +translations are disabled, all those available are installed together +with the package. However, the environment variable `LINGUAS' may be +set, prior to configuration, to limit the installed set. `LINGUAS' +should then contain a space separated list of two-letter codes, stating +which languages are allowed. + + +File: gettext.info, Node: End Users, Prev: Installers, Up: Users + +Magic for End Users +=================== + + We consider here those packages using GNU `gettext' internally, and +for which the installers did not disable translation at _configure_ +time. Then, users only have to set the `LANG' environment variable to +the appropriate `LL_CC' combination prior to using the programs in the +package. *Note Matrix::. For example, let's presume a German site. +At the shell prompt, users merely have to execute `setenv LANG de_DE' +(in `csh') or `export LANG; LANG=de_DE' (in `sh'). They could even do +this from their `.login' or `.profile' file. + + +File: gettext.info, Node: Programmers, Next: Translators, Prev: Users, Up: Top + +The Programmer's View +********************* + + One aim of the current message catalog implementation provided by +GNU `gettext' was to use the system's message catalog handling, if the +installer wishes to do so. So we perhaps should first take a look at +the solutions we know about. The people in the POSIX committee did not +manage to agree on one of the semi-official standards which we'll +describe below. In fact they couldn't agree on anything, so they +decided only to include an example of an interface. The major Unix +vendors are split in the usage of the two most important +specifications: X/Open's catgets vs. Uniforum's gettext interface. +We'll describe them both and later explain our solution of this dilemma. + +* Menu: + +* catgets:: About `catgets' +* gettext:: About `gettext' +* Comparison:: Comparing the two interfaces +* Using libintl.a:: Using libintl.a in own programs +* gettext grok:: Being a `gettext' grok +* Temp Programmers:: Temporary Notes for the Programmers Chapter + + File: gettext.info, Node: catgets, Next: gettext, Prev: Programmers, Up: Programmers About `catgets' @@ -48,7 +113,7 @@ not guarantee a unique interface. members could have made this interface. They never really tried to program using this interface. It is a fast, memory-saving implementation, an user can happily live with it. But programmers hate -it (at least me and some others do...) +it (at least I and some others do...) But we must not forget one point: after all the trouble with transfering the rights on Unix(tm) they at last came to X/Open, the @@ -144,7 +209,7 @@ though. The main points about this solution is that it does not follow the method of normal file handling (open-use-close) and that it does not burden the programmer so many task, especially the unique key handling. -Of course here is also a unique key needed, but this key is the message +Of course here also a unique key is needed, but this key is the message itself (how long or short it is). See *Note Comparison:: for a more detailed comparison of the two methods. @@ -184,7 +249,7 @@ domain is selectable by the user. of the current global domain of the `LC_MESSAGE' category. The argument is a null-terminated string, whose characters must be legal in the use in filenames. If the DOMAIN_NAME argument is `NULL', the -function return the current value. If no value has been set before, +function returns the current value. If no value has been set before, the name of the default domain is returned: _messages_. Please note that although the return value of `textdomain' is of type `char *' no changing is allowed. It is also important to know that no checks of @@ -832,7 +897,7 @@ can use any that becomes available. (*note Special cases::). One usually defines `gettext_noop' as a no-op macro. So you should consider the following code for your project: - #define gettext_noop(String) (String) + #define gettext_noop(String) String #define N_(String) gettext_noop (String) `N_' is a short form similar to `_'. The `Makefile' in the `po/' @@ -895,12 +960,6 @@ self-contained. I.e., you can use it in your own programs without providing additional functions. The `Makefile' will put the header and the library in directories selected using the `$(prefix)'. - One exception of the above is found on HP-UX 10.01 systems. Here -the C library does not contain the `alloca' function (and the HP -compiler does not generate it inlined). But it is not intended to -rewrite the whole library just because of this dumb system. Instead -include the `alloca' function in all package you use the `libintl.a' in. - File: gettext.info, Node: gettext grok, Next: Temp Programmers, Prev: Using libintl.a, Up: Programmers @@ -1108,60 +1167,3 @@ The Translator's View * Organization:: Organization * Information Flow:: Information Flow - -File: gettext.info, Node: Trans Intro 0, Next: Trans Intro 1, Prev: Translators, Up: Translators - -Introduction 0 -============== - - Free software is going international! The Translation Project is a -way to get maintainers, translators and users all together, so free -software will gradually become able to speak many native languages. - - The GNU `gettext' tool set contains _everything_ maintainers need -for internationalizing their packages for messages. It also contains -quite useful tools for helping translators at localizing messages to -their native language, once a package has already been -internationalized. - - To achieve the Translation Project, we need many interested people -who like their own language and write it well, and who are also able to -synergize with other translators speaking the same language. If you'd -like to volunteer to _work_ at translating messages, please send mail -to your translating team. - - Each team has its own mailing list, courtesy of Linux International. -You may reach your translating team at the address `LL@li.org', -replacing LL by the two-letter ISO 639 code for your language. -Language codes are _not_ the same as country codes given in ISO 3166. -The following translating teams exist: - - Chinese `zh', Czech `cs', Danish `da', Dutch `nl', Esperanto `eo', - Finnish `fi', French `fr', Irish `ga', German `de', Greek `el', - Italian `it', Japanese `ja', Indonesian `in', Norwegian `no', - Polish `pl', Portuguese `pt', Russian `ru', Spanish `es', Swedish - `sv' and Turkish `tr'. - -For example, you may reach the Chinese translating team by writing to -`zh@li.org'. When you become a member of the translating team for your -own language, you may subscribe to its list. For example, Swedish -people can send a message to `sv-request@li.org', having this message -body: - - subscribe - - Keep in mind that team members should be interested in _working_ at -translations, or at solving translational difficulties, rather than -merely lurking around. If your team does not exist yet and you want to -start one, please write to `translation@iro.umontreal.ca'; you will -then reach the coordinator for all translator teams. - - A handful of GNU packages have already been adapted and provided -with message translations for several languages. Translation teams -have begun to organize, using these packages as a starting point. But -there are many more packages and many languages for which we have no -volunteer translators. If you would like to volunteer to work at -translating messages, please send mail to -`translation@iro.umontreal.ca' indicating what language(s) you can work -on. - |