Contents
History
Source
Email Feedback
Gnome
Gnome is a Linux graphical desktop environment. The project has quite an
established localisation initiative.
Reading
Please familiarise yourself with these before proceeding:
* Gnome localisation style guide (These are actually Sun Solaris style guides)
http://developer.gnome.org/projects/gtp/style-guides/
* Localisation Guide
http://developer.gnome.org/projects/gtp/l10n-guide/
* Localisation section in the developers website
http://developer.gnome.org/arch/i18n/l10n.html
* Gnome Translation Project
http://developer.gnome.org/projects/gtp/
Useful URLs
* Status Page
http://l10n-status.gnome.org/
* Resources Page
http://developer.gnome.org/projects/gtp/resources.html
Translating
This is a roughly sequential outline of the steps you need to take to translate
Gnome into your language.
Joining the mailing list
Subscribe to the gnome-i18n mailing list:
http://mail.gnome.org/mailman/listinfo/gnome-i18n/
Gnome Glossary
Start with this to create consistency across future Gnome localisations.
http://developer.gnome.org/projects/gtp/glossary/
Latest versions of the CSV glossary:
http://cvs.gnome.org/viewcvs/gnome-i18n/glossary/GnomeGlossary.csv?view=log
Use the csv-to-pot.sh script to convert the .csv to a pot file. The layout is
slightly different from the layout created by po2csv so you cannot convert the
created POT file to a Translate Toolkit style CSV file.
If you need to translate using CSV rather edit the GnomeGlossary.csv and
manipulate it into a PO file later.
What files first
Advice from Christian Rose on the Gnome team.
gtk+ 1126 (toolkit, very largish, but many messages are
developer-oriented and can safely be ignored to begin with, but some few
messages here are very visible to the end user)
libgnomeui 305 (many user-visible menus and stuff)
gnome-mime-data 350 (user-visible file type desc. etc)
libbonoboui 96
gnome-vfs 80 (file size formatting etc)
yelp 71 (help browser)
gedit 640 (text editor)
nautilus 1449 (file manager, also very largish, but not all
messages here are immediately visible to the end user, even though many are)
gnome-desktop 88
gnome-panel 587
gnome-session 103
gnome-control-center 649
gdm2 629 (login manager)
eog 170 (image viewer)
... and then the rest in desktop + developer-libs.
TODO: use podebug to get a better targeting on these files.
Getting a CVS account
You will need a CVS account to commit translations:
http://developer.gnome.org/doc/policies/accounts/requesting.html
Most probably you will only get one if you have supplied translations already
or are a new team leader.
You will need to read this to ensure that you commit correctly to CVS:
http://developer.gnome.org/doc/tutorials/gnome-i18n/translator.html
The steps are well laid out and very clear, you can't go wrong if you follow it
carefully. So old time users of CVS you must read it.
Your translated PO files are placed within the package in GNU style, ie in the
po/ directory unlike the KDE system of all languages in one module. This means
that you will have to checkout and add files to the various modules that you
use. Eg to add translations of gnome-mime-data you will need to checkout the
module by that name.
Targeting a release
Gnome follows a regular 6 monthly development cycle with even numbered stable
releases and odd number development releases.
You can see the release schedule here:
http://www.gnome.org/start/unstable/
If your team is moving quickly it might be good to target a stable minor
release. This will also be the platform that most users will be on. It also
presents the chance to have multiple releases as you move through each minor
release.
Translation Status Page
Your languages translation status page at http://l10n-status.gnome.org/ will be
updated as soon as your first file is committed to CVS.
Setting up your Bugzilla Component
You need a Bugzilla component so that users of your language can report errors.
Instructions for setting one up are here:
http://developer.gnome.org/projects/bugsquad/maintainers.html
This information courtesy of Christian Rose. You should return these details
to him at: menthos at gnome oeg.
You need to supply:
* language code
* language name (in English)
* language name (spelled in the language itself. We actually don't
use this info in Bugzilla but on the http://www.gnome.org/i18n/
page. Please replace non-ASCII characters with proper HTML escape
sequences. See the HTML source code of that page for examples)
* default owner (must be a valid bugzilla account)
The default owner is the person who should be assigned the bugs by
default. If he or she doesn't have a bugzilla account, he or she can
create one at http://bugzilla.gnome.org/createaccount.cgi.
* default qa contact (must be a valid bugzilla account)
The default QA contact is usually the person who should make sure
the bug was fixed properly by the assignee. If the qa contact person
doesn't yet have a bugzilla account, he or she can create one at
http://bugzilla.gnome.org/createaccount.cgi. This field is optional,
you don't need to decide on a default qa contact if you don't want
to.
* component description
Usually of the form "Here you can place your bugs about
$LANGUAGENAME [$LANGUAGECODE] translations". Example: "Here you can
place your bugs about Swedish [sv] translations".
If you have the possibility, try also to translate this into
ASCII-only English, and we'll use the translation as well.
You have the option of assigning this the bug reports to a mailing list:
If you want, there's also the possibility to use a mailing list instead
of an individual for the default owner and/or default qa contact fields.
It's a bit more complicated; among other things you need access to the
mailing list configuration. Here is what you should do if you want a
mailing list in one or both of the fields above:
1) Create a bugzilla account for your mailing list, i.e. a Bugzilla
account with your list's address as account name.
2) Subscribe the bugzilla deamon address
(bugzilla-daemon@widget.gnome.org) to your mailing list, but also
disable *ALL* mail from the mailing list to this address (If it's a
Mailman mailing list you can change bugzilla-daemon@widget.gnome.org's
mailing list options to NOMAIL).
Application Specific
There are some applications that need specific treatment. These are those:
* gdm2
The login manager needs patches to gui/gdmlanguages.c and config/locale.alias to
add your languages. Email your patch to "George"
Suggested bug report and related email for adding English (Canadian), use as a reference:
http://mail.gnome.org/archives/gnome-i18n/2004-February/msg00256.html
http://bugzilla.gnome.org/show_bug.cgi?id=135053
Also Arabic issue highlights how it all fits together:
http://mail.gnome.org/archives/gnome-i18n/2004-March/msg00177.html
Actual CVS diffs to add Afrikaans, Northern Sotho and South African English
http://cvs.gnome.org/viewcvs/gdm2/config/locale.alias?r1=1.38&r2=1.39
http://cvs.gnome.org/viewcvs/gdm2/gui/gdmlanguages.c?r1=1.41&r2=1.42