Repository
odoo/odoo · module folder
Module version
0.1.0
Category
Tools
Folder size
0.93 MB
License
LGPL-3
Application
No
Auto-installable
No
Website
None
Last tracking update
2026-08-07 05:12:49
Authors
Maintainers
None
Committers
Xavier Morel, Raphael Collet, Christophe Simonis, Martin Trigaux, Odoo Translation Bot, Adrian Torres, Xavier-Do, mgh-odoo, Raf Geens
Odoo dependencies
odoo/odoo:
- web
Python dependencies
None
System dependencies
None
Required by
website_gengo
Description
Automated Translations through Gengo API
========================================

This module will install passive scheduler job for automated translations 
using the Gengo API. To activate it, you must
1) Configure your Gengo authentication parameters under `Settings > Companies > Gengo Parameters`
2) Launch the wizard under `Settings > Application Terms > Gengo: Manual Request of Translation` and follow the wizard.

This wizard will activate the CRON job and the Scheduler and will start the automatic translation via Gengo Services for all the terms where you requested it.
    

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
base_gengo_translation_wizard_from base.gengo.translation.form base.gengo.translations form New
res_config_settings_view_form res.config.settings.view.form.inherit.base.gengo res.config.settings form Inherits base_setup.res_config_settings_view_form
view_ir_translation_inherit_base_gengo_form ir.translation.form.inherit ir.translation form Inherits base.view_translation_form
view_translation_search ir.translation.search.inherit ir.translation search Inherits base.view_translation_search
HTTP endpoints (1)
Route(s)HandlerAuthTypeMethodsFlags
/website/gengo_callback website_gengo.gengo_callback public http ALL csrf off sudo
Models touched (4)

New fields (4)
  • authorized_credentials Boolean
    args: 'The private and public keys are valid'
  • lang_id Many2one → res.lang
    required=True args: 'res.lang', 'Language'
  • sync_limit Integer
    default=20 args: 'No. of terms to sync'
  • sync_type Selection
    default='both' required=True args: [('send', 'Send New Terms'), ('receive', 'Receive Translation'), ('both', 'Both')], 'Sync Type'
Public methods (6)
  • act_update(self)
    Function called by the wizard.
  • default_get(self, fields)
    @api.model
  • gengo_authentication(self)
    @api.model
    This method tries to open a connection with Gengo. For that, it uses the Public and Private keys that are linked to the company (given by Gengo on subscription). It returns a tuple with * as first element: a boolean depicting if the authentication was a success or not * as second element: the connection, if it was a success, or the error message returned by Gengo when the connection failed. This error message can either be displayed in the server logs (if the authentication was called by the cron) or in a dialog box (if requested by the user), thus it's important to return it translated.
  • init(self)
  • open_company(self)
  • pack_jobs_request(self, term_ids, context=None)
    @api.model
    prepare the terms that will be requested to gengo and returns them in a dictionary with following format {'jobs': { 'term1.id': {...} 'term2.id': {...} } }

New fields (3)
  • gengo_comment Text
    args: 'Comments & Activity Linked to Gengo'
  • gengo_translation Selection
    help='You can select here the service level you want for an automatic translation using Gengo.' args: [('machine', 'Translation By Machine'), ('standard', 'Standard'), ('pro', 'Pro'), ('ultra', 'Ultra')], 'Gengo Translation Service Level'
  • order_id Char
    args: 'Gengo Order ID'
Public methods (0)

No public methods.

New fields (5)
  • gengo_auto_approve Boolean
    default=True groups='base.group_user' help='Jobs are Automatically Approved by Gengo.' string='Auto Approve Translation ?'
  • gengo_comment Text
    groups='base.group_user' help='This comment will be automatically be enclosed in each an every request sent to Gengo' string='Comments'
  • gengo_private_key Char
    copy=False groups='base.group_system' string='Gengo Private Key'
  • gengo_public_key Text
    copy=False groups='base.group_user' string='Gengo Public Key'
  • gengo_sandbox Boolean
    help="Check this box if you're using the sandbox mode of Gengo, mainly used for testing purpose." string='Sandbox Mode'
Public methods (0)

No public methods.

New fields (5)
  • gengo_auto_approve Boolean
    help='Jobs are Automatically Approved by Gengo.' readonly=False related='company_id.gengo_auto_approve' string='Auto Approve Translation ?'
  • gengo_comment Text
    help='This comment will be automatically be enclosed in each an every request sent to Gengo' related='company_id.gengo_comment' string='Comments'
  • gengo_private_key Char
    readonly=False related='company_id.gengo_private_key' string='Gengo Private Key'
  • gengo_public_key Text
    readonly=False related='company_id.gengo_public_key' string='Gengo Public Key'
  • gengo_sandbox Boolean
    help="Check this box if you're using the sandbox mode of Gengo, mainly used for testing purpose." readonly=False related='company_id.gengo_sandbox' string='Sandbox Mode'
Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…