Skip to Content
Menú
This question has been flagged
1 Respondre
433 Vistes

Hello,


We're using json-rpc calls to send, retrieve and manipulate data in Odoo (v15).


One thing I can't seem to figure out is how to create and update translations.

When retrieving data, you can play with the "lang" field in the "context" object, but this doesn't work for a create or an update.


Does anyone have any suggestions on how to achieve this?


Kind regards,

Geert

Avatar
Descartar
Best Answer

Hii,

Use ir.translation Model Directly

here is example of json-rpc :


Here’s how to create or update a French translation for a product name:

{

  "jsonrpc": "2.0",

  "method": "call",

  "params": {

    "service": "object",

    "method": "execute_kw",

    "args": [

      "your_db",

      2,  // user ID

      "your_password",

      "ir.translation",

      "create",

      [{

        "name": "product.template,name",   // model and field

        "res_id": 123,                     // ID of the product

        "lang": "fr_FR",

        "type": "model",

        "value": "Nom traduit du produit",

        "state": "translated"

      }]

    ]

  },

  "id": 1

}

To update, search the translation first:


ids = models.execute_kw(db, uid, password,

    'ir.translation', 'search', [[

        ['name', '=', 'product.template,name'],

        ['res_id', '=', 123],

        ['lang', '=', 'fr_FR']

    ]])


if ids:

    models.execute_kw(db, uid, password,

        'ir.translation', 'write',

        [ids, {'value': 'Nouveau nom en français'}])


i hope this example is help full

Avatar
Descartar
Autor

Thanks a lot!
That's exactly what I was looking for.

Related Posts Respostes Vistes Activitat
2
de jul. 25
232
2
de jul. 25
922
4
de jul. 25
775
1
de jul. 25
111
2
de jul. 25
198