Veb saytı on, iyirmi və ya qırx dilə tərcümə etmək tək Sİ ilə tez başa gəlir. Daha çətin sual nəticəyə etibar etməyin mümkün olub-olmamasıdır. Tək dil modeli bəzən söz uydurur, məhsul adlarını da tərcümə edir və ya rəqəmi dəyişir və bunu özü hiss etmir. Buna görə Odoo 19 üçün modul yazdıq, orada bir neçə Sİ və tərcümə xidməti eyni mətn üzərində işləyir, nəticələrini bir-birinə anonim qiymətləndirir və eyni zamanda həm dəqiq, həm də təbii səslənən formulada razılaşır. Birmənalı olmayan şey insana qərar üçün verilir.
Modulun adı ai_translation_consensus-dir və AGPL-3 lisenziyası altında sərbəst proqram təminatı kimi GitHub-dadır:
github.com/Alex0176/odoo-ai-translation-consensus
Bu yazının məzmunu
İdeya: etimad əvəzinə qarşılıqlı yoxlama
Modul iki şey bacarır:
- Tərcümə: Odoo-da hər tərcümə oluna bilən sahənin çatışmayan (və ya köhnəlmiş) tərcümələrini tamamlamaq, yəni bloq yazılarını, veb səhifələri, menyuları, məhsulları və Odoo-nun çoxdilli saxladığı hər şeyi. Sİ-lər bu zaman yalnız ayrıca cümləni deyil, qonşu blokları və bütün səhifədən bir kəsiyi görür. Beləliklə, ayrı-ayrı sözlər düzgün kontekstdə başa düşülür.
- Korrektura: mətni öz dilində yoxlamaq və daha yaxşı formulalar və ya düzəlişlər təklif etmək. Orijinal bu zaman həmişə namizədlərdən biridir. Orijinal qalib gəlsə, heç nə dəyişdirilmir.
Əsas qarşılıqlı yoxlamadır. Hər Sİ özü bəzən yanıldığı halda belə, başqalarının mətnlərini qiymətləndirməkdə yaxşıdır. Modul bundan istifadə edir: bir neçə provayder hər biri bir variant yazır və eyni provayderlər sonra bütün variantları kimin yazdığını bilmədən qiymətləndirir. Provayder öz variantını qiymətləndirmir.
Təklif belə yaranır
- Tərcümə. Hər tərcüməçi paralel olaraq bir variant yazır.
- Sabit yoxlamalar. Sİ olmadan HTML teqlərinin, entity-lərin,
%svə ya{}kimi yer tutucuların, rəqəmlərin və linklərin dəyişməz qalıb-qalmadığı yoxlanılır. Bunu pozan variant nə qədər axıcı səslənsə də, heç vaxt qalib gələ bilməz. - Qiymətləndirmə. Digər variantlar qarışdırılır və anonimləşdirilir. Hər yoxlayan hər biri üçün Dəqiqlik və Təbiilik üzrə qiymət (1-dən 10-a qədər) verir, bir favorit göstərir və təkmilləşdirmə təklif edə bilər.
- Razılaşma. Variantın reytinqi 0,5 × orta qiymət + 5 × favorit səslərinin payıdır. Ən yaxşı variant favorit səslərinin ən azı 60 %-ni və ən azı 7,0 orta qiymət alıbsa, razılaşma sayılır.
- İkinci tur. Razılaşma olmadıqda ən yaxşı variantlar yoxlayanların təkmilləşdirmə təklifləri ilə birlikdə yenidən qiymətləndirməyə gedir.
- İnsan. Onda da birmənalı olmasa, təklif qərar gözləyir.
Yalnız yoxlama funksiyası olmayan təmiz tərcümə xidmətləri varsa (məsələn, DeepL), nəticə yalnız ən azı iki xidmət tam eyni mətni təqdim etdikdə razılaşdırılmış sayılır. Korrekturada nəticələr orijinala tanına bilən dərəcədə yaxın qalmalıdır (oxşarlıq ən azı 0,6, eyni rəqəmlər). Kiçik pulsuz modellər bəzən bir yığına yerdəyişmiş və ya yad mətnlərlə cavab verir. Belə cavablar səsverməyə qoyulmaq əvəzinə atılır. Lüğət marka adlarını və sabit terminləri saxlayır.
Provayderlər: açarla və açarsız
Pulsuz və ödənişli xidmətlər eyni səsverməyə qoşula bilər. Modul çoxlu provayder üçün ilkin tənzimləmələr gətirir; hamısı quraşdırmadan sonra söndürülmüşdür.
| Növ | Tərcümə edir | Yoxlayır / düzəldir | Nümunələr |
|---|---|---|---|
| OpenAI ilə uyğun interfeys | bəli | bəli | OpenAI, Mistral, DeepSeek, xAI, Groq, Together, OpenRouter, Cerebras, Qwen, Moonshot, GitHub Models, Hugging Face, Ollama, LM Studio, vLLM, llama.cpp |
| Açarsız OpenAI ilə uyğun | bəli | bəli | Öz serverində Ollama, Pollinations |
| Anthropic | bəli | bəli | Claude |
| Google Gemini, Cohere | bəli | bəli | |
| Lokal komanda | bəli | bəli | claude -p və ya stdin-dən oxuyan və cavabı çıxaran hər proqram |
| Tərcümə xidmətləri | bəli | xeyr | DeepL, Google Translate, Azure Translator, LibreTranslate, MyMemory, Lingva |
Açar daxil edilir (və ya onu ehtiva edən mühit dəyişəninin adı), Bağlantını yoxla basılır və provayder işə salınır. İlkin tənzimləmələrdəki model adları başlanğıc nöqtələridir; onlardan istifadə edən onları provayderin cari siyahısı ilə müqayisə etməlidir. İki və ya daha çox provayderlə real qarşılıqlı yoxlama var, yalnız biri ilə heç kim onun işini yoxlamır. Köməkçi bunu xatırladır.
Bütöv veb sayt birdən
Başlanğıc köməkçisi (Sİ tərcüməsi → Buradan başla menyusu) addımları izah edir və ilk qaydanı yaradır. website modulu quraşdırılıbsa, ai_translation_consensus_website körpü modulu avtomatik olaraq gəlir. O, “Üzərindəki hər şeylə bütöv veb sayt” əhatəsini tamamlayır: veb sayt seçilir və məzmunlar təklif etdirilir. Modul veb sayta aid olan tərcümə oluna bilən sahələri olan bütün modellərə baxır (səhifələr, menyular, bloqlar, məhsullar, tədbirlər, forumlar, kurslar və s.) və veb saytın dillərini hədəf kimi götürərək hər məzmun növü üçün bir qayda təklif edir.
- Quraşdırılmamış olanlar (forumlar, kurslar, qalereyalar) görünmür və quraşdırıldıqdan sonra sonradan qəbul olunur.
- Mağaza modelləri yalnız veb saytda mağaza olduqda təklif olunur. Yalnız dərc olunmuş qeydlər əhatə olunur.
- Kontaktları, firmaları, ödəniş provayderlərini, qiymət siyahılarını, çatdırılma növlərini, sadiqlik proqramlarını və snippet süzgəclərini modul qəsdən təklif etmir.
- Səhifələrin ünvan adları (
seo_name) tərcümə edilmir. - İstənilməyən növləri yaratmazdan əvvəl çıxarmaq olar.
Yaratmaq və axtarmaq heç nəyə başa gəlmir: Qayda yalnız hansı mətnlərin işə ehtiyacı olduğunu sadalayır. Yalnız emal zamanı provayderlər çağırılır və xərclər yaranır.
Dashboard, xərclər və avtomatik başlama
Dashboard hər qayda üçün neçə mətnin hazır olduğunu, təsdiq və ya insan gözlədiyini, növbəyə qoyulduğunu və ya uğursuz olduğunu göstərir. Bunlara dil və provayder üzrə bölgü, indiyədək olan və hələ gözlənilən xərclər, təxmini qalan vaxt və planlaşdırılmış emal üçün açar əlavə olunur.
Bu təsvirdəki rəqəmlər nümunə məlumatlardır və real xərclər barədə heç nə demir.
- Xərclər provayderlərin faktiki bildirdiyindən hesablanır: token-lər (OpenAI, Anthropic, Gemini, Cohere) və ya simvollar (DeepL, Google, Azure). Token-lər həmişə göstərilir, pul isə yalnız provayderdə bir milyon token (və ya simvol) üçün qiyməti daxil etmisinizsə. İlkin tənzimləmələrdə qiymətlər yoxdur, çünki onlar dəyişir. Token bildirməyən xidmətlər mətn uzunluğundan təxmin edilir və təxmin kimi işarələnir.
- Proqnoz: hər mətn üçün orta xərc və iş vaxtı vurulsun növbəyə qoyulmuş mətnlərin sayı. Bu, ilk yığınlarla yaxşılaşan təxmindir.
- Avtomatik başlama: Qeyd dəyişəndə özü başlasın seçimi olan qaydalar planlaşdırılmış əməliyyatın hər işində yalnız sonuncu axtarış işindən bəri dəyişdirilmiş qeydləri axtarır. Planlaşdırılmış əməliyyat aktivdirsə, redaktə edilmiş veb sayt beləliklə, heç bir əl hərəkəti olmadan yenidən tərcümə olunur.
- Tamamlanma bildirişi: Qaydanın sonuncu açıq mətni də emal olunduqda, AI Translation kanalında bir dəfə “Bütün dillər tərcümə olunub” (korrektə zamanı “Bütün mətnlər yoxlanılıb”) mesajı görünür.
İnsanlar tərəfindən təsdiq
Standart olaraq modul sizin razılığınız olmadan qeydlərinizə heç nə yazmır. Hər təklifdə variantlar, onları kimin yazdığı, qiymətlər və yoxlayıcıların qeydləri göstərilir. Təklifi qəbul edə, başqa variantı seçə, özünüz formulə yaza və ya rədd edə bilərsiniz.
Bu şəkildəki mətn və təchizatçı adları görünüşü göstərmək üçün sərbəst uydurulmuşdur.
Qaydaya etibar edən şəxs Razılaşmanı avtomatik qəbul et seçimini aktiv edə bilər. Razılaşma olmayan təkliflər bu halda da insanı gözləyir. Qəbul zamanı modul mənbə mətnin bu arada dəyişib-dəyişmədiyini bir daha yoxlayır, markup yoxlamalarını yenidən aparır və izləmə olmadan və izləyicilərə bildiriş göndərmədən yazır.
Təhlükəsizlik və məlumatların qorunması
- Quraşdırmadan sonra hər şey söndürülü olur. Təchizatçılar və planlaşdırılmış əməliyyat deaktivdir. Sizin müdaxiləniz olmadan heç nə göndərilmir.
- Mətnlər serverinizi tərk edir, host edilən xidmət işə qarışan kimi. Qaydanı Məxfi kimi işarələmək olar; onda mətni yalnız öz infrastrukturunda işləyən kimi qeyd olunmuş təchizatçılar görür.
- Açarlar yalnız administratorların gördüyü sahədə və ya yalnız adı ilə göstərilən mühit dəyişənində saxlanılır. Xəta mesajlarında onlar maskalanır və başlıqlarda (header) göndərilir. İstisna: MyMemory-nin könüllü açarı orada yalnız sorğu parametri kimi ötürülə bilər.
- Lokal əmr proqram icra edir və buna görə də
ai_translation_consensus.allow_commandsistem parametriTrueolana qədər bloklanıb. Əmr shell olmadan çağırılır və boş müvəqqəti qovluqda işləyir. - Prompt-Injection: Tapşırıqlar mətni məlumat kimi işarələyir. Tərcümə olunan mətndəki göstərişlərə əməl edilmir, tag-ları və ya yer tutucuları pozan nəticə isə rədd edilir.
- Pulsuz xidmətlərin məhdudiyyətləri var. Pollinations anonim olaraq hər 45 saniyədə bir cavaba icazə verir.
min_intervaltəchizatçı seçimi bu fasiləni saxlayır və “Zəhmət olmasa, sonra yenidən cəhd edin” cavablarına riayət olunur.
Quraşdırma
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
Odoo 19 və requests Python paketi tələb olunur. Alman dilində tərcümə əlavə olunub. ai_translation_consensus_website körpü modulu website mövcud olduqda avtomatik quraşdırılır. Modulda Python kodu olduğuna görə, quraşdırmadan sonra Odoo xidməti yenidən başladılmalıdır. İstehsal sistemi idarə edənlər modulu əvvəlcə verilənlər bazasının surətində quraşdırmalıdır.
İlk addımlar: KI-Übersetzung → Anbieter menyusunu açın, xidmətləri sınaqdan keçirib aktiv edin, sonra Hier starten düyməsini basıb ilk qaydanı yaradın. Nach Texten suchen ilə təkliflər yaradılır, Einen Stapel verarbeiten ilə təchizatçılar çağırılır. Kiçik qaydadan başlayın, məsələn, tək bir bloq yazısı və iki dillə, və bütöv bir veb saytı növbəyə qoymazdan əvvəl nəticəyə və xərcə baxın.
Məhdudiyyətlər
- Keyfiyyət sizin aktiv etdiyiniz modellərdən asılıdır. Çarpaz yoxlama ayrı-ayrı modellərin səhvlərini azaldır, lakin zəmanət vermir. Hüquqi və ya təhlükəsizlik baxımından kritik mətnlər üçün modul ana dilli mütəxəssisi əvəz etmir.
- Xərclər sürətlə artır. Bir mətn hər tərcüməçi üçün bir çağırışa, hər yoxlayıcı üçün bir yoxlama çağırışına və bölünmüş səsvermə zamanı ikinci raunda başa gəlir. Səhifə konteksti hər çağırışın girişini artırır. 45 hədəf dili olan qayda mətnlərin sayını dəfələrlə artırır. İşləri Datensätze je Suchlauf, Neue Vorschläge je Suchlauf və Vorschläge je Cron-Lauf ilə məhdudlaşdırın və yoxlayıcı kimi əlverişli və ya lokal modellərdən istifadə edin.
- Yalnız
translate=Trueolan sahələr. Formatlanmış mətn blok-blok emal olunur (Odoo-nun term mexanizmi). - Qiymətlər və model adları dəyişir. İlkin parametrlər aktual saxlanılan qiymət siyahısı deyil.
- Odoo 19.0 Community üçün hazırlanıb. Digər versiyalar dəstəklənmir.
Tez-tez verilən suallar
Mənim razılığım olmadan nəsə tərcümə olunur və ya üzərinə yazılır?
Xeyr, Razılaşmanı avtomatik qəbul et seçimini aktiv etməyincə. O zaman da yalnız razılaşma olan təkliflər yazılır. Təchizatçılar və planlaşdırılmış əməliyyat quraşdırmadan sonra söndürülü olur.
Ödənişli təchizatçılar üçün açarlara ehtiyacım var?
Yalnız açar tələb edən təchizatçılar üçün. Pollinations, MyMemory və ya lokal işləyən model (məsələn, Ollama) ilə açarsız da mümkündür. Pulsuz xidmətlər çox vaxt məhduddur və yavaşdır, bütöv bir veb sayt üçün onlar adətən yalnız əlavə kimi uyğundur.
Tərcümə nəyə başa gəlir?
Bu, təchizatçıdan, modeldən, mətnin uzunluğundan və dillərin sayından asılıdır, buna görə də modul sabit rəqəmlər vermir. Qiymətləri daxil etdikdən sonra dashboard istifadəni və xərcləri göstərir və növbəyə qoyulmuş mətnlərin qalan xərcini təxmin edir.
Mətnləri məxfi saxlaya bilərəmmi?
Bəli, Vertraulich qayda seçimi ilə. Onda yalnız sizin öz infrastrukturunuzda işləyən kimi qeyd olunmuş təchizatçılar, məsələn, lokal Ollama işləyir.
Bu, Odoo-nun öz tərcüməsini əvəz edir?
Xeyr. Modul Odoo-nun çoxdilliliyindən istifadə edir və başqa halda əllə apardığınız eyni tərcümələrə yazır.
O, hansı lisenziya altındadır?
AGPL-3 altında. Xətalar və təkmilləşdirmələr Issue kimi GitHub repozitoriyası üzərində məmnuniyyətlə qəbul edilir.
Biricon IT Services dəstəyi
Biz kiçik və orta müəssisələr üçün Odoo quraşdırmalarına xidmət göstəririk: tətbiqdən uyğunlaşdırmalara və miqrasiyalara qədər, cari istismara qədər. Odoo veb saytınızı çoxdilli idarə etmək, tərcümələri süni intellektlə təmin etmək və ya modulu təhlükəsiz şəkildə istehsal instansiyanıza gətirmək istəyirsinizsə, məmnuniyyətlə kömək edirik. Digər öz işləmələrimiz: Şirkətin portal istifadəçiləri ilə birlikdə arxivləşdirilməsi, Prefiks, il və sayğacdan sənəd nömrələri və Avstriya müştəriləri üçün Firmenbuch və ünvan yoxlaması.
Tarix: 3 noyabr 2026. Modul versiyası 19.0.1.0.0. Şəkillərdə uydurma nümunə məlumatlar göstərilir.