[IMP] improved code to retun traslation in proper format from server

bzr revid: tpa@tinyerp.com-20120713065521-07a7qdfxfio673cq
This commit is contained in:
Turkesh Patel (Open ERP) 2012-07-13 12:25:21 +05:30
parent f05ee5dfdb
commit 402ba23000
1 changed files with 4 additions and 3 deletions

View File

@ -325,8 +325,9 @@ class ir_translation(osv.osv):
return ir_translation_import_cursor(cr, uid, self, context=context)
def load(self, cr, modules, langs, flag=None, context=None):
translated_data = {'messages':[]}
translated_data = {}
for module_name in modules:
translated_data[module_name] = {'messages':[]}
modpath = openerp.modules.get_module_path(module_name)
if not modpath:
# unable to find the module. we skip
@ -340,7 +341,7 @@ class ir_translation(osv.osv):
f2 = openerp.modules.get_module_resource(module_name, 'i18n', iso_lang2 + '.po')
if f2:
_logger.info('module %s: loading base translation file %s for language %s', module_name, iso_lang2, lang)
translated_data['messages'].extend(tools.trans_load(cr, f2, lang, verbose=False, flag=flag, module_name=module_name, context=context))
translated_data[module_name]['messages'].extend(tools.trans_load(cr, f2, lang, verbose=False, flag=flag, module_name=module_name, context=context))
context2['overwrite'] = True
# Implementation notice: we must first search for the full name of
# the language derivative, like "en_UK", and then the generic,
@ -350,7 +351,7 @@ class ir_translation(osv.osv):
f = openerp.modules.get_module_resource(module_name, 'i18n', iso_lang + '.po')
if f:
_logger.info('module %s: loading translation file (%s) for language %s', module_name, iso_lang, lang)
translated_data['messages'].extend(tools.trans_load(cr, f, lang, verbose=False, flag=flag, module_name=module_name, context=context2))
translated_data[module_name]['messages'].extend(tools.trans_load(cr, f, lang, verbose=False, flag=flag, module_name=module_name, context=context2))
elif iso_lang != 'en':
_logger.warning('module %s: no translation for language %s', module_name, iso_lang)
return translated_data