diff --git a/app_odoo_customize/__manifest__.py b/app_odoo_customize/__manifest__.py index ae2e29c4..fca46f1f 100644 --- a/app_odoo_customize/__manifest__.py +++ b/app_odoo_customize/__manifest__.py @@ -23,7 +23,7 @@ { 'name': 'odoo 14,13 Customize OEM(Boost, Data reset)', - 'version': '13.20.09.09', + 'version': '13.20.09.10', 'author': 'Sunpop.cn', 'category': 'Productivity', 'website': 'https://www.sunpop.cn', @@ -76,6 +76,7 @@ 33. Add Demo Ribbon Setting. 34. Add Remove all quality data. 35. Fixed for odoo 14. + 36. Add refresh translate for multi module. This module can help to white label the Odoo. Also helpful for training and support for your odoo end-user. @@ -118,6 +119,7 @@ 33. 增加 Demo 的显示设置 34. 增加清除质检数据 35. 优化至odoo14适用 + 36. 可为多个模块强制更新翻译 """, 'images': ['static/description/banner.gif'], 'depends': [ diff --git a/app_odoo_customize/models/ir_module_module.py b/app_odoo_customize/models/ir_module_module.py index 7596837c..e8028b2b 100644 --- a/app_odoo_customize/models/ir_module_module.py +++ b/app_odoo_customize/models/ir_module_module.py @@ -24,6 +24,20 @@ class IrModule(models.Model): modules = self.browse(self.env.context.get('active_ids')) [module.button_immediate_uninstall() for module in modules if module not in ['base', 'web']] + # 更新翻译,当前语言 + def module_multi_refresh_po(self): + lang = self.env.user.lang + modules = self.browse(self.env.context.get('active_ids')) + # 先清理, odoo原生经常清理不干净 + for rec in modules: + translate = self.env['ir.translation'].search([ + ('lang', '=', lang), + ('module', '=', rec.name) + ]) + translate.sudo().unlink() + # 再重载 + self.sudo().with_context(overwrite=True)._update_translations(lang) + def button_get_po(self): self.ensure_one() action = self.env.ref('app_odoo_customize.action_server_module_multi_get_po').read()[0] diff --git a/app_odoo_customize/views/ir_translation_views.xml b/app_odoo_customize/views/ir_translation_views.xml index ce63822e..b9d69834 100644 --- a/app_odoo_customize/views/ir_translation_views.xml +++ b/app_odoo_customize/views/ir_translation_views.xml @@ -10,4 +10,14 @@ + + app.ir.translation.search + ir.translation + + + + + + + diff --git a/app_odoo_customize/views/ir_views.xml b/app_odoo_customize/views/ir_views.xml index caeb91b1..8c918341 100644 --- a/app_odoo_customize/views/ir_views.xml +++ b/app_odoo_customize/views/ir_views.xml @@ -13,6 +13,18 @@ + + Refresh Module Translation + ir.actions.server + + + code + + if records: + records.module_multi_refresh_po() + + + Export Translation ir.actions.act_window