Translation and Review Guidelines: Difference between revisions

From Localization Lab Wiki
Jump to navigation Jump to search
(→‎Focus on consistency.: Added Search Strings)
No edit summary
 
(22 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__TOC__
__TOC__


'''Please review the tips and guidelines below prior to localizing projects. The following information will help you navigate the Transifex interface and more effectively and accurately translate and review projects.'''
'''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.'''


{|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 Machine Translate===
===Translation and Review Workflow Policy===
:Machine translation tools like Google Translate and Microsoft Translator Hub are useful resources, however they should never be used as the foundation of your translation, particularly long-form text which is less and less likely to be accurate the longer it is.
: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.
|}
 
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"
|
===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.


:Keep in mind that even if you heavily post-edit machine translations, the grammar, style, tone and terminology used in the machine translation can still greatly affect your translation.
: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.
|}
|}


{|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!===
===Communicate===
:'''''Leave '''[https://docs.transifex.com/translation/tools-in-the-editor#comments Comments]''' for other translators'''''
:'''''Leave '''[https://docs.weblate.org/en/latest/user/translating.html#comments Comments]''' for other translators'''''
::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.
::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.
::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.
:'''''Leave '''[https://docs.transifex.com/translation/tools-in-the-editor#issues Issues]''' for project maintainers'''''
:'''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.
::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.
 
::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;"  
|
|
===Read the ''Developer Notes'' and ''Translation Instructions'' in Transifex.===
===Read the ''Developer Notes'' and ''Context''===
: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.
: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.
 
[[File:Developer notes.png|500px|center|Example of ''Developer Notes''.]]
<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;"  
|
|
===Do not translate or transliterate application or project names.===
===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.
: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.
: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'')
::'''Example:''' تويتر (''Transliteration of Twitter in Arabic'')
|}


{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"
|
===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.
|}
|}


{|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.===
===Watch Out for Placeholders, HTML, and Markup===
:Transifex has several features to help you manage consistency across translations:
:'''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.
:* 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.
:'''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.
:* The '''[https://docs.transifex.com/projects/search-strings Search Strings]''' feature in Transifex allows you to search words and phrases across all Localization Lab projects using more filters than are available in the simple Concordance Search. You can filter matches by project, resource, target language, source language, tag, date etc.
:'''New lines:''' Ensure your translation has the exact same number of new lines (\n) as the English source text.
:* 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.
|}
:* The '''[https://docs.transifex.com/translation/using-translation-memory-and-concordance-search#understanding-translation-memory-suggestions Suggestions tab]''' in the web editor lets you view translations from the Localization Lab Translation Memory from 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 can help you maintain consistency across projects.
:* 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-terms add the translation to the glossary].
:::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.]]<br>
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"
[[File:Reference_to_another_string_2.png|500px|center|Original "Create Account" string.]]<br>
|
===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;"  
|
|
===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.
|}


===Watch out for placeholders, HTML and Unicode character entities, and markup language.===
{|class="wikitable" style="margin-right: auto; margin-left: 0px; width: Auto; background-color:#ffcccc;"
====Placeholders and variables====
|
::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><br>
===Reference Other Languages===
::Hover your mouse over the variable in the English source text to see what the placeholder is replacing.
: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.
[[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.
[[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.
::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:Status Variable Check.png|300px|center|Status and Author Variables in Check]]<br>[[File:Author_Title_Variables.png|300px|center|Author and Title Variables in Check]]<br>
[[File:Context for Check Variables.png|300px|center|Context for Check Variables]]<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.<br>
 
====HTML and Unicode character entities & mark down language====
::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.<br>
::You can look up HTML entities on the [https://www.w3schools.com/charsets/ref_html_entities_4.asp W3 website].
 
::'''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]]<br>
[[File:HTML character entity 1.png|500px|center|HTML variable in Transifex]]<br>
 
====New lines====
::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===
===Always Keep the End User in Mind===
: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.
: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.
 
::''The translation in the example below is '''incorrect''' because this string should be an exact copy of the English source text.''
 
[[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;"  
|
|
===Punctuation, capitalization, double spaces and typos matter!===
===Know the Style Guide===
The small details make a big difference in the end product. Individuals are less likely to trust a tool whose interface is messy or has inconsistent punctuation and capitalization, even if the translation itself is correct.  
:Check to see if there is a style guide for [https://wiki.localizationlab.org/index.php/Language_Resources your language] on this wiki.


:'''While you are translating and reviewing, make sure that you:'''
: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 correct and consistent punctuation;
:*Do not add double spaces unless they are present in the original source content;
:*Use correct and consistent capitalization. If there are individual terms that are capitalized in the English source, there are most likely capitalized for a reason. Double check to see if you should also capitalize in the translation; and
:*Add the correct number of brackets, parentheses and curly brackets in your translation.  
|}
|}

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.