summaryrefslogtreecommitdiffstats
path: root/doc/gettext.info-5
diff options
context:
space:
mode:
Diffstat (limited to 'doc/gettext.info-5')
-rw-r--r--doc/gettext.info-5140
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.
-