Home Wiki > openSUSE:Localization guide
Sign up | Login

Revision as of 11:39, 9 September 2016 by AdaLovelace (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

openSUSE:Localization guide

tagline: From openSUSE

In this page find information about localization (L10N, LCN) of software components in openSUSE. It applies for programs such as YaST, the openSUSE update applets, or the menu system of the desktop. For information about localizing the openSUSE wiki (this site), see Help:Translation.

Adding a new language

If your language is already included in the Localization team list, a team for your language exists. Find Information about joining a team in Joining a Existing Team. If there is no team for your language, start one and proceed as follows:

  1. Create an account at http://developer.novell.com—because it is also used for the Novell Bugzilla and Weblate.
  2. Mail to opensuse-translation@opensuse.org. Within your mail, provide the following information: new language name, your full name, your svn.opensuse.org account name, your contact mail address.
  3. Wait for approval of the new language project and the creation of your subversion (SVN) access.
  4. Add your language to the table of localization teams. Also fill out the fields about the language coordinator (the coordinator is a person with Subversion access) and the location of your project pages, see Language Project Page.
  5. Start with localization. If you are not familiar with the open source localization process and PO files; read Starting Work before you begin.

Joining an Existing Team

If a language team exists for your language, contact coordinator of the team.

Starting Work

All files to be translated are stored on github. Weblate will commit all there. Committing is allowed as agreed by the team policy.

You should change only files of your language team.

Translation with Weblate

You can get a good overview about all translation projects, their status and translation files with Weblate. Use your general openSUSE account there. You choose one project and the special version. The last Leap version is for Leap. The master branch will be used for Tumbleweed. After that you can select your language. Right you can see the project information with a download button. You can get the special PO file there. After translating all on your local pc and saving it you can upload the file there via uploading again. You will be asked after overwriting the old file. Say "Yes".

You can translate in the web interface, too. Choose "Not translated string" and you can enter your translations in the web interface.

The Most Important Files

If you are at the beginning of localization, you should start with the most important files. These files belong to the most visible applications of the openSUSE distribution, like installation or YaST Control Center. The most important files are:

  • yast/your_language/installation.your_lang_code.po
  • yast/your_language/base.your_lang_code.po
  • and all files started with 'package' in yast/your_lang_code/

Minimal Translation

We have no percentual limits for including localization to distribution.

About PO and POT Files

Original English text in the PO file is not allowed to change. You can change only translation. If you find an error in the original English text, please use Bugzilla to report it. All wrong texts must be fixed in the source code of the application first and then a new POT file will be generated and automatically merged with your files. After it, the changed string will be marked as fuzzy.

If you do not know, what is the PO and POT file, please read article Work with PO Files.

Translation Memory

When comes a new file to localization, the translation memory is used to translate the most common strings. All strings translated with the help of the translation memory are set to the status fuzzy. To disable translation memory, send a request to stop building of the memory files to mailinglist and copy empty file yast2.$LL.po to /yast/50-memory/ and memory.$LL.po to /lcn/50-memory/, where $LL is code of your language.


Information about state of your localization work you find in statistics. If your language is not included, please send mail to the opensuse-translation mailing list.

Statistics are updated once a day. Time of the update is displayed at the bottom of each page. If there is missing translation of some file in your language, the file is displayed as untranslated and linked to the POT file. You can translate the POT file and commit to the SVN as the PO file or wait for initialization of the POT file.

Language Team Pages

If you work in the large team, you should have your own team page in your native language. To create one, use openSUSE wiki in your language and add the link to the table of localization teams. If there is no openSUSE wiki translated into your language, create team page in the English wiki page with name your_language_code Language_name Localization Team.

Translation Tools

Do you use a tool, which is not mentioned? Add it to the list!

  • POEditor - POEditor is a web-based translation tool for gettext po files and other popular localization formats
  • KBabel - KBabel is the part of the package kdesdk3-translate
  • Lokalize - Lokalize is KDE4 successor of KBabel

Handling translation bugs

If you find a translation bug (untranslated string, incorrectly translated string, untranslatable string), please follow Handling translation bugs manual.