BambooForge Labs

AI Translation All in One with Translation Memory

Every approved translation is remembered: exact and near matches are answered from memory before a token is spent, with TMX in and out.

Buy on the Odoo Apps StoreOpen the live demoWebsite€178Community & Enterprise

Available for Odoo 16.0, Odoo 17.0, Odoo 18.0, Odoo 19.0, Odoo 20.0. Technical name bambooforge_translation_memory.

Odoo 16.0Odoo 17.0Odoo 18.0Odoo 19.0Odoo 20.0
Screens and walkthrough for
Transcript of the walkthrough (Odoo 20)

AI Translation All in One with Translation Memory. Every approved translation is remembered: exact and near matches are answered from memory before a token is spent, with TMX in and out. An add-on for BambooForge AI Translate (17.0). Every approved translation is remembered; exact and near matches are answered from memory before the engine is asked; TMX in and out; a counter of what was saved.

Nothing to do. When a batch applies an item - after review, or straight away on an auto-approved batch - the pair source → value is written to AI Translate ▸ Translation Memory for that language pair, with where it came from (model, field, batch) and when. A later approval of the same source replaces the earlier one: the reviewer's newest decision is the memory. An item that was itself answered from memory and applied unchanged writes nothing new.

In the next few minutes: ai translation all in one with translation memory, then how the memory fills, then how a batch uses it, then tmx, then technical notes. Then what this app deliberately does not do, so you can tell before you buy whether it fits. Everything lives under Translation Memory then Import TMX. 1.

Copy bambooforge_translation_memory into your addons path and update the app list, or install the ZIP from the Odoo Apps Store. 2. Install AI Translation Suite: Translation Memory & TMX. 3.

Open Translation Memory - its menus are Import TMX. AI Translation All in One with Translation Memory. An add-on for BambooForge AI Translate (17.0). Every approved translation is remembered; exact and near matches are answered from memory before the engine is asked; TMX in and out; a counter of what was saved.

How the memory fills. Nothing to do. When a batch applies an item - after review, or straight away on an auto-approved batch - the pair source → value is written to AI Translate ▸ Translation Memory for that language pair, with where it came from (model, field, batch) and when. A later approval of the same source replaces the earlier one: the reviewer's newest decision is the memory.

An item that was itself answered from memory and applied unchanged writes nothing new. Pairs where the translation equals the source (OK → OK) are not stored: they would never help. How a batch uses it. On the batch, Use translation memory (default on) and Near-match threshold (%) (default 90).

When the batch is translated, before anything is sent to the engine and after the glossary: an item whose source is already in memory for this language pair (compared ignoring case and extra spaces) is proposed from memory, note memory, Match % = 100, and is not sent; otherwise the most similar remembered source is looked for; if it is at least threshold % similar (difflib ratio) the remembered translation is proposed with note memory, 96 % match - check and Match % in orange - the reviewer fixes three characters instead of reading a fresh sentence; everything else goes to the engine as before. The batch shows Answered from memory and Characters not sent. Set the threshold to 100 for exact matches only; the glossary always wins over the memory. TMX.

AI Translate ▸ Import TMX: pick the file and the language pair; every <tu> carrying both languages (by Odoo code de_DE or ISO de) is remembered with origin TMX import; duplicates update the existing entry. Translation Memory ▸ select rows ▸ Action ▸ Export TMX (or no selection = everything) downloads TMX 1.4 with xml:lang per segment. Technical notes Uses AI Translate 1.1.0's bf.translate.job._local_proposals(items, glossary) and bf.translate.item._after_applied() hooks; the engine code is untouched. Exact lookup is an indexed equality on a normalised key; near-match is Python difflib over the pair's pool with a length pre-filter - fine for tens of thousands of entries, not a search engine.

Entries are per company; the unique key is (normalised source, from, to, company). Community only. No Enterprise module, no external service. How we make sure it works.

Before every release, 20 automated checks run against this app on Odoo 16, 17, 18, 19 and 20. Among them: A memory hit applied unchanged does not duplicate. An archived entry is not used. Rejected and failed items teach nothing.

Identity pairs are not stored. The wrong language pair is never used. The complete list is in the source you receive. Questions people ask.

Which Odoo versions does it run on? Odoo 16.0, 17.0, 18.0, 19.0, 20.0, on the series you buy it for; each series is its own listing. Community or Enterprise? Both.

It needs no Enterprise app. The complete manual is at docs dot bambooforge dot dev, the demo database is linked from the store page, and support answers within twenty-four hours. Links are in the description.

Batch - bambooforge_translation_memory
Batch
Fuzzy - bambooforge_translation_memory
Fuzzy
Memory - bambooforge_translation_memory
Memory

Key facts

What it is
Every approved translation is remembered: exact and near matches are answered from memory before a token is spent, with TMX in and out.
For
Website
Odoo versions
16.0, 17.0, 18.0, 19.0, 20.0 - Community and Enterprise
Runs on
Odoo.sh or Odoo you host yourself - not Odoo Online, which accepts no third-party apps
Price
178 EUR, one-time, on the Odoo Apps Store
Technical name
bambooforge_translation_memory
Manual
https://docs.bambooforge.dev/bambooforge_translation_memory/
Live demo
https://demo20.bambooforge.dev/odoo/action-bambooforge_translation_memory.action_bf_translate_memory
Store page
https://apps.odoo.com/apps/modules/20.0/bambooforge_translation_memory
Manual last updated
2026-10-15

AI Translation All in One with Translation Memory

An add-on for BambooForge AI Translate (17.0). Every approved translation is remembered; exact and near matches are answered from memory before the engine is asked; TMX in and out; a counter of what was saved.

How the memory fills

Nothing to do. When a batch applies an item - after review, or straight away on an auto-approved batch - the pair source → value is written to AI Translate ▸ Translation Memory for that language pair, with where it came from (model, field, batch) and when. A later approval of the same source replaces the earlier one: the reviewer's newest decision is the memory. An item that was itself answered from memory and applied unchanged writes nothing new.

Pairs where the translation equals the source (OK → OK) are not stored: they would never help.

How a batch uses it

On the batch, Use translation memory (default on) and Near-match threshold (%) (default 90). When the batch is translated, before anything is sent to the engine and after the glossary:

  • an item whose source is already in memory for this language pair (compared ignoring case and extra spaces) is proposed from memory, note memory, Match % = 100, and is not sent;

  • otherwise the most similar remembered source is looked for; if it is at least threshold % similar (difflib ratio) the remembered translation is proposed with note memory, 96 % match - check and Match % in orange - the reviewer fixes three characters instead of reading a fresh sentence;

  • everything else goes to the engine as before.

The batch shows Answered from memory and Characters not sent. Set the threshold to 100 for exact matches only; the glossary always wins over the memory.

TMX

AI Translate ▸ Import TMX: pick the file and the language pair; every <tu> carrying both languages (by Odoo code de_DE or ISO de) is remembered with origin TMX import; duplicates update the existing entry. Translation Memory ▸ select rows ▸ Action ▸ Export TMX (or no selection = everything) downloads TMX 1.4 with xml:lang per segment.

Technical notes

  • Uses AI Translate 1.1.0's bf.translate.job._local_proposals(items, glossary) and bf.translate.item._after_applied() hooks; the engine code is untouched.

  • Exact lookup is an indexed equality on a normalised key; near-match is Python difflib over the pair's pool with a length pre-filter - fine for tens of thousands of entries, not a search engine.

  • Entries are per company; the unique key is (normalised source, from, to, company).

  • Community only. No Enterprise module, no external service.

How we make sure it works

Before every release, 20 automated checks run against this app on Odoo 16, 17, 18, 19 and 20. Among them:

  • A memory hit applied unchanged does not duplicate.

  • An archived entry is not used.

  • Rejected and failed items teach nothing.

  • Identity pairs are not stored.

  • The wrong language pair is never used.

The complete list is in the source you receive.

Install

  1. Copy bambooforge_translation_memory into your addons path and update the app list, or install the ZIP from the Odoo Apps Store.

  2. Install AI Translation Suite: Translation Memory & TMX.

  3. Open Translation Memory - its menus are Import TMX.

Questions people ask

Which Odoo versions does it run on?

Odoo 16.0, 17.0, 18.0, 19.0, 20.0, on the series you buy it for; each series is its own listing.

Community or Enterprise?

Both. It needs no Enterprise app.

What does it need?

The standard Web; translate ai (BambooForge) must be installed first app. No extra Python package.

Where does it show up?

Under the Translation Memory menu (Import TMX).

Does anything leave my server?

No. It makes no call outside your Odoo server: no telemetry, no licence check, no third-party service.

What happens if I uninstall it?

Odoo drops the app's own tables and fields; the standard records it worked on (contacts, orders, products) stay as they are.