FAQ for newcomers to translation

From: Swedish GNU/LI List (sv_at_li.org)
Date: 1996-06-13 18:53:21

     ------
     List:     Swedish GNU/LI List
     Sender:   François Pinard <pinard@progiciels-bpi.ca>
     Subject:  FAQ for newcomers to translation
     Date:     Thu, 13 Jun 1996 12:53:21 -0400
     ------

Hi, people.  I merely want to inform you of what information is usually
sent to newcomers to the GNU translation project.  Of course, since most
you are already involved in some ways, you might not learn much from the
following text.  Nevertheless, it is good that you have a feel at what
newcomers see, and this might help you to receive them better, maybe,
if they write directly to you first.  Your comments are welcome, of course!



Hello, I hope you will not mind a canned reply.  You wrote to the GNU
translation team coordinator, offering to become a translator, but do
not know exactly how or where to start.  Here is some advice.

..-------------------------------------.
| Become part of a translation team.  |
`-------------------------------------'

Tor become a member of the translation team for your own language, send
a message to `LL-request@li.org' with "subscribe" in the body of the
message, replacing LL in the address above by the two-letter ISO 639 code
for your language.  Language codes are *not* the same as the country codes
given in ISO 3166.  The following translation teams exist as of May 1996:

     Arabic `ar', Chinese `zh', Czech `cs', Danish `da', Dutch `nl',
     English `en', Esperanto `eo', Finnish `fi', French `fr', Hebrew `he',
     German `de', Greek `el', Hungarian `hu', Irish `ga', Italian `it',
     Indonesian `id', Japanese `ja', Korean `ko', Latin `la', Norwegian
     `no', Persian `fa', Polish `pl', Portuguese `pt', Russian `ru',
     Slovenian `sl', Spanish `es', Swedish `sv', Telugu `te', Turkish
     `tr' and Ukrainian `uk'.

After you have joined a translation team, you can reach it at the address
`LL@li.org', without the `-request' suffix.  For example, you may reach
the Chinese translation team by writing to `zh@li.org'.  Of course,
you may use your own language when writing to your own translation team.

If there is no team for your language and you want to start one, please
write to `gnu-translation@gnu.ai.mit.edu' and ask for the list to be
created; you will then reach the GNU coordinator for all translation teams.

..---------------------------------------------.
| Participate in your team, or stimulate it.  |
`---------------------------------------------'

Some teams are quite well organized, with a team coordinator, many
translators having clear responsibilities, an FTP site for archives of
previous exchanges or current translations, maybe a web site as well,
with an FAQ, specialized lexicons and related literature or pointers.
On the other hand, other teams have only one or very few members, which
have not taken the time to organize properly or have not really started
their to work.

You have to find out yourself.  Write to your team directly, using your
own language, asking if someone is coordinating it, if there is an FAQ,
or if any procedure exists for contributing, as each team might have its
own methods.  You might receive a clear and precise answer telling you
everything you need to know.  In the worst case, you could not receive
any no reply at all.

In the silent case, you will have to take a decision.  You may back up
and out of the GNU Translation Project, and forget about it.  Or else,
you may decide to take on responsibility for your team and try to revive
it, answering future volunteers and doing translations on your own.
A team is as active as its members.  If everyone is shy and no one is
able to make any decisions, nothing moves.  If a team has one or more
good leaders, things usually go smoothly.  If many people *fight* for
leadership, the team might have to resolve the problems that it has,
and you may want to become part of the solution.  It's really up to you.

You may know other people who might be interested in volunteering for
your language, in GNU.  Then, of course, you could invite them to join
you and subscribe to the proper language team.

..-------------------------------------------------.
| Install GNU `gettext' and learn how to use it.  |
`-------------------------------------------------'

You could work on translations without installing GNU `gettext'.  However,
you would miss the `msgfmt' program which is quite useful at validating
the format of your translated files, the GNU Emacs PO mode which makes
editing such files easier, and the GNU `gettext' documentation, which
explains the GNU Translation Project in greater detail.

Fetch the GNU `gettext' distribution from `ftp://prep.ai.mit.edu/pub/gnu/'
[18.159.0.42] or any mirror site from which you download GNU packages,
and install it at your place.  For now, you might prefer using the latest
non-official copy in `ftp://alpha.gnu.ai.mit/gnu/po/' [128.52.46.26].
As an Emacs user, also get `ftp://alpha.gnu.ai.mit/gnu/po/po-mode.el',
as it supersedes the one installed by GNU gettext.  If you do not have
the ability or authority to install GNU `gettext', try to get the system
administrator of your site to install it for you (the sysadm will use a
recipe very similar to the one given below, but will not use the `--prefix'
argument to `configure', letting the default `/usr/local' flow in).
The recipe below is valid when you want to install GNU `gettext' for
yourself alone, as a user.  Once you have the distribution (let's say it is
`gettext-N.M.tar.gz'), just do:

	gunzip < gettext-N.M.tar.gz | tar xf -
	cd gettext-N.M
	./configure --with-gnu-gettext --prefix=$HOME
	make install

After that, just ensure `~/bin' is on your search path.  If you are using
`sh' (or `bash', or `ksh'), modify your `.profile' or `.bash_login' file
so that it contains:

	export PATH; PATH=$HOME/bin:$PATH

If you are using `csh' (or `tcsh') instead, modify your `.login' or
`.cshrc' file so that it contains:

	set path=(~/bin $path)

If you use GNU Emacs, also add these three lines to your `.emacs' file:

	(setq load-path (cons "~/gettext-N.M/misc" load-path))
	(setq auto-mode-alist (cons "\\.po[tx]?\\'" auto-mode-alist)
	(autoload 'po-mode "po-mode")

The first line may be omitted if `gettext-N.M/misc/po-mode.elc' has already
been moved to some standard place where GNU Emacs will find it.

Finally, read through the `~/info/gettext.info*' files.  Or even better,
if you have TeX already installed on your site, do something like:

	cd gettext-N.M/doc
	make dvi
	dvips gettext.dvi

to print a nice manual about GNU `gettext'.

..------------------------------------------------------.
| Fill out and return the disclaimer for translators.  |
`------------------------------------------------------'

In the GNU `gettext' distribution, you will find a file named `DISCLAIM',
containing a disclaimer for all your translation work for GNU.	If you
did not fetch `gettext', or if your team does not provide you with a copy,
just ask for one at `gnu-translation@gnu.ai.mit.edu'.

Once you have the file, you should print it out on paper, fill it out
and sign it with a pen, slip the results into a paper envelope, lick a
stamp and send it by non-electronic mail, using the old slow way, to the
address given in the form.  It may take many days for your envelope to
reach the FSF's headquarters, and maybe two more weeks before your form
is properly processed there.  One full month is not an overestimate.

Be warned that none of your translations will be accepted by the
GNU project if you did not disclaim, in writing, your rights over the
translations you produce.  Your work has to be provably free.  But once
this formality is over, you are clear to do as many translations as
you want.

..------------------------------------.
| Dive in to real translation work!  |
`------------------------------------'

If your team is well organized, people there should help you in finding a
translation assignment.  Otherwise, you will have to find one yourself.
But whatever you do, at any time, and even if everybody seems to be
sleeping in your team, keep it well informed of what you intend to do.
One way to start is by translating GNU `gettext' messages.  It is not
especially important to translate `gettext' messages first, but you
might just have it handy on your disks.  If GNU `gettext' has already
been translated, and your team does not help you to choose a translation
assignment, your might look into:

	ftp://alpha.gnu.ai.mit.edu/po/trans/LL/

to see all PO files currently available for the language LL, whether they
are completely translated or not even started.  You can certainly find
work to do there.  Every time the GNU Translation Project uploads a new
file or updates an existing file in this directory, an announcement is
sent to all members of the translation team.

OK, let's say you want to translate `gettext-N.M'.  Start by
copying the file `gettext-N.M/po/gettext.pot' into a work file named
`gettext-N.M.LL.po', where LL is your language code as explained earlier
in this text, and just edit this file.  It starts like:

	# SOME DESCRIPTIVE TITLE.
	# Copyright (C) YEAR Free Software Foundation, Inc.
	# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
	#
	#, fuzzy
	msgid ""
	msgstr ""
	"Project-Id-Version: PACKAGE VERSION\n"
	"PO-Revision-Date: YEAR-MO-DA HO:MI+DIST\n"
	"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
	"Language-Team: LANGUAGE <LL@li.org>\n"
	"MIME-Version: 1.0\n"
	"Content-Type: text/plain; charset=CHARSET\n"
	"Content-Transfer-Encoding: ENCODING\n"

Replace all the words in capitals with something appropriate.  In this
case, you will be the first author of the translation, and also the
last translator of it.  You may use your own language to replace SOME
DESCRIPTIVE TITLE, with a title saying that this file translates a certain
package to a certain language.  CHARSET may be ISO-8859-1 for example,
and ENCODING is often 8bit.  Remove the `#, fuzzy' line once you have
specified the items in capitals, because once this is done the header
entry is no longer fuzzy.

Each message to translate is then given in turn in the PO file.  For
example, an untranslated entry might be:

	#: lib/error.c:88
	msgid "Unknown system error"
	msgstr ""

The empty `msgstr' string has to be filled with the translation for the
string shown after `msgid'.  If you were a German speaker, say, the entry
once translated might look like:

	#: lib/error.c:88
	msgid "Unknown system error"
	msgstr "unbekannter Systemfehler"

You just produce a translation for all entries in the PO file, one after
another, respecting the overall file format and the quoting needed for
special characters, when needed.  Observation and intuition may allow
you to grasp what the format should be; the precise rules for PO files
are given in the GNU `gettext' manual.  The `msgfmt' program is helpful
for pinpointing formatting errors.

Once your PO file is ready, you might submit it to your translation
team to get feedback and criticism, and if everything is OK, to
`gnu-translation@gnu.ai.mit.edu' for later inclusion in the proper package.
Your submission might be rejected if the translation disclaimer has not
been received, if someone else in your team is already assigned to the
package you translated, or if your team officially disapproves of your
work (maybe because you are not a team worker).  Your team should be
seen as an authority for deciding which translations go, and which don't,
so you'd better collaborate with it!

				The GNU translation coordinator
				<gnu-translation@gnu.ai.mit.edu>

-- 
François Pinard         ``Vivement GNU!''        pinard@iro.umontreal.ca
Support Programming Freedom, join our League!  Ask lpf@lpf.org for info!

Arkiv genererat av hypermail 2.1.1.