This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GCC and the Translation Project


The processes followed in the interaction between GCC and the Translation
Project seem to be rather obscure to most developers, and not to be
regularly followed (so users don't benefit from current translations,
translators need to repeat more work, ...) since those who know what the
procedures are don't generally have the time to do the various manual
steps regularly.  This note tries to explain some of the undocumented
procedures, so that more people can follow them when necessary.  
(Technical aspects of how messages get translated are discussed in
ABOUT-GCC-NLS.)

gcc.pot regeneration
====================

gcc/po/gcc.pot (a template file containing all the messages translators 
need to translate) is currently regenerated manually.  This is done by 
"make gcc.pot" in builddir/gcc, then moving builddir/gcc/po/gcc.pot to 
srcdir/gcc/po/.  This ought to be done, on mainline and active release 
branches, (a) just before each release (so the file is current in 
releases) and (b) just after a new release branch is made (so that a 
snapshot can be submitted to the Translation Project and translators have 
a chance to catch up before the release).

gcc.pot submission to Translation Project
=========================================

The Translation Project homepage is 
<http://www.iro.umontreal.ca/contrib/po/HTML/>.

Some automatic process (I suppose on ftp.gnu.org, but don't know the
details) submits the .pot files from releases to the Translation Project.  
Of course, when the .pot file hasn't been updated since some time before 
a previous release, this isn't that useful.

In preparation for the first release from a new release branch, a .pot
file for a snapshot should be manually submitted (I've done this for a 3.3
branch snapshot).  Submission is explained at
<http://www.iro.umontreal.ca/contrib/po/HTML/maintainers.html>.  Send a
message to translation@iro.umontreal.ca, whose subject is
"gcc-<version>-b<date>.pot" (the "b" format gets it ordered correctly
before the release proper) and whose body contains the snapshot tarball
URL.  (I don't know if this will handle .tar.bz2 as well as .tar.gz.)  Of 
course you need to regenerate gcc.pot on the branch, then wait for a new 
snapshot to be run containing it (or run one manually, using the command 
in the crontab, if you have access to the gccadmin account), before 
submitting the snapshot.

.po file collection
===================

.po files (translated messages) from the translators need to be added to
GCC (mainline and active release branch).  They are automatically sent
(gzipped) to gcc-patches, so what ought to happen is that they get
committed by the i18n maintainer as and when they appear on gcc-patches.  
But sometimes the i18n maintainer may be busy or otherwise engaged, or a
.po file may get missed, so, before each release, a check should be made
for updated .po files that haven't been committed already and the most
recent .po file for each language should be committed to mainline and
branch.  The current .po files may be found at
<http://www2.iro.umontreal.ca/~pinard/po/registry.cgi?domain=gcc>.

.po file maintenance
====================

.po files are maintained by the translators.  Patches to them must not go
directly into GCC; they need to be sent to the respective language team,
indicated by the Language-Team entry in the .po file or at
<http://www2.iro.umontreal.ca/~pinard/po/registry.cgi?team=index>.  Bug
reports about a translation should be forwarded to the translation team.

-- 
Joseph S. Myers
jsm28@cam.ac.uk


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]