Thank you for interest in translating using Weblate. Projects can either be set up for direct translation, or by way of accepting suggestions made by users without accounts.
Overall, there are two modes of translation:
- The project accepts direct translations
- The project only accepts suggestions, which are automatically validated once a defined number of votes is reached
Please see workflows
for more info on translation workflow.
Options for translation project visibility:
- Publicly visible
- Visible only to a certain group of translators
access-control
, workflows
Translation projects hold related components; resources for the same software, book, or project.
Having navigated to a component, a set of links lead to its actual translation. The translation is further divided into individual checks, like Untranslated strings
or Unfinished strings
. If the whole project is translated, without error, All strings
is still available. Alternatively you can use the search field to find a specific string or term.
Note
Actual permissions might vary depending on your Weblate configuration.
Anonymous users can only (by default) forward suggestions. Doing so is still available to signed-in users, in cases where uncertainty about the translation arises, prompting other translators to review it.
The suggestions are scanned on a daily basis to remove duplicates and suggestions matching the current translation.
Three types of comments can be posted: for translations, source strings, or to report source string bugs when this functionality is turned on using project-source_review
. Choose the one suitable to topic you want to discuss. Source string comments are in any event good for providing feedback on the original string, for example that it should be rephrased or to ask questions about it.
You can use Markdown syntax in all comments and mention other users using @mention
.
report-source
, source-reviews
, project-source_review
Variants are used to group different length variants of the string. The frontend of your project can then use different strings depending on the screen or window size.
variants
, glossary-variants
Labels are used to categorize strings within a project to further customize the localization workflow (for example to define categories of strings).
Following labels are used by Weblate:
- Automatically translated
String was translated using
auto-translation
.- Source needs review
String was marked for review using
source-reviews
.
labels
On the translation page, the source string and an editing area for its translation are shown. Should the translation be plural, multiple source strings and editing areas are shown, each described and labeled in the amount of plural forms the translated language has.
All special whitespace characters are underlined in red and indicated with grey symbols. More than one subsequent space is also underlined in red to alert the translator to a potential formatting issue.
Various bits of extra info can be shown on this page, most of which coming from the project source code (like context, comments or where the message is being used). Translation fields for any secondary languages translators select in the preferences will be shown (see secondary-languages
) above the source string.
Below the translation, translators will find suggestion made by others, to be accepted (✓), accepted with changes (✏️), or deleted (🗑).
Words changing form to account of their numeric designation are called plurals. Each language has its own definition of plurals. English, for example, supports one. In the singular definition of for example "car", implicitly one car is referenced, in the plural definition, "cars" two or more cars are referenced (or the concept of cars as a noun). Languages like for example Czech or Arabic have more plurals and also their rules for plurals are different.
Weblate has full support for each of these forms, in each respective language (by translating every plural separately). The number of fields and how it is in turn used in the translated application or project depends on the configured plural formula. Weblate shows the basic info, and the Language Plural Rules by the Unicode Consortium is a more detailed description.
plural-formula
4.13
Note
This is currently only supported with multivalue-csv
.
With some formats, it is possible to have more translations for a single string. You can add more alternative translations using the Tools
menu. Any blank alternative translations will be automatically removed upon saving.
2.18
The keyboard shortcuts have been revamped in 2.18 to less likely collide with browser or system defaults.
The following keyboard shortcuts can be utilized during translation:
Keyboard shortcut | Description |
---|---|
Alt+Home |
Navigate to first translation in current search. |
Alt+End |
Navigate to last translation in current search. |
|
Navigate to previous translation in current search. |
|
Navigate to next translation in current search. |
|
Submit current form; this is same as pressing Save and continue while editing translation. |
|
Unmark translation as needing edit and submit it. |
|
Submit the string as a suggestion; this is same as pressing Suggest while editing translation. |
|
Focus translation editor. |
|
Focus comment editor. |
|
Shows Automatic suggestions tab, see machine-translation . |
|
Copies placeable of given number from source string. |
|
Copy the machine translation of given number to current translation. |
|
Ignore one item in the list of failing checks. |
|
Shows the Nearby strings tab. |
|
Focus search field. |
|
Copy source string. |
|
Toggle the Needs editing checkbox. |
A small visual keyboard row is shown just above the translation field. This can be useful to keep local punctuation in mind (as the row is local to each language), or have characters otherwise hard to type handy.
The shown symbols factor into three categories:
- User configured
profile-specialchars
defined in theuser-profile
- Per-language characters provided by Weblate (e.g. quotes or RTL specific characters)
- Characters configured using
SPECIAL_CHARS
This contextual description provides related info about the current string.
- String attributes
Things like message ID, context (
msgctxt
) or location in source code.- Screenshots
Screenshots can be uploaded to Weblate to better inform translators of where and how the string is used, see
screenshots
.- Nearby strings
Displays neighbouring messages from the translation file. These are usually also used in a similar context and prove useful in keeping the translation consistent.
- Other occurrences
In case a message appears in multiple places (e.g. multiple components), this tab shows all of them if they are found to be inconsistent (see
check-inconsistent
). You can choose which one to use.- Translation memory
Look at similar strings translated in past, see
memory
.- Glossary
Displays terms from the project glossary used in the current message.
- Recent changes
List of people whom have changed this message recently using Weblate.
- Project
Project info like instructions for translators, or a directory or link to the string in the version control system repository the project uses.
If you want direct links, the translation format has to support it.
Every change is by default (unless turned off in component settings) saved in the database, and can be reverted. Optionally one can still also revert anything in the underlying version control system.
Weblate can limit the length of a translation in several ways to ensure the translated string is not too long:
- The default limitation for translation is ten times longer than the source string. This can be turned off by
LIMIT_TRANSLATION_LENGTH_BY_SOURCE_LENGTH
. In case you are hitting this, it might be also caused by a monolingual translation erroneously set up as bilingual one, making Weblate mistaking the translation key for the actual source string. Seebimono
for more info. - Maximal length in characters defined by translation file or flag, see
check-max-length
. - Maximal rendered size in pixels defined by flags, see
check-max-size
.
Based on configuration and your translated language, Weblate provides suggestions from several machine translation tools and translation-memory
. All machine translations are available in a single tab of each translation page.
You can find the list of supported tools in machine-translation-setup
.
You can use automatic translation to bootstrap translation based on external sources. This tool is called Automatic translation
accessible in the Tools
menu, once you have selected a component and a language:
Two modes of operation are possible:
- Using other Weblate components as a source for translations.
- Using selected machine translation services with translations above a certain quality threshold.
You can also choose which strings are to be auto-translated.
Warning
Be mindful that this will overwrite existing translations if employed with wide filters such as All strings
.
Useful in several situations like consolidating translation between different components (for example the application and its website) or when bootstrapping a translation for a new component using existing translations (translation memory).
The automatically translated strings are labelled Automatically
translated
.
translation-consistency
To avoid abuse of the interface, rate limiting is applied to several operations like searching, sending contact forms or translating. If affected by it, you are blocked for a certain period until you can perform the operation again.
Default limits and fine-tuning is described in the administrative manual, see rate-limit
.
Change terminology effectively or perform bulk fixing of the strings using Search and replace
in the Tools
menu.
Hint
Don’t worry about messing up the strings. This is a two-step process showing a preview of edited strings before the actual change is confirmed.
Bulk editing allows performing one operation on number of strings. You define strings by searching for them and set up something to be done for matching ones. The following operations are supported:
- Changing string state (for example to approve all unreviewed strings).
- Adjust translation flags (see
custom-checks
) - Adjust string labels (see
labels
)
Hint
This tool is called Bulk edit
accessible in the Tools
menu of each project, component or translation.
Bulk edit add-on <addon-weblate.flags.bulk>
To compare different languages efficiently you can use the matrix view. It is available on every component page under the Tools
menu. First select all languages you want to compare and confirm your selection, after that you can click on any translation to open and edit it quickly.
The matrix view is also a very good starting point to find missing translations in different languages and quickly add them from one view.
The Zen editor can be enabled by clicking the Zen
button on the top right while translating a component. It simplifies the layout and removes additional UI elements such as Nearby strings
or the Glossary
.
You can select the Zen editor as your default editor using the profile-preferences
tab on your user-profile
. Here you can also choose between having translations listed Top to bottom
or Side by side
depending on your personal preference.