From 6301669581dceedd84683d51c361a5dba785e3a8 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Tue, 16 Aug 2011 09:54:05 +0200 Subject: [PATCH] [imp] improvements to TranslationDatabase + small translations in forms bzr revid: nicolas.vanhoren@openerp.com-20110816075405-o46ytaiw5sqkwgjw --- addons/base/po/base.pot | 15 ++++++++++++--- addons/base/po/{fr.po => fr_FR.po} | 16 +++++++++++++--- addons/base/static/src/js/core.js | 18 ++++++++++++------ addons/base/static/src/js/form.js | 10 ++++++---- 4 files changed, 43 insertions(+), 16 deletions(-) rename addons/base/po/{fr.po => fr_FR.po} (60%) diff --git a/addons/base/po/base.pot b/addons/base/po/base.pot index 1609924cac3..84f7ebfe6db 100644 --- a/addons/base/po/base.pot +++ b/addons/base/po/base.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-08-09 17:30+0200\n" +"POT-Creation-Date: 2011-08-16 09:44+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,16 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.4\n" -#: addons/base/static/src/js/core.js:11 -msgid "I am a sweet chicken." +#: addons/base/static/src/js/form.js:1459 +msgid "   Search More..." +msgstr "" + +#: addons/base/static/src/js/form.js:1472 +#, python-format +msgid "   Create \"%s\"" +msgstr "" + +#: addons/base/static/src/js/form.js:1478 +msgid "   Create and Edit..." msgstr "" diff --git a/addons/base/po/fr.po b/addons/base/po/fr_FR.po similarity index 60% rename from addons/base/po/fr.po rename to addons/base/po/fr_FR.po index c1483c0e9ca..08905cac036 100644 --- a/addons/base/po/fr.po +++ b/addons/base/po/fr_FR.po @@ -18,6 +18,16 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: addons/base/static/src/js/core.js:11 -msgid "I am a sweet chicken." -msgstr "Je suis un gentil poulet." +#: addons/base/static/src/js/form.js:1459 +msgid "   Search More..." +msgstr "   Chercher plus..." + +#: addons/base/static/src/js/form.js:1472 +#, python-format +msgid "   Create \"%s\"" +msgstr "   Créer \"%s\"" + +#: addons/base/static/src/js/form.js:1478 +msgid "   Create and Edit..." +msgstr "   Créer et éditer..." + diff --git a/addons/base/static/src/js/core.js b/addons/base/static/src/js/core.js index c4609ba3ba7..8efae36863a 100644 --- a/addons/base/static/src/js/core.js +++ b/addons/base/static/src/js/core.js @@ -570,15 +570,20 @@ openerp.base.TranslationDataBase = openerp.base.Class.extend({ set_bundle: function(translation_bundle) { var self = this; this.db = {}; - var modules = _.keys(translation_bundle.modules); + var modules = _.keys(translation_bundle.modules).sort(); if (_.include(modules, "base")) { - modules = _.without(modules, "base").concat(["base"]); + modules = ["base"].concat(_.without(modules, "base")); } _.each(modules, function(name) { - var mod = translation_bundle.modules[name]; - _.each(mod.messages, function(message) { + self.add_module_translation(translation_bundle.modules[name]); + }); + }, + add_module_translation: function(mod) { + var self = this; + _.each(mod.messages, function(message) { + if (self.db[message.id] === undefined) { self.db[message.id] = message.string; - }); + } }); }, build_translation_function: function() { @@ -826,9 +831,10 @@ openerp.base.Session = openerp.base.CallbackEnabled.extend( /** @lends openerp.b var self = this; this.rpc('/base/session/modules', {}, function(result) { self.module_list = result; + var lang = self.user_context.lang; self.rpc('/base/webclient/translations',{ mods: ["base"].concat(result), - lang: self.user_context.lang}) + lang: lang}) .then(function(transs) { openerp.base._t.database.set_bundle(transs); var modules = self.module_list.join(','); diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index 4e7876b1768..6eeff025e1f 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -1,4 +1,6 @@ openerp.base.form = function (openerp) { + +var _t = openerp.base._t; openerp.base.views.add('form', 'openerp.base.FormView'); openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormView# */{ @@ -1454,7 +1456,7 @@ openerp.base.form.FieldMany2One = openerp.base.form.Field.extend({ // search more... if more results that max if (values.length > self.limit) { values = values.slice(0, self.limit); - values.push({label: "   Search More...", action: function() { + values.push({label: _t("   Search More..."), action: function() { dataset.name_search(search_val, self.build_domain(), 'ilike' , false, function(data) { self._change_int_value(null); @@ -1467,13 +1469,13 @@ openerp.base.form.FieldMany2One = openerp.base.form.Field.extend({ if (search_val.length > 0 && !_.include(raw_result, search_val) && (!self.value || search_val !== self.value[1])) { - values.push({label: '   Create "' + - $('').text(search_val).html() + '"', action: function() { + values.push({label: _.sprintf(_t('   Create "%s"'), + $('').text(search_val).html()), action: function() { self._quick_create(search_val); }}); } // create... - values.push({label: "   Create and Edit...", action: function() { + values.push({label: _t("   Create and Edit..."), action: function() { self._change_int_value(null); self._search_create_popup("form", undefined, {"default_name": search_val}); }});