From FedoraProject

< L10N(Difference between revisions)
Jump to: navigation, search
Line 391: Line 391:
=== My file is 100% but when I test the application I still see English strings! (#missing-strings) ===
=== 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.
This wasn't a question, by the way. Nevermind. The following might have gone wrong:
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 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.
Line 418: Line 416:
Here are two more pages you might want to read:
* http://lists.fedoraproject.org/pipermail/trans/2011-January/008573.html
* http://lists.fedoraproject.org/pipermail/docs/2011-February/013109.html

Revision as of 12:29, 22 June 2011


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 https://fedora.transifex.net/.

Getting Help

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

You can find a lot of information on Transifex at: http://help.transifex.net/.

Becoming a Fedora Translator

Subscribing to the Mailing List

  1. Visit https://admin.fedoraproject.org/mailman/listinfo/trans 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 https://fedoraproject.org/wiki/L10N/Teams to see if there is a special mailing list for your language. If so, subscribe to that list too.

Create a Fedora Account

The steps below guide you through the creation of a Fedora Account. This is required for all Fedora Contributors.

Making an SSH Key

If you do not have a SSH key yet, follow these steps:

# Create key.
ssh-keygen -t rsa
# Accept the default location (~/.ssh/id_rsa) and enter a passphrase.
# Write it down, you can not recover it if lost.

# Change permissions to your key and .ssh directory:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub

This public key (~/.ssh/id_rsa.pub) will be used for your Fedora account creation described in the section “Applying for an Account”.

Making a GPG Key

Generate a key by typing in a command line:

gpg --gen-key

A series of prompts guides you through the process. The default values suffice in almost all cases. Remember to choose a good password. A good password consists of uppercase and lowercase letters, numbers, punctuation, and other characters does not include any words or names, with or without substitutions is not the same as any other password used for other systems

In the resulting text, find your key ID in the statement that resembles pub 1024D/1B2AFA1C. Your key ID is the 8 character word after the slash (/). In the previous example, the GPG Key ID is 1B2AFA1C. Write down your key ID. Export your public key to a public server so that others can find it with the following command, substituting your key ID:

gpg --keyserver subkeys.pgp.net --send-keys GPGKEYID

This GPG key ID will be used for your Fedora account creation described in the section “Applying for an Account”.

Applying for an Account

  1. To sign up for a Fedora account, first visit https://admin.fedoraproject.org/accounts 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 https://admin.fedoraproject.org/accounts and log in with your password. The welcome page will be displayed, and it reminds you that CLA is not completed and that an SSH key is not submitted.
  4. To submit public SSH key and GPG key ID, click My Account or go to https://admin.fedoraproject.org/accounts/user/edit.
  5. In the Edit Account (user_name) page, enter your GPG key ID in GPG Key ID: field. For the public SSH key, click Browse... button located next to Public SSH Key: field and specify your public SSH key.
  6. 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 https://fedoraproject.org/wiki/Legal:PrivacyPolicy.
  7. Other fields will be displayed by any other member by visiting the user's view page.
  8. 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 https://admin.fedoraproject.org/accounts 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 https://admin.fedoraproject.org/accounts/user/edit.
  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.

Introduce Yourself

  1. Create a personal page at https://fedoraproject.org/wiki/User:Username. This is very useful for Fedora contributors to get to know and contact each other.
  2. Post a short self introduction to the trans mailing list and to the list of your local team with instructions from https://fedoraproject.org/wiki/L10N_Self_introduction. 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.

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 https://fedora.transifex.net/ 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 https://www.transifex.net/projects/p/fedora/teams/.
  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.

Creating a Bugzilla Account

If you are asked to use Bugzilla, create an account by visiting https://bugzilla.redhat.com/bugzilla/createaccount.cgi.


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 fedorahosted.org 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 https://www.transifex.net/projects/p/fedora/.
  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 https://www.transifex.net/projects/p/fedora/r/fedora-15/l/ja/.
  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

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 system-config-printer.mo ja.po

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

su -
cp /usr/share/locale/ja/LC_MESSAGES/system-config-printer.mo system-config-printer.mo-backup
mv system-config-printer.mo /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. Naviagate to the docbook-locales Transifex project: https://www.transifex.net/projects/p/fedora-docbook-locales/resource/locale/
  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.

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.

http://fedoraproject.org/wiki http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/languages/Names.php?view=markup

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 statisics 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 https://www.transifex.net/projects/add/
  2. Follow the instructions from http://help.transifex.net/user-guide/projects.html

If you want the Fedora Localization Project to handle your translations (ie. 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 fedoraproject.org/get-fedora 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 (http://git.fedorahosted.org/git/) 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.

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