L10n information for resource maintainers
The Fedora Localization Project (FLP) is responsible for translating resources (applications, documentation, websites, etc) related to Fedora. This page contains information that interest maintainers of such resources, who would like the people from FLP to contribute translations to their resources.
While this page is more tailored towards software maintainers (developers), almost everything could be applied to any type of resource.
To go from developing an application into delivering it translated to the user, several intermediate steps happen.
- The app is made translatable by identifying strings in the source code that need translation. This is usually done with a library such as
- The strings are extracted from the source and put into a special POT file (PO Template), placed somewhere like
po/appname.pot. This can be done with GNOME's
intltool, the generic
xgettext, or other tools.
- Translators copy this POT file into language-specific PO files (eg.
po/fr.po) and translate it.
- The translated PO files are sent back to the maintainer or placed directly in the project's VCS
- The maintainer packages the project together with the compiled translations (MO files)
- When the user fires up the app, the system automatically chooses the correct MO file and displays the interface translated. The language detection for non-apps (eg. websites) differs for each type of app.
I18n is the process in which a resource is made localizable, that is, support is added which will make translations possible. This includes a lot of stuff like the use of words/language not specific to a particular region (eg. hot dog), but we'll just focus on the technical parts.
You will find that the GNOME project has very useful guides on adding l10n support on resources. Here are some specific resources:
- L10N Guidelines for Developers by Christian Rose
- Internationalising GNOME applications by Malcolm Tredinnick
- KDE i18n howto and KDE translation howto
We've got a page with translation statistics for Fedora-related projects (modules) at http://translate.fedoraproject.org/. We support cvs, svn, hg, and git (for now).
Relevant contact points: DimitrisGlezos, DiegoZacarao.
Add your module to the statistics page
- Enable anonymous clone/checkout on your repo/module
- We need to add your name to people.xml.in and your module to fedora-modules.xml.in and
- Create a bug report on l10n-requests . Either copy-paste the chunks of XML for both files, or create a patch for them and attach it to the form.
Adding your module to transifex
To enable translators send contributions to your project through transifex, you need to add a special VCS account for transifex.
- This account should have write access to your module over ssh.
- If possible, restrict this access only to the directories/files you want the translators to have access to (eg.
/po/*). If this is not possible, don't worry too much: you can restrict access to the translators from inside transifex through a regex.
- The authentication must be done with SSH keys (no password support yet). DimitrisGlezos will create a keypair for you and send you the public key.
Checklist for Module Maintainers
To ensure that the translations for your module are maintained consistently the following checklist can be handy.
- When introducing a new module for translation, please send in an announcement to firstname.lastname@example.org
- Make sure that the VCS and repository used for your module is clearly mentioned
- If the VCS and repsitory used for your module is changed, please send in an announcement to email@example.com
- Ensure that the module is removed completely from the earlier repository to avoid redundancy