Revision 7940

View differences:

trunk/install/launcher/izpack-launcher-1.3/src/extraerClaves.bat
1
@echo off
2
color F0
3
PROMPT=$g
4

  
5
echo Extraemos las calves de los ficheros cpp...
6
gettext\bin\xgettext -C -n -k_ -o launcher.pot launcher.cpp statusdialog.cpp
7

  
8
echo Fusionando con Idioma da...
9
IF NOT EXIST da\launcher.po copy launcher.pot da\launcher.po
10
gettext\bin\msgmerge.exe da\launcher.po launcher.pot -o da\launcher.po
11

  
12
echo Fusionando con Idioma de...
13
IF NOT EXIST de\launcher.po copy launcher.pot de\launcher.po
14
gettext\bin\msgmerge.exe de\launcher.po launcher.pot -o de\launcher.po
15

  
16
echo Fusionando con Idioma es...
17
IF NOT EXIST es\launcher.po copy launcher.pot es\launcher.po
18
gettext\bin\msgmerge.exe es\launcher.po launcher.pot -o es\launcher.po
19

  
20
echo Fusionando con Idioma fr...
21
IF NOT EXIST fr\launcher.po copy launcher.pot fr\launcher.po
22
gettext\bin\msgmerge.exe fr\launcher.po launcher.pot -o fr\launcher.po
23

  
24
echo Fusionando con Idioma it...
25
IF NOT EXIST it\launcher.po copy launcher.pot it\launcher.po
26
gettext\bin\msgmerge.exe it\launcher.po launcher.pot -o it\launcher.po
27

  
28
echo Fusionando con Idioma nl...
29
IF NOT EXIST nl\launcher.po copy launcher.pot nl\launcher.po
30
gettext\bin\msgmerge.exe nl\launcher.po launcher.pot -o nl\launcher.po
31

  
32
echo Fusionando con Idioma pt-BR...
33
IF NOT EXIST pt-BR\launcher.po copy launcher.pot pt-BR\launcher.po
34
gettext\bin\msgmerge.exe pt-BR\launcher.po launcher.pot -o pt-BR\launcher.po
35

  
36
echo Termiando.
0 37

  
trunk/install/launcher/izpack-launcher-1.3/src/gettext/share/doc/libasprintf/autosprintf.html
1
<HTML>
2
<HEAD>
3
<!-- This HTML file has been created by texi2html 1.52a
4
     from autosprintf.texi on 12 June 2003 -->
5

  
6
<TITLE>GNU autosprintf</TITLE>
7
</HEAD>
8
<BODY>
9
<H1>GNU autosprintf, version 1.0</H1>
10
<H2>Formatted Output to Strings in C++</H2>
11
<ADDRESS>Bruno Haible</ADDRESS>
12
<P>
13
<P><HR><P>
14
<H1>Table of Contents</H1>
15
<UL>
16
<LI><A NAME="TOC1" HREF="autosprintf.html#SEC1">1  Introduction</A>
17
<LI><A NAME="TOC2" HREF="autosprintf.html#SEC2">2  The <CODE>autosprintf</CODE> class</A>
18
<LI><A NAME="TOC3" HREF="autosprintf.html#SEC3">3  Using <CODE>autosprintf</CODE> in own programs</A>
19
</UL>
20
<P><HR><P>
21

  
22

  
23
<H1><A NAME="SEC1" HREF="autosprintf.html#TOC1">1  Introduction</A></H1>
24

  
25
<P>
26
This package makes the C formatted output routines (<CODE>fprintf</CODE> et al.)
27
usable in C++ programs, for use with the <CODE>&#60;string&#62;</CODE> strings and the
28
<CODE>&#60;iostream&#62;</CODE> streams.
29

  
30
</P>
31
<P>
32
It allows to write code like
33

  
34
</P>
35

  
36
<PRE>
37
cerr &#60;&#60; autosprintf ("syntax error in %s:%d: %s", filename, line, errstring);
38
</PRE>
39

  
40
<P>
41
instead of
42

  
43
</P>
44

  
45
<PRE>
46
cerr &#60;&#60; "syntax error in " &#60;&#60; filename &#60;&#60; ":" &#60;&#60; line &#60;&#60; ": " &#60;&#60; errstring;
47
</PRE>
48

  
49
<P>
50
The benefits of the autosprintf syntax are:
51

  
52
</P>
53

  
54
<UL>
55
<LI>
56

  
57
It reuses the standard POSIX printf facility. Easy migration from C to C++.
58

  
59
<LI>
60

  
61
English sentences are kept together.
62

  
63
<LI>
64

  
65
It makes internationalization possible. Internationalization requires format
66
strings, because in some cases the translator needs to change the order of a
67
sentence, and more generally it is easier for the translator to work with a
68
single string for a sentence than with multiple string pieces.
69

  
70
<LI>
71

  
72
It reduces the risk of programming errors due to forgotten state in the
73
output stream (e.g. <CODE>cout &#60;&#60; hex;</CODE> not followed by <CODE>cout &#60;&#60; dec;</CODE>).
74
</UL>
75

  
76

  
77

  
78
<H1><A NAME="SEC2" HREF="autosprintf.html#TOC2">2  The <CODE>autosprintf</CODE> class</A></H1>
79

  
80
<P>
81
An instance of class <CODE>autosprintf</CODE> just contains a string with the
82
formatted output result. Such an instance is usually allocated as an
83
automatic storage variable, i.e. on the stack, not with <CODE>new</CODE> on the
84
heap.
85

  
86
</P>
87
<P>
88
The constructor <CODE>autosprintf (const char *format, ...)</CODE> takes a format
89
string and additional arguments, like the C function <CODE>printf</CODE>.
90

  
91
</P>
92
<P>
93
Conversions to <CODE>char *</CODE> and <CODE>std::string</CODE> are defined that return
94
the encapsulated string.
95

  
96
</P>
97
<P>
98
The destructor <CODE>~autosprintf ()</CODE> destroys the encapsulated string.
99

  
100
</P>
101
<P>
102
An <CODE>operator &#60;&#60;</CODE> is provided that outputs the encapsulated string to the
103
given <CODE>ostream</CODE>.
104

  
105
</P>
106

  
107

  
108
<H1><A NAME="SEC3" HREF="autosprintf.html#TOC3">3  Using <CODE>autosprintf</CODE> in own programs</A></H1>
109

  
110
<P>
111
To use the <CODE>autosprintf</CODE> class in your programs, you need to add
112

  
113
</P>
114

  
115
<PRE>
116
#include "autosprintf.h"
117
using gnu::autosprintf;
118
</PRE>
119

  
120
<P>
121
to your source code.
122
The include file defines the class <CODE>autosprintf</CODE>, in a namespace called
123
<CODE>gnu</CODE>. The <SAMP>`using&acute;</SAMP> statement makes it possible to use the class
124
without the (otherwise natural) <CODE>gnu::</CODE> prefix.
125

  
126
</P>
127
<P>
128
When linking your program, you need to link with <CODE>libasprintf</CODE>, because
129
that's where the class is defined. In projects using GNU <CODE>autoconf</CODE>,
130
this means adding <SAMP>`AC_LIB_LINKFLAGS([asprintf])&acute;</SAMP> to <CODE>configure.in</CODE>
131
or <CODE>configure.ac</CODE>, and using the @LIBASPRINTF@ Makefile variable that
132
it provides.
133

  
134
</P>
135
<P><HR><P>
136
This document was generated on 12 June 2003 using the
137
<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>
138
translator version 1.52a.</P>
139
</BODY>
140
</HTML>
0 141

  
trunk/install/launcher/izpack-launcher-1.3/src/gettext/share/doc/gettext/gettext_9.html
1
<HTML>
2
<HEAD>
3
<!-- This HTML file has been created by texi2html 1.52a
4
     from gettext.texi on 9 December 2003 -->
5

  
6
<TITLE>GNU gettext utilities - 9  The User's View</TITLE>
7
</HEAD>
8
<BODY>
9
Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_8.html">previous</A>, <A HREF="gettext_10.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
10
<P><HR><P>
11

  
12

  
13
<H1><A NAME="SEC153" HREF="gettext_toc.html#TOC153">9  The User's View</A></H1>
14

  
15
<P>
16
When GNU <CODE>gettext</CODE> will truly have reached its goal, average users
17
should feel some kind of astonished pleasure, seeing the effect of
18
that strange kind of magic that just makes their own native language
19
appear everywhere on their screens.  As for naive users, they would
20
ideally have no special pleasure about it, merely taking their own
21
language for <EM>granted</EM>, and becoming rather unhappy otherwise.
22

  
23
</P>
24
<P>
25
So, let's try to describe here how we would like the magic to operate,
26
as we want the users' view to be the simplest, among all ways one
27
could look at GNU <CODE>gettext</CODE>.  All other software engineers:
28
programmers, translators, maintainers, should work together in such a
29
way that the magic becomes possible.  This is a long and progressive
30
undertaking, and information is available about the progress of the
31
Translation Project.
32

  
33
</P>
34
<P>
35
When a package is distributed, there are two kinds of users:
36
<EM>installers</EM> who fetch the distribution, unpack it, configure
37
it, compile it and install it for themselves or others to use; and
38
<EM>end users</EM> that call programs of the package, once these have
39
been installed at their site.  GNU <CODE>gettext</CODE> is offering magic
40
for both installers and end users.
41

  
42
</P>
43

  
44

  
45

  
46
<H2><A NAME="SEC154" HREF="gettext_toc.html#TOC154">9.1  The Current <TT>`ABOUT-NLS&acute;</TT> Matrix</A></H2>
47
<P>
48
<A NAME="IDX947"></A>
49
<A NAME="IDX948"></A>
50
<A NAME="IDX949"></A>
51

  
52
</P>
53
<P>
54
Languages are not equally supported in all packages using GNU
55
<CODE>gettext</CODE>.  To know if some package uses GNU <CODE>gettext</CODE>, one
56
may check the distribution for the <TT>`ABOUT-NLS&acute;</TT> information file, for
57
some <TT>`<VAR>ll</VAR>.po&acute;</TT> files, often kept together into some <TT>`po/&acute;</TT>
58
directory, or for an <TT>`intl/&acute;</TT> directory.  Internationalized packages
59
have usually many <TT>`<VAR>ll</VAR>.po&acute;</TT> files, where <VAR>ll</VAR> represents
60
the language.  section <A HREF="gettext_9.html#SEC156">9.3  Magic for End Users</A> for a complete description of the format
61
for <VAR>ll</VAR>.
62

  
63
</P>
64
<P>
65
More generally, a matrix is available for showing the current state
66
of the Translation Project, listing which packages are prepared for
67
multi-lingual messages, and which languages are supported by each.
68
Because this information changes often, this matrix is not kept within
69
this GNU <CODE>gettext</CODE> manual.  This information is often found in
70
file <TT>`ABOUT-NLS&acute;</TT> from various distributions, but is also as old as
71
the distribution itself.  A recent copy of this <TT>`ABOUT-NLS&acute;</TT> file,
72
containing up-to-date information, should generally be found on the
73
Translation Project sites, and also on most GNU archive sites.
74

  
75
</P>
76

  
77

  
78
<H2><A NAME="SEC155" HREF="gettext_toc.html#TOC155">9.2  Magic for Installers</A></H2>
79
<P>
80
<A NAME="IDX950"></A>
81
<A NAME="IDX951"></A>
82

  
83
</P>
84
<P>
85
By default, packages fully using GNU <CODE>gettext</CODE>, internally,
86
are installed in such a way that they to allow translation of
87
messages.  At <EM>configuration</EM> time, those packages should
88
automatically detect whether the underlying host system already provides
89
the GNU <CODE>gettext</CODE> functions.  If not,
90
the GNU <CODE>gettext</CODE> library should be automatically prepared
91
and used.  Installers may use special options at configuration
92
time for changing this behavior.  The command <SAMP>`./configure
93
--with-included-gettext&acute;</SAMP> bypasses system <CODE>gettext</CODE> to
94
use the included GNU <CODE>gettext</CODE> instead,
95
while <SAMP>`./configure --disable-nls&acute;</SAMP>
96
produces programs totally unable to translate messages.
97

  
98
</P>
99
<P>
100
<A NAME="IDX952"></A>
101
Internationalized packages have usually many <TT>`<VAR>ll</VAR>.po&acute;</TT>
102
files.  Unless
103
translations are disabled, all those available are installed together
104
with the package.  However, the environment variable <CODE>LINGUAS</CODE>
105
may be set, prior to configuration, to limit the installed set.
106
<CODE>LINGUAS</CODE> should then contain a space separated list of two-letter
107
codes, stating which languages are allowed.
108

  
109
</P>
110

  
111

  
112
<H2><A NAME="SEC156" HREF="gettext_toc.html#TOC156">9.3  Magic for End Users</A></H2>
113
<P>
114
<A NAME="IDX953"></A>
115
<A NAME="IDX954"></A>
116
<A NAME="IDX955"></A>
117

  
118
</P>
119
<P>
120
<A NAME="IDX956"></A>
121
We consider here those packages using GNU <CODE>gettext</CODE> internally,
122
and for which the installers did not disable translation at
123
<EM>configure</EM> time.  Then, users only have to set the <CODE>LANG</CODE>
124
environment variable to the appropriate <SAMP>`<VAR>ll</VAR>_<VAR>CC</VAR>&acute;</SAMP>
125
combination prior to using the programs in the package.  See section <A HREF="gettext_9.html#SEC154">9.1  The Current <TT>`ABOUT-NLS&acute;</TT> Matrix</A>.
126
For example, let's presume a German site.  At the shell prompt, users
127
merely have to execute <SAMP>`setenv LANG de_DE&acute;</SAMP> (in <CODE>csh</CODE>) or
128
<SAMP>`export LANG; LANG=de_DE&acute;</SAMP> (in <CODE>sh</CODE>).  They could even do
129
this from their <TT>`.login&acute;</TT> or <TT>`.profile&acute;</TT> file.
130

  
131
</P>
132
<P><HR><P>
133
Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_8.html">previous</A>, <A HREF="gettext_10.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
134
</BODY>
135
</HTML>
0 136

  
trunk/install/launcher/izpack-launcher-1.3/src/gettext/share/doc/gettext/textdomain.3.html
1
<html>
2
<head>
3
<meta name="generator" content="groff -Thtml, see www.gnu.org">
4
<meta name="Content-Style" content="text/css">
5
<title>TEXTDOMAIN</title>
6
</head>
7
<body>
8

  
9
<h1 align=center>TEXTDOMAIN</h1>
10
<a href="#NAME">NAME</a><br>
11
<a href="#SYNOPSIS">SYNOPSIS</a><br>
12
<a href="#DESCRIPTION">DESCRIPTION</a><br>
13
<a href="#RETURN VALUE">RETURN VALUE</a><br>
14
<a href="#ERRORS">ERRORS</a><br>
15
<a href="#BUGS">BUGS</a><br>
16
<a href="#SEE ALSO">SEE ALSO</a><br>
17

  
18
<hr>
19
<!-- Creator     : groff version 1.17 -->
20
<a name="NAME"></a>
21
<h2>NAME</h2>
22
<table width="100%" border=0 rules="none" frame="void"
23
       cols="2" cellspacing="0" cellpadding="0">
24
<tr valign="top" align="left">
25
<td width="10%"></td><td width="90%">
26
textdomain - set domain for future gettext() calls</td></table>
27
<a name="SYNOPSIS"></a>
28
<h2>SYNOPSIS</h2>
29

  
30
<table width="100%" border=0 rules="none" frame="void"
31
       cols="2" cellspacing="0" cellpadding="0">
32
<tr valign="top" align="left">
33
<td width="10%"></td><td width="90%">
34
<pre><b>#include &lt;libintl.h&gt;
35

  
36
char * textdomain (const char *</b> <i>domainname</i><b>);
37
</b></pre></td></table>
38
<a name="DESCRIPTION"></a>
39
<h2>DESCRIPTION</h2>
40

  
41
<table width="100%" border=0 rules="none" frame="void"
42
       cols="2" cellspacing="0" cellpadding="0">
43
<tr valign="top" align="left">
44
<td width="10%"></td><td width="90%">
45
The <b>textdomain</b> function sets or retrieves the current
46
message domain.</td></table>
47

  
48
<table width="100%" border=0 rules="none" frame="void"
49
       cols="2" cellspacing="0" cellpadding="0">
50
<tr valign="top" align="left">
51
<td width="10%"></td><td width="90%">
52
A message domain is a set of translatable <i>msgid</i>
53
messages. Usually, every software package has its own
54
message domain. The domain name is used to determine the
55
message catalog where a translation is looked up; it must be
56
a non-empty string.</td></table>
57

  
58
<table width="100%" border=0 rules="none" frame="void"
59
       cols="2" cellspacing="0" cellpadding="0">
60
<tr valign="top" align="left">
61
<td width="10%"></td><td width="90%">
62
The current message domain is used by the <b>gettext</b>,
63
<b>ngettext</b> functions, and by the <b>dgettext</b>,
64
<b>dcgettext</b>, <b>dngettext</b> and <b>dcngettext</b>
65
functions when called with a NULL domainname
66
argument.</td></table>
67

  
68
<table width="100%" border=0 rules="none" frame="void"
69
       cols="2" cellspacing="0" cellpadding="0">
70
<tr valign="top" align="left">
71
<td width="10%"></td><td width="90%">
72
If <i>domainname</i> is not NULL, the current message domain
73
is set to <i>domainname</i>. The string the function stores
74
internally is a copy of the <i>domainname</i>
75
argument.</td></table>
76

  
77
<table width="100%" border=0 rules="none" frame="void"
78
       cols="2" cellspacing="0" cellpadding="0">
79
<tr valign="top" align="left">
80
<td width="10%"></td><td width="90%">
81
If <i>domainname</i> is NULL, the function returns the
82
current message domain.</td></table>
83
<a name="RETURN VALUE"></a>
84
<h2>RETURN VALUE</h2>
85

  
86
<table width="100%" border=0 rules="none" frame="void"
87
       cols="2" cellspacing="0" cellpadding="0">
88
<tr valign="top" align="left">
89
<td width="10%"></td><td width="90%">
90
If successful, the <b>textdomain</b> function returns the
91
current message domain, after possibly changing it. The
92
resulting string is valid until the next <b>textdomain</b>
93
call and must not be modified or freed. If a memory
94
allocation failure occurs, it sets <b>errno</b> to
95
<b>ENOMEM</b> and returns NULL.</td></table>
96
<a name="ERRORS"></a>
97
<h2>ERRORS</h2>
98

  
99
<table width="100%" border=0 rules="none" frame="void"
100
       cols="2" cellspacing="0" cellpadding="0">
101
<tr valign="top" align="left">
102
<td width="10%"></td><td width="90%">
103
The following error can occur, among others:</td></table>
104

  
105
<table width="100%" border=0 rules="none" frame="void"
106
       cols="2" cellspacing="0" cellpadding="0">
107
<tr valign="top" align="left">
108
<td width="10%"></td><td width="90%">
109
<b>ENOMEM</b></td></table>
110

  
111
<table width="100%" border=0 rules="none" frame="void"
112
       cols="2" cellspacing="0" cellpadding="0">
113
<tr valign="top" align="left">
114
<td width="21%"></td><td width="79%">
115
Not enough memory available.</td></table>
116
<a name="BUGS"></a>
117
<h2>BUGS</h2>
118

  
119
<table width="100%" border=0 rules="none" frame="void"
120
       cols="2" cellspacing="0" cellpadding="0">
121
<tr valign="top" align="left">
122
<td width="10%"></td><td width="90%">
123
The return type ought to be <b>const char *</b>, but is
124
<b>char *</b> to avoid warnings in C code predating ANSI
125
C.</td></table>
126
<a name="SEE ALSO"></a>
127
<h2>SEE ALSO</h2>
128

  
129
<table width="100%" border=0 rules="none" frame="void"
130
       cols="2" cellspacing="0" cellpadding="0">
131
<tr valign="top" align="left">
132
<td width="10%"></td><td width="90%">
133
<b>gettext</b>(3), <b>ngettext</b>(3),
134
<b>bindtextdomain</b>(3),
135
<b>bind_textdomain_codeset</b>(3)</td></table>
136
<hr>
137
</body>
138
</html>
0 139

  
trunk/install/launcher/izpack-launcher-1.3/src/gettext/share/doc/gettext/bind_textdomain_codeset.3.html
1
<html>
2
<head>
3
<meta name="generator" content="groff -Thtml, see www.gnu.org">
4
<meta name="Content-Style" content="text/css">
5
<title>BIND_TEXTDOMAIN_CODESET</title>
6
</head>
7
<body>
8

  
9
<h1 align=center>BIND_TEXTDOMAIN_CODESET</h1>
10
<a href="#NAME">NAME</a><br>
11
<a href="#SYNOPSIS">SYNOPSIS</a><br>
12
<a href="#DESCRIPTION">DESCRIPTION</a><br>
13
<a href="#RETURN VALUE">RETURN VALUE</a><br>
14
<a href="#ERRORS">ERRORS</a><br>
15
<a href="#BUGS">BUGS</a><br>
16
<a href="#SEE ALSO">SEE ALSO</a><br>
17

  
18
<hr>
19
<!-- Creator     : groff version 1.17 -->
20
<a name="NAME"></a>
21
<h2>NAME</h2>
22
<table width="100%" border=0 rules="none" frame="void"
23
       cols="2" cellspacing="0" cellpadding="0">
24
<tr valign="top" align="left">
25
<td width="10%"></td><td width="90%">
26
bind_textdomain_codeset - set encoding of message translations</td></table>
27
<a name="SYNOPSIS"></a>
28
<h2>SYNOPSIS</h2>
29

  
30
<table width="100%" border=0 rules="none" frame="void"
31
       cols="2" cellspacing="0" cellpadding="0">
32
<tr valign="top" align="left">
33
<td width="10%"></td><td width="90%">
34
<pre><b>#include &lt;libintl.h&gt;
35

  
36
char * bind_textdomain_codeset (const char *</b> <i>domainname</i><b>,
37
                                const char *</b> <i>codeset</i><b>);
38
</b></pre></td></table>
39
<a name="DESCRIPTION"></a>
40
<h2>DESCRIPTION</h2>
41

  
42
<table width="100%" border=0 rules="none" frame="void"
43
       cols="2" cellspacing="0" cellpadding="0">
44
<tr valign="top" align="left">
45
<td width="10%"></td><td width="90%">
46
The <b>bind_textdomain_codeset</b> function sets the output
47
codeset for message catalogs for domain
48
<i>domainname</i>.</td></table>
49

  
50
<table width="100%" border=0 rules="none" frame="void"
51
       cols="2" cellspacing="0" cellpadding="0">
52
<tr valign="top" align="left">
53
<td width="10%"></td><td width="90%">
54
A message domain is a set of translatable <i>msgid</i>
55
messages. Usually, every software package has its own
56
message domain.</td></table>
57

  
58
<table width="100%" border=0 rules="none" frame="void"
59
       cols="2" cellspacing="0" cellpadding="0">
60
<tr valign="top" align="left">
61
<td width="10%"></td><td width="90%">
62
By default, the <b>gettext</b> family of functions returns
63
translated messages in the locale's character encoding,
64
which can be retrieved as <b>nl_langinfo(CODESET)</b>. The
65
need for calling <b>bind_textdomain_codeset</b> arises for
66
programs which store strings in a locale independent way
67
(e.g. UTF-8) and want to avoid an extra character set
68
conversion on the returned translated messages.</td></table>
69

  
70
<table width="100%" border=0 rules="none" frame="void"
71
       cols="2" cellspacing="0" cellpadding="0">
72
<tr valign="top" align="left">
73
<td width="10%"></td><td width="90%">
74
<i>domainname</i> must be a non-empty string.</td></table>
75

  
76
<table width="100%" border=0 rules="none" frame="void"
77
       cols="2" cellspacing="0" cellpadding="0">
78
<tr valign="top" align="left">
79
<td width="10%"></td><td width="90%">
80
If <i>codeset</i> is not NULL, it must be a valid encoding
81
name which can be used for the <b>iconv_open</b> function.
82
The <b>bind_textdomain_codeset</b> function sets the output
83
codeset for message catalogs belonging to domain
84
<i>domainname</i> to <i>codeset</i>. The function makes
85
copies of the argument strings as needed.</td></table>
86

  
87
<table width="100%" border=0 rules="none" frame="void"
88
       cols="2" cellspacing="0" cellpadding="0">
89
<tr valign="top" align="left">
90
<td width="10%"></td><td width="90%">
91
If <i>codeset</i> is NULL, the function returns the
92
previously set codeset for domain <i>domainname</i>. The
93
default is NULL, denoting the locale's character
94
encoding.</td></table>
95
<a name="RETURN VALUE"></a>
96
<h2>RETURN VALUE</h2>
97

  
98
<table width="100%" border=0 rules="none" frame="void"
99
       cols="2" cellspacing="0" cellpadding="0">
100
<tr valign="top" align="left">
101
<td width="10%"></td><td width="90%">
102
If successful, the <b>bind_textdomain_codeset</b> function
103
returns the current codeset for domain <i>domainname</i>,
104
after possibly changing it. The resulting string is valid
105
until the next <b>bind_textdomain_codeset</b> call for the
106
same <i>domainname</i> and must not be modified or freed. If
107
a memory allocation failure occurs, it sets <b>errno</b> to
108
<b>ENOMEM</b> and returns NULL. If no codeset has been set
109
for domain <i>domainname</i>, it returns NULL.</td></table>
110
<a name="ERRORS"></a>
111
<h2>ERRORS</h2>
112

  
113
<table width="100%" border=0 rules="none" frame="void"
114
       cols="2" cellspacing="0" cellpadding="0">
115
<tr valign="top" align="left">
116
<td width="10%"></td><td width="90%">
117
The following error can occur, among others:</td></table>
118

  
119
<table width="100%" border=0 rules="none" frame="void"
120
       cols="2" cellspacing="0" cellpadding="0">
121
<tr valign="top" align="left">
122
<td width="10%"></td><td width="90%">
123
<b>ENOMEM</b></td></table>
124

  
125
<table width="100%" border=0 rules="none" frame="void"
126
       cols="2" cellspacing="0" cellpadding="0">
127
<tr valign="top" align="left">
128
<td width="21%"></td><td width="79%">
129
Not enough memory available.</td></table>
130
<a name="BUGS"></a>
131
<h2>BUGS</h2>
132

  
133
<table width="100%" border=0 rules="none" frame="void"
134
       cols="2" cellspacing="0" cellpadding="0">
135
<tr valign="top" align="left">
136
<td width="10%"></td><td width="90%">
137
The return type ought to be <b>const char *</b>, but is
138
<b>char *</b> to avoid warnings in C code predating ANSI
139
C.</td></table>
140
<a name="SEE ALSO"></a>
141
<h2>SEE ALSO</h2>
142

  
143
<table width="100%" border=0 rules="none" frame="void"
144
       cols="2" cellspacing="0" cellpadding="0">
145
<tr valign="top" align="left">
146
<td width="10%"></td><td width="90%">
147
<b>gettext</b>(3), <b>dgettext</b>(3), <b>dcgettext</b>(3),
148
<b>ngettext</b>(3), <b>dngettext</b>(3),
149
<b>dcngettext</b>(3), <b>textdomain</b>(3),
150
<b>nl_langinfo</b>(3), <b>iconv_open</b>(3)</td></table>
151
<hr>
152
</body>
153
</html>
0 154

  
trunk/install/launcher/izpack-launcher-1.3/src/gettext/share/doc/gettext/gettext.1.html
1
<html>
2
<head>
3
<meta name="generator" content="groff -Thtml, see www.gnu.org">
4
<meta name="Content-Style" content="text/css">
5
<title>GETTEXT</title>
6
</head>
7
<body>
8

  
9
<h1 align=center>GETTEXT</h1>
10
<a href="#NAME">NAME</a><br>
11
<a href="#SYNOPSIS">SYNOPSIS</a><br>
12
<a href="#DESCRIPTION">DESCRIPTION</a><br>
13
<a href="#AUTHOR">AUTHOR</a><br>
14
<a href="#REPORTING BUGS">REPORTING BUGS</a><br>
15
<a href="#COPYRIGHT">COPYRIGHT</a><br>
16
<a href="#SEE ALSO">SEE ALSO</a><br>
17

  
18
<hr>
19
<!-- Creator     : groff version 1.17.2 -->
20
<a name="NAME"></a>
21
<h2>NAME</h2>
22
<table width="100%" border=0 rules="none" frame="void"
23
       cols="2" cellspacing="0" cellpadding="0">
24
<tr valign="top" align="left">
25
<td width="10%"></td><td width="90%">
26
gettext - translate message</td></table>
27
<a name="SYNOPSIS"></a>
28
<h2>SYNOPSIS</h2>
29

  
30
<table width="100%" border=0 rules="none" frame="void"
31
       cols="2" cellspacing="0" cellpadding="0">
32
<tr valign="top" align="left">
33
<td width="10%"></td><td width="90%">
34
<b>gettext</b> [<i>OPTION</i>] [[<i>TEXTDOMAIN</i>]
35
<i>MSGID</i>]<b><br>
36
gettext</b> [<i>OPTION</i>] <i>-s</i>
37
[<i>MSGID</i>]...</td></table>
38
<a name="DESCRIPTION"></a>
39
<h2>DESCRIPTION</h2>
40

  
41
<table width="100%" border=0 rules="none" frame="void"
42
       cols="2" cellspacing="0" cellpadding="0">
43
<tr valign="top" align="left">
44
<td width="10%"></td><td width="90%">
45
The <b>gettext</b> program translates a natural language
46
message into the user's language, by looking up the
47
translation in a message catalog.</td></table>
48

  
49
<table width="100%" border=0 rules="none" frame="void"
50
       cols="2" cellspacing="0" cellpadding="0">
51
<tr valign="top" align="left">
52
<td width="10%"></td><td width="90%">
53
Display native language translation of a textual
54
message.</td></table>
55

  
56
<table width="100%" border=0 rules="none" frame="void"
57
       cols="2" cellspacing="0" cellpadding="0">
58
<tr valign="top" align="left">
59
<td width="10%"></td><td width="90%">
60
<b>-d</b>, <b>--domain</b>=<i>TEXTDOMAIN</i></td></table>
61

  
62
<table width="100%" border=0 rules="none" frame="void"
63
       cols="2" cellspacing="0" cellpadding="0">
64
<tr valign="top" align="left">
65
<td width="21%"></td><td width="79%">
66
retrieve translated messages from TEXTDOMAIN</td></table>
67

  
68
<table width="100%" border=0 rules="none" frame="void"
69
       cols="2" cellspacing="0" cellpadding="0">
70
<tr valign="top" align="left">
71
<td width="10%"></td><td width="90%">
72
<b>-e</b></td></table>
73

  
74
<table width="100%" border=0 rules="none" frame="void"
75
       cols="2" cellspacing="0" cellpadding="0">
76
<tr valign="top" align="left">
77
<td width="21%"></td><td width="79%">
78
enable expansion of some escape sequences</td></table>
79

  
80
<table width="100%" border=0 rules="none" frame="void"
81
       cols="2" cellspacing="0" cellpadding="0">
82
<tr valign="top" align="left">
83
<td width="10%"></td><td width="90%">
84
<b>-E</b></td></table>
85

  
86
<table width="100%" border=0 rules="none" frame="void"
87
       cols="2" cellspacing="0" cellpadding="0">
88
<tr valign="top" align="left">
89
<td width="21%"></td><td width="79%">
90
(ignored for compatibility)</td></table>
91

  
92
<table width="100%" border=0 rules="none" frame="void"
93
       cols="2" cellspacing="0" cellpadding="0">
94
<tr valign="top" align="left">
95
<td width="10%"></td><td width="90%">
96
<b>-h</b>, <b>--help</b></td></table>
97

  
98
<table width="100%" border=0 rules="none" frame="void"
99
       cols="2" cellspacing="0" cellpadding="0">
100
<tr valign="top" align="left">
101
<td width="21%"></td><td width="79%">
102
display this help and exit</td></table>
103

  
104
<table width="100%" border=0 rules="none" frame="void"
105
       cols="2" cellspacing="0" cellpadding="0">
106
<tr valign="top" align="left">
107
<td width="10%"></td><td width="90%">
108
<b>-n</b></td></table>
109

  
110
<table width="100%" border=0 rules="none" frame="void"
111
       cols="2" cellspacing="0" cellpadding="0">
112
<tr valign="top" align="left">
113
<td width="21%"></td><td width="79%">
114
suppress trailing newline</td></table>
115

  
116
<table width="100%" border=0 rules="none" frame="void"
117
       cols="2" cellspacing="0" cellpadding="0">
118
<tr valign="top" align="left">
119
<td width="10%"></td><td width="90%">
120
<b>-V</b>, <b>--version</b></td></table>
121

  
122
<table width="100%" border=0 rules="none" frame="void"
123
       cols="2" cellspacing="0" cellpadding="0">
124
<tr valign="top" align="left">
125
<td width="21%"></td><td width="79%">
126
display version information and exit</td></table>
127

  
128
<table width="100%" border=0 rules="none" frame="void"
129
       cols="2" cellspacing="0" cellpadding="0">
130
<tr valign="top" align="left">
131
<td width="10%"></td><td width="90%">
132
[TEXTDOMAIN] MSGID</td></table>
133

  
134
<table width="100%" border=0 rules="none" frame="void"
135
       cols="2" cellspacing="0" cellpadding="0">
136
<tr valign="top" align="left">
137
<td width="21%"></td><td width="79%">
138
retrieve translated message corresponding to MSGID from
139
TEXTDOMAIN</td></table>
140

  
141
<table width="100%" border=0 rules="none" frame="void"
142
       cols="2" cellspacing="0" cellpadding="0">
143
<tr valign="top" align="left">
144
<td width="10%"></td><td width="90%">
145
If the TEXTDOMAIN parameter is not given, the domain is
146
determined from the environment variable TEXTDOMAIN. If the
147
message catalog is not found in the regular directory,
148
another location can be specified with the environment
149
variable TEXTDOMAINDIR. When used with the <b>-s</b> option
150
the program behaves like the `echo' command. But it does not
151
simply copy its arguments to stdout. Instead those messages
152
found in the selected catalog are translated. Standard
153
search directory: @localedir@</td></table>
154
<a name="AUTHOR"></a>
155
<h2>AUTHOR</h2>
156

  
157
<table width="100%" border=0 rules="none" frame="void"
158
       cols="2" cellspacing="0" cellpadding="0">
159
<tr valign="top" align="left">
160
<td width="10%"></td><td width="90%">
161
Written by Ulrich Drepper.</td></table>
162
<a name="REPORTING BUGS"></a>
163
<h2>REPORTING BUGS</h2>
164

  
165
<table width="100%" border=0 rules="none" frame="void"
166
       cols="2" cellspacing="0" cellpadding="0">
167
<tr valign="top" align="left">
168
<td width="10%"></td><td width="90%">
169
Report bugs to &lt;bug-gnu-gettext@gnu.org&gt;.</td></table>
170
<a name="COPYRIGHT"></a>
171
<h2>COPYRIGHT</h2>
172

  
173
<table width="100%" border=0 rules="none" frame="void"
174
       cols="2" cellspacing="0" cellpadding="0">
175
<tr valign="top" align="left">
176
<td width="10%"></td><td width="90%">
177
Copyright 1995-1997, 2000-2003 Free Software Foundation,
178
Inc.<br>
179
This is free software; see the source for copying
180
conditions. There is NO warranty; not even for
181
MERCHANTABILITY or FITNESS FOR A PARTICULAR
182
PURPOSE.</td></table>
183
<a name="SEE ALSO"></a>
184
<h2>SEE ALSO</h2>
185

  
186
<table width="100%" border=0 rules="none" frame="void"
187
       cols="2" cellspacing="0" cellpadding="0">
188
<tr valign="top" align="left">
189
<td width="10%"></td><td width="90%">
190
The full documentation for <b>gettext</b> is maintained as a
191
Texinfo manual. If the <b>info</b> and <b>gettext</b>
192
programs are properly installed at your site, the
193
command</td></table>
194

  
195
<table width="100%" border=0 rules="none" frame="void"
196
       cols="2" cellspacing="0" cellpadding="0">
197
<tr valign="top" align="left">
198
<td width="21%"></td><td width="79%">
199
<b>info gettext</b></td></table>
200

  
201
<table width="100%" border=0 rules="none" frame="void"
202
       cols="2" cellspacing="0" cellpadding="0">
203
<tr valign="top" align="left">
204
<td width="10%"></td><td width="90%">
205
should give you access to the complete manual.</td></table>
206
<hr>
207
</body>
208
</html>
0 209

  
trunk/install/launcher/izpack-launcher-1.3/src/gettext/share/doc/gettext/gettext.3.html
1
<html>
2
<head>
3
<meta name="generator" content="groff -Thtml, see www.gnu.org">
4
<meta name="Content-Style" content="text/css">
5
<title>GETTEXT</title>
6
</head>
7
<body>
8

  
9
<h1 align=center>GETTEXT</h1>
10
<a href="#NAME">NAME</a><br>
11
<a href="#SYNOPSIS">SYNOPSIS</a><br>
12
<a href="#DESCRIPTION">DESCRIPTION</a><br>
13
<a href="#RETURN VALUE">RETURN VALUE</a><br>
14
<a href="#ERRORS">ERRORS</a><br>
15
<a href="#BUGS">BUGS</a><br>
16
<a href="#SEE ALSO">SEE ALSO</a><br>
17

  
18
<hr>
19
<!-- Creator     : groff version 1.17 -->
20
<a name="NAME"></a>
21
<h2>NAME</h2>
22
<table width="100%" border=0 rules="none" frame="void"
23
       cols="2" cellspacing="0" cellpadding="0">
24
<tr valign="top" align="left">
25
<td width="10%"></td><td width="90%">
26
gettext, dgettext, dcgettext - translate message</td></table>
27
<a name="SYNOPSIS"></a>
28
<h2>SYNOPSIS</h2>
29

  
30
<table width="100%" border=0 rules="none" frame="void"
31
       cols="2" cellspacing="0" cellpadding="0">
32
<tr valign="top" align="left">
33
<td width="10%"></td><td width="90%">
34
<pre><b>#include &lt;libintl.h&gt;
35

  
36
char * gettext (const char *</b> <i>msgid</i><b>);
37
char * dgettext (const char *</b> <i>domainname</i><b>, const char *</b> <i>msgid</i><b>);
38
char * dcgettext (const char *</b> <i>domainname</i><b>, const char *</b> <i>msgid</i><b>,
39
                  int</b> <i>category</i><b>);
40
</b></pre></td></table>
41
<a name="DESCRIPTION"></a>
42
<h2>DESCRIPTION</h2>
43

  
44
<table width="100%" border=0 rules="none" frame="void"
45
       cols="2" cellspacing="0" cellpadding="0">
46
<tr valign="top" align="left">
47
<td width="10%"></td><td width="90%">
48
The <b>gettext</b>, <b>dgettext</b> and <b>dcgettext</b>
49
functions attempt to translate a text string into the user's
50
native language, by looking up the translation in a message
51
catalog.</td></table>
52

  
53
<table width="100%" border=0 rules="none" frame="void"
54
       cols="2" cellspacing="0" cellpadding="0">
55
<tr valign="top" align="left">
56
<td width="10%"></td><td width="90%">
57
The <i>msgid</i> argument identifies the message to be
58
translated. By convention, it is the English version of the
59
message, with non-ASCII characters replaced by ASCII
60
approximations. This choice allows the translators to work
61
with message catalogs, called PO files, that contain both
62
the English and the translated versions of each message, and
63
can be installed using the <b>msgfmt</b>
64
utility.</td></table>
65

  
66
<table width="100%" border=0 rules="none" frame="void"
67
       cols="2" cellspacing="0" cellpadding="0">
68
<tr valign="top" align="left">
69
<td width="10%"></td><td width="90%">
70
A message domain is a set of translatable <i>msgid</i>
71
messages. Usually, every software package has its own
72
message domain. The domain name is used to determine the
73
message catalog where the translation is looked up; it must
74
be a non-empty string. For the <b>gettext</b> function, it
75
is specified through a preceding <b>textdomain</b> call. For
76
the <b>dgettext</b> and <b>dcgettext</b> functions, it is
77
passed as the <i>domainname</i> argument; if this argument
78
is NULL, the domain name specified through a preceding
79
<b>textdomain</b> call is used instead.</td></table>
80

  
81
<table width="100%" border=0 rules="none" frame="void"
82
       cols="2" cellspacing="0" cellpadding="0">
83
<tr valign="top" align="left">
84
<td width="10%"></td><td width="90%">
85
Translation lookup operates in the context of the current
86
locale. For the <b>gettext</b> and <b>dgettext</b>
87
functions, the <b>LC_MESSAGES</b> locale facet is used. It
88
is determined by a preceding call to the <b>setlocale</b>
89
function. <b>setlocale(LC_ALL,&quot;&quot;)</b> initializes
90
the <b>LC_MESSAGES</b> locale based on the first nonempty
91
value of the three environment variables <b>LC_ALL</b>,
92
<b>LC_MESSAGES</b>, <b>LANG</b>; see <b>setlocale</b>(3).
93
For the <b>dcgettext</b> function, the locale facet is
94
determined by the <i>category</i> argument, which should be
95
one of the <b>LC_xxx</b> constants defined in the
96
&lt;locale.h&gt; header, excluding <b>LC_ALL</b>. In both
97
cases, the functions also use the <b>LC_CTYPE</b> locale
98
facet in order to convert the translated message from the
99
translator's codeset to the current locale's codeset, unless
100
overridden by a prior call to the
101
<b>bind_textdomain_codeset</b> function.</td></table>
102

  
103
<table width="100%" border=0 rules="none" frame="void"
104
       cols="2" cellspacing="0" cellpadding="0">
105
<tr valign="top" align="left">
106
<td width="10%"></td><td width="90%">
107
The message catalog used by the functions is at the pathname
108
<i>dirname</i>/<i>locale</i>/<i>category</i>/<i>domainname</i>.mo.
109
Here <i>dirname</i> is the directory specified through
110
<b>bindtextdomain</b>. Its default is system and
111
configuration dependent; typically it is
112
<i>prefix</i>/share/locale, where <i>prefix</i> is the
113
installation prefix of the package. <i>locale</i> is the
114
name of the current locale facet; the GNU implementation
115
also tries generalizations, such as the language name
116
without the territory name. <i>category</i> is
117
<b>LC_MESSAGES</b> for the <b>gettext</b> and
118
<b>dgettext</b> functions, or the argument passed to the
119
<b>dcgettext</b> function.</td></table>
120

  
121
<table width="100%" border=0 rules="none" frame="void"
122
       cols="2" cellspacing="0" cellpadding="0">
123
<tr valign="top" align="left">
124
<td width="10%"></td><td width="90%">
125
If the <b>LANGUAGE</b> environment variable is set to a
126
nonempty value, and the locale is not the &quot;C&quot;
127
locale, the value of <b>LANGUAGE</b> is assumed to contain a
128
colon separated list of locale names. The functions will
129
attempt to look up a translation of <i>msgid</i> in each of
130
the locales in turn. This is a GNU extension.</td></table>
131

  
132
<table width="100%" border=0 rules="none" frame="void"
133
       cols="2" cellspacing="0" cellpadding="0">
134
<tr valign="top" align="left">
135
<td width="10%"></td><td width="90%">
136
In the &quot;C&quot; locale, or if none of the used catalogs
137
contain a translation for <i>msgid</i>, the <b>gettext</b>,
138
<b>dgettext</b> and <b>dcgettext</b> functions return
139
<i>msgid</i>.</td></table>
140
<a name="RETURN VALUE"></a>
141
<h2>RETURN VALUE</h2>
142

  
143
<table width="100%" border=0 rules="none" frame="void"
144
       cols="2" cellspacing="0" cellpadding="0">
145
<tr valign="top" align="left">
146
<td width="10%"></td><td width="90%">
147
If a translation was found in one of the specified catalogs,
148
it is converted to the locale's codeset and returned. The
149
resulting string is statically allocated and must not be
150
modified or freed. Otherwise <i>msgid</i> is
151
returned.</td></table>
152
<a name="ERRORS"></a>
153
<h2>ERRORS</h2>
154

  
155
<table width="100%" border=0 rules="none" frame="void"
156
       cols="2" cellspacing="0" cellpadding="0">
157
<tr valign="top" align="left">
158
<td width="10%"></td><td width="90%">
159
<b>errno</b> is not modified.</td></table>
160
<a name="BUGS"></a>
161
<h2>BUGS</h2>
162

  
163
<table width="100%" border=0 rules="none" frame="void"
164
       cols="2" cellspacing="0" cellpadding="0">
165
<tr valign="top" align="left">
166
<td width="10%"></td><td width="90%">
167
The return type ought to be <b>const char *</b>, but is
168
<b>char *</b> to avoid warnings in C code predating ANSI
169
C.</td></table>
170

  
171
<table width="100%" border=0 rules="none" frame="void"
172
       cols="2" cellspacing="0" cellpadding="0">
173
<tr valign="top" align="left">
174
<td width="10%"></td><td width="90%">
175
When an empty string is used for <i>msgid</i>, the functions
176
may return a nonempty string.</td></table>
177
<a name="SEE ALSO"></a>
178
<h2>SEE ALSO</h2>
179

  
180
<table width="100%" border=0 rules="none" frame="void"
181
       cols="2" cellspacing="0" cellpadding="0">
182
<tr valign="top" align="left">
183
<td width="10%"></td><td width="90%">
184
<b>ngettext</b>(3), <b>dngettext</b>(3),
185
<b>dcngettext</b>(3), <b>setlocale</b>(3),
186
<b>textdomain</b>(3), <b>bindtextdomain</b>(3),
187
<b>bind_textdomain_codeset</b>(3),
188
<b>msgfmt</b>(1)</td></table>
189
<hr>
190
</body>
191
</html>
0 192

  
trunk/install/launcher/izpack-launcher-1.3/src/gettext/share/doc/gettext/gettext_11.html
1
<HTML>
2
<HEAD>
3
<!-- This HTML file has been created by texi2html 1.52a
4
     from gettext.texi on 9 December 2003 -->
5

  
6
<TITLE>GNU gettext utilities - 11  The Translator's View</TITLE>
7
</HEAD>
8
<BODY>
9
Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_10.html">previous</A>, <A HREF="gettext_12.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
10
<P><HR><P>
11

  
12

  
13
<H1><A NAME="SEC177" HREF="gettext_toc.html#TOC177">11  The Translator's View</A></H1>
14

  
15

  
16

  
17
<H2><A NAME="SEC178" HREF="gettext_toc.html#TOC178">11.1  Introduction 0</A></H2>
18

  
19
<P>
20
Free software is going international!  The Translation Project is a way
21
to get maintainers, translators and users all together, so free software
22
will gradually become able to speak many native languages.
23

  
24
</P>
25
<P>
26
The GNU <CODE>gettext</CODE> tool set contains <EM>everything</EM> maintainers
27
need for internationalizing their packages for messages.  It also
28
contains quite useful tools for helping translators at localizing
29
messages to their native language, once a package has already been
30
internationalized.
31

  
32
</P>
33
<P>
34
To achieve the Translation Project, we need many interested
35
people who like their own language and write it well, and who are also
36
able to synergize with other translators speaking the same language.
37
If you'd like to volunteer to <EM>work</EM> at translating messages,
38
please send mail to your translating team.
39

  
40
</P>
41
<P>
42
Each team has its own mailing list, courtesy of Linux
43
International.  You may reach your translating team at the address
44
<TT>`<VAR>ll</VAR>@li.org&acute;</TT>, replacing <VAR>ll</VAR> by the two-letter ISO 639
45
code for your language.  Language codes are <EM>not</EM> the same as
46
country codes given in ISO 3166.  The following translating teams
47
exist:
48

  
49
</P>
50

  
51
<BLOCKQUOTE>
52
<P>
53
Chinese <CODE>zh</CODE>, Czech <CODE>cs</CODE>, Danish <CODE>da</CODE>, Dutch <CODE>nl</CODE>,
54
Esperanto <CODE>eo</CODE>, Finnish <CODE>fi</CODE>, French <CODE>fr</CODE>, Irish
55
<CODE>ga</CODE>, German <CODE>de</CODE>, Greek <CODE>el</CODE>, Italian <CODE>it</CODE>,
56
Japanese <CODE>ja</CODE>, Indonesian <CODE>in</CODE>, Norwegian <CODE>no</CODE>, Polish
57
<CODE>pl</CODE>, Portuguese <CODE>pt</CODE>, Russian <CODE>ru</CODE>, Spanish <CODE>es</CODE>,
58
Swedish <CODE>sv</CODE> and Turkish <CODE>tr</CODE>.
59
</BLOCKQUOTE>
60

  
61
<P>
62
For example, you may reach the Chinese translating team by writing to
63
<TT>`zh@li.org&acute;</TT>.  When you become a member of the translating team
64
for your own language, you may subscribe to its list.  For example,
65
Swedish people can send a message to <TT>`sv-request@li.org&acute;</TT>,
66
having this message body:
67

  
68
</P>
69

  
70
<PRE>
71
subscribe
72
</PRE>
73

  
74
<P>
75
Keep in mind that team members should be interested in <EM>working</EM>
76
at translations, or at solving translational difficulties, rather than
77
merely lurking around.  If your team does not exist yet and you want to
78
start one, please write to <TT>`translation@iro.umontreal.ca&acute;</TT>;
79
you will then reach the coordinator for all translator teams.
80

  
81
</P>
82
<P>
83
A handful of GNU packages have already been adapted and provided
84
with message translations for several languages.  Translation
85
teams have begun to organize, using these packages as a starting
86
point.  But there are many more packages and many languages for
87
which we have no volunteer translators.  If you would like to
88
volunteer to work at translating messages, please send mail to
89
<TT>`translation@iro.umontreal.ca&acute;</TT> indicating what language(s)
90
you can work on.
91

  
92
</P>
93

  
94

  
95
<H2><A NAME="SEC179" HREF="gettext_toc.html#TOC179">11.2  Introduction 1</A></H2>
96

  
97
<P>
98
This is now official, GNU is going international!  Here is the
99
announcement submitted for the January 1995 GNU Bulletin:
100

  
101
</P>
102

  
103
<BLOCKQUOTE>
104
<P>
105
A handful of GNU packages have already been adapted and provided
106
with message translations for several languages.  Translation
107
teams have begun to organize, using these packages as a starting
108
point.  But there are many more packages and many languages
109
for which we have no volunteer translators.  If you'd like to
110
volunteer to work at translating messages, please send mail to
111
<SAMP>`translation@iro.umontreal.ca&acute;</SAMP> indicating what language(s)
112
you can work on.
113
</BLOCKQUOTE>
114

  
115
<P>
116
This document should answer many questions for those who are curious about
117
the process or would like to contribute.  Please at least skim over it,
118
hoping to cut down a little of the high volume of e-mail generated by this
119
collective effort towards internationalization of free software.
120

  
121
</P>
122
<P>
123
Most free programming which is widely shared is done in English, and
124
currently, English is used as the main communicating language between
125
national communities collaborating to free software.  This very document
126
is written in English.  This will not change in the foreseeable future.
127

  
128
</P>
129
<P>
130
However, there is a strong appetite from national communities for
131
having more software able to write using national language and habits,
132
and there is an on-going effort to modify free software in such a way
133
that it becomes able to do so.  The experiments driven so far raised
134
an enthusiastic response from pretesters, so we believe that
135
internationalization of free software is dedicated to succeed.
136

  
137
</P>
138
<P>
139
For suggestion clarifications, additions or corrections to this
140
document, please e-mail to <TT>`translation@iro.umontreal.ca&acute;</TT>.
141

  
142
</P>
143

  
144

  
145
<H2><A NAME="SEC180" HREF="gettext_toc.html#TOC180">11.3  Discussions</A></H2>
146

  
147
<P>
148
Facing this internationalization effort, a few users expressed their
149
concerns.  Some of these doubts are presented and discussed, here.
150

  
151
</P>
152

  
153
<UL>
154
<LI>Smaller groups
155

  
156
Some languages are not spoken by a very large number of people, so people
157
speaking them sometimes consider that there may not be all that much
158
demand such versions of free software packages.  Moreover, many people
159
being <EM>into computers</EM>, in some countries, generally seem to prefer
160
English versions of their software.
161

  
162
On the other end, people might enjoy their own language a lot, and be
163
very motivated at providing to themselves the pleasure of having their
164
beloved free software speaking their mother tongue.  They do themselves
165
a personal favor, and do not pay that much attention to the number of
166
people benefiting of their work.
167

  
168
<LI>Misinterpretation
169

  
170
Other users are shy to push forward their own language, seeing in this
171
some kind of misplaced propaganda.  Someone thought there must be some
172
users of the language over the networks pestering other people with it.
173

  
174
But any spoken language is worth localization, because there are
175
people behind the language for whom the language is important and
176
dear to their hearts.
177

  
178
<LI>Odd translations
179

  
180
The biggest problem is to find the right translations so that
181
everybody can understand the messages.  Translations are usually a
182
little odd.  Some people get used to English, to the extent they may
183
find translations into their own language "rather pushy, obnoxious
184
and sometimes even hilarious."  As a French speaking man, I have
185
the experience of those instruction manuals for goods, so poorly
186
translated in French in Korea or Taiwan...
187

  
188
The fact is that we sometimes have to create a kind of national
189
computer culture, and this is not easy without the collaboration of
190
many people liking their mother tongue.  This is why translations are
191
better achieved by people knowing and loving their own language, and
192
ready to work together at improving the results they obtain.
193

  
194
<LI>Dependencies over the GPL or LGPL
195

  
196
Some people wonder if using GNU <CODE>gettext</CODE> necessarily brings their
197
package under the protective wing of the GNU General Public License or
198
the GNU Library General Public License, when they do not want to make
199
their program free, or want other kinds of freedom.  The simplest
200
answer is "normally not".
201

  
202
The <CODE>gettext-runtime</CODE> part of GNU <CODE>gettext</CODE>, i.e. the
203
contents of <CODE>libintl</CODE>, is covered by the GNU Library General Public
204
License.  The <CODE>gettext-tools</CODE> part of GNU <CODE>gettext</CODE>, i.e. the
205
rest of the GNU <CODE>gettext</CODE> package, is covered by the GNU General
206
Public License.
207

  
208
The mere marking of localizable strings in a package, or conditional
209
inclusion of a few lines for initialization, is not really including
210
GPL'ed or LGPL'ed code.  However, since the localization routines in
211
<CODE>libintl</CODE> are under the LGPL, the LGPL needs to be considered.
212
It gives the right to distribute the complete unmodified source of
213
<CODE>libintl</CODE> even with non-free programs.  It also gives the right
214
to use <CODE>libintl</CODE> as a shared library, even for non-free programs.
215
But it gives the right to use <CODE>libintl</CODE> as a static library or
216
to incorporate <CODE>libintl</CODE> into another library only to free
217
software.
218

  
219
</UL>
220

  
221

  
222

  
223
<H2><A NAME="SEC181" HREF="gettext_toc.html#TOC181">11.4  Organization</A></H2>
224

  
225
<P>
226
On a larger scale, the true solution would be to organize some kind of
227
fairly precise set up in which volunteers could participate.  I gave
228
some thought to this idea lately, and realize there will be some
229
touchy points.  I thought of writing to Richard Stallman to launch
230
such a project, but feel it might be good to shake out the ideas
231
between ourselves first.  Most probably that Linux International has
232
some experience in the field already, or would like to orchestrate
233
the volunteer work, maybe.  Food for thought, in any case!
234

  
235
</P>
236
<P>
237
I guess we have to setup something early, somehow, that will help
238
many possible contributors of the same language to interlock and avoid
239
work duplication, and further be put in contact for solving together
240
problems particular to their tongue (in most languages, there are many
241
difficulties peculiar to translating technical English).  My Swedish
242
contributor acknowledged these difficulties, and I'm well aware of
243
them for French.
244

  
245
</P>
246
<P>
247
This is surely not a technical issue, but we should manage so the
248
effort of locale contributors be maximally useful, despite the national
249
team layer interface between contributors and maintainers.
250

  
251
</P>
252
<P>
253
The Translation Project needs some setup for coordinating language
254
coordinators.  Localizing evolving programs will surely
255
become a permanent and continuous activity in the free software community,
256
once well started.
257
The setup should be minimally completed and tested before GNU
258
<CODE>gettext</CODE> becomes an official reality.  The e-mail address
259
<TT>`translation@iro.umontreal.ca&acute;</TT> has been setup for receiving
260
offers from volunteers and general e-mail on these topics.  This address
261
reaches the Translation Project coordinator.
262

  
263
</P>
264

  
265

  
266

  
267
<H3><A NAME="SEC182" HREF="gettext_toc.html#TOC182">11.4.1  Central Coordination</A></H3>
268

  
269
<P>
270
I also think GNU will need sooner than it thinks, that someone setup
271
a way to organize and coordinate these groups.  Some kind of group
272
of groups.  My opinion is that it would be good that GNU delegates
273
this task to a small group of collaborating volunteers, shortly.
274
Perhaps in <TT>`gnu.announce&acute;</TT> a list of this national committee's
275
can be published.
276

  
277
</P>
278
<P>
279
My role as coordinator would simply be to refer to Ulrich any German
280
speaking volunteer interested to localization of free software packages, and
281
maybe helping national groups to initially organize, while maintaining
282
national registries for until national groups are ready to take over.
283
In fact, the coordinator should ease volunteers to get in contact with
284
one another for creating national teams, which should then select
285
one coordinator per language, or country (regionalized language).
286
If well done, the coordination should be useful without being an
287
overwhelming task, the time to put delegations in place.
288

  
289
</P>
290

  
291

  
292
<H3><A NAME="SEC183" HREF="gettext_toc.html#TOC183">11.4.2  National Teams</A></H3>
293

  
294
<P>
295
I suggest we look for volunteer coordinators/editors for individual
296
languages.  These people will scan contributions of translation files
297
for various programs, for their own languages, and will ensure high
298
and uniform standards of diction.
299

  
300
</P>
301
<P>
302
From my current experience with other people in these days, those who
303
provide localizations are very enthusiastic about the process, and are
304
more interested in the localization process than in the program they
305
localize, and want to do many programs, not just one.  This seems
306
to confirm that having a coordinator/editor for each language is a
307
good idea.
308

  
309
</P>
310
<P>
311
We need to choose someone who is good at writing clear and concise
312
prose in the language in question.  That is hard--we can't check
313
it ourselves.  So we need to ask a few people to judge each others'
314
writing and select the one who is best.
315

  
316
</P>
317
<P>
318
I announce my prerelease to a few dozen people, and you would not
319
believe all the discussions it generated already.  I shudder to think
320
what will happen when this will be launched, for true, officially,
321
world wide.  Who am I to arbitrate between two Czekolsovak users
322
contradicting each other, for example?
323

  
324
</P>
325
<P>
326
I assume that your German is not much better than my French so that
327
I would not be able to judge about these formulations.  What I would
328
suggest is that for each language there is a group for people who
329
maintain the PO files and judge about changes.  I suspect there will
330
be cultural differences between how such groups of people will behave.
331
Some will have relaxed ways, reach consensus easily, and have anyone
332
of the group relate to the maintainers, while others will fight to
333
death, organize heavy administrations up to national standards, and
334
use strict channels.
335

  
336
</P>
337
<P>
338
The German team is putting out a good example.  Right now, they are
339
maybe half a dozen people revising translations of each other and
340
discussing the linguistic issues.  I do not even have all the names.
341
Ulrich Drepper is taking care of coordinating the German team.
342
He subscribed to all my pretest lists, so I do not even have to warn
343
him specifically of incoming releases.
344

  
345
</P>
346
<P>
347
I'm sure, that is a good idea to get teams for each language working
348
on translations.  That will make the translations better and more
349
consistent.
350

  
351
</P>
352

  
353

  
354

  
355
<H4><A NAME="SEC184" HREF="gettext_toc.html#TOC184">11.4.2.1  Sub-Cultures</A></H4>
356

  
357
<P>
358
Taking French for example, there are a few sub-cultures around computers
359
which developed diverging vocabularies.  Picking volunteers here and
360
there without addressing this problem in an organized way, soon in the
361
project, might produce a distasteful mix of internationalized programs,
362
and possibly trigger endless quarrels among those who really care.
363

  
364
</P>
365
<P>
366
Keeping some kind of unity in the way French localization of
367
internationalized programs is achieved is a difficult (and delicate) job.
368
Knowing the latin character of French people (:-), if we take this
369
the wrong way, we could end up nowhere, or spoil a lot of energies.
370
Maybe we should begin to address this problem seriously <EM>before</EM>
371
GNU <CODE>gettext</CODE> become officially published.  And I suspect that this
372
means soon!
373

  
374
</P>
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff