Leveraging Weblate Translation Memory for Consistent UI Strings
Learn how to turn on Weblate’s Translation Memory, tune its similarity threshold, and reuse approved translations to reduce repetitive work and improve consistency.
25 Dec 2025, 06:54 UTC

The problem: repetitive translation work
When localizing a product with many similar strings—such as button labels, placeholder text, or error messages—translators often type the same phrasing over and over. This not only slows down the workflow but also increases the risk of inconsistencies, especially when multiple contributors work on different components.
Thesis: Weblate’s Translation Memory (TM) can reduce duplicate effort and improve consistency when enabled and tuned per project
Weblate stores every approved translation as a source‑target pair and can surface exact or fuzzy matches while a translator edits a string. By turning on the TM and adjusting its similarity threshold, teams gain a reusable knowledge base that grows with each approved entry.
Enabling Translation Memory in a Weblate project
- Log in as a project administrator or superuser.
- Navigate to
Project → Settings → Translation memory. - Toggle Use translation memory to On.
- Optionally set:
- Minimum similarity – the lowest score (0‑100) at which a suggestion appears. A common starting point is 70.
- Maximum suggestions – how many TM entries to show per string.
- Save the settings.
After saving, Weblate begins to add each newly approved translation to the TM for that project.
Worked example: reusing a button label across components
Suppose you have two components: web-app and mobile-app. Both contain a string "Save changes".
- In the
web-appcomponent, translate "Save changes" to German asÄnderungen speichernand click Approve. - Weblate records this unit in the project’s TM.
- Open the same source string in the
mobile-appcomponent. The editor now shows a TM suggestion: - If Auto‑apply exact matches is enabled, the suggestion is inserted automatically; otherwise, click the suggestion to accept it.
- Approve the translation in
mobile-app. The TM now contains two identical entries, reinforcing the memory for future similar strings.
Änderungen speichern (100% match)
If you later add a slightly different string, e.g., "Save and close", and set the similarity threshold to 80, Weblate may suggest Änderungen speichern with a fuzzy score (e.g., 78) that falls below the threshold and therefore does not appear. Adjusting the threshold to 70 would surface the suggestion, allowing the translator to decide whether to reuse or adapt it.
Trade‑offs and limitations
- Dependence on approved strings: Only translations that have been explicitly approved are added to the TM. Early‑stage projects with many drafts will see limited suggestions until a base of approved units exists.
- Threshold tuning: A low similarity setting can flood the editor with irrelevant matches, while a high setting may miss useful near‑matches. Teams should review TM statistics periodically (available under the same TM settings page) and adjust the value based on observed precision/recall.
- Scope: TM is shared across all components within a project but not across separate Weblate projects unless you export/import the TMX file.
Practical verification steps
- Create a test component, add a new source string (e.g., "Hello world"), translate it, and approve the translation.
- Add a second, similar source string (e.g., "Hello world!") and open it in the editor.
- Confirm that a TM suggestion appears with a similarity percentage (e.g., 92%).
- Export the TM via
Project → Settings → Translation memory → Download TMXand verify the file contains the approved unit. - Import the TMX into a fresh Weblate instance (same steps, but choose Upload TMX) and repeat step 2 to ensure the suggestion resurfaces.
These steps let you confirm that the TM is active, that it stores approved units, and that it can be moved between instances.
Actionable closing
Start by enabling Translation Memory on one of your less‑critical projects, set a moderate similarity threshold (around 70), and monitor the suggestions that appear during translation sessions. Use the export/import feature to back up the TM before major version upgrades, and periodically prune low‑quality entries if you notice irrelevant suggestions. Over time, the TM will become a shared glossary that cuts down repetitive typing and helps keep your UI language consistent across components.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.