Translations

From Official Kodi Wiki
Jump to navigation Jump to search
Home icon grey.png   ▶ Development
▶ Language portal
▶ Add-on development
▶ Translations

History

In the development cycle from Eden (V11) to Frodo (V12) the translation system has been revised.
The former strings.xml file has been superseeded by the appropriate GNU gettext strings.po files.

In 2021 Kodi switched translation platform to Weblate.

Weblate

The whole translation system has been moved to Weblate.

Addon developers should read this page for information on how to translate add-ons: Translating your add-on

If you want to help translating Kodi into your native language, first thing you need to do is to sign up at Weblate.
You can create a new account or use an existing Google, Facebook or Github account.
Please visit this forum post to let us know which language you would like to translate.
Once added to a langage team, you can start translating immediately.

Profile

In the top right, you can find your profile settings:

Weblate profile settings

In the Language tab you can select the interface language, the language you can translate to and your secondary languages:

Weblate language settings

In the Notifications tab you can select your watched projects.
Those projects can be selected in the top Projects menu.
We recommend selecting all projects to have easy access to all components.

Weblate watched projects settings


Now you are ready to translate components:

Weblate main screen

Translating Kodi and other components

Note: Please do not download files, modify them and upload again! Always translate components and strings inside Weblate!

Ok, let's get to work!

Search that part of the project that needs updating.
You can see the percentage of the translations, untranslated strings / words / characters:

Components at Weblate

You might note that there is some untranslated strings in "Kodi core/kodi main".
So we click either on the pencil to the left or on the language label to translate it:

Translate buttons highlighted

The next screen will show you all information on the chosen language.

We recommend to take care of most alerts: BBcode markup, mismatched \n, mismatching line breaks, XML markup, starting spaces, trailing spaces, double space, unchanged translations.
Keeping alerts might break the file and ultimately lead to Kodi crashing.
Alerts can be cleared when selecting the string with the alert.

Translate window inside Weblate

If you want to translate the component, "Not translated strings" is where to go.

Clicking any item in the previous image will take you here:

Weblate translate.png

  • SOURCE STRING COMMENT: The developers can create useful comments for the string, e.g. what it exactly does or where it can be found in the GUI.
  • GLOSSARY: View the glossary entries matching your current string. You can also add new glossary entries.
  • NBS: "No-break space" is a character used if you can't translate the source string into your native language. It's useful for languages that don't have certain words. It will not take up any character space and will not use the source string.
  • REVIEW STATE: Reviewers/coordinators can approve strings or mark them for editing.
  • AUTOMATIC SUGGESTIONS: Matching strings and translations from other components will be listed here. This is great for keeping consistency. We recommend keeping this tab open when translating.


Colors explaining Weblate translate window

Other languages tab is great for looking at the current string translated into other languages. Works well for closely related languages.

Other languages tab at Weblate

Comments tab: Here you can make comments on the current string for other translators, reviewers and developers to read.
You can also make source string comments or suggestions for changes to the string.

Comments for strings

Useful hints

This part shows some additional information for developers and translators to make things more easy. So it's worth taking a look.


Details & Comments

The developers can set special marks in the strings.po file to give a useful comment on that string. e.g. what it exactly does or where it can be found in the GUI.

Comments in a string


In the source file it looks like this:

#. play GUI sounds
#: xbmc/settings/GUISettings.cpp
msgctxt "#34122"
msgid "Always"
msgstr ""


With #. we can add a helper comment or context to help translators understand the meaning or usage of string.

with #: we can specify where the string is used. Sometimes this could also be a useful info.

Contact and support

If you have problems with Weblate your first person to contact should be the coordinator of your language!

If you have more general questions you might head over to the forums and post your question in the translations section.
Gade and others can help you there.

Or you can join the official channel at Slack for all language and translation related discussions.

Sync time schedule

For Kodi language add-ons, new versions are released every time a Weblate pull request is merged.
It depends how many translations are done for a specific language, but usually new versions are released once a month.

Return to top