This feature is available for Marketing and support as well as Ad hoc documents project types.
When starting with Lokalise, you might already have content translated into various languages, such as blog posts, email templates, or standard HTML files. This content, which fits within the scope of Marketing and support or Ad hoc documents projects, often doesn’t match the original versions exactly. For example, a translated blog post might include extra empty paragraphs or have a slightly different layout.
When you import both the original and translated versions of your content into Lokalise, a sophisticated machine-learning model accurately aligns the base text with its translations. This eliminates the need for manual adjustments, ensuring that even with additional or missing paragraphs in the translated version, all text elements are correctly linked to the original.
Additionally, once you import your source and translated content into Lokalise, the system automatically adds the extracted entries to the translation memory.
Typical use cases
The translation alignment feature is especially valuable in the following scenarios:
Managing multiple language versions of the same content with identical layouts: This ensures that translations align perfectly with the original content, even when the structure is the same across all languages.
Handling language versions with different layouts: For example, one version might replace an unordered list with paragraphs or substitute a table with a block of text. The alignment feature ensures that these structural changes don’t affect the accuracy of the translation mapping.
Addressing missing translations in the target versions: In cases where certain elements, like an unordered list in the base content, are missing from the translated file, the alignment feature still accurately links the remaining content to the original text.
Seeing it in action
To see the translation alignment feature in action, let’s use two simple HTML files that represent onboarding email templates in English and Spanish.
Example files
English | Spanish |
<h1>Welcome onboard!</h1> | <h1>¡La bienvenida a bordo!</h1> |
If you're not familiar with HTML, don't worry. The key takeaway here is that we have a header, a paragraph, and a list of items that we want to upload to Lokalise. The overall content layout appears nearly identical between the two versions, but there are some differences:
The Spanish version contains only two items in the list (
Documentación
andForo
), compared to three in the English version (Documentation
,Blog
, andForum
).The Spanish version has extra empty paragraphs (
<p></p>
), and the HTML structure differs slightly.
Uploading files
Now, let's see what happens when we upload these two files to Lokalise.
Go to the Upload page and add both the English and Spanish files (alternatively, you can upload the English version first, followed by the Spanish file).
Upon uploading, you’ll notice that Lokalise detects 6 keys in the English file but only 5 keys in the Spanish file. This is because empty tags, like <p></p>
, are automatically ignored.
Click Import files to proceed to the Editor.
Translations in the editor
In the Editor, you’ll see that the list items have been properly aligned despite the differences in structure.
The empty tags from the Spanish file have been discarded. However, you’ll notice there’s no translation for the "Blog" item because it was missing from the Spanish template. You can easily add this missing translation to fill any gaps.
Checking results of the translation alignment
After importing your files, the keys might not always align perfectly, especially if the base and target versions differ significantly. To identify and resolve potential issues, we recommend the following steps:
Enable QA checks in your project settings. This allows you to detect and address common alignment problems. Once enabled, use the Filter dropdown to locate keys with QA issues. The most useful QA checks include:
Inconsistent placeholders
Inconsistent HTML
Different numbers
Different URLs
Different emails
Different brackets
Use the Filter dropdown to find all Untranslated keys. It’s often easiest to review one language at a time by deselecting the other languages in the language filter. This helps you identify keys that are missing translations in the target language. Common reasons for missing translations include:
Undetected translations: The corresponding translation wasn’t found in the target file.
Merged paragraphs: The base content might have two separate paragraphs, but the target has only one merged paragraph. For example, this could happen if the base version has two distinct
<p>
tags, but the translator mistakenly merged the content using a line break (<br>
) in the target version. In this case, you’ll need to manually split the target text. To identify this issue, you can search for<br>
or<br><br>
within your content on Lokalise.
Carefully review entries (files) with many untranslated keys. A high number of untranslated keys may indicate that the imported target version is not a true translation but rather a completely different piece of content.
Important notes
Translation memory in existing teams
If your team heavily relies on translation memory and it’s already populated with content, exercise caution when importing large volumes of new content. The translation memory will automatically be updated after the import, and if something goes wrong, your memory could be filled with many invalid entries that are difficult to remove.
To prevent this, when adopting this feature and importing large portions of content to an existing team, it’s advisable to create a separate translation memory storage to use within the new project.
Here’s how to do it:
Open the Team settings.
Go to the Translation memory tab and click Create new TM.
Give your new translation memory a name and click Create TM.
Next, create a new project (either Marketing and support or Ad-hoc documents type). Before importing content, open the project settings.
In the Translation memory target dropdown, select the newly created TM. This ensures that all new entries will be saved to this translation memory.
Click Save changes at the bottom of the page. Now, all content imported into this project will be stored in the new translation memory without affecting your existing entries.
Missing content
If your target content includes elements that aren’t present in the base version, those extra elements will be ignored during the import. Lokalise supports content versions with similar layouts; the number of paragraphs, headers, and other block-level components should be roughly the same.
For example, suppose your English HTML file has only one paragraph, while the Spanish version has two:
English | Spanish |
<p>Welcome!</p> | <p>¡La bienvenida a bordo!</p> |
In this case, the second paragraph in the Spanish version will be ignored because it doesn’t match any text in the base version.
The base layout is used
Lokalise will align content even if the layouts differ slightly between versions, but the exported translations will always follow the layout of the base version.
For instance, if your English HTML file has a list and the Spanish version presents the same items as regular paragraphs:
English | Spanish |
<ul> | <p>Documentación</p> |
The content will align correctly, but when you export the Spanish version, the paragraphs will be converted into an unordered list to match the base version's layout.
In summary, Lokalise enforces a consistent layout across all languages, following the structure provided by the base language.
Transcreated content might not be aligned properly
If your target content includes transcreated texts (i.e., content adapted rather than directly translated), the alignment algorithm may struggle to match the base and target texts because the messaging differs too much.
For example, consider the following English paragraph and its Spanish version:
English | Spanish |
<p>Welcome!</p> | <p>Me alegra darle la bienvenida en este maravilloso día.</p> |
While the Spanish text conveys the original message, it’s not a direct translation and deviates significantly from the base text. In such cases, Lokalise may not be able to align the target text with the base, resulting in the Spanish content being ignored during the import.