README
1 This is the GNU gettext package. It is interesting for authors or
2 maintainers of other packages or programs which they want to see
3 internationalized. As one step the handling of messages in different
4 languages should be implemented. For this task GNU gettext provides
5 the needed tools and library functions.
6
7 Users of GNU packages should also install GNU gettext because some
8 other GNU packages will use the gettext program included in this
9 package to internationalize the messages given by shell scripts.
10
11 Another good reason to install GNU gettext is to make sure the
12 here included functions compile ok. This helps to prevent errors
13 when installing other packages which use this library. The message
14 handling functions are not yet part of POSIX and ISO/IEC standards
15 and therefore it is not possible to rely on facts about their
16 implementation in the local C library. For this reason, GNU gettext
17 tries using the system's functionality only if it is a GNU gettext
18 implementation (possibly a different version); otherwise, compatibility
19 problems would occur.
20
21 We felt that the Uniforum proposals has the much more flexible interface
22 and, what is more important, does not burden the programmers as much as
23 the other possibility does.
24
25
26 Please share your results with us. If this package compiles ok for
27 you future GNU release will likely also not fail, at least for reasons
28 found in message handling. Send comments and bug reports to
29 bug-gnu-gettext (a] gnu.org
30
31
32 The goal of this library was to give a unique interface to message
33 handling functions. At least the same level of importance was to give
34 the programmer/maintainer the needed tools to maintain the message
35 catalogs. The interface is designed after the proposals of the
36 Uniforum group.
37
38
39 The homepage of this package is at
40
41 http://www.gnu.org/software/gettext/
42
43 The primary FTP site for its distribution is
44
45 ftp://ftp.gnu.org/pub/gnu/gettext/
46
47
48 The configure script provides two non-standard options. These will
49 also be available in other packages if they use the functionality of
50 GNU gettext. Use
51
52 --disable-nls
53
54 if you absolutely don't want to have messages handling code. You will
55 always get the original messages (mostly English). You could consider
56 using NLS support even when you do not need other tongues. If you do
57 not install any messages catalogs or do not specify to use another but
58 the C locale you will not get translations.
59
60 The set of languages for which catalogs should be installed can also be
61 specified while configuring. Of course they must be available but the
62 intersection of these two sets are computed automatically. You could
63 once and for all define in your profile/cshrc the variable LINGUAS:
64
65 (Bourne Shell) LINGUAS="de fr nl"; export LINGUAS
66
67 (C Shell) setenv LINGUAS "de fr nl"
68
69 or specify it directly while configuring
70
71 env LINGUAS="de fr nl" ./configure
72
73 Consult the manual for more information on language names.
74
75 The second configure option is
76
77 --with-included-gettext
78
79 This forces to use the GNU implementation of the message handling library
80 regardless what the local C library provides. This possibility is
81 useful if the local C library is a glibc 2.1.x or older, which didn't
82 have all the features the included libintl has.
83
84
85 Other files you might look into:
86
87 `ABOUT-NLS' - current state of the GNU internationalization effort
88 `COPYING' - copying conditions
89 `INSTALL' - general compilation and installation rules
90 `NEWS' - major changes in the current version
91 `THANKS' - list of contributors
92
93
94 Some points you might be interested in before installing the package:
95
96 1. If your system's C library already provides the gettext interface
97 and its associated tools don't come from this package, it might be
98 a good idea to configure the package with
99 --program-transform-name='s/^gettext$/g&/;s/^msgfmt$/g&/;s/^xgettext$/g&/'
100
101 Systems affected by this are:
102 Solaris 2.x
103
104 2. Some system have a very dumb^H^H^H^Hstrange version of msgfmt, the
105 one which comes with xview. This one is *not* usable. It's best
106 you delete^H^H^H^H^H^Hrename it or install this package as in the
107 point above with
108 --program-transform-name='s/^gettext$/g&/;s/^msgfmt$/g&/;s/^xgettext$/g&/'
109
110 3. The locale name alias scheme implemented here is in a similar form
111 implemented in the X Window System. Especially the alias data base
112 file can be shared. Normally this file is found at something like
113
114 /usr/lib/X11/locale/locale.alias
115
116 If you have the X Window System installed try to find this file and
117 specify the path at the make run:
118
119 make aliaspath='/usr/lib/X11/locale:/usr/local/lib/locale'
120
121 (or whatever is appropriate for you). The file name is always
122 locale.alias.
123 In the misc/ subdirectory you find an example for an alias database file.
124
125 4. The msgmerge program performs fuzzy search in the message sets. It
126 might run a long time on slow systems. I saw this problem when running
127 it on my old i386DX25. The time can really be several minutes,
128 especially if you have long messages and/or a great number of
129 them.
130 If you have a faster implementation of the fstrcmp() function and
131 want to share it with the rest of us, please contact me.
132
README.woe32
1 Installation on Woe32 (WinNT/2000/XP, Win95/98/ME):
2
3 This file explains how to create binaries for the mingw execution environment.
4 For how to create binaries for the cygwin environment, please see the normal
5 INSTALL file. MS Visual C/C++ with "nmake" is no longer supported.
6
7 I recommend to use the cygwin environment as the development environment
8 and mingw only as the target (runtime, deployment) environment.
9 For this, you need to install
10 - cygwin,
11 - the mingw runtime package, also from the cygwin site.
12
13 You must not install cygwin programs directly under /usr/local -
14 because the mingw compiler and linker would pick up the include files
15 and libraries from there, thus introducing an undesired dependency to
16 cygwin. You can for example achieve this by using the
17 configure option --prefix=/usr/local/cygwin each time you build a
18 program for cygwin.
19
20 Building for mingw is then achieved through the following configure
21 command:
22
23 CPPFLAGS="-mno-cygwin -Wall -I/usr/local/mingw/include" \
24 CFLAGS="-mno-cygwin -O2 -g" \
25 CXXFLAGS="-mno-cygwin -O2 -g" \
26 LDFLAGS="-mno-cygwin -L/usr/local/mingw/lib" \
27 ./configure --host=i586-pc-mingw32 --prefix=/usr/local/mingw
28
29 The -mno-cygwin tells the cygwin compiler and linker to build for mingw.
30 The -I and -L option are so that packages previously built for the
31 same environment are found. The --host option tells the various
32 tools that you are building for mingw, not cygwin.
33