How To Use Weblate

Fedora Localization Team Last review: 2023-08-27

This page describes in basic (ie. non-exhaustive) manner how to use and translate on the contemporary translation platform used by the Fedora Localization team. The platform is a specific Weblate’s instance, which is located on https://translate.fedoraproject.org.

Introduction to Weblate

Weblate is a web based translation tool with tight version control integration. It features a simple and clean user interface, propagation of translations across components, quality checks and automatic linking to source files.

More information about Weblate (upstream project) can be found on https://weblate.org.

Fedora’s translation platform is an instance of an upstream Weblate project’s software run on translate.fedoraproject.org. The instance is tailored to some specific needs of the Fedora Project. To distinguish the instance from the upstream project further down this document, the notion Weblate means the Fedora’s Weblate instance, whereas Weblate software denotes the upstream project.

Login to Weblate

A user must be logged in to Weblate in order to translate. Weblate access is tightly coupled with Fedora Accounts, as a consequence, it cannot be accessed without a Fedora Account ID (your username). How to create such account please see Create a Fedora Account.

Once you have the ID, you can click the Login to access Weblate and begin your contribution.

Weblate Login Register

Login redirect fas

Weblate User Interface

After you’ve logged in successfully, you can find the project you want to translate by clicking Projects link on top of the page. There is a Watching button on right side of the page of each project. You can simply click that button to add the project to your watching list. When you login again next time, it will appear in your Dashboard/Watched Translations. So you can click the Translate button next to the project to begin your translation without having to navigate the project first.

Add to watchlist

Online Translation

There are two available modes for translators when they translate using the Weblate online editor: Zen mode and Full Editor mode (single string mode). Single string mode contains only one string in the page, but provides very detailed information about the string. On the other hand, in Zen mode, detailed information is hidden, multiple of strings are shown in the page instead, which helps the translator to move to the next string very quickly. Switching between two modes is quite easy, just click Exit Zen or Zen on the top right of the page, it’s located to the left of the preference icon.

  • Zen Mode:

Weblate editor zen mode

  • Single String Mode:

Single string mode

Weblate features an advanced search function, which makes the string filtering easier. The Search button is located at the top left of the editor, below the project navigation. Furthermore, a search can also be done through the project overview page.

Project search

For further information about using Weblate software, please visit the official Weblate Documentation.

Translation hints and tips

Our primary aim for this subchapter is to provide some useful and quick information you may seek, particularly when you have just begun translating for Fedora. It is inspired by questions received from within our community members and preserved in the “question-and-answer” style.

Should you wish to see other question answered here, please let us know.

How to start translating a project in Weblate to my language? Why I can’t find my language on the list?

When you visit a project to translate in Weblate (fig. 1) and enter one of it’s components, you are presented with a list of languages (fig. 2) that doesn’t have to contain all languages set and available for translation in Weblate. The list contains languages only for which a translation of a given project/component was created.

Weblate project components list
Şekil 1. A project with its translation components
Weblate project component languages
Şekil 2. A component with languages listed

Provided you have set a translated language in your profile setings, your language translation can be added, strictly speaking, created by clicking on the + sign next to your language on the list (fig. 3). If such option is not available to you, you can click Start new translation button in the end of the list and subsequently choose your language from the list of all langauges available in Weblate (fig. 4)(fig. 5).

Weblate create translation
Şekil 3. Create translation button for the Czech language
Weblate project start newtrans
Şekil 4. Start new translation page
Weblate project start newtrans langlist
Şekil 5. Dropdown list with all available languages

If you still cannot find your language and you expect 3 letter code, please note Weblate prefers two letter codes. If you are not able to find your language even after that, file a ticket.

I want to translate Fedora Documentation, what docs should I start with?

Try to start with the translation of the Fedora Docs homepage. https://translate.fedoraprroject.org/projects/fedora-docs-l10n-docs/masterpagesindex is the relevant translation project in Weblate.

Go through Quick Docs, our the most used documentation, and see if you can pick an article that suits your particular interest. Quick Docs translation project in Weblate: https://translate.fedoraproject.org/projects/fedora-docs-l10n-quick-docs/.

Last but not least, why not translate the documentation of your Fedora edition?

Should I translate the text I find enclosed in curly brackets in the fedora-websites-3.0 project?

No, it is not translatable and the text should be left unchanged.

The curly brackets in the fedora-website-3.0 translation project are used to distinguish names of (HTML) templates. A template’s content(s) is inserted (interpolated) during the website build process. Related text interpolation facilitates localization since it enables a combination of the content (text) of different HTML elements together, names of the templates in translation strings in turn preserves better the text context for translators. Be assured that you will be able to translate the content of a template (text which substitutes the template) too, but in another translation string.

Let a text of the first numbered indent from the verification modal dialog (see fig. 6 below) which can be opened from a download page of the website serve us as an example:

Download the checksum file and signature into the same directory as the image you downloaded.

Website translation curlybrackets example en
Şekil 6. Example of curly brackets translation - original

This sentence is a combination of an ordinary text and two web links - checksum file and signature. For the purpose of its correct translation, you are supposed to translate three translation strings.

string 1
Download the {checksum_file} and {signature} into the same directory as the image you downloaded.

In this string you translate everything except {checksum_file} and {signature}, which should be retained unchanged (as these 'words' are actually the names of templates). They can be placed anywhere in your translation sentence, even their order of appereance, if appropriate, can be exchanged ({signature} might come first, {checksum_file} second).

string 2 and 3
cheksum file
  signature

How you translate these two strings, they will appear exactly in the sentence after the website is built. The following table shows an example of translation of the three strings to the Czech language:

Tablo 1. Example comparison of string translations
English (original) Czech (translated) String key

string 1

Download the {checksum_file} and {signature} into the same directory as the image you downloaded.

Stáhněte si {checksum_file} a {signature} do stejného adresáře, kam jste stáhli obraz.

download_the_checksum_and_signature

string 2

checksum file

soubor kontrolního součtu

checksum file

string 3

signature

podpis

signature

Keys of both string 2 and 3 - checksum file and signature - correspond with the templates' names.

Strings 2 and 3 substitute the templates {checksum_file} and {signature} in the string 1. So these three strings will be combined together into the resulting sentence. Moreover, the translated version works the same, as can be seen on the below image.

Website translation curlybrackets example cs
Şekil 7. Example of curly brackets translation - translated

If templates and the text interpolation were not used, it would be needed to translate five translation strings to build the sentence:

1. Download the
  2. checksum file
  3. and
  4. signature
  5. into the same directory as the image you downloaded.

Imagine the strings in Weblate were not placed any near each other, then the text context for successful translation would be very limited, if not lost completely.

If you attempted to translate the template names (curly brackets) in string 1 directly, the template substitution and consequently text/translation interpolation on the website would be broken.