diff --git a/bin/addons/base/module/wizard/wizard_import_lang.py b/bin/addons/base/module/wizard/wizard_import_lang.py index 226bece1ace..37961f83c4b 100644 --- a/bin/addons/base/module/wizard/wizard_import_lang.py +++ b/bin/addons/base/module/wizard/wizard_import_lang.py @@ -48,14 +48,8 @@ view_form=""" class wizard_import_lang(wizard.interface): def _import_lang(self, cr, uid, data, context): form=data['form'] - lang_obj=pooler.get_pool(cr.dbname).get('res.lang') - ids=lang_obj.search(cr, uid, [('code', '=', form['code'])]) - if ids: - lang_obj.write(cr, uid, ids, {'name': form['name']}) - else: - lang_obj.create(cr, uid, {'code': form['code'], 'name': form['name']}) buf=base64.decodestring(data['form']['data']).split('\n') - tools.trans_load_data(cr.dbname, buf, data['form']['code']) + tools.trans_load_data(cr.dbname, buf, form['code'], lang_name=form['name']) return {} fields_form={ 'name':{'string':'Language name', 'type':'char', 'size':64, 'required':True}, diff --git a/bin/tools/translate.py b/bin/tools/translate.py index 79bd409a043..d6f9e11910e 100644 --- a/bin/tools/translate.py +++ b/bin/tools/translate.py @@ -245,7 +245,7 @@ def trans_load(db_name, filename, lang, strict=False): logger.notifyChannel("init", netsvc.LOG_ERROR, "couldn't read file") return trans_load_data(db_name, data, lang, strict=False) -def trans_load_data(db_name, data, lang, strict=False): +def trans_load_data(db_name, data, lang, strict=False, lang_name=None): logger = netsvc.Logger() logger.notifyChannel("init", netsvc.LOG_INFO, 'loading translation file for language %s' % (lang)) pool = pooler.get_pool(db_name) @@ -257,10 +257,11 @@ def trans_load_data(db_name, data, lang, strict=False): ids = lang_obj.search(cr, uid, [('code','=',lang)]) if not ids: - lang_name=lang - languages=tools.get_languages() - if lang in languages: - lang_name=languages[lang] + if not lang_name: + lang_name=lang + languages=tools.get_languages() + if lang in languages: + lang_name=languages[lang] ids = lang_obj.create(cr, uid, {'code':lang, 'name':lang_name, 'translatable':1}) else: lang_obj.write(cr, uid, ids, {'translatable':1})