Home / Documentation / Documentation technique / Traduire un champ

Traduire un champ

Prenons comme exemple la fiche produit, seul le nom du produit est traduisible, pas les descriptions.
Pour rendre ces champs traduisible, il faut surcharger la classe produit de OpenERP en écrivant un petit module.
Pour créer un module, ajouter un répertoire dans le folder addons et ajouter les 3 fichiers ci-dessous dans ce répertoire.

__init__.py

import product_translate

__terp__.py

{
"name" : "Product translate",
"version" : "1.0",
"author" : "Open Net Sarl",
"category" : "Enterprise Specific Modules/Translate",
"depends" : ["base", "product"],
"init_xml" : [],
"demo_xml" : [],
"description": "Enable traduction for products description",
"update_xml" : [],
"active": False,
"installable": True
}

product_translate.py

from osv import osv, fields
import pooler
class product_product(osv.osv):
     _name = "product.product"
     _inherit = "product.product"
     _columns = {
          'description': fields.text('Description', translate=True),
          'description_purchase': fields.text('Purchase Description', translate=True),
          'description_sale': fields.text('Sale Description', translate=True),
     }
product_product()