Skip to Content
Menu
This question has been flagged
1 Reply
687 Views

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
Discard
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
Discard
Author

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

Related Posts Replies Views Activity
1
Aug 25
404
1
Aug 25
371
4
Jul 25
1706
1
Jul 25
972
2
Jul 25
995