Translation and Review Guidelines: Difference between revisions

From Localization Lab Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(31 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"
__TOC__
|
'''Read the ''Developer Notes'' and ''Translation Instructions'' in Transifex.'''
:The ''Developer Notes'' and ''Instructions'' are located in the Web Editor in between the source text and the translation text field. Make sure to read and follow any available instructions for the string you are translating.


[[File:Developer notes.png|500px|center|Example of ''Developer Notes''.]]
'''Please review the tips and guidelines below prior to localizing projects. The following information will help you navigate the Weblate interface and more effectively and accurately translate and review projects.'''
<br>
|}


{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
|
|
'''Communicate!'''<br>
===Translation and Review Workflow Policy===
:'''''Leave '''[https://docs.transifex.com/translation/tools-in-the-editor#comments Comments]''' for other translators'''''
:To ensure the highest level of quality and impartiality in our projects, we follow a double-blind workflow.
::Localization in the Localization Lab community is a group effort! If you are simply fixing a typo or grammatical error, feel free to make the changes necessary without leaving a comment. If you are changing key terminology or significantly changing the structure of a translation, leave a comment for the previous translator to briefly explain the change. Be sure the ''mention'' them by including @ followed by their username in your comment.
:This means that no single contributor is permitted to perform both the translation and the review of the same string or content.
::Leaving comments ensures that other contributors understand why you have made changes, can learn from them, and can make sure to apply the changes to future translations.
:The translator's work is independently reviewed by a separate individual to ensure accuracy, consistency, and adherence to project-specific guidelines.  
:'''''Leave '''[https://docs.transifex.com/translation/tools-in-the-editor#issues Issues]''' for project maintainers'''''
:This two-person process is a core component of our quality assurance and is a requirement for all Localization Lab projects.
::If you don't understand what a string means, need more context or there is a typo or fundamental issue with the source text, let the project maintainer know! You can do this by creating an ''Issue''. Developers and project maintainers are notified of issues so that they can be addressed efficiently.
|}
|}


{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
|
|
'''Do not translate or transliterate application or project names.'''<br>
===Machine Translation and AI Assistance===
:Do not translate or transliterate project, company or application names that do not have an official or widely adopted regional variation.
:We follow a "human-first" approach. Do not submit raw, unedited machine translations or AI outputs as final work. We expect human translation first - any AI or machine translation tools must be strictly supplemental, heavily reviewed, and validated by a fluent human speaker before being added to the target-language area, no matter what platform is being used or what project is being localized.
 
:Please note that our Weblate platform does not integrate AI or MT plugins. Any use of these tools occurs entirely off-platform at your own discretion.


:Some projects have widely used and accepted translations or transliterations of their names. If this is the case in your language, feel free to use the localized version.
:If you heavily rely on an external AI assistant to draft a translation, you must leave a comment on the specific string in Weblate (e.g., "Drafted with AI assistance") so reviewers can apply extra scrutiny. Never include tags or notes inside the actual translation text, as this will break the software code.
::'''Example:''' تويتر ''Transliteration of Twitter in Arabic''
<br>
|}
|}


{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
|
|
'''Focus on consistency.'''
===Communicate===
:Transifex has several features to help you manage consistency across translations:
:'''''Leave '''[https://docs.weblate.org/en/latest/user/translating.html#comments Comments]''' for other translators'''''
:* The '''[https://docs.transifex.com/translation/using-translation-memory-and-concordance-search#concordance-search Concordance Search]''' allows you to search for words and phrases across multiple resources within the same project and across different projects within the same organization. You can use it to see how something is translated in different strings and contexts.<br>
::Localization is a group effort. If you fix a minor typo, make the change directly. If you change key terminology or structure, leave a comment explaining the change and tag the previous translator using @username. This ensures others understand your edits and can learn from them.
:* Web Editor '''[https://docs.transifex.com/translation/translating-with-the-web-editor#searching-and-filtering-for-strings Filters]''' allow you to filter and search strings across one or multiple resources in a project. Among many options, you can filter by word or phrase in the source text or in the translation text.<br>
::Leaving comments ensures that other contributors understand why you have made changes, can learn from them, and can make sure to apply the changes to future translations.
:* The Localization Lab '''[https://docs.transifex.com/translation/using-the-glossary Glossary]''' is very robust in English, however not all languages have translations for each term. Use the ''Glossary'' tab to double check translation of a term. If the term is not there, select ''View Glossary'' to [https://docs.transifex.com/setup/glossary/adding-termsadd the translation to the glossary].
:'''Report issues to project maintainers:''' If you need more context or spot a fundamental issue with the source text, let the maintainer know. Use the "Comments" tab in Weblate to start a discussion or report an issue with the source string so developers are notified.
:::Key project terms will have the label "[project name]" in the ''Comments'' field for the term.
:* If a string that you are translating references what appears to be a tab, button, header etc from the software or another project, check to make sure your translation is consistent with the original translation.
:::'''Example:''' If "Create Account" appears in a string in a project, use the [https://docs.transifex.com/translation/translating-with-the-web-editor#searching-and-filtering-for-strings filters] in the Web Editor to see where else "Create Account" appears in the rest of the project resources and make sure the translation is consistent.
[[File:Reference_to_another_string_1.png|500px|center|Reference to "Create Account" in a string.]]
 
[[File:Reference_to_another_string_2.png|500px|center|Original "Create Account" string.]]
<br>
|}
|}


{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
|
|
'''Be aware of placeholders, HTML and Unicode character entities, and mark up language.'''<br>
===Read the ''Developer Notes'' and ''Context''===
:'''''Placeholders and variables'''''<br>
:Developer notes and context are located in the "Source string info" section or "Context" tab in the Weblate editor. Always read and follow these instructions for the string you are translating.
::Many project strings contain '''placeholders''' which may replace [https://www.quackit.com/html/tags/ HTML],  [https://www.quackit.com/xml/tutorial/about_xml.cfm XML] or words and numbers that change within the application's interface. '''It is important to keep these placeholders unchanged in the translation'''. You can move the placeholders depending on where they grammatically make the most sense in your language.
<br>
::Hover your mouse over the variable in the English source text to see what the placeholder is replacing.
<br>
[[File:variable.png|500px|center|Variables in Transifex]]
<br>
::Sometimes a variable will not be recognized by Transifex and will be editable in the web editor. If you see an element within curly brackets, you can assume that in most cases you should '''not translate''' anything inside the brackets. Double check the ''Developer Notes'' to see if there are any special notes about how to treat the content in brackets. If you are still unsure, create an "Issue" for the string so that a project maintainer can clarify.
<br>
[[File:Curly bracket variable.png|500px|center|Curly bracket variables in Transifex]]
<br>
::Placeholders will often provide hints as to what they replace in the app's user interface. If you cannot determine what the placeholder will replace in the app and as a result, don't know how to translate the surrounding content, '''create an issue''' and ask the project maintainer.
<br>
::Below, the placeholder "{language}" will be replaced by the name of a language.
[[File:Language Variable Check.png|500px|center|Language Variable in Transifex]]
<br>
::Below you can see how the variables "{author}", "{title}" and "{status}" are replaced by different text in the [[Check]] user interface.
[[File:Context for Check Variables.png|250px|left|Context for Check Variables]] [[File:Status Variable Check.png|250px|right|Status and Author Variables in Check]] [[File:Author_Title_Variables.png|250px|right|Author and Title Variables in Check]]
<br><br><br><br><br><br><br><br><br><br><br>
::Review the [https://docs.transifex.com/translation/html-files#in-the-new-editor Transifex documentation] to learn how to manage placeholders in the translation editor.
 
:'''''HTML and Unicode character entities & mark down language'''''<br>
::Sometimes an HTML character entity will not be recognized and replaced by Transifex. In these cases, you can either copy the exact character entity or you can replace it with what it corresponds to.
::'''Examples:''' ''&nbsp;'' is equivalent to a non-breaking space; ''&lt;'' is equivalent to <; ''&gt;'' is equivalent to >.
 
[[File:HTML character entity 2.png|500px|center|HTML variable in Transifex]]
 
[[File:HTML character entity 1.png|500px|center|HTML variable in Transifex]]
 
:'''''New lines'''''<br>
::The little blue arrows in the source text are equivalent to a new line (''/n''). Make sure to input new lines where indicated in the source text. Do so by simply selecting the ''Enter'' or ''Return'' key on your keyboard. The number of new lines in the translation should be the exact same as the number in the English source text.
<br>
|}
|}


{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
|
|
'''Pay attention to the "notranslate" tag'''
===Do Not Translate or Transliterate Application or Project Names===
:Some strings will be assigned the "notranslate" tag and you will find a special message at the bottom of the translation input field. These strings should be copied ''exactly'' using the copy icon in the web editor. If you do not copy these strings exactly, Transifex will give you an error warning.
:Do not translate or transliterate project, company or application names that do not have an official or widely adopted regional variation.


::''The translation in the example below is '''incorrect''' because this string should be an exact copy of the English source text.''
:Some projects have widely used and accepted translations or transliterations of their names. If this is the case in your language, feel free to use the localized version.
 
::'''Example:''' تويتر (''Transliteration of Twitter in Arabic'')
[[File:Notranslate.png|500px|center|Notranslate tag in Transifex]]
<br>
|}
|}


{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
|
|
'''Communicate with other translators and reviewers using [https://docs.transifex.com/translation/tools-in-the-editor#comments comments]''' if there is any confusion about a translation, terminology choices, or what the original source text means. '''Mention the contributor's name (@username) to make sure the relevant people are notified.'''  
===Focus on Consistency===
 
:Ensure translations for recurring terminology and duplicate strings are consistent across a project. Weblate provides features to help manage consistency:
If you do not mention a contributor's username in a comment or issue, they will not be notified.
:'''Search:''' Use the search bar to find words and phrases across components and projects.
:'''Translation Memory:''' The "Translation memory" tab in the editor shows how similar strings were translated previously.
:'''Glossary:''' The "Glossary" tab displays approved translations for key terms. If a term is missing, Reviewers can add it directly to the glossary.
|}
|}
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"
|
'''Create an [https://docs.transifex.com/translation/tools-in-the-editor#issues issue] if there is a fundamental problem with a string''' that impedes translation or needs to be changed. This will notify the developer and Localization Lab staff that there is a problem that needs to be resolved.


There are several priority levels to chose from when creating an issue:
*'''Low:''' Minor and cosmetic changes to a source string.
* '''Normal:''' Typos, questions or changes affecting the meaning of a source string that may hinder translation.
* '''High:''' Significant issues with the localizability or coherence of the source string.
* '''Critical:''' Issues with the source string that might break the software.
|}
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
|
|
'''Pay attention to references to settings and buttons in other operating systems or pieces of software''' (i.e. iOS or Android) and be sure to use the translation used in those apps / operating systems.<br><br>''Example:'' If the string refers to the Android OS "Settings", make sure the translations corresponds with the Android OS translation.<br><br>Similarly, if the app refers to "Settings" or "Send" etc. in its own interface, make sure the translation is the same across the application.
===Watch Out for Placeholders, HTML, and Markup===
:'''Placeholders and variables:''' Strings often contain placeholders (e.g., %s, {user}) replacing dynamic content. Keep these unchanged. You can move them to where they make grammatical sense in your target language. If you are unsure what a placeholder represents, check the context or ask the maintainer.
:'''HTML and Unicode entities:''' Keep HTML entities (e.g., &nbsp;, &lt;) exactly as they appear in the source, or replace them with their corresponding character if appropriate.
:'''New lines:''' Ensure your translation has the exact same number of new lines (\n) as the English source text.
|}
|}


{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
|
|
'''Punctuation, capitalization, double spaces and typos matter!''' These small details make a big difference in the end product. Individuals are less likely to trust a tool with a messy and inconsistent interface, even if the translation itself is correct. While you are translating and reviewing, make sure you pay attention to the little details and remain faithful to the English source (while still using correct grammar and style for your language).
===Pay Attention to Read-Only and Failing Checks===
:Some strings are marked as read-only or flagged to be ignored. Do not force translations on these. Weblate has built-in quality checks that will trigger a ''failing check'' warning if your translation mismatches the source format, variables, or punctuation. Always review and resolve these warnings.
|}
|}
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
|
|
'''Use the [https://docs.transifex.com/translation/using-the-glossary glossary]!''' Reference the glossary (and [https://docs.transifex.com/translation/using-translation-memory-and-concordance-search#concordance-search Concordance Search]) to make sure you are using the correct terms. Input terms into the glossary as often as possible to help maintain consistency and quality of translations.
===Punctuation, Capitalization, Double Spaces, and Typos===
:Small details matter. An inconsistent interface reduces user trust. While translating and reviewing, ensure you:
::Use correct and consistent punctuation.
::Use correct capitalization. Match the English source unless your language rules dictate otherwise.
::Add the correct number of brackets and parentheses.
::Do not add double spaces unless present in the original source. Weblate will flag trailing or multiple spaces as a failing check.
|}
|}
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
|
|
Remember that the '''product name should not be translated or transliterated''' for this project unless you think it is necessary for users to understand, in which case you can follow the unique instructions for each on the [[projects]].
===Reference Other Languages===
:If you are multilingual, you can view current translations in other languages to better understand the context. Use the "Other languages" tab in the Weblate editor. Remember to ultimately defer to the English source text, as other translations may not be fully reviewed.
|}
|}
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
|
|
'''Read the "[https://docs.transifex.com/translation/tools-in-the-editor#string-instruction-and-developer-notes String Instructions]" and "[https://docs.transifex.com/translation/tools-in-the-editor#string-instruction-and-developer-notes Developer Notes]"''' for each string. They contain valuable information about how to translate the string.
===Always Keep the End User in Mind===
:Ask yourself if a non-technical user would understand your translation without help. The goal is to make the text understandable and culturally appropriate, rather than translating literally.
|}
|}
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"  
|
|
'''If a string is tagged as "[https://docs.transifex.com/projects/preventing-resource-edits#locking-strings notranslate]" or "[https://docs.transifex.com/projects/preventing-resource-edits#locking-strings locked]", do not translate the string.''' [https://docs.transifex.com/translation/translating-with-the-web-editor#shortcut-buttons Copy] the exact string from the original source.
===Know the Style Guide===
|}
:Check to see if there is a style guide for [https://wiki.localizationlab.org/index.php/Language_Resources your language] on this wiki.
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"
 
|
:No style guide on the Localization Lab wiki for your language team? Refer to [https://wiki.localizationlab.org/index.php/Language_Resources#Multi-Lingual_Style_Guides style guides for other technical projects].
'''Use the "[https://docs.transifex.com/translation/using-translation-memory-and-concordance-search#concordance-search Concordance Search]" and the [https://docs.transifex.com/translation/translating-with-the-web-editor#searching-and-filtering-for-strings search filters]''' to double check that your translations are consistent in terminology, style and tone.
|}
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"
|
'''Use the ''[https://docs.transifex.com/translation/using-translation-memory-and-concordance-search#understanding-translation-memory-suggestions Suggestions]'' tab in the web editor''' to view translations of other strings and resources in related projects. Translations of strings which are up to 60% the same will appear in this tab. Referencing these suggestions will help you maintain consistency across projects.
|}
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"
|
'''Be aware of [https://docs.transifex.com/translation/html-files variables and placeholders]!''' Make sure you maintain variables in the translated text, but feel free to move them around as necessary in your language's grammar.
|}
|}

Latest revision as of 01:49, 27 February 2026

Please review the tips and guidelines below prior to localizing projects. The following information will help you navigate the Weblate interface and more effectively and accurately translate and review projects.

Translation and Review Workflow Policy

To ensure the highest level of quality and impartiality in our projects, we follow a double-blind workflow.
This means that no single contributor is permitted to perform both the translation and the review of the same string or content.
The translator's work is independently reviewed by a separate individual to ensure accuracy, consistency, and adherence to project-specific guidelines.
This two-person process is a core component of our quality assurance and is a requirement for all Localization Lab projects.

Machine Translation and AI Assistance

We follow a "human-first" approach. Do not submit raw, unedited machine translations or AI outputs as final work. We expect human translation first - any AI or machine translation tools must be strictly supplemental, heavily reviewed, and validated by a fluent human speaker before being added to the target-language area, no matter what platform is being used or what project is being localized.
Please note that our Weblate platform does not integrate AI or MT plugins. Any use of these tools occurs entirely off-platform at your own discretion.
If you heavily rely on an external AI assistant to draft a translation, you must leave a comment on the specific string in Weblate (e.g., "Drafted with AI assistance") so reviewers can apply extra scrutiny. Never include tags or notes inside the actual translation text, as this will break the software code.

Communicate

Leave Comments for other translators
Localization is a group effort. If you fix a minor typo, make the change directly. If you change key terminology or structure, leave a comment explaining the change and tag the previous translator using @username. This ensures others understand your edits and can learn from them.
Leaving comments ensures that other contributors understand why you have made changes, can learn from them, and can make sure to apply the changes to future translations.
Report issues to project maintainers: If you need more context or spot a fundamental issue with the source text, let the maintainer know. Use the "Comments" tab in Weblate to start a discussion or report an issue with the source string so developers are notified.

Read the Developer Notes and Context

Developer notes and context are located in the "Source string info" section or "Context" tab in the Weblate editor. Always read and follow these instructions for the string you are translating.

Do Not Translate or Transliterate Application or Project Names

Do not translate or transliterate project, company or application names that do not have an official or widely adopted regional variation.
Some projects have widely used and accepted translations or transliterations of their names. If this is the case in your language, feel free to use the localized version.
Example: تويتر (Transliteration of Twitter in Arabic)

Focus on Consistency

Ensure translations for recurring terminology and duplicate strings are consistent across a project. Weblate provides features to help manage consistency:
Search: Use the search bar to find words and phrases across components and projects.
Translation Memory: The "Translation memory" tab in the editor shows how similar strings were translated previously.
Glossary: The "Glossary" tab displays approved translations for key terms. If a term is missing, Reviewers can add it directly to the glossary.

Watch Out for Placeholders, HTML, and Markup

Placeholders and variables: Strings often contain placeholders (e.g., %s, {user}) replacing dynamic content. Keep these unchanged. You can move them to where they make grammatical sense in your target language. If you are unsure what a placeholder represents, check the context or ask the maintainer.
HTML and Unicode entities: Keep HTML entities (e.g.,  , <) exactly as they appear in the source, or replace them with their corresponding character if appropriate.
New lines: Ensure your translation has the exact same number of new lines (\n) as the English source text.

Pay Attention to Read-Only and Failing Checks

Some strings are marked as read-only or flagged to be ignored. Do not force translations on these. Weblate has built-in quality checks that will trigger a failing check warning if your translation mismatches the source format, variables, or punctuation. Always review and resolve these warnings.

Punctuation, Capitalization, Double Spaces, and Typos

Small details matter. An inconsistent interface reduces user trust. While translating and reviewing, ensure you:
Use correct and consistent punctuation.
Use correct capitalization. Match the English source unless your language rules dictate otherwise.
Add the correct number of brackets and parentheses.
Do not add double spaces unless present in the original source. Weblate will flag trailing or multiple spaces as a failing check.

Reference Other Languages

If you are multilingual, you can view current translations in other languages to better understand the context. Use the "Other languages" tab in the Weblate editor. Remember to ultimately defer to the English source text, as other translations may not be fully reviewed.

Always Keep the End User in Mind

Ask yourself if a non-technical user would understand your translation without help. The goal is to make the text understandable and culturally appropriate, rather than translating literally.

Know the Style Guide

Check to see if there is a style guide for your language on this wiki.
No style guide on the Localization Lab wiki for your language team? Refer to style guides for other technical projects.