From Fedora Project Wiki

< L10N

Revision as of 14:27, 17 August 2011 by Nathant (talk | contribs) (Add link to Setting_up_a_document_with_Transifex)

Fedora Localization Guide (UNDER CONSTRUCTION)


This guide is a fast, simple, step-by-step set of instructions for translating Fedora Project software and documents. You may find some FAQ at the end of the page.

We Need Feedback!
If you find a typographical error in this manual, or if you have thought of a way to make this manual better, please feel free to either edit the page directly or simply send an email to the Fedora Localization Project mailing list. If you have a suggestion for improving the documentation, try to be as specific as possible when describing it. If you have found an error, please include the section number and some of the surrounding text so we can find it easily.

The website of the Fedora Localization Project is

Getting Help

If you have questions, post them on the trans mailing list, or ask for help via Internet Relay Chat (IRC), at on channel #fedora-l10n.

You can find a lot of information on Transifex at:

Becoming a Fedora Translator

To get started you need to register and be granted access to the material to work on:

  1. Create a Transifex account
  2. Subscribe to the mailing list
  3. Introduce yourself
  4. Join your Fedora translation team

Your self-introduction is important. It raises your chances to be approved for write access. You may also want to create a Bugzilla account to work on bugs reported by users.

Start using Transifex

Fedora uses Transifex to manage its localization workflow. These steps will guide you through the creation of a Transifex account and joining your team.

Create a Transifex Account

  1. Visit and click on the top-right corner "Register"
  2. Fill-in the form and click Register! You can use your Fedora email or the same email you used to create your Fedora account. Choose a good password (as described above). This password can be resetted if you forget it, though.
  3. Check your email. An email should arrive soon to verify your email address. There will be a link in it — click it!
  4. You should be able to login on Transifex with your credentials now.

Joining your Fedora translation team

  1. Visit the Fedora Teams page at
  2. If your language is there, click on it.
  3. You should see a list of the members, the leader (coordinator). Click "Join this team" to ask to join the team.
  4. The team leader will receive a notification about your request. He will check your information, and check whether you introduced yourself.
  5. If all goes well, the maintainer will accept your application, and you'll receive a notification.

This may take between a few hours or days. If takes more, click on the maintainer's username on Transifex and send him a message asking him for more information.

Subscribe to the Mailing List

  1. Visit and subscribe to the main translation mailing list.
  2. Wait for the confirmation email which contains a link to confirm your subscription. Click the link to confirm your subscription.

Check to see if there is a special mailing list for your language. If so, subscribe to that list too.

Introduce Yourself

  1. Create a personal page at This is very useful for Fedora contributors to get to know and contact each other. You'll need to create a Fedora account for that.
  2. Post a short self introduction to the trans mailing list and to the list of your local team with instructions from Please remember to include your FAS user name and your language. With this information, your language leader can identify you and approve you as a translator on his team.

Creating a Bugzilla Account

If you are asked to use Bugzilla, create an account by visiting

Create a Fedora Account

The steps below guide you through the creation of a Fedora Account.

Applying for an Account

  1. To sign up for a Fedora account, first visit and select New Account.
  2. Fill in Username, Full Name and Email, and click Sign up!. Your password will be emailed to you.
  3. Go back to and log in with your password. The welcome page will be displayed, and it reminds you that CLA is not completed.
  4. Telephone Number and Postal Address fields are also required to fill in for signing the CLA. These information is NOT accessible by others except admin groups. Please refer to Fedora Privacy Policy at
  5. Other fields will be displayed by any other member by visiting the user's view page.
  6. Now click Save! located at the bottom of this page to save your information.

Signing the CLA

You must complete the Contributors License Agreement, or CLA.

  1. Visit and login your account using your user name and password obtained from the previous process.
  2. In the Welcome page, click complete the CLA or go to
  3. If the information of telephone number and postal address have not been provided yet, the Edit Account (user_name) page will be appeared. Otherwise Fedora Contributor License Agreement page will be displayed. Read through the agreement carefully and click I agree if you are happy to do so.
  4. The user-view page is appeared and shows the CLA: field as CLA Done.


The translatable part of a software package is available in one or more PO files. Some projects might use other file formats as well, such as QT TS ones. These files may be maintained in any of a number of version control systems (VCSs) depending on the project, such as Subversion, Mercurial, and git. They may be hosted on either or other systems.

This chapter explains how to translate the projects which use Transifex to manage their L10n workflow. Translators can work on the web interface or the command-line to obtain and submit files. Before you start, you must first prepare the directories which hold your po files.

Fedora and Upstream projects
Using Transifex, you can contribute to both Fedora and Upstream projects. Fedora ones are those which Fedora is upstream for, ie. maintaining and handling. These are usually only used by Fedora.

Listing Translatable Fedora Projects

  1. Visit
  2. Choose the type of Fedora Projects you want to translate by choosing the appropriate Release. You should see Fedora itself, Fedora Documentation and other upstream projects. Click on the release you choose to contribute to. For example, click on the link pointing to
  3. The new page shows the full statistics for this release per language. Choose your language.
  4. This page shows all translatable resources (ie. files) for this release. Click on one of the table rows to get information on the resource you're interested in.

You can bookmark this page for future reference. We'll call it the "Language-Release" page from now on. Here's an example URL:



Translate Online

The easiest way to translate is by using the Transifex Web Editor. It's an intuitive interface which does not require you to download files on your system and re-upload them back.

  1. Follow the instructions above to locate the resource which interests you.
  2. On the popup, you should see a "Translate Now" button. If you are logged-in on Transifex and a member of the language team, it should be clickable. Click it!
  3. You should now be in the Transifex Web editor (codenamed Lotte). Go on and translate as much as you want, and at the end, click "Save and Exit".

Note: When you translate online, the file is automatically "Locked" and other people are notified about your work. Never translate something that another translator has already locked -- you might be overwriting his own work!


Translating Offline

If you prefer to translate offline, you can simply download & upload a translation file.

Before you download any files, we suggest you prepare a directory to hold your files. The described structure below is an example only, and your structure can be formed differently.

mkdir -p ~/fedora-translations/

Obtaining and Translating Projects

You can download a file to translate. You may need to communicate with other translators in your language team to avoid conflict. If you are not sure, please contact your language coordinator. Also locking a file will avoid potential conflicts.

  1. On your Release-Language page find the resource (table row) you want to translate and click on it for the popup to appear.
  2. Click on "Download for translation" button to download the file as the name of your choice to the directory you created in the previous section (e.g. abrt.po).
  3. Now the file is on your local workstation and ready for translation. Translate the file into your language eg. with a POeditor of your choice such as Lokalize or gtranslator.
  4. Check the integrity of your file before commit using msgfmt -cvo /dev/null abrt.po. If any error messages appear, correct it before commit.

Please note that all files offered from Transifex are already merged (msgmerged) with the POT files. This happens both when you download and when you upload files.

Committing Projects

Once you finish translation work, commit the file using the same interface.

  1. Make sure you are logged in on Transifex.
  2. Navigate back to your Release-Language page and click on the resource you want to upload to. Be careful not to upload on a different resource.
  3. Click on the "Upload" button and locate your translated file on your local system, and Submit it. The interface might take some time (for large files up to one minute) and finally notify you that the file was submitted successfully. If you receive an error or some other message, please post it to the Fedora Localization Project mailing list so it can be addressed.

Adding New files

If one of the resources in the release is missing your translation, you should see it missing from the release page, and see a separate list at the bottom of the page as follows:

The following resources don't have any translations in Japanese:
1) python-fedora → python-fedora.pot
  1. Click on it -- it will take you to that resource's main page.
  2. Click "Add Translation"
  3. Choose your language and click "Translate Online".
  4. Go ahead and translate online a few or all the strings, and then "Save and Exit".

Proofreading Software Translations

Since Fedora 12, the composed live image has been available to download for reviewing and correcting software translation in user interface. This live image is composed around a week before Fedora Software Translation Deadline and made available by deadline date. This image should include all latest translation submitted at this point.

To proofread your translation as part of the software, follow these steps:

1. Change directory to the package you want to proofread. For example:

 cd ~/myproject/system-config-printer/

2. Convert the po file to a mo file using msgfmt with -o option:

msgfmt -o ja.po

3. Back up the existing file and overwrite old one.

su -
cp /usr/share/locale/ja/LC_MESSAGES/
mv /usr/share/locale/ja/LC_MESSAGES/

4. Proofread the package with the translated strings as part of the application. The application related to the translated package runs with the translated strings.

LANG=ja_JP.UTF-8 system-config-printer

Translating Documentation

Translating Fedora docs is exactly the same as translating software, so just follow the same instructions as above. Make sure you select the "Fedora Documentation" Release, which will lead you to a separate Release-Language page, specialized in Docs.


Understanding the Multiple Files Structure

Fedora Docs mostly use Publican. Unlike software, a guide has multiple po files structure. Each file corresponds to each chapter in that guide. The file name usually consists of the chapter name. This structure is very useful as more than one translator can work on certain guide same time.

New languages: Creating docbook-locales File

If you are creating the first-ever translation for a locale, you must first translate docbook-locales file used in all documents for your locale.

  1. Navigate to the docbook-locales Transifex project:
  2. If your language is not there, just add it.
  3. File a bug in Bugzilla against Product "Fedora Documentation" with Component "docs-requests". You may leave the details blank, or name the guide name(s) which you like to translate. Attach Files if Necessary. If you have any problems submitting po files using above instructions, you can attach it to the bug.
  4. Use the following Summary on the bug: "[ja]: New language support request."

What Docs to Translate

The most important documentation for each release of Fedora are the following:

  • Docs :: docbook-locales
  • Docs :: Release Notes
  • Docs :: About Fedora
  • Docs :: Readme
  • Docs :: Readme Burning ISOs
  • Docs :: Readme Live Image

Translating Websites

Fedora Websites are also translatable via Transifex. You can find all projects related to Fedora websites in the Fedora Websites Release:

Download, translate, and commit website projects the same way as for software projects. Please note that new translations are pulled times to times. It could be daily or weekly, depending on the release state. If you notice that your translation is not updated for a while, you could ask an update from the website team on their mailing list. By adding the L10n mailing list in CC you will tell other teams that you've already requested an update.

Adding New po Files

Add new po files the same as for software projects. If you are creating the first-ever translation for a locale, you must notify the Fedora Websites team to add the new language to the website. Post the request to the trans mailing list, so that the Websites team can add the language to the Apache configuration for the site.


Generally the Websites team provides test sites that you can use to proofread your work.

Translating Wiki Pages

The Fedora Wiki is the repository for project-related information. Some of these pages may need to be translated in order to better serve the Fedora community. This chapter will explain, step-by-step, the proper method of translating a wiki page.

Find the English Version of the Page

English is the base language for the Fedora Project wiki, so there needs to be an English version of the page you are working on. (If there isn't an English version of the page you are working on, see “Handling Translations Without an English Version” below.

If there is already a language template at the top of that page, click edit link on the right side of the language box and move to step 4; otherwise, continue to step 2.

If the page you create doesn't have an English version, create a new page for the English version, add the { { template|autolang } } template as noted above, and then add the {{[[Template:needs english|needs english]]}} template. This will flag the page for needing an English translation as well as create a base page.

Add the Language Template to the English Page

Edit the English page, and at the top of it, add the { { template|autolang} } template:

{ { autolang|base=yes } }

The base=yes part is required for the English page. Save the page.

Create the Language Template

The { { template|autolang } } autolang template should provide a link for you to set up the language box. Click it, and an edit page will come up. Don't change any of the content and save the page. Then click the edit link on the right side of the language box.

Add Your Language to the Template

At this point you should have an edit box open with template syntax that looks similar to this: { { lang|en|page=Base page name } }

The text between lang and page= is the list of language codes. Add the language code that you are translating to this list. Use this list to determine the proper MediaWiki language code.

Please Keep the List Alphabetical: Keep the list of language codes alphabetical by code. This means German (de) should come before English (en), for example.

Start the New Page

Click on the red link for your language to start the new page. Insert the template { { autolang } } at the top of your page, so that the list of languages is there. Be certain to not include base=yes in the template for non-English subpages.

Moving Pages From the Old Translation Setup

For translated pages that aren't in the proper place, follow steps 1-4 above. Then, copy the title of the new page (e.g. Fedora Project Wiki/de). Click the move link at the top of the old page and paste the new page name in the to new title field. Edit the new page and add { { autolang } } to the top.

FAQ (Frequently Asked Questions)

Here are some FAQs about the Localization Project.

Should I translate legal notices?

No. You must never do that. The exact wording of the legal notices is very important and a translation not approved by lawyers is very risky. Red Hat is the legal representative and primary sponsor of the Fedora Project and does not have the resources to cross check every single translation. Just leave the original English notice in tact when it covers legal matters.

How do I report issues?

Before reporting (either opening a new ticket or the list), please search to see if there's an existing report opened. It sometimes help to ask in #fedora-l10n if there's a known issue at that exact moment. If not, please open a ticket describing what's wrong with the service in clarity. Include the nature of the problem, the project/resource, the time (in UTC) it happened and your Fedora username. If you suspect it might be a problem with the particular file you are uploading or the target file, include that information as well.

Where do I report issues?

  • Issues specific to Transifex should be reported using the "Feedback" button on the right-side of the website.
    • These include: Questions related to Transifex, possible bugs, feature requests, problems you are having with the site, such as a slow webpage, login issues.
    • These do not include missing Fedora projects, Fedora team creation requests, Fedora coordinators etc.
  • Issues specific to Fedora L10n should be first reported on IRC (#fedora-l10n) and then on the trans- mailing list.
    • These include team questions, releases, projects, Fedora maintainers, developers etc.
    • These do NOT include questions Transifex bugs, feature requests, problems you are having with the site, such as a slow webpage, login issues, or wrong statistics because a project is missing from the release.

Where do I report feature requests?

Please see above section, 'issues specific to Transifex'.

How do I create a new team? (#new-team)

See L10N Maintainer on how to become a maintainer of a new language.

My file is 100% but when I test the application I still see English strings! (#missing-strings)

This wasn't a question, by the way. Nevermind. The following might have gone wrong:

  • The strings in question have not been marked for translation by the developer, hence they haven't been included in the POT file, and thus not in the PO file. He needs to use gettext on them.
  • The source files of these strings have not been marked for inclusion, in the intltool case.
  • The POT file of Transifex is not up to date. The component page includes the date when the POT file has been produced. If this is more than a few hours in the past, please notify the admins, otherwise it should be OK.

Are the statistics live? How often are they updated? (#update-frequency)

The statistics on Transifex are always live on the project pages. The Release pages are updated once per day.

How do I add a module to Transifex? (#add-transifex)

  1. Navigate to
  2. Follow the instructions from

If you want the Fedora Localization Project to handle your translations (i.e. you are NOT an upstream project):

  1. Click 'Access Control' on your Project Details Page
  2. Outsource team control to "The Fedora Project"
  3. Send an email to fedora-trans-list and let the contributors know about the change. One of the Fedora L10n Editors will add your project to one of the Fedora releases.

Here are two more pages you might want to read:

I'm a developer, how can I make .desktop files translatable?

Transifex will natively support .desktop files soon.

I can't find "About this Computer" string. Where is it?

It can be found at AboutThisComputer.

Is the section of export regulations shown at the bottom of the page translatable?

No. This is purposely set up as non-translatable. Please refer to Non-translatable export regulations?.

If some strings change past string freeze, how do I request a string freeze breakage?

Email the [1] mailing list!

What if I overwrite a wrong file?

If you have overwritten a wrong file in your own locale, try to find the old file on the developer's git repo ( and replace the wrongly updated file with this file.

Even though these are measures to correct mistake, we strongly advice you to take extra care while submitting the translations via Transifex and make sure that you are uploading file in proper location under proper locale because some projects don't keep translation files under their CVS tree (do I say "Anaconda" ? oO)

I'm from the Docs Project. How do I make my Guide / Release Notes / other document available for translation?

If you keep you document in a git repository, see Setting up a document with Transifex to find out how to make it available to translators on

Guide information

The following people have contributed to this guide:

  • Manuel Ospina
  • Paul W. Frields
  • Noriko Mizumoto
  • Dimitris Glezos
  • Diego Búrigo Zacarão
  • Piotr Drąg
  • Misha Shnurapet