Fedora Localization Guide (UNDER CONSTRUCTION)
Introduction
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.
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.
Becoming a Fedora Translator
Subscribing to the Mailing List
- Visit https://admin.fedoraproject.org/mailman/listinfo/trans and subscribe to the main translation mailing list.
- 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
- To sign up for a Fedora account, first visit https://admin.fedoraproject.org/accounts and select New Account.
- Fill in Username, Full Name and Email, and click Sign up!. Your password will be emailed to you.
- 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.
- To submit public SSH key and GPG key ID, click My Account or go to https://admin.fedoraproject.org/accounts/user/edit.
- 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.
- 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.
- Other fields will be displayed by any other member by visiting the user's view page.
- 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.
- Visit https://admin.fedoraproject.org/accounts and login your account using your user name and password obtained from the previous process.
- In the Welcome page, click complete the CLA or go to https://admin.fedoraproject.org/accounts/user/edit.
- 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.
- The user-view page is appeared and shows the CLA: field as CLA Done.
Introduce Yourself
- 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.
- 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
- Visit https://fedora.transifex.net/ and click on the top-right corner "Register"
- 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.
- Check your email. An email should arrive soon to verify your email address. There will be a link in it -- click it!
- You should be able to login on Transifex with your credentials now.
Joining your Fedora translation team
- Visit the Fedora Teams page at https://www.transifex.net/projects/p/fedora/teams/.
- If your language is there, click on it.
- You should see a list of the members, the leader (coordinator). Click "Join this team" to ask to join the team.
- The team leader will receive a notification about your request. He will check your information, and check whether you introduced yourself.
- 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.
Translating
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.
Listing Translatable Fedora Projects
- Visit https://www.transifex.net/projects/p/fedora/.
- 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/.
- The new page shows the full statistics for this release per language. Choose your language.
- 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:
https://www.transifex.net/projects/p/fedora/r/fedora-15/l/ja/
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.
- Follow the instructions above to locate the resource which interests you.
- 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!
- 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.
- On your Release-Language page find the resource (table row) you want to translate and click on it for the popup to appear.
- 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).
- 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.
- 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.
- Make sure you are logged in on Transifex.
- 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.
- 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
- Click on it -- it will take you to that resource's main page.
- Click "Add Translation"
- Choose your language and click "Translate Online".
- 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/ exit
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.
Example:
https://www.transifex.net/projects/p/fedora/r/fedora-15-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.
- Naviagate to the docbook-locales Transifex project: https://www.transifex.net/projects/p/fedora-docbook-locales/resource/locale/
- If your language is not there, just add it.
- 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.
- 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:
https://www.transifex.net/projects/p/fedora/r/fedora-websites/
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.
Proofreading
Generally the Websites team provides test sites that you can use to proofread your work.
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