This document briefly covers how to translate application using Weblate.
While everybody can browse projects, view translations or suggest them, only registered users are allowed to actually save changes and are credited for every translation made.
You can register following two simple steps:
- Fill out the registration form with your credentials
- Activate registration by following in email you receive
- Possibly adjust your profile to choose which languages you know
User profile contains your preferences, name and email. Name and email are being used in Git commits, so keep this information accurate.
In preferences, you can choose user interface language, languages which you prefer to translate (list of these will be offered to you on main page) and secondary languages, whose translations will be shown to you while translating.
Each project can contain various subprojects. The reason for this structure is that all subprojects in a project are expected to have a lot in common. Whenever translation is made in single subproject, it is automatically propagated to others within same project (this is especially useful when translating more version of same project).
Once you navigate to translation, you will be shown set of links which lead to translation. These are results of various checks, like untranslated or fuzzy strings. Should no other checks fire, there will be still link to all translations. Alternatively you can use search field to find translation you need to fix.
On translate page, you are shown source string and edit area for translating. Should the translation be plural, multiple source strings and edit areas are shown, each described with label for plural form.
Any special whitespace chars are underlined in red and indicated with grey symbols. Also more than one space is underlined in red to allow translator to keep formatting.
There are various extra information which can be shown on this page. Most of them are coming from the project source code (like context, comments or where the message is being used). When you configure secondary languages in your preferences, translation to these languages will be shown.
Bellow translation can be also shown suggestions from other users, which you can accept or delete.
Translation context part allows you to see related information about current string.
- Nearby messages
- Displays messages which are located nearby in translation file. These usually are also used in similar context and you might want to check them to keep translation consistent.
- Similar messages
- Messages which are similar to currently one, which again can help you to stay consistent within translation.
- All locations
- In case message appears in multiple places (eg. multiple subprojects), this tab shows all of them and for inconsistent translations (see :ref:`check-inconsistent`) you can choose which one to use.
- Displays words from project dictionary which are used in current message.
- Recent edits
- List of people who have changed this message recently using Weblate.
- Project information like instructions for translators or information about Git repository.
Each project can have assigned dictionary for any language. This could be used for storing terminology for given project, so that translations are consistent. You can display terms from currently translated string in bottom tabs.
As an anonymous user, you have no other choice than making a suggestion. However if you are logged in you can still decide to make only a suggestion instead of saving translation, for example in case you are unsure about the translation and you want somebody else to review it.
Based on configuration and your language, Weblate provides buttons for following machine translation tools.
Huge translation memory with machine translation.
A free/open-source machine translation platform providing translation to limited set of lanugages.
Machine translation service provided by Microsoft.
Weblate does wide range of consistency checks on translated messages. The following section describes them in more detail. The checks take account also special rules for different languages, so if you think the result is wrong, please report a bug.
The source and translated strings are same at least in one of plural forms. This checks ignores some strings which are quite usually same in all languages.
Source and translated do not both start with a newline.
Source and translated do not both end with a newline.
Source and translated do not both end with a space.
Source and translated do not both end with a full stop. Full stop is also checked in various language variants (Chinese, Japanese, Devanagari or Urdu).
Source and translated do not both end with a colon or colon is not correctly spaced. This includes spacing rules for French or Breton. Colon is also checked in various language variants (Chinese or Japanese).
Source and translated do not both end with question mark or it is not correctly spaced. This includes spacing rules for French or Breton. Question mark is also checked in various language variants (Armenian, Arabic, Chinese, Korean, Japanese, Ethiopic, Vai or Coptic).
Source and translated do not both end with exclamation mark or it is not correctly spaced. This includes spacing rules for French or Breton. Exclamation mark is also check in various langauge variants (Chinese, Japanese, Korean, Armenian, Limbu, Myanmar or Nko).
Python format string does not match source.
PHP format string does not match source.
C format string does not match source.
Some plural forms are not translated. Check plural form definition to see for which counts each plural form is being used.
More different translations of one string in a project. This can also lead to inconsistencies in displayed checks. You can find other translations of this string on :guilabel:`All locations` tab.
Invalid text direction
Text direction can be either