Translating using Weblate

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

有关翻译工作流的更多信息,请见 翻译工作流

Options for translation project visibility:

  • Publicly visible and anybody can contribute

  • Visible only to a certain group of translators


Translation projects hold related components; resources for the same software, book, or project.




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 启用来源评论. 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.

你可以在所有评论中使用 Markdown 格式,并用 ``@mention``提及他人。


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.


Labels are used to categorize strings within a project to further customize the localization workflow (for example to define categories of strings).


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 第二语言) 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.




Keyboard shortcuts

在 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:







Alt+PageUp or

Ctrl or

Alt or



Alt+PageDown or

Ctrl+ or

Alt+ or



Alt+Enter or

Ctrl+Enter or



Ctrl+Shift+Enter or



Ctrl+E or


Focus translation editor.

Ctrl+U or


Focus comment editor.

Ctrl+M or


显示 Automatic suggestions 标签,请参见 自动建议

Ctrl+1 to Ctrl+9 or

Cmd+1 to Cmd+9

Copies placeable of given number from source string.

Ctrl+M+1 to 9 or

Cmd+M+1 to 9

Copy the machine translation of given number to current translation.

Ctrl+I+1 to 9 or

Cmd+I+1 to 9


Ctrl+J or


显示 :guilabel: `附近字符串`选项卡。

Ctrl+S or


Focus search field.

Ctrl+O or



Ctrl+Y or


切换 :guilabel:`Needs editing`标志。

Visual keyboard

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 characters defined in the 用户个人资料

  • Per-language characters provided by Weblate (e.g. quotes or RTL specific characters)

  • Characters configured using SPECIAL_CHARS


Translation context

This contextual description provides related info about the current string.

String attributes

Things like message ID, context (msgctxt) or location in source code.


Screenshots can be uploaded to Weblate to better inform translators of where and how the string is used, see 字符串的可见语境.


Displays neighbouring messages from the translation file. These are usually also used in a similar context and prove useful in keeping the translation consistent.


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 不一致的). You can choose which one to use.


Look at similar strings translated in past, see 翻译记忆库.


Displays terms from the project glossary used in the current message.


List of people whom have changed this message recently using Weblate.


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.

Translation history

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.

Translated string length

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. See 双语和单语格式 for more info.

  • Maximal length in characters defined by translation file or flag, see 译文最大长度.

  • Maximal rendered size in pixels defined by flags, see 最大翻译大小.


Based on configuration and your translated language, Weblate provides suggestions from several machine translation tools and 翻译记忆库. All machine translations are available in a single tab of each translation page.


You can find the list of supported tools in 机器翻译.


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.


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).


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 频次限制.


Change terminology effectively or perform bulk fixing of the strings using Search and replace in the Tools menu.


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:


This tool is called Bulk edit accessible in the Tools menu of each project, component or translation.