Translation Memory
Translation memory (TM) is a store of (source, target) pairs that Comvi queries every time a translator opens a key. If the source text has been translated before — in this project or anywhere in your organization — the previous translation is offered as a suggestion.
When it helps
Section titled “When it helps”- Phrases that appear many times (“Save changes”, “Reset your password”) should not be re-translated from scratch every time.
- Terminology and tone should stay consistent across a product suite — marketing site, web app, mobile app should all say “Sign in”, not “Log in” / “Login” / “Sign in”.
- Translators spend less time on boilerplate and more time on the 10% that actually needs judgment.
If your project has under a few hundred keys with little repetition, TM is still collecting data for you in the background, but you won’t feel it much yet.
How matching works
Section titled “How matching works”For every (source text, target language) pair, Comvi looks up TM entries in this order:
| Match type | What it means | How it is found |
|---|---|---|
| Perfect | Same source text, same translation key context | Hashed lookup; highest confidence |
| Exact | Same source text, different key | Hashed lookup |
| Fuzzy | Similar but not identical source text | Similarity score 0–100 based on shared substrings |
Perfect and exact matches are precise lookups. Fuzzy matches rank by how much the source text overlaps with the stored entry — “Reset your password” and “Reset your pass code” will score high; unrelated sentences won’t.
The fuzzy score is an integer out of 100. You configure a minimum similarity threshold (default 50) below which fuzzy results are discarded.
Organization-wide sharing
Section titled “Organization-wide sharing”TMs belong to your organization, not to a single project. A translation of “Sign in” done in the marketing project can surface as a match in the web app project — if the two projects share a TM.
The model has a few knobs:
- Default project TM — every project gets one on creation. It is writable; new translations from that project accumulate here.
- Shared TMs — create one at the organization level and assign it to multiple projects. Use this for cross-product terminology.
- Priority — when a project has multiple TMs assigned, lower priority number wins first.
- Penalty — a per-assignment percentage that reduces the match score of suggestions coming from that TM. Useful when a TM is relevant but less trusted (e.g. imported from a legacy system): matches from it rank below first-party matches.
Assigning TMs to a project
Section titled “Assigning TMs to a project”-
Open TM settings
Go to Project Settings → Translation Memory.
-
Review the default TM
The project’s own TM is pre-assigned and writable — this is where new translations land.
-
Add shared TMs
Click Add Translation Memory and pick one from the organization. Set its priority and optional penalty.
-
Save
Editor suggestions now combine matches from all assigned TMs, ranked by score minus penalty, tie-broken by priority.
Working with suggestions in the editor
Section titled “Working with suggestions in the editor”When a translator opens a key, TM matches appear next to the value being edited, each showing:
- Matched source text
- Suggested translation
- Score (and match type)
- Which TM and project it came from
- How many times this pair has been used before
Click Apply to drop the suggestion into the editor. You can edit before saving. Applied suggestions never change status silently — the value lands in the normal lifecycle flow (Not reviewed unless the editor has review permission).
TM settings
Section titled “TM settings”Each TM (not each project) has:
| Setting | Effect |
|---|---|
| Auto-populate | New translations saved in assigned projects are added to this TM. Default on. |
| Only approved | Only values with status Translated are stored. Keeps the TM clean at the cost of slower accumulation. |
| Shared | This TM can be assigned to multiple projects across the organization. |
Import / export (TMX)
Section titled “Import / export (TMX)”Translation memories exchange via the industry-standard TMX format. Go to Organization Settings → Translation Memory, open a TM, then use Import or Export.
On import, Comvi previews source/target locales and unit counts, lets you map locale codes (en-US ↔ en), and pick conflict resolution: skip duplicates, overwrite, or keep highest score.
Limits
Section titled “Limits”- Default fuzzy threshold is 50. Minimum configurable value is also 50 (lower would produce too much noise).
- TMX imports have a per-file unit cap — split very large files by language pair.
Troubleshooting
Section titled “Troubleshooting”I’m not seeing any fuzzy matches
Section titled “I’m not seeing any fuzzy matches”Check that assigned TMs actually contain content for this language pair, and that your minimum similarity isn’t set too high. Very short source strings (fewer than 4 characters) rarely produce useful similarity scores.
TM suggestions are low quality
Section titled “TM suggestions are low quality”The TM is probably accumulating unreviewed content. Set the TM’s Only approved flag so only Translated values get stored going forward, then either wait it out or export, clean, and re-import.
I saved a translation but it’s not in the TM
Section titled “I saved a translation but it’s not in the TM”Check the TM’s auto-populate setting is on, and that the TM assigned to the project is writable. If Only approved is set, the value has to be Translated — not Not reviewed — before it is stored.