From 6aa240ca1915289bbbafd4707e930228cbd1bf23 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Wed, 1 Jun 2011 18:34:55 +0200 Subject: [PATCH] [IMP] ir_translation only display installed lang, 10% speedup in translation loading bzr revid: al@openerp.com-20110601163455-2o732ssum24kwshu --- openerp/addons/base/ir/ir_translation.py | 14 +++++--------- openerp/tools/translate.py | 1 - 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/openerp/addons/base/ir/ir_translation.py b/openerp/addons/base/ir/ir_translation.py index eb900363669..85b3e8fc8a7 100644 --- a/openerp/addons/base/ir/ir_translation.py +++ b/openerp/addons/base/ir/ir_translation.py @@ -44,15 +44,11 @@ class ir_translation(osv.osv): _log_access = False def _get_language(self, cr, uid, context): - lang_obj = self.pool.get('res.lang') - lang_ids = lang_obj.search(cr, uid, [('translatable', '=', True)], - context=context) - langs = lang_obj.browse(cr, uid, lang_ids, context=context) - res = [(lang.code, lang.name) for lang in langs] - for lang_dict in tools.scan_languages(): - if lang_dict not in res: - res.append(lang_dict) - return res + lang_model = self.pool.get('res.lang') + lang_ids = lang_model.search(cr, uid, [('translatable', '=', True)], context=context) + lang_data = lang_model.read(cr, uid, lang_ids, ['code','name']) + l = [(d['code'],d['name']) for d in lang_data] + return l _columns = { 'name': fields.char('Field Name', size=128, required=True), diff --git a/openerp/tools/translate.py b/openerp/tools/translate.py index 5761ba87cc0..c9f69512264 100644 --- a/openerp/tools/translate.py +++ b/openerp/tools/translate.py @@ -864,7 +864,6 @@ def trans_load_data(cr, fileobj, fileformat, lang, lang_name=None, verbose=True, pool = pooler.get_pool(db_name) lang_obj = pool.get('res.lang') trans_obj = pool.get('ir.translation') - model_data_obj = pool.get('ir.model.data') iso_lang = misc.get_iso_codes(lang) try: uid = 1