Přeložit web do deseti, dvaceti nebo čtyřiceti jazyků je s jedinou AI rychlé. Těžší je otázka, zda lze výsledku důvěřovat. Jednotlivý jazykový model občas vymýšlí slova, překládá názvy produktů nebo změní číslo, a sám si toho nevšimne. Napsali jsme proto pro Odoo 19 modul, v němž několik AI a překladatelských služeb pracuje na stejném textu, anonymně se navzájem hodnotí a shodnou se na formulaci, která zní zároveň přesně i přirozeně. Co není jednoznačné, dostane k rozhodnutí člověk.
Modul se jmenuje ai_translation_consensus a je k dispozici jako svobodný software pod licencí AGPL-3 na GitHubu:
github.com/Alex0176/odoo-ai-translation-consensus
Myšlenka: Křížová kontrola místo důvěry
Modul umí dvě věci:
- Překládat: doplňovat chybějící (nebo zastaralé) překlady každého přeložitelného pole v Odoo, tedy příspěvky blogu, webové stránky, nabídky, produkty a vše ostatní, co Odoo ukládá vícejazyčně. AI přitom nevidí pouze jednotlivou větu, ale sousední bloky a výřez celé stránky. Jednotlivá slova se tak chápou ve správné souvislosti.
- Korektura: zkontrolovat text v jeho vlastním jazyce a navrhnout lepší formulace nebo opravy. Originál je přitom vždy jedním z kandidátů. Pokud vyhraje originál, nic se nemění.
Jádrem je vzájemná kontrola. Každá AI je dobrá v posuzování cizích textů, i když se sama občas mýlí. To modul využívá: Několik poskytovatelů napíše každý jednu verzi a titíž poskytovatelé poté hodnotí všechny verze, aniž by věděli, od koho pocházejí. Vlastní verzi poskytovatel nehodnotí.
Jak vzniká návrh
- Překlad. Každý překladatel paralelně napíše jednu verzi.
- Pevné kontroly. Bez AI se kontroluje, zda zůstaly beze změny značky HTML, entity, zástupné symboly jako
%snebo{}, čísla a odkazy. Verze, která to poruší, nikdy nemůže vyhrát, ať zní sebeplynuleji. - Hodnocení. Ostatní verze se zamíchají a anonymizují. Každý hodnotitel udělí každé známku za přesnost a za přirozenost (1 až 10), uvede favorita a může navrhnout zlepšení.
- Shoda. Pořadí verze je 0,5 × průměrná známka + 5 × podíl hlasů pro favorita. Za shodu se považuje, když nejlepší verze má alespoň 60 % hlasů pro favorita a průměrnou známku alespoň 7,0.
- Druhé kolo. Bez shody jdou nejlepší verze spolu s návrhy hodnotitelů na zlepšení ještě jednou do hodnocení.
- Člověk. Pokud ani poté není výsledek jednoznačný, návrh čeká na rozhodnutí.
Pokud existují pouze čisté překladatelské služby bez kontrolní funkce (například DeepL), považuje se výsledek za dohodnutý pouze tehdy, když alespoň dvě služby dodaly přesně stejný text. Při korektuře musí výsledky zůstat zřetelně podobné originálu (podobnost alespoň 0,6, stejná čísla). Malé bezplatné modely občas odpovídají na dávku posunutými nebo cizími texty. Takové odpovědi se zahazují místo toho, aby se o nich hlasovalo. Glosář uchovává názvy značek a pevné termíny.
Poskytovatelé: s klíčem i bez něj
Bezplatné i placené služby mohou být ve stejném hlasování. Modul obsahuje předvolby pro mnoho poskytovatelů; všechny jsou po instalaci vypnuty.
| Druh | Překládá | Kontroluje / opravuje | Příklady |
|---|---|---|---|
| Rozhraní kompatibilní s OpenAI | ano | ano | OpenAI, Mistral, DeepSeek, xAI, Groq, Together, OpenRouter, Cerebras, Qwen, Moonshot, GitHub Models, Hugging Face, Ollama, LM Studio, vLLM, llama.cpp |
| Kompatibilní s OpenAI bez klíče | ano | ano | Ollama na vlastním serveru, Pollinations |
| Anthropic | ano | ano | Claude |
| Google Gemini, Cohere | ano | ano | |
| Místní příkaz | ano | ano | claude -p nebo jakýkoli program, který čte ze stdin a vypisuje odpověď |
| Překladatelské služby | ano | ne | DeepL, Google Translate, Azure Translator, LibreTranslate, MyMemory, Lingva |
Zadá se klíč (nebo název proměnné prostředí, která jej obsahuje), stiskne se Otestovat připojení a poskytovatel se zapne. Názvy modelů v předvolbách jsou výchozí body; kdo je používá, měl by je porovnat s aktuálním seznamem poskytovatele. Se dvěma nebo více poskytovateli existuje skutečná křížová kontrola, s jediným nikdo jeho práci nekontroluje. Průvodce na to upozorňuje.
Celý web najednou
Úvodní průvodce (nabídka Překlad pomocí AI → Začít zde) vysvětluje kroky a vytvoří první pravidlo. Je-li nainstalován modul website, automaticky se přidá propojovací modul ai_translation_consensus_website. Doplňuje rozsah „Celý web se vším, co na něm je“: Zvolíte web a necháte si navrhnout obsah. Modul prohlédne všechny modely s přeložitelnými poli, které patří k webu (stránky, nabídky, blogy, produkty, akce, fóra, kurzy a další), a navrhne jedno pravidlo pro každý druh obsahu, s jazyky webu jako cílem.
- Co není nainstalováno (fóra, kurzy, galerie), se nezobrazí a bude přidáno později, jakmile to bude nainstalováno.
- Modely e-shopu se navrhují pouze tehdy, pokud web e-shop má. Zachycují se pouze zveřejněné záznamy.
- Kontakty, firmy, poskytovatele plateb, ceníky, způsoby dodání, věrnostní programy a filtry snippetů modul záměrně nenabízí.
- Adresní názvy stránek (
seo_name) se nepřekládají. - Nechtěné druhy lze před vytvořením odstranit.
Vytvoření i vyhledávání nic nestojí: Pravidlo pouze vypisuje, které texty vyžadují práci. Teprve při zpracování se volají poskytovatelé a vznikají náklady.
Dashboard, náklady a automatický start
Dashboard zobrazuje pro každé pravidlo, kolik textů je hotových, čeká na potvrzení nebo na člověka, je zařazeno do fronty nebo selhalo. K tomu přibývá rozpis podle jazyka a poskytovatele, dosavadní a ještě očekávané náklady, odhadovaný zbývající čas a přepínač pro plánované zpracování.
Čísla na tomto obrázku jsou ukázková data a nevypovídají nic o skutečných nákladech.
- Náklady se počítají z toho, co poskytovatelé skutečně hlásí: tokeny (OpenAI, Anthropic, Gemini, Cohere) nebo znaky (DeepL, Google, Azure). Tokeny se zobrazují vždy, peníze pouze tehdy, pokud jste u poskytovatele zadali cenu za milion tokenů (nebo znaků). Předvolby neobsahují žádné ceny, protože se mění. Služby, které tokeny nehlásí, se odhadují z délky textu a označují se jako odhad.
- Prognóza: průměrné náklady a pracovní čas na text krát počet zařazených textů. Jde o odhad, který se s prvními dávkami zpřesňuje.
- Automatický start: Pravidla s volbou Spustit samy, když se záznam změní hledají při každém běhu plánované akce pouze záznamy, které se od posledního hledání změnily. Se zapnutou plánovanou akcí se tedy upravený web znovu přeloží bez zásahu.
- Hlášení o dokončení: Jakmile je vyřízen poslední otevřený text některého pravidla, objeví se v kanálu AI Translation jednorázově zpráva „Všechny jazyky přeloženy“ (u korektury „Všechny texty zkontrolovány“).
Schválení člověkem
Ve výchozím nastavení modul nic nezapisuje do vašich záznamů bez souhlasu. Každý návrh zobrazuje verze, jejich autory, hodnocení a poznámky kontrolorů. Návrh můžete převzít, zvolit jinou verzi, napsat vlastní formulaci nebo jej zamítnout.
Text a názvy poskytovatelů na tomto obrázku jsou volně vymyšlené, aby bylo možné ukázat zobrazení.
Kdo pravidlu důvěřuje, může zapnout Automaticky převzít shodu. Návrhy bez shody čekají na člověka i v takovém případě. Při převzetí modul ještě jednou zkontroluje, zda se mezitím nezměnil zdrojový text, znovu provede kontroly značek a zapisuje bez sledování a bez upozornění odběratelů.
Bezpečnost a ochrana osobních údajů
- Po instalaci je vše vypnuto. Poskytovatelé i plánovaná akce jsou deaktivováni. Bez vašeho přičinění se nic neodesílá.
- Texty opouštějí váš server, jakmile je zapojena hostovaná služba. Pravidlo lze označit jako Důvěrné; pak text uvidí jen poskytovatelé označení jako provozovaní na vlastní infrastruktuře.
- Klíče jsou uloženy v poli, které vidí pouze správci, nebo v proměnné prostředí, na kterou odkazuje jen její název. V chybových hlášeních jsou maskovány a odesílají se v hlavičkách. Výjimka: Volitelný klíč služby MyMemory lze předat pouze jako parametr dotazu.
- Místní příkaz spouští program, a proto je zablokován, dokud není systémový parametr
ai_translation_consensus.allow_commandnastaven naTrue. Příkaz se volá bez shellu a běží v prázdném dočasném adresáři. - Prompt injection: Zadání označují text jako data. Pokyny obsažené v překládaném textu se neplní a výsledek, který porušuje značky nebo zástupné symboly, se zahodí.
- Bezplatné služby mají své limity. Pollinations povoluje anonymně jednu odpověď za 45 sekund. Volba poskytovatele
min_intervaltento odstup dodržuje a odpovědi „Zkuste to prosím později“ se respektují.
Instalace
git clone https://github.com/Alex0176/odoo-ai-translation-consensus.git
ln -s /pfad/odoo-ai-translation-consensus/ai_translation_consensus /pfad/addons/
ln -s /pfad/odoo-ai-translation-consensus/ai_translation_consensus_website /pfad/addons/
odoo-bin -c odoo.conf -d <datenbank> -i ai_translation_consensus --stop-after-init
Vyžaduje se Odoo 19 a balíček Pythonu requests. Součástí je německý překlad. Přemosťovací modul ai_translation_consensus_website se nainstaluje automaticky, pokud je k dispozici website. Po instalaci je nutné službu Odoo restartovat, protože modul obsahuje kód v Pythonu. Kdo provozuje produkční systém, nainstaluje modul nejprve na kopii databáze.
První kroky: Otevřete nabídku AI překlad → Poskytovatelé, otestujte a zapněte služby, poté Začněte zde a vytvořte první pravidlo. Pomocí Vyhledat texty se vytvoří návrhy, pomocí Zpracovat dávku se zavolají poskytovatelé. Začněte s malým pravidlem, například s jediným článkem na blogu a dvěma jazyky, a prohlédněte si výsledek i náklady, než zařadíte celý web.
omezeních
- Kvalita závisí na modelech, které zapnete. Křížová kontrola snižuje chyby jednotlivých modelů, ale nepředstavuje záruku. U právně nebo bezpečnostně kritických textů modul rodilého mluvčího nenahradí.
- Náklady rostou rychle. Jeden text stojí jedno volání na překladatele, jedno kontrolní volání na kontrolora a při rozdělené shodě druhé kolo. Kontext stránky zvětšuje vstup každého volání. Pravidlo se 45 cílovými jazyky násobí počet textů. Omezte běhy pomocí Záznamy na jedno hledání, Nové návrhy na jedno hledání a Návrhy na jeden běh cronu a jako kontrolory přidejte levné nebo místní modely.
- Pouze pole s
translate=True. Formátovaný text se zpracovává po blocích (mechanismus termínů v Odoo). - Ceny a názvy modelů se mění. Předvolby nejsou udržovaným ceníkem.
- Vytvořeno pro Odoo 19.0 Community. Jiné verze nejsou podporovány.
Časté dotazy
Překládá nebo přepisuje se něco bez mého souhlasu?
Ne, pokud nezapnete Automaticky převzít shodu. Ani pak se nezapisují jiné než návrhy se shodou. Poskytovatelé a plánovaná akce jsou po instalaci vypnuti.
Potřebuji klíče pro placené poskytovatele?
Jen u těch poskytovatelů, kteří je vyžadují. S Pollinations, MyMemory nebo lokálně provozovaným modelem (například Ollama) to jde i bez nich. Bezplatné služby bývají omezené a pomalé, pro celý web se většinou hodí jen jako doplněk.
Kolik stojí překlad?
Závisí to na poskytovateli, modelu, délce textu a počtu jazyků, proto modul nestanovuje pevné částky. Dashboard zobrazuje spotřebu a náklady, jakmile zadáte ceny, a odhaduje zbývající náklady zařazených textů.
Mohu texty udržet v důvěrnosti?
Ano, pomocí volby pravidla Důvěrné. Pak pracují jen poskytovatelé označení jako provozovaní na vaší vlastní infrastruktuře, například lokální Ollama.
Nahrazuje to překlad, který má Odoo samo?
Ne. Modul využívá vícejazyčnost Odoo a zapisuje do týchž překladů, které byste jinak udržovali ručně.
Pod jakou licencí je vydán?
Pod AGPL-3. Chyby a vylepšení jsou vítány formou issue v repozitáři GitHub .
Podpora od Biricon IT Services
Staráme se o instalace Odoo pro malé a střední podniky: od zavedení přes úpravy a migrace až po průběžný provoz. Pokud provozujete svůj web na Odoo vícejazyčně, chcete překlady zajistit pomocí AI nebo bezpečně nasadit modul do své produkční instance, rádi vám pomůžeme. Další vlastní vývoj: Archivace firmy včetně uživatelů portálu, Čísla dokladů z předpony, roku a čítače a Obchodní rejstřík a ověření adres pro rakouské zákazníky.
Stav: 3. listopadu 2026. Verze modulu 19.0.1.0.0. Obrázky zobrazují vymyšlená ukázková data.