A password reset was requested for the OpenERP account linked to this " +"email.
\n" +"\n" +"You may change your password following this link.
\n" +"\n" +"Note: If you did not ask for a password reset, you can safely ignore this " +"email.
" +msgstr "" + +#. module: auth_reset_password +#: sql_constraint:res.users:0 +msgid "You can not have two users with the same login !" +msgstr "Non è possibile avere due utenti con lo stesso login!" + +#. module: auth_reset_password +#: model:ir.model,name:auth_reset_password.model_res_users +msgid "Users" +msgstr "Utenti" + +#. module: auth_reset_password +#: sql_constraint:res.users:0 +msgid "OAuth UID must be unique per provider" +msgstr "il UID OAuth deve essere unico per provider" + +#. module: auth_reset_password +#: view:res.users:0 +msgid "Reset Password" +msgstr "Reimposta Password" + +#. module: auth_reset_password +#: model:email.template,subject:auth_reset_password.reset_password_email +msgid "Password reset" +msgstr "Ripristino password" + +#. module: auth_reset_password +#: constraint:res.users:0 +msgid "Error: Invalid ean code" +msgstr "Errore: codice EAN non valido" + +#. module: auth_reset_password +#: constraint:res.users:0 +msgid "The chosen company is not in the allowed companies for this user" +msgstr "L'azienda scelta non è fra le aziende abilitate per questo utente" + +#. module: auth_reset_password +#. openerp-web +#: code:addons/auth_reset_password/static/src/xml/reset_password.xml:7 +#, python-format +msgid "Reset password" +msgstr "Reimposta password" diff --git a/addons/auth_reset_password/i18n/tr.po b/addons/auth_reset_password/i18n/tr.po new file mode 100644 index 00000000000..3feaf33754c --- /dev/null +++ b/addons/auth_reset_password/i18n/tr.po @@ -0,0 +1,83 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHORA password reset was requested for the OpenERP account linked to this " +"email.
\n" +"\n" +"You may change your password following this link.
\n" +"\n" +"Note: If you did not ask for a password reset, you can safely ignore this " +"email.
" +msgstr "" +"\n" +"Bu epostayla ilişkili OpenERP hesabı için bir parola sıfırlama isteği " +"istendi.
\n" +"\n" +"Şifrenizi şu adresten değiştirebilirsiniz. this link.
\n" +"\n" +"Not: Eğer bu parola değiştirme isteğini siz yapmadıysanız bu mesajı " +"görmezden gelebilirsiniz.
" + +#. module: auth_reset_password +#: sql_constraint:res.users:0 +msgid "You can not have two users with the same login !" +msgstr "Aynı kullanıcı adı ile iki kullanıcı oluşturamazsınız !" + +#. module: auth_reset_password +#: model:ir.model,name:auth_reset_password.model_res_users +msgid "Users" +msgstr "Kullanıcılar" + +#. module: auth_reset_password +#: sql_constraint:res.users:0 +msgid "OAuth UID must be unique per provider" +msgstr "OAuth UID her sağlayıcı için tekil olmalı" + +#. module: auth_reset_password +#: view:res.users:0 +msgid "Reset Password" +msgstr "Parolayı Sıfırla" + +#. module: auth_reset_password +#: model:email.template,subject:auth_reset_password.reset_password_email +msgid "Password reset" +msgstr "Parola sıfırlandı" + +#. module: auth_reset_password +#: constraint:res.users:0 +msgid "Error: Invalid ean code" +msgstr "Hata: Geçersiz EAN barkodu" + +#. module: auth_reset_password +#: constraint:res.users:0 +msgid "The chosen company is not in the allowed companies for this user" +msgstr "Seçilen şirket bu kullanıcı için izin verilen şirketler arasında yok" + +#. module: auth_reset_password +#. openerp-web +#: code:addons/auth_reset_password/static/src/xml/reset_password.xml:7 +#, python-format +msgid "Reset password" +msgstr "Parolayı sıfırla" diff --git a/addons/auth_reset_password/i18n/zh_CN.po b/addons/auth_reset_password/i18n/zh_CN.po new file mode 100644 index 00000000000..ee06973b4c6 --- /dev/null +++ b/addons/auth_reset_password/i18n/zh_CN.po @@ -0,0 +1,78 @@ +# Chinese (Simplified) translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHORA password reset was requested for the OpenERP account linked to this " +"email.
\n" +"\n" +"You may change your password following this link.
\n" +"\n" +"Note: If you did not ask for a password reset, you can safely ignore this " +"email.
" +msgstr "" +"\n" +"一个关联到这个Email地址的Openerp帐号请求复位密码。\n" +"你可以修改你的密码通过下面这个链接 。\n" +"提醒:如果你没请求复位密码,请忽略这封邮件。" + +#. module: auth_reset_password +#: sql_constraint:res.users:0 +msgid "You can not have two users with the same login !" +msgstr "两个用户不能使用相同的用户名!" + +#. module: auth_reset_password +#: model:ir.model,name:auth_reset_password.model_res_users +msgid "Users" +msgstr "用户" + +#. module: auth_reset_password +#: sql_constraint:res.users:0 +msgid "OAuth UID must be unique per provider" +msgstr "OAuth UID必须是每个提供者唯一的" + +#. module: auth_reset_password +#: view:res.users:0 +msgid "Reset Password" +msgstr "重置密码" + +#. module: auth_reset_password +#: model:email.template,subject:auth_reset_password.reset_password_email +msgid "Password reset" +msgstr "重置密码" + +#. module: auth_reset_password +#: constraint:res.users:0 +msgid "Error: Invalid ean code" +msgstr "错误:无效的(EAN)条码" + +#. module: auth_reset_password +#: constraint:res.users:0 +msgid "The chosen company is not in the allowed companies for this user" +msgstr "选择的公司不属于此用户允许访问的公司。" + +#. module: auth_reset_password +#. openerp-web +#: code:addons/auth_reset_password/static/src/xml/reset_password.xml:7 +#, python-format +msgid "Reset password" +msgstr "重设密码" diff --git a/addons/auth_reset_password/res_users.py b/addons/auth_reset_password/res_users.py index b1039031812..cfac20c76f9 100644 --- a/addons/auth_reset_password/res_users.py +++ b/addons/auth_reset_password/res_users.py @@ -21,6 +21,7 @@ from openerp.osv import osv, fields from openerp.tools.misc import DEFAULT_SERVER_DATETIME_FORMAT +from openerp.tools.translate import _ from datetime import datetime, timedelta @@ -54,6 +55,8 @@ class res_users(osv.osv): template = self.pool.get('ir.model.data').get_object(cr, uid, 'auth_reset_password', 'reset_password_email') assert template._name == 'email.template' for user in self.browse(cr, uid, ids, context): + if not user.email: + raise osv.except_osv(_("Cannot send email: user has no email address."), user.name) self.pool.get('email.template').send_mail(cr, uid, template.id, user.id, context=context) return True diff --git a/addons/auth_reset_password/res_users_view.xml b/addons/auth_reset_password/res_users_view.xml index 9952162ae65..628e95b6ff9 100644 --- a/addons/auth_reset_password/res_users_view.xml +++ b/addons/auth_reset_password/res_users_view.xml @@ -7,11 +7,17 @@\n" +" Click to add a contact in your address book.\n" +"
\n" +" OpenERP helps you easily track all activities related to\n" +" a customer; discussions, history of business opportunities,\n" +" documents, etc.\n" +"
\n" +" " +msgstr "" + +#. module: contacts +#: model:ir.actions.act_window,name:contacts.action_contacts +#: model:ir.ui.menu,name:contacts.menu_contacts +msgid "Contacts" +msgstr "" diff --git a/addons/contacts/i18n/hu.po b/addons/contacts/i18n/hu.po new file mode 100644 index 00000000000..eacc9b22406 --- /dev/null +++ b/addons/contacts/i18n/hu.po @@ -0,0 +1,37 @@ +# Hungarian translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR\n" +" Click to add a contact in your address book.\n" +"
\n" +" OpenERP helps you easily track all activities related to\n" +" a customer; discussions, history of business opportunities,\n" +" documents, etc.\n" +"
\n" +" " +msgstr "" + +#. module: contacts +#: model:ir.actions.act_window,name:contacts.action_contacts +#: model:ir.ui.menu,name:contacts.menu_contacts +msgid "Contacts" +msgstr "Kapcsolatok" diff --git a/addons/contacts/i18n/it.po b/addons/contacts/i18n/it.po new file mode 100644 index 00000000000..e0d4d816737 --- /dev/null +++ b/addons/contacts/i18n/it.po @@ -0,0 +1,46 @@ +# Italian translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR\n" +" Click to add a contact in your address book.\n" +"
\n" +" OpenERP helps you easily track all activities related to\n" +" a customer; discussions, history of business opportunities,\n" +" documents, etc.\n" +"
\n" +" " +msgstr "" +"\n" +" Premere per creare un contatto in rubrica.\n" +"
\n" +" OpenERP ti aiuta a tenere traccia delle attività legate\n" +" a clienti, discussioni, storia delle opportunità,\n" +" document, etc.\n" +"\n" +"
\n" +" " + +#. module: contacts +#: model:ir.actions.act_window,name:contacts.action_contacts +#: model:ir.ui.menu,name:contacts.menu_contacts +msgid "Contacts" +msgstr "Contatti" diff --git a/addons/contacts/i18n/tr.po b/addons/contacts/i18n/tr.po new file mode 100644 index 00000000000..9b68dbf5ddc --- /dev/null +++ b/addons/contacts/i18n/tr.po @@ -0,0 +1,44 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR\n" +" Click to add a contact in your address book.\n" +"
\n" +" OpenERP helps you easily track all activities related to\n" +" a customer; discussions, history of business opportunities,\n" +" documents, etc.\n" +"
\n" +" " +msgstr "" +"\n" +" Adres defterinizden bir carinin üzerine tıklayın.\n" +"
\n" +" OpenERP bir müşteriye ait bütün aktiviteleri takip etmenize\n" +" yardım eder; mesela iş fırsatlarını, dökümanları, vs.\n" +"
\n" +" " + +#. module: contacts +#: model:ir.actions.act_window,name:contacts.action_contacts +#: model:ir.ui.menu,name:contacts.menu_contacts +msgid "Contacts" +msgstr "Cariler" diff --git a/addons/crm/crm_action_rule_demo.xml b/addons/crm/crm_action_rule_demo.xml index 83f5681f311..14a9761e102 100644 --- a/addons/crm/crm_action_rule_demo.xml +++ b/addons/crm/crm_action_rule_demo.xml @@ -43,7 +43,7 @@ Thanks,\n" +" 单击 定义一个新的运输方法 \n" +"
\n" +" 每个承运商人 (比如:UPS,顺风)可以几种运输方法 \n" +" (例如:UPS Express, UPS Standard ) ,每种方法可\n" +" 以有一个定价规则.\n" +"
\n" +" 在销售订单(基于报价单)或者发票(基于发运单),\n" +" 这些方法可以根据你的设置自动计算运输价格;\n" +"
\n" +" " #. module: delivery #: code:addons/delivery/delivery.py:221 #, python-format msgid "No line matched this product or order in the chosen delivery grid." -msgstr "" +msgstr "在选择运输网络里,没有一行匹配这个产品或者订单。" #. module: delivery #: model:ir.actions.act_window,name:delivery.action_picking_tree4 @@ -145,6 +156,13 @@ msgid "" " \n" " " msgstr "" +"\n" +" 单击 为指定区域创建运输价格表.\n" +"
\n" +" 运输价格表允许 根据产品的重量和其他条件,计算运输的成本和销售价格.\n" +" 你能为每种运输方法定义几种价格表:为每个国家,或者在特定国家根据邮政编码的定义的一个区域.\n" +"
\n" +" " #. module: delivery #: report:sale.shipping:0 @@ -164,7 +182,7 @@ msgstr "金额" #. module: delivery #: view:sale.order:0 msgid "Add in Quote" -msgstr "" +msgstr "添加引用" #. module: delivery #: selection:delivery.grid.line,price_type:0 @@ -217,7 +235,7 @@ msgstr "网络定义" #: code:addons/delivery/stock.py:89 #, python-format msgid "Warning!" -msgstr "" +msgstr "警告!" #. module: delivery #: field:delivery.grid.line,operator:0 @@ -237,14 +255,14 @@ msgstr "销售订单" #. module: delivery #: model:ir.model,name:delivery.model_stock_picking_out msgid "Delivery Orders" -msgstr "" +msgstr "送货单" #. module: delivery #: view:sale.order:0 msgid "" "If you don't 'Add in Quote', the exact price will be computed when invoicing " "based on delivery order(s)." -msgstr "" +msgstr "如果你没有“添加引用”,当基于送货单开票时,将计算精确的价格。" #. module: delivery #: field:delivery.carrier,partner_id:0 @@ -293,7 +311,7 @@ msgstr "免费送货的订单金额,以公司本位币显示" #. module: delivery #: field:delivery.carrier,free_if_more_than:0 msgid "Free If Order Total Amount Is More Than" -msgstr "" +msgstr "当订单总额多于 时,免费" #. module: delivery #: field:delivery.grid.line,grid_id:0 @@ -409,7 +427,7 @@ msgstr "条件" #. module: delivery #: constraint:stock.move:0 msgid "You must assign a serial number for this product." -msgstr "" +msgstr "你必须为这个产品指定序列号" #. module: delivery #: field:delivery.grid.line,standard_price:0 @@ -419,7 +437,7 @@ msgstr "成本价" #. module: delivery #: constraint:stock.move:0 msgid "You cannot move products from or to a location of the type view." -msgstr "" +msgstr "你不能从视图类型的库位移动" #. module: delivery #: selection:delivery.grid.line,price_type:0 @@ -474,7 +492,7 @@ msgstr "订单号必须在一个公司范围内唯一" #. module: delivery #: model:ir.model,name:delivery.model_stock_picking_in msgid "Incoming Shipments" -msgstr "" +msgstr "入库" #. module: delivery #: selection:delivery.grid.line,operator:0 @@ -484,7 +502,7 @@ msgstr "<=" #. module: delivery #: constraint:stock.move:0 msgid "You try to assign a lot which is not from the same product." -msgstr "" +msgstr "您企图为不一样的产品创建批号" #. module: delivery #: report:sale.shipping:0 @@ -558,7 +576,7 @@ msgstr "承运方" #: model:ir.actions.act_window,name:delivery.action_delivery_carrier_form #: model:ir.ui.menu,name:delivery.menu_action_delivery_carrier_form msgid "Delivery Methods" -msgstr "" +msgstr "运输方法" #. module: delivery #: field:sale.order,id:0 @@ -589,7 +607,7 @@ msgstr "销售价格" #. module: delivery #: view:stock.picking.out:0 msgid "Print Delivery Order" -msgstr "" +msgstr "打印送货单" #. module: delivery #: view:delivery.grid:0 diff --git a/addons/delivery/sale.py b/addons/delivery/sale.py index 3ed3756a733..24da03bf1d8 100644 --- a/addons/delivery/sale.py +++ b/addons/delivery/sale.py @@ -31,10 +31,10 @@ class sale_order(osv.osv): 'id': fields.integer('ID', readonly=True,invisible=True), } - def onchange_partner_id(self, cr, uid, ids, part): - result = super(sale_order, self).onchange_partner_id(cr, uid, ids, part) + def onchange_partner_id(self, cr, uid, ids, part, context=None): + result = super(sale_order, self).onchange_partner_id(cr, uid, ids, part, context=context) if part: - dtype = self.pool.get('res.partner').browse(cr, uid, part).property_delivery_carrier.id + dtype = self.pool.get('res.partner').browse(cr, uid, part, context=context).property_delivery_carrier.id result['value']['carrier_id'] = dtype return result diff --git a/addons/document/i18n/nb.po b/addons/document/i18n/nb.po index 7858ff1dde4..4a9ea425402 100644 --- a/addons/document/i18n/nb.po +++ b/addons/document/i18n/nb.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAMEOpenERP's Document Management System supports mapping virtual folders with documents. The virtual folder of a document can be used to manage the files attached to the document, or to print and download any report. This tool will create directories automatically according to modules installed.
+When executing this wizard, it will configure your directories automatically according to modules installed.
\n" +" " +"Kliknite da bi definirali novo radno mjesto.\n" +"
\n" +" " +"Radna mjesta se koriste da bi definirali funkciju i zahtjeve za taj posao.\n" +" " +"Možete voditi evidenciju broja radnika po radnom mjestu i pratit planirani \n" +" " +"razvoj.\n" +"
\n" +" " +"Možete dodati anketu za radno mjesto, koja će se koristiti za ispitivanje \n" +" " +"kandidata u procesu zapošljavanja.\n" +"
\n" +" " #. module: hr #: selection:hr.employee,gender:0 @@ -448,22 +473,22 @@ msgstr "" #. module: hr #: help:hr.config.settings,module_hr_evaluation:0 msgid "This installs the module hr_evaluation." -msgstr "" +msgstr "Ovo instalira modul hr_evaluation." #. module: hr #: constraint:hr.employee:0 msgid "Error! You cannot create recursive hierarchy of Employee(s)." -msgstr "" +msgstr "Greška! Ne možete kreirati rekurzivnu hijerarhiju radnika." #. module: hr #: help:hr.config.settings,module_hr_attendance:0 msgid "This installs the module hr_attendance." -msgstr "" +msgstr "Ovo instalira modul hr_attendance." #. module: hr #: field:hr.employee,image_small:0 msgid "Smal-sized photo" -msgstr "" +msgstr "Fotografija malih dimenzija" #. module: hr #: view:hr.employee.category:0 @@ -474,12 +499,12 @@ msgstr "Kategorija djelatnika" #. module: hr #: field:hr.employee,category_ids:0 msgid "Tags" -msgstr "" +msgstr "Oznake" #. module: hr #: help:hr.config.settings,module_hr_contract:0 msgid "This installs the module hr_contract." -msgstr "" +msgstr "Ovo instalira modul hr_contract." #. module: hr #: view:hr.employee:0 @@ -489,7 +514,7 @@ msgstr "Povezani Korisnik" #. module: hr #: view:hr.config.settings:0 msgid "or" -msgstr "" +msgstr "ili" #. module: hr #: field:hr.employee.category,name:0 @@ -499,12 +524,12 @@ msgstr "Kategorija" #. module: hr #: view:hr.job:0 msgid "Stop Recruitment" -msgstr "" +msgstr "Zaustavi proces zapošljavanja" #. module: hr #: field:hr.config.settings,module_hr_attendance:0 msgid "Install attendances feature" -msgstr "" +msgstr "Instaliraj modul za praćenje prisustva" #. module: hr #: help:hr.employee,bank_account_id:0 @@ -534,7 +559,7 @@ msgstr "Kontakt podaci" #. module: hr #: field:hr.config.settings,module_hr_holidays:0 msgid "Manage holidays, leaves and allocation requests" -msgstr "" +msgstr "Upravljaj godišnjima, izostancima i zahtjevima za slobodne dane" #. module: hr #: field:hr.department,child_ids:0 @@ -561,12 +586,12 @@ msgstr "Ugovor djelatnika" #. module: hr #: view:hr.config.settings:0 msgid "Contracts" -msgstr "" +msgstr "Ugovori" #. module: hr #: help:hr.job,message_ids:0 msgid "Messages and communication history" -msgstr "" +msgstr "Poruke i povijest komuniciranja" #. module: hr #: field:hr.employee,ssnid:0 @@ -576,12 +601,12 @@ msgstr "JMBG" #. module: hr #: field:hr.job,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "Sljedbenik" #. module: hr #: field:hr.config.settings,module_hr_recruitment:0 msgid "Manage the recruitment process" -msgstr "" +msgstr "Upravljaj procesom zapošljavanja" #. module: hr #: view:hr.employee:0 @@ -591,12 +616,12 @@ msgstr "Aktivan" #. module: hr #: view:hr.config.settings:0 msgid "Human Resources Management" -msgstr "" +msgstr "Upravljanje ljudskim resursima" #. module: hr #: view:hr.config.settings:0 msgid "Install your country's payroll" -msgstr "" +msgstr "Instaliraj plaće za Vašu državu" #. module: hr #: field:hr.employee,bank_account_id:0 @@ -611,7 +636,7 @@ msgstr "Tvrtke" #. module: hr #: field:hr.job,message_summary:0 msgid "Summary" -msgstr "" +msgstr "Sažetak" #. module: hr #: model:process.transition,note:hr.process_transition_contactofemployee0 @@ -636,21 +661,33 @@ msgid "" " \n" " " msgstr "" +"\n" +" " +"Kliknite da bi dodali novog radnika.\n" +"
\n" +" " +"Sa samo brzim pogledom na OpenERP karticu s radnikom, možete\n" +" " +"lako sazanti sve potrebne informacije za svaku osobu;\n" +" " +"kontakt podaci, radno mjesto, dostupnost, itd.\n" +"
\n" +" " #. module: hr #: view:hr.employee:0 msgid "HR Settings" -msgstr "" +msgstr "HR postavke (Ljudski resursi)" #. module: hr #: view:hr.employee:0 msgid "Citizenship & Other Info" -msgstr "" +msgstr "Državljanstvo i ostale informacije" #. module: hr #: constraint:hr.department:0 msgid "Error! You cannot create recursive departments." -msgstr "" +msgstr "Greška! Ne možete kreirati rekurzivne odjele." #. module: hr #: sql_constraint:res.users:0 @@ -665,7 +702,7 @@ msgstr "Poslovna adresa" #. module: hr #: view:hr.employee:0 msgid "Public Information" -msgstr "" +msgstr "Javne informacije" #. module: hr #: field:hr.employee,marital:0 @@ -690,7 +727,7 @@ msgstr "Fotografija" #. module: hr #: view:hr.config.settings:0 msgid "Cancel" -msgstr "" +msgstr "Otkaži" #. module: hr #: model:ir.actions.act_window,help:hr.open_module_tree_department @@ -705,17 +742,30 @@ msgid "" " \n" " " msgstr "" +"\n" +" " +"Kliknite da bi kreirali odjel.\n" +" " +"
\n" +" " +"OpenERP odjelska struktura se koristi za upravljanje svim dokumentima \n" +" " +"vezanih za radnika prema odjelima: troškovi, kontrolne kartice, \n" +" " +"godišnji i odsustva, zapošljavanja, itd.\n" +"
\n" +" " #. module: hr #: help:hr.config.settings,module_hr_timesheet:0 msgid "This installs the module hr_timesheet." -msgstr "" +msgstr "Ovo instalira modul hr_timesheet." #. module: hr #: field:hr.job,message_comment_ids:0 #: help:hr.job,message_comment_ids:0 msgid "Comments and emails" -msgstr "" +msgstr "Komentari i e-pošta." #. module: hr #: model:ir.actions.act_window,help:hr.view_department_form_installer @@ -730,6 +780,19 @@ msgid "" " \n" " " msgstr "" +"\n" +" " +"Kliknite da bi definirali novi odjel.\n" +"
\n" +" " +"Vaša odjelska struktura se koristi kako bi upravljali svim dokumentima\n" +" " +"vezanim za radnike po odjelima: troškovi i kontrolne kartice, odsustva i " +"godišnji,\n" +" " +"zapošljavanje, itd.\n" +"
\n" +" " #. module: hr #: view:hr.employee:0 @@ -754,13 +817,15 @@ msgstr "Poslovni mobitel" #. module: hr #: selection:hr.job,state:0 msgid "Recruitement in Progress" -msgstr "" +msgstr "Zapošljavanje u tijeku" #. module: hr #: field:hr.config.settings,module_account_analytic_analysis:0 msgid "" "Allow invoicing based on timesheets (the sale application will be installed)" msgstr "" +"Dopusti fakturiranje na osnovu kontrolnih kartica (aplikacija za prodaju će " +"biti instalirana)" #. module: hr #: view:hr.employee.category:0 @@ -780,7 +845,7 @@ msgstr "Kućna adresa" #. module: hr #: field:hr.config.settings,module_hr_timesheet:0 msgid "Manage timesheets" -msgstr "" +msgstr "Upravljaj kontrolnim karticama" #. module: hr #: model:ir.actions.act_window,name:hr.open_view_categ_tree @@ -811,12 +876,12 @@ msgstr "Na poziciji" #. module: hr #: help:hr.config.settings,module_hr_payroll:0 msgid "This installs the module hr_payroll." -msgstr "" +msgstr "Ovo instalira modul hr_payroll." #. module: hr #: field:hr.config.settings,module_hr_contract:0 msgid "Record contracts per employee" -msgstr "" +msgstr "Zabilježi ugovore po radniku" #. module: hr #: view:hr.department:0 @@ -831,7 +896,7 @@ msgstr "Nacionalnost" #. module: hr #: view:hr.config.settings:0 msgid "Additional Features" -msgstr "" +msgstr "Dodatne opcije" #. module: hr #: field:hr.employee,notes:0 @@ -884,23 +949,23 @@ msgstr "Naziv odjela" #. module: hr #: model:ir.ui.menu,name:hr.menu_hr_reporting_timesheet msgid "Reports" -msgstr "" +msgstr "Izvještaji" #. module: hr #: field:hr.config.settings,module_hr_payroll:0 msgid "Manage payroll" -msgstr "" +msgstr "Upravljaj plaćama" #. module: hr #: view:hr.config.settings:0 #: model:ir.actions.act_window,name:hr.action_human_resources_configuration msgid "Configure Human Resources" -msgstr "" +msgstr "Konfiguriraj ljudske resurse" #. module: hr #: selection:hr.job,state:0 msgid "No Recruitment" -msgstr "" +msgstr "Nema zapošljavanja" #. module: hr #: help:hr.employee,ssnid:0 @@ -915,12 +980,12 @@ msgstr "Kreiranje OpenERP korisnika" #. module: hr #: field:hr.employee,login:0 msgid "Login" -msgstr "" +msgstr "Prijava" #. module: hr #: field:hr.job,expected_employees:0 msgid "Total Forecasted Employees" -msgstr "" +msgstr "Sveukupno predviđeni radnici" #. module: hr #: help:hr.job,state:0 @@ -928,11 +993,13 @@ msgid "" "By default 'In position', set it to 'In Recruitment' if recruitment process " "is going on for this job position." msgstr "" +"Zadane postavke 'U poziciji', postavite 'U procesu zapošljavanja' ako je " +"zapošljavanje u tijeku za to radno mjesto." #. module: hr #: model:ir.model,name:hr.model_res_users msgid "Users" -msgstr "" +msgstr "Korisnici" #. module: hr #: model:ir.actions.act_window,name:hr.action_hr_job @@ -958,6 +1025,33 @@ msgid "" " \n" " " msgstr "" +"\n" +" " +" Ploča ljudskih resursa je prazna.\n" +" " +"
\n" +" " +" Da bi dodali Vaš prvi izvještaj na ploču, idite na bilo " +"koji meni, promijenite\n" +" " +" pogled na listu ili graf, i kliknite 'Dodaj na " +"ploču' u proširenim\n" +" " +" opcijama pretraživanja.\n" +" " +"
\n" +" " +" Možete filtrirati i grupirati podatke prije nego ih " +"ubacite u ploču koristeći\n" +" " +" opcije za pretraživanje.\n" +" " +"
\n" +" " +"\n" +" 单击定义个一个新的工作岗位.\n" +"
\n" +" 工作岗位用来定义工作和他们的要求。\n" +" 你能跟踪跟踪每个工作岗位员工数,并且根据你未来的计划跟进变化。\n" +"
\n" +" 你能附加一个调查表到工作岗位. 用在招聘流程中评估这个岗位的申请人.\n" +"
\n" +" " #. module: hr #: selection:hr.employee,gender:0 @@ -437,26 +451,23 @@ msgid "" "$('.oe_employee_picture').load(function() { if($(this).width() > " "$(this).height()) { $(this).addClass('oe_employee_picture_wide') } });" msgstr "" +"$('.oe_employee_picture').load(function() { if($(this).width() > " +"$(this).height()) { $(this).addClass('oe_employee_picture_wide') } });" #. module: hr #: help:hr.config.settings,module_hr_evaluation:0 msgid "This installs the module hr_evaluation." -msgstr "" - -#. module: hr -#: constraint:hr.employee:0 -msgid "Error! You cannot create recursive hierarchy of Employee(s)." -msgstr "" +msgstr "为此要安装模块 hr_evaluation." #. module: hr #: help:hr.config.settings,module_hr_attendance:0 msgid "This installs the module hr_attendance." -msgstr "" +msgstr "为此要安装模块 hr_attendance." #. module: hr #: field:hr.employee,image_small:0 msgid "Smal-sized photo" -msgstr "" +msgstr "小尺寸照片" #. module: hr #: view:hr.employee.category:0 @@ -467,12 +478,12 @@ msgstr "员工分类" #. module: hr #: field:hr.employee,category_ids:0 msgid "Tags" -msgstr "" +msgstr "标签" #. module: hr #: help:hr.config.settings,module_hr_contract:0 msgid "This installs the module hr_contract." -msgstr "" +msgstr "为此要安装模块hr_contract." #. module: hr #: view:hr.employee:0 @@ -482,7 +493,7 @@ msgstr "相关用户" #. module: hr #: view:hr.config.settings:0 msgid "or" -msgstr "" +msgstr "or" #. module: hr #: field:hr.employee.category,name:0 @@ -492,12 +503,12 @@ msgstr "分类" #. module: hr #: view:hr.job:0 msgid "Stop Recruitment" -msgstr "" +msgstr "停止招聘" #. module: hr #: field:hr.config.settings,module_hr_attendance:0 msgid "Install attendances feature" -msgstr "" +msgstr "安装 出勤率特性" #. module: hr #: help:hr.employee,bank_account_id:0 @@ -527,7 +538,7 @@ msgstr "联系信息" #. module: hr #: field:hr.config.settings,module_hr_holidays:0 msgid "Manage holidays, leaves and allocation requests" -msgstr "" +msgstr "管理假期、请假和分配请求" #. module: hr #: field:hr.department,child_ids:0 @@ -554,27 +565,27 @@ msgstr "员工合约" #. module: hr #: view:hr.config.settings:0 msgid "Contracts" -msgstr "" +msgstr "合同列表" #. module: hr #: help:hr.job,message_ids:0 msgid "Messages and communication history" -msgstr "" +msgstr "消息和通信历史" #. module: hr #: field:hr.employee,ssnid:0 msgid "SSN No" -msgstr "员工号" +msgstr "社会保险号SSN" #. module: hr #: field:hr.job,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "是一个关注者" #. module: hr #: field:hr.config.settings,module_hr_recruitment:0 msgid "Manage the recruitment process" -msgstr "" +msgstr "管理招聘流程" #. module: hr #: view:hr.employee:0 @@ -584,12 +595,12 @@ msgstr "生效" #. module: hr #: view:hr.config.settings:0 msgid "Human Resources Management" -msgstr "" +msgstr "人力资源管理" #. module: hr #: view:hr.config.settings:0 msgid "Install your country's payroll" -msgstr "" +msgstr "安装你所在国家的工资表" #. module: hr #: field:hr.employee,bank_account_id:0 @@ -604,7 +615,7 @@ msgstr "公司" #. module: hr #: field:hr.job,message_summary:0 msgid "Summary" -msgstr "" +msgstr "摘要" #. module: hr #: model:process.transition,note:hr.process_transition_contactofemployee0 @@ -627,21 +638,29 @@ msgid "" " \n" " " msgstr "" +"\n" +" 单击 添加新的员工.\n" +"
\n" +" 在OpenERP员工界面快速浏览一下,你\n" +" 能很容易看到你需要的每人的信息:\n" +" 包括 联系人数据、工作岗位、可用性等等.\n" +"
\n" +" " #. module: hr #: view:hr.employee:0 msgid "HR Settings" -msgstr "" +msgstr "人力资源设置" #. module: hr #: view:hr.employee:0 msgid "Citizenship & Other Info" -msgstr "" +msgstr "国籍和其他信息" #. module: hr #: constraint:hr.department:0 msgid "Error! You cannot create recursive departments." -msgstr "" +msgstr "错误!你不能创建循环的部门" #. module: hr #: sql_constraint:res.users:0 @@ -656,7 +675,7 @@ msgstr "工作地址" #. module: hr #: view:hr.employee:0 msgid "Public Information" -msgstr "" +msgstr "公开信息" #. module: hr #: field:hr.employee,marital:0 @@ -681,7 +700,7 @@ msgstr "相片" #. module: hr #: view:hr.config.settings:0 msgid "Cancel" -msgstr "" +msgstr "取消" #. module: hr #: model:ir.actions.act_window,help:hr.open_module_tree_department @@ -696,17 +715,25 @@ msgid "" " \n" " " msgstr "" +"\n" +" 单击创建部门.\n" +"
\n" +" OpenERP 的部门结构 用来管理所有跟部门员工相关\n" +" 的单据:费用、计工单、请假、假期和招聘等等。\n" +" \n" +"
\n" +" " #. module: hr #: help:hr.config.settings,module_hr_timesheet:0 msgid "This installs the module hr_timesheet." -msgstr "" +msgstr "为此要安装模块hr_timesheet." #. module: hr #: field:hr.job,message_comment_ids:0 #: help:hr.job,message_comment_ids:0 msgid "Comments and emails" -msgstr "" +msgstr "评论和电子邮件" #. module: hr #: model:ir.actions.act_window,help:hr.view_department_form_installer @@ -721,6 +748,14 @@ msgid "" " \n" " " msgstr "" +"\n" +" 单击创建部门.\n" +"
\n" +" OpenERP 的部门结构 用来管理所有跟部门员工相关\n" +" 的单据:费用、计工单、请假、假期和招聘等等。\n" +" \n" +"
\n" +" " #. module: hr #: view:hr.employee:0 @@ -745,13 +780,13 @@ msgstr "办公手机" #. module: hr #: selection:hr.job,state:0 msgid "Recruitement in Progress" -msgstr "" +msgstr "招聘进行中" #. module: hr #: field:hr.config.settings,module_account_analytic_analysis:0 msgid "" "Allow invoicing based on timesheets (the sale application will be installed)" -msgstr "" +msgstr "允许基于计工单开票(销售应用模块将被安装)" #. module: hr #: view:hr.employee.category:0 @@ -771,7 +806,7 @@ msgstr "家庭地址" #. module: hr #: field:hr.config.settings,module_hr_timesheet:0 msgid "Manage timesheets" -msgstr "" +msgstr "管理计工单" #. module: hr #: model:ir.actions.act_window,name:hr.open_view_categ_tree @@ -802,12 +837,12 @@ msgstr "在职" #. module: hr #: help:hr.config.settings,module_hr_payroll:0 msgid "This installs the module hr_payroll." -msgstr "" +msgstr "为此要安装模块 hr_payroll." #. module: hr #: field:hr.config.settings,module_hr_contract:0 msgid "Record contracts per employee" -msgstr "" +msgstr "记录每个员工的联系人" #. module: hr #: view:hr.department:0 @@ -822,7 +857,7 @@ msgstr "国籍" #. module: hr #: view:hr.config.settings:0 msgid "Additional Features" -msgstr "" +msgstr "附加特性" #. module: hr #: field:hr.employee,notes:0 @@ -875,23 +910,23 @@ msgstr "部门名称" #. module: hr #: model:ir.ui.menu,name:hr.menu_hr_reporting_timesheet msgid "Reports" -msgstr "" +msgstr "报表" #. module: hr #: field:hr.config.settings,module_hr_payroll:0 msgid "Manage payroll" -msgstr "" +msgstr "管理工资单" #. module: hr #: view:hr.config.settings:0 #: model:ir.actions.act_window,name:hr.action_human_resources_configuration msgid "Configure Human Resources" -msgstr "" +msgstr "配置人力资源" #. module: hr #: selection:hr.job,state:0 msgid "No Recruitment" -msgstr "" +msgstr "没有招聘" #. module: hr #: help:hr.employee,ssnid:0 @@ -911,19 +946,19 @@ msgstr "登录名" #. module: hr #: field:hr.job,expected_employees:0 msgid "Total Forecasted Employees" -msgstr "" +msgstr "预计员工数合计" #. module: hr #: help:hr.job,state:0 msgid "" "By default 'In position', set it to 'In Recruitment' if recruitment process " "is going on for this job position." -msgstr "" +msgstr "默认是'In position', 这个岗位的招聘进程开始后,设置为'In Recruitment'。" #. module: hr #: model:ir.model,name:hr.model_res_users msgid "Users" -msgstr "" +msgstr "用户" #. module: hr #: model:ir.actions.act_window,name:hr.action_hr_job @@ -949,6 +984,18 @@ msgid "" " \n" " " msgstr "" +"\n" +" 人力资源的仪表板是空的.\n" +"
\n" +" 要增加第一个报表到仪表板。\n" +" 进入任意菜单,切换为列表视图或者图形视图,\n" +" 然后在扩展搜索选项里点击“添加到仪表板”\n" +"
\n" +" 在插入到仪表板之前,你能过滤和分组这些数据.\n" +"
\n" +"\n" +" 单击定义一个评估计划 \n" +"
\n" +" 你能定义评估计划(例如:6个月后首次面谈,然后每年一次).\n" +" 然后每个员工能关联到一个评估计划,这样Openerp 能自动\n" +" 生成一个面谈要求给管理人员和下属.\n" +"
\n" +" " #. module: hr_evaluation #: view:hr_evaluation.plan.phase:0 @@ -405,7 +413,7 @@ msgstr "行动计划" #. module: hr_evaluation #: model:ir.ui.menu,name:hr_evaluation.menu_eval_hr_config msgid "Periodic Appraisal" -msgstr "定义复核" +msgstr "定期评估" #. module: hr_evaluation #: field:hr_evaluation.plan,month_next:0 @@ -438,7 +446,7 @@ msgstr "所有答案" #: view:hr.evaluation.interview:0 #: view:hr_evaluation.evaluation:0 msgid "Answer Survey" -msgstr "" +msgstr "填写问卷" #. module: hr_evaluation #: selection:hr.evaluation.report,month:0 @@ -549,7 +557,7 @@ msgstr " (employee_name)s: 业务伙伴名称" #: field:hr.evaluation.interview,message_is_follower:0 #: field:hr_evaluation.evaluation,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "是一个关注者" #. module: hr_evaluation #: view:hr.evaluation.report:0 @@ -580,7 +588,7 @@ msgstr "增加筛选条件" #: field:hr_evaluation.evaluation,message_comment_ids:0 #: help:hr_evaluation.evaluation,message_comment_ids:0 msgid "Comments and emails" -msgstr "" +msgstr "评论和电子邮件" #. module: hr_evaluation #: help:hr_evaluation.plan.phase,send_anonymous_employee:0 @@ -733,7 +741,7 @@ msgstr "取消" #. module: hr_evaluation #: constraint:hr.employee:0 msgid "Error! You cannot create recursive hierarchy of Employee(s)." -msgstr "" +msgstr "错误!,你不能创建循环的员工层次" #. module: hr_evaluation #: view:hr.evaluation.report:0 @@ -836,7 +844,7 @@ msgstr "阶段" #. module: hr_evaluation #: selection:hr_evaluation.plan.phase,action:0 msgid "Bottom-Up Appraisal Requests" -msgstr "自下而上的考评申请" +msgstr "自下而上的评估申请" #. module: hr_evaluation #: selection:hr.evaluation.report,month:0 @@ -847,7 +855,7 @@ msgstr "2月" #: view:hr.evaluation.interview:0 #: view:hr_evaluation.evaluation:0 msgid "Interview Appraisal" -msgstr "面谈评估" +msgstr "面谈测评" #. module: hr_evaluation #: field:survey.request,is_evaluation:0 @@ -871,7 +879,7 @@ msgstr "面谈员工" msgid "" "You cannot change state, because some appraisal(s) are in waiting answer or " "draft state." -msgstr "" +msgstr "你不能改变状态,因为有些评估正在等待结果。" #. module: hr_evaluation #: selection:hr.evaluation.report,month:0 @@ -887,7 +895,7 @@ msgstr "评估计划阶段" #: help:hr.evaluation.interview,message_ids:0 #: help:hr_evaluation.evaluation,message_ids:0 msgid "Messages and communication history" -msgstr "" +msgstr "消息和通信历史" #. module: hr_evaluation #: view:hr.evaluation.interview:0 diff --git a/addons/hr_holidays/hr_holidays.py b/addons/hr_holidays/hr_holidays.py index 0f117432528..09936d07767 100644 --- a/addons/hr_holidays/hr_holidays.py +++ b/addons/hr_holidays/hr_holidays.py @@ -143,7 +143,7 @@ class hr_holidays(osv.osv): 'date_from': fields.datetime('Start Date', readonly=True, states={'draft':[('readonly',False)], 'confirm':[('readonly',False)]}, select=True), 'date_to': fields.datetime('End Date', readonly=True, states={'draft':[('readonly',False)], 'confirm':[('readonly',False)]}), 'holiday_status_id': fields.many2one("hr.holidays.status", "Leave Type", required=True,readonly=True, states={'draft':[('readonly',False)], 'confirm':[('readonly',False)]}), - 'employee_id': fields.many2one('hr.employee', "Employee", select=True, invisible=False, readonly=True, states={'draft':[('readonly',False)], 'confirm':[('readonly',False)]}, help='Leave Manager can let this field empty if this leave request/allocation is for every employee'), + 'employee_id': fields.many2one('hr.employee', "Employee", select=True, invisible=False, readonly=True, states={'draft':[('readonly',False)], 'confirm':[('readonly',False)]}), 'manager_id': fields.many2one('hr.employee', 'First Approval', invisible=False, readonly=True, help='This area is automatically filled by the user who validate the leave'), 'notes': fields.text('Reasons',readonly=True, states={'draft':[('readonly',False)], 'confirm':[('readonly',False)]}), 'number_of_days_temp': fields.float('Allocation', readonly=True, states={'draft':[('readonly',False)], 'confirm':[('readonly',False)]}), diff --git a/addons/hr_holidays/hr_holidays_view.xml b/addons/hr_holidays/hr_holidays_view.xml index 21744d2df3f..aba6dd36538 100644 --- a/addons/hr_holidays/hr_holidays_view.xml +++ b/addons/hr_holidays/hr_holidays_view.xml @@ -3,7 +3,7 @@- Click to add some tasks work to be invoiced. -
- This list shows every task you can invoice to the customer. - Select the lines and invoice from the 'more...' contextual - menu to generate invoices automatically. -
-- Click to add projects/analytic accounts you worked on. + Click to add projects, contracts or analytic accounts.
You will be able to register your working hours and activities. -
- By default, you record timesheets on analytic accounts. - But if an analytic account represents a customer - contract, you can change the type of the analytic - account to 'Contract or Project' to setup the invoicing - options.
No private message.
@@ -64,10 +65,11 @@
- No todo!
+ No todo.
When you process messages in your inbox, you can mark some
as todo. From this menu, you can process all your todo.
@@ -80,12 +82,12 @@
No message found and no message sent yet.
diff --git a/addons/mail/static/src/css/mail.css b/addons/mail/static/src/css/mail.css
index 94a5c2d1f41..638d016921b 100644
--- a/addons/mail/static/src/css/mail.css
+++ b/addons/mail/static/src/css/mail.css
@@ -48,7 +48,7 @@
.openerp .oe_mail .oe_msg{
position: relative;
- background: #F4F5FA;
+ background: #EDEDF6;
border-radius: 2px;
margin-bottom: 2px;
min-height: 42px;
@@ -70,7 +70,7 @@
margin-left: 40px;
}
.openerp .oe_mail .oe_msg .oe_msg_footer{
- padding-left: 4px;
+ margin-left: 4px;
padding-top: 3px;
overflow: hidden;
margin-bottom: 4px;
@@ -94,6 +94,10 @@
.openerp .oe_mail .oe_msg .oe_msg_content .oe_msg_body p {
margin-bottom: 0px;
}
+.openerp .oe_mail .oe_msg .oe_msg_content .oe_msg_body * {
+ text-overflow:ellipsis;
+ word-wrap: break-word;
+}
/* a) Indented Messages */
@@ -380,6 +384,10 @@
line-height: 12px;
vertical-align: middle;
}
+.openerp .oe_mail .oe_msg_footer button.oe_post{
+ position: relative;
+ z-index: 2;
+}
.openerp .oe_mail .oe_msg_footer button.oe_attach{
width: 24px;
overflow: hidden;
@@ -387,8 +395,9 @@
}
.openerp .oe_mail .oe_msg_footer button.oe_attach .oe_e{
position: relative;
- top: -1px;
- left: -9px;
+ top: -4px;
+ margin-left: -9px;
+ vertical-align: middle;
filter:none;
}
.openerp .oe_mail .oe_hidden_input_file, .openerp .oe_mail .oe_hidden_input_file form{
@@ -402,8 +411,9 @@
}
.openerp .oe_mail .oe_msg_footer button.oe_full .oe_e{
position: relative;
- top: -1px;
- left: -9px;
+ top: -4px;
+ margin-left: -9px;
+ vertical-align: middle;
filter:none;
}
.openerp .oe_mail button.oe_attach, .openerp .oe_mail button.oe_full{
@@ -418,13 +428,17 @@
color: #7C7BAD;
margin-left: -3px;
}
+.openerp .oe_mail .oe_msg_footer .oe_attachment_file{
+ cursor: pointer;
+}
.openerp .oe_mail .oe_msg_footer .oe_attachment_file .oe_form_binary_file{
display: inline-block;
- margin-left: -47px;
- height: 28px;
- width: 52px;
- margin-top: -6px;
+ margin-left: -122px;
+ height: 22px;
+ width: 128px;
+ margin-top: -4px;
filter:none;
+ cursor: pointer;
}
.openerp .oe_mail .oe_mail_list_recipients{
font-size: 12px;
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index 44bb4e9ae09..a5beaac229f 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -204,7 +204,7 @@ openerp.mail = function (session) {
this.subject = datasets.subject || false,
this.name = datasets.name || false,
this.record_name = datasets.record_name || false,
- this.body = datasets.body || false,
+ this.body = datasets.body || '',
this.vote_nb = datasets.vote_nb || 0,
this.has_voted = datasets.has_voted || false,
this.is_favorite = datasets.is_favorite || false,
@@ -508,7 +508,6 @@ openerp.mail = function (session) {
res_model: 'mail.compose.message',
view_mode: 'form',
view_type: 'form',
- action_from: 'mail.ThreadComposeMessage',
views: [[false, 'form']],
target: 'new',
context: context,
@@ -574,12 +573,7 @@ openerp.mail = function (session) {
var message = thread.create_message_object( data[0] );
// insert the message on dom
thread.insert_message( message, root ? undefined : self.$el, root );
- if (thread.parent_message) {
- self.$el.remove();
- self.parent_thread.compose_message = null;
- } else {
- self.on_cancel();
- }
+ self.on_cancel();
});
//session.web.unblockUI();
});
@@ -591,11 +585,11 @@ openerp.mail = function (session) {
*/
on_compose_expandable: function (event) {
- if (!this.stay_open && (!this.show_composer || !this.$('textarea:not(.oe_compact)').val().match(/\S+/))) {
+ if ((!this.stay_open || (event && event.type == 'click')) && (!this.show_composer || !this.$('textarea:not(.oe_compact)').val().match(/\S+/))) {
this.show_composer = !this.show_composer || this.stay_open;
this.reinit();
}
- if (!this.stay_open && this.show_composer) {
+ if (!this.stay_open && this.show_composer && (!event || event.type != 'blur')) {
this.$('textarea:not(.oe_compact):first').focus();
}
return true;
@@ -725,7 +719,7 @@ openerp.mail = function (session) {
on_message_reply:function (event) {
event.stopPropagation();
this.create_thread();
- this.thread.on_compose_message();
+ this.thread.on_compose_message(event);
return false;
},
@@ -833,9 +827,10 @@ openerp.mail = function (session) {
return false;
},
- /*The selected thread and all childs (messages/thread) became read
- * @param {object} mouse envent
- */
+ /* Set the selected thread and all childs as read or unread, based on
+ * read parameter.
+ * @param {boolean} read_value
+ */
on_message_read_unread: function (read_value) {
var self = this;
var messages = [this].concat(this.get_childs());
@@ -958,7 +953,7 @@ openerp.mail = function (session) {
this.options = options.options;
this.options.root_thread = (options.options.root_thread != undefined ? options.options.root_thread : this);
- this.options.show_compose_message = this.options.show_compose_message && (this.options.display_indented_thread >= this.thread_level || !this.thread_level);
+ this.options.show_compose_message = this.options.show_compose_message && !this.thread_level;
// record options and data
this.parent_message= parent.thread!= undefined ? parent : false ;
@@ -995,7 +990,7 @@ openerp.mail = function (session) {
// add message composition form view
if (!this.compose_message) {
this.compose_message = new mail.ThreadComposeMessage(this, this, {
- 'context': this.context,
+ 'context': this.options.compose_as_todo && !this.thread_level ? _.extend(this.context, { 'default_favorite_user_ids': [this.session.uid] }) : this.context,
'options': this.options,
});
if (!this.thread_level || this.thread_level > this.options.display_indented_thread) {
@@ -1136,9 +1131,9 @@ openerp.mail = function (session) {
* Call the on_compose_expandable method to allow the user to write his message.
* (Is call when a user click on "Reply" button)
*/
- on_compose_message: function () {
+ on_compose_message: function (event) {
this.instantiate_compose_message();
- this.compose_message.on_compose_expandable();
+ this.compose_message.on_compose_expandable(event);
return false;
},
@@ -1241,6 +1236,7 @@ openerp.mail = function (session) {
} else {
message.appendTo(self.$el);
}
+ message.$el.hide().fadeIn(500);
return message
},
@@ -1262,6 +1258,9 @@ openerp.mail = function (session) {
// insert the message on dom
thread.insert_message( message, typeof dom_insert_after == 'object' ? dom_insert_after : false);
});
+ if (!records.length && this.options.root_thread == this) {
+ this.no_message();
+ }
},
/**
@@ -1291,8 +1290,10 @@ openerp.mail = function (session) {
var messages = _.sortBy( this.messages, function (val) { return val.id; });
var it = _.indexOf( messages, message );
- var msg_up = messages[it-1];
- var msg_down = messages[it+1];
+ var msg_up = message.$el.prev('.oe_msg');
+ var msg_down = message.$el.next('.oe_msg');
+ var msg_up = msg_up.hasClass('oe_msg_expandable') ? _.find( this.messages, function (val) { return val.$el[0] == msg_up[0]; }) : false;
+ var msg_down = msg_down.hasClass('oe_msg_expandable') ? _.find( this.messages, function (val) { return val.$el[0] == msg_down[0]; }) : false;
var message_dom = [ ["id", "=", message.id] ];
@@ -1397,6 +1398,8 @@ openerp.mail = function (session) {
*... @param {Array} [message_ids] List of ids to fetch by the root thread.
* When you use this option, the domain is not used for the fetch root.
* @param {String} [no_message] Message to display when there are no message
+ * @param {Boolean} [show_link_partner] Display partner (authors, followers...) on link or not
+ * @param {Boolean} [compose_as_todo] The root composer mark automatically the message as todo
*/
init: function (parent, action) {
this._super(parent, action);
@@ -1414,8 +1417,10 @@ openerp.mail = function (session) {
'show_compose_message' : false,
'show_compact_message' : false,
'compose_placeholder': false,
+ 'show_link_partner': true,
'view_inbox': false,
'message_ids': undefined,
+ 'compose_as_todo' : false,
}, this.action.params);
this.action.params.help = this.action.help || false;
@@ -1441,7 +1446,6 @@ openerp.mail = function (session) {
});
this.thread.appendTo( this.$el );
- this.thread.no_message();
if (this.action.params.show_compose_message) {
this.thread.instantiate_compose_message();
@@ -1632,7 +1636,7 @@ openerp.mail = function (session) {
*/
do_searchview_search: function (domains, contexts, groupbys) {
var self = this;
- this.rpc('/web/session/eval_domain_and_context', {
+ session.web.pyeval.eval_domains_and_contexts({
domains: domains || [],
contexts: contexts || [],
group_by_seq: groupbys || []
diff --git a/addons/mail/static/src/xml/mail.xml b/addons/mail/static/src/xml/mail.xml
index bb787c9a21b..cca908a5d98 100644
--- a/addons/mail/static/src/xml/mail.xml
+++ b/addons/mail/static/src/xml/mail.xml
@@ -34,14 +34,14 @@
+ Youd don't have unread company's news. +
++ Youd don't have unread job offers. +
++ Good Job! Your inbox is empty. +
+ Your inbox contains private messages or emails sent to you + as well as information related to documents or people you + follow. +
+%s' % (_(WELCOME_EMAIL_BODY) % data), 'state': 'outgoing', } - return mail_mail.create(cr, uid, mail_values, context=this_context) + mail_id = mail_mail.create(cr, uid, mail_values, context=this_context) + return mail_mail.send(cr, uid, [mail_id], context=this_context) # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/portal_claim/i18n/zh_CN.po b/addons/portal_claim/i18n/zh_CN.po new file mode 100644 index 00000000000..d76276fad8d --- /dev/null +++ b/addons/portal_claim/i18n/zh_CN.po @@ -0,0 +1,42 @@ +# Chinese (Simplified) translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR
\n" +" Click to register a new claim. \n" +"
\n" +" You can track your claims from this menu and the action we\n" +" will take.\n" +"
\n" +" " +msgstr "" +"\n" +" 单击 登记一个新的索赔。 \n" +"
\n" +" 从这个菜单,你能跟踪你的索赔和我们需要采取的行动。\n" +"
\n" +" " + +#. module: portal_claim +#: model:ir.actions.act_window,name:portal_claim.crm_case_categ_claim0 +#: model:ir.ui.menu,name:portal_claim.portal_after_sales_claims +msgid "Claims" +msgstr "索赔" diff --git a/addons/portal_claim/portal_claim_view.xml b/addons/portal_claim/portal_claim_view.xml index e08b39e476b..cd0e4941286 100644 --- a/addons/portal_claim/portal_claim_view.xml +++ b/addons/portal_claim/portal_claim_view.xml @@ -6,10 +6,11 @@
Click to register a new claim.
diff --git a/addons/portal_claim/security/ir.model.access.csv b/addons/portal_claim/security/ir.model.access.csv
index ab2a2f66770..4fcfd0f947f 100644
--- a/addons/portal_claim/security/ir.model.access.csv
+++ b/addons/portal_claim/security/ir.model.access.csv
@@ -1,3 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-access_crm_claim,crm.claim,crm_claim.model_crm_claim,portal.group_portal,1,0,0,0
+access_crm_claim,crm.claim,crm_claim.model_crm_claim,portal.group_portal,1,0,1,0
access_crm_claim_stage,crm.claim.stage,crm_claim.model_crm_claim_stage,portal.group_portal,1,0,0,0
diff --git a/addons/portal_claim/security/portal_security.xml b/addons/portal_claim/security/portal_security.xml
index 3742765f795..af5261c408b 100644
--- a/addons/portal_claim/security/portal_security.xml
+++ b/addons/portal_claim/security/portal_security.xml
@@ -2,7 +2,7 @@
+ Click to start a new project.
+ \n"
+" Click to create an issue.\n"
+" \n"
+" OpenERP's kanban view will help you track easily your "
+"current \n"
+" pipeline of issues to fix.\n"
+" \n"
+" 单击创建一个问题.\n"
+" \n"
+" OpenERP的看板视图将帮助你更便于跟踪你的当前问题被修复的途径。\n"
+"
Click to create an issue.
- OpenERP's kanban view will help you track easily your current
- pipeline of issues to fix.
+ You can track your issues from this menu and the action we
+ will take.
Meet the team
-
-
-
-
-
Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name " +"or ''},
\n" +"\n" +"A new invoice is available for you:
\n" +" \n" +"\n"
+" REFERENCES
\n"
+" Invoice number: ${object.number}
\n"
+" Invoice total: ${object.amount_total} "
+"${object.currency_id.name}
\n"
+" Invoice date: ${object.date_invoice}
\n"
+" % if object.origin:\n"
+" Order reference: ${object.origin}
\n"
+" % endif\n"
+" % if object.user_id:\n"
+" Your contact: ${object.user_id.name}\n"
+" % endif\n"
+"
\n" +" You can access the invoice document and pay online via our Customer " +"Portal:\n" +"
\n" +" View Invoice\n" +" % endif\n" +" \n" +" % if object.company_id.paypal_account and object.type in ('out_invoice', " +"'in_refund'):\n" +" <% \n" +" comp_name = quote(object.company_id.name)\n" +" inv_number = quote(object.number)\n" +" paypal_account = quote(object.company_id.paypal_account)\n" +" inv_amount = quote(str(object.residual))\n" +" cur_name = quote(object.currency_id.name)\n" +" paypal_url = \"https://www.paypal.com/cgi-" +"bin/webscr?cmd=_xclick&business=%s&item_name=%s%%20Invoice%%20%s&" +"\" \\\n" +" " +"\"invoice=%s&amount=%s¤cy_code=%s&button_subtype=services&a" +"mp;no_note=1&bn=OpenERP_Invoice_PayNow_%s\" % \\\n" +" " +"(paypal_account,comp_name,inv_number,inv_number,inv_amount,cur_name,cur_name)" +"\n" +" %>\n" +"It is also possible to directly pay with Paypal:
\n" +" \n" +"If you have any question, do not hesitate to contact us.
\n" +"Thank you for choosing ${object.company_id.name or 'us'}!
\n" +"Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name " +"or ''},
\n" +" \n" +"Here is your ${object.state in ('draft', 'sent') and 'quotation' or " +"'order confirmation'} from ${object.company_id.name}:
\n" +"\n" +"\n"
+" REFERENCES
\n"
+" Order number: ${object.name}
\n"
+" Order total: ${object.amount_total} "
+"${object.pricelist_id.currency_id.name}
\n"
+" Order date: ${object.date_order}
\n"
+" % if object.origin:\n"
+" Order reference: ${object.origin}
\n"
+" % endif\n"
+" % if object.client_order_ref:\n"
+" Your reference: ${object.client_order_ref}
\n"
+" % endif\n"
+" % if object.user_id:\n"
+" Your contact: ${object.user_id.name}\n"
+" % endif\n"
+"
\n" +" You can access this document and pay online via our Customer Portal:\n" +"
\n" +" View ${object.state in ('draft', 'sent') " +"and 'Quotation' or 'Order'}\n" +" % endif\n" +"\n" +" % if object.order_policy in ('prepaid','manual') and " +"object.company_id.paypal_account and object.state != 'draft':\n" +" <%\n" +" comp_name = quote(object.company_id.name)\n" +" order_name = quote(object.name)\n" +" paypal_account = quote(object.company_id.paypal_account)\n" +" order_amount = quote(str(object.residual))\n" +" cur_name = quote(object.pricelist_id.currency_id.name)\n" +" paypal_url = \"https://www.paypal.com/cgi-" +"bin/webscr?cmd=_xclick&business=%s&item_name=%s%%20Order%%20%s\" \\\n" +" " +"\"&invoice=%s&amount=%s¤cy_code=%s&button_subtype=servi" +"ces&no_note=1\" \\\n" +" \"&bn=OpenERP_Order_PayNow_%s\" % \\\n" +" " +"(paypal_account,comp_name,order_name,order_name,order_amount,cur_name,cur_nam" +"e)\n" +" %>\n" +"It is also possible to directly pay with Paypal:
\n" +" \n" +"If you have any question, do not hesitate to contact us.
\n" +"Thank you for choosing ${object.company_id.name or 'us'}!
\n" +"Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name " +"or ''},
\n" +"\n" +"A new invoice is available for you:
\n" +" \n" +"\n"
+" REFERENCES
\n"
+" Invoice number: ${object.number}
\n"
+" Invoice total: ${object.amount_total} "
+"${object.currency_id.name}
\n"
+" Invoice date: ${object.date_invoice}
\n"
+" % if object.origin:\n"
+" Order reference: ${object.origin}
\n"
+" % endif\n"
+" % if object.user_id:\n"
+" Your contact: ${object.user_id.name}\n"
+" % endif\n"
+"
\n" +" You can access the invoice document and pay online via our Customer " +"Portal:\n" +"
\n" +" View Invoice\n" +" % endif\n" +" \n" +" % if object.company_id.paypal_account and object.type in ('out_invoice', " +"'in_refund'):\n" +" <% \n" +" comp_name = quote(object.company_id.name)\n" +" inv_number = quote(object.number)\n" +" paypal_account = quote(object.company_id.paypal_account)\n" +" inv_amount = quote(str(object.residual))\n" +" cur_name = quote(object.currency_id.name)\n" +" paypal_url = \"https://www.paypal.com/cgi-" +"bin/webscr?cmd=_xclick&business=%s&item_name=%s%%20Invoice%%20%s&" +"\" \\\n" +" " +"\"invoice=%s&amount=%s¤cy_code=%s&button_subtype=services&a" +"mp;no_note=1&bn=OpenERP_Invoice_PayNow_%s\" % \\\n" +" " +"(paypal_account,comp_name,inv_number,inv_number,inv_amount,cur_name,cur_name)" +"\n" +" %>\n" +"It is also possible to directly pay with Paypal:
\n" +" \n" +"If you have any question, do not hesitate to contact us.
\n" +"Thank you for choosing ${object.company_id.name or 'us'}!
\n" +"Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name " +"or ''},
\n" +" \n" +"Here is your ${object.state in ('draft', 'sent') and 'quotation' or " +"'order confirmation'} from ${object.company_id.name}:
\n" +"\n" +"\n"
+" REFERENCES
\n"
+" Order number: ${object.name}
\n"
+" Order total: ${object.amount_total} "
+"${object.pricelist_id.currency_id.name}
\n"
+" Order date: ${object.date_order}
\n"
+" % if object.origin:\n"
+" Order reference: ${object.origin}
\n"
+" % endif\n"
+" % if object.client_order_ref:\n"
+" Your reference: ${object.client_order_ref}
\n"
+" % endif\n"
+" % if object.user_id:\n"
+" Your contact: ${object.user_id.name}\n"
+" % endif\n"
+"
\n" +" You can access this document and pay online via our Customer Portal:\n" +"
\n" +" View ${object.state in ('draft', 'sent') " +"and 'Quotation' or 'Order'}\n" +" % endif\n" +"\n" +" % if object.order_policy in ('prepaid','manual') and " +"object.company_id.paypal_account and object.state != 'draft':\n" +" <%\n" +" comp_name = quote(object.company_id.name)\n" +" order_name = quote(object.name)\n" +" paypal_account = quote(object.company_id.paypal_account)\n" +" order_amount = quote(str(object.residual))\n" +" cur_name = quote(object.pricelist_id.currency_id.name)\n" +" paypal_url = \"https://www.paypal.com/cgi-" +"bin/webscr?cmd=_xclick&business=%s&item_name=%s%%20Order%%20%s\" \\\n" +" " +"\"&invoice=%s&amount=%s¤cy_code=%s&button_subtype=servi" +"ces&no_note=1\" \\\n" +" \"&bn=OpenERP_Order_PayNow_%s\" % \\\n" +" " +"(paypal_account,comp_name,order_name,order_name,order_amount,cur_name,cur_nam" +"e)\n" +" %>\n" +"It is also possible to directly pay with Paypal:
\n" +" \n" +"If you have any question, do not hesitate to contact us.
\n" +"Thank you for choosing ${object.company_id.name or 'us'}!
\n" +"Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name " +"or ''},
\n" +"\n" +"A new invoice is available for you:
\n" +" \n" +"\n"
+" REFERENCES
\n"
+" Invoice number: ${object.number}
\n"
+" Invoice total: ${object.amount_total} "
+"${object.currency_id.name}
\n"
+" Invoice date: ${object.date_invoice}
\n"
+" % if object.origin:\n"
+" Order reference: ${object.origin}
\n"
+" % endif\n"
+" % if object.user_id:\n"
+" Your contact: ${object.user_id.name}\n"
+" % endif\n"
+"
\n" +" You can access the invoice document and pay online via our Customer " +"Portal:\n" +"
\n" +" View Invoice\n" +" % endif\n" +" \n" +" % if object.company_id.paypal_account and object.type in ('out_invoice', " +"'in_refund'):\n" +" <% \n" +" comp_name = quote(object.company_id.name)\n" +" inv_number = quote(object.number)\n" +" paypal_account = quote(object.company_id.paypal_account)\n" +" inv_amount = quote(str(object.residual))\n" +" cur_name = quote(object.currency_id.name)\n" +" paypal_url = \"https://www.paypal.com/cgi-" +"bin/webscr?cmd=_xclick&business=%s&item_name=%s%%20Invoice%%20%s&" +"\" \\\n" +" " +"\"invoice=%s&amount=%s¤cy_code=%s&button_subtype=services&a" +"mp;no_note=1&bn=OpenERP_Invoice_PayNow_%s\" % \\\n" +" " +"(paypal_account,comp_name,inv_number,inv_number,inv_amount,cur_name,cur_name)" +"\n" +" %>\n" +"It is also possible to directly pay with Paypal:
\n" +" \n" +"If you have any question, do not hesitate to contact us.
\n" +"Thank you for choosing ${object.company_id.name or 'us'}!
\n" +"Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name " +"or ''},
\n" +" \n" +"Here is your ${object.state in ('draft', 'sent') and 'quotation' or " +"'order confirmation'} from ${object.company_id.name}:
\n" +"\n" +"\n"
+" REFERENCES
\n"
+" Order number: ${object.name}
\n"
+" Order total: ${object.amount_total} "
+"${object.pricelist_id.currency_id.name}
\n"
+" Order date: ${object.date_order}
\n"
+" % if object.origin:\n"
+" Order reference: ${object.origin}
\n"
+" % endif\n"
+" % if object.client_order_ref:\n"
+" Your reference: ${object.client_order_ref}
\n"
+" % endif\n"
+" % if object.user_id:\n"
+" Your contact: ${object.user_id.name}\n"
+" % endif\n"
+"
\n" +" You can access this document and pay online via our Customer Portal:\n" +"
\n" +" View ${object.state in ('draft', 'sent') " +"and 'Quotation' or 'Order'}\n" +" % endif\n" +"\n" +" % if object.order_policy in ('prepaid','manual') and " +"object.company_id.paypal_account and object.state != 'draft':\n" +" <%\n" +" comp_name = quote(object.company_id.name)\n" +" order_name = quote(object.name)\n" +" paypal_account = quote(object.company_id.paypal_account)\n" +" order_amount = quote(str(object.residual))\n" +" cur_name = quote(object.pricelist_id.currency_id.name)\n" +" paypal_url = \"https://www.paypal.com/cgi-" +"bin/webscr?cmd=_xclick&business=%s&item_name=%s%%20Order%%20%s\" \\\n" +" " +"\"&invoice=%s&amount=%s¤cy_code=%s&button_subtype=servi" +"ces&no_note=1\" \\\n" +" \"&bn=OpenERP_Order_PayNow_%s\" % \\\n" +" " +"(paypal_account,comp_name,order_name,order_name,order_amount,cur_name,cur_nam" +"e)\n" +" %>\n" +"It is also possible to directly pay with Paypal:
\n" +" \n" +"If you have any question, do not hesitate to contact us.
\n" +"Thank you for choosing ${object.company_id.name or 'us'}!
\n" +"Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name " +"or ''},
\n" +"\n" +"A new invoice is available for you:
\n" +" \n" +"\n"
+" REFERENCES
\n"
+" Invoice number: ${object.number}
\n"
+" Invoice total: ${object.amount_total} "
+"${object.currency_id.name}
\n"
+" Invoice date: ${object.date_invoice}
\n"
+" % if object.origin:\n"
+" Order reference: ${object.origin}
\n"
+" % endif\n"
+" % if object.user_id:\n"
+" Your contact: ${object.user_id.name}\n"
+" % endif\n"
+"
\n" +" You can access the invoice document and pay online via our Customer " +"Portal:\n" +"
\n" +" View Invoice\n" +" % endif\n" +" \n" +" % if object.company_id.paypal_account and object.type in ('out_invoice', " +"'in_refund'):\n" +" <% \n" +" comp_name = quote(object.company_id.name)\n" +" inv_number = quote(object.number)\n" +" paypal_account = quote(object.company_id.paypal_account)\n" +" inv_amount = quote(str(object.residual))\n" +" cur_name = quote(object.currency_id.name)\n" +" paypal_url = \"https://www.paypal.com/cgi-" +"bin/webscr?cmd=_xclick&business=%s&item_name=%s%%20Invoice%%20%s&" +"\" \\\n" +" " +"\"invoice=%s&amount=%s¤cy_code=%s&button_subtype=services&a" +"mp;no_note=1&bn=OpenERP_Invoice_PayNow_%s\" % \\\n" +" " +"(paypal_account,comp_name,inv_number,inv_number,inv_amount,cur_name,cur_name)" +"\n" +" %>\n" +"It is also possible to directly pay with Paypal:
\n" +" \n" +"If you have any question, do not hesitate to contact us.
\n" +"Thank you for choosing ${object.company_id.name or 'us'}!
\n" +"Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name " +"or ''},
\n" +" \n" +"Here is your ${object.state in ('draft', 'sent') and 'quotation' or " +"'order confirmation'} from ${object.company_id.name}:
\n" +"\n" +"\n"
+" REFERENCES
\n"
+" Order number: ${object.name}
\n"
+" Order total: ${object.amount_total} "
+"${object.pricelist_id.currency_id.name}
\n"
+" Order date: ${object.date_order}
\n"
+" % if object.origin:\n"
+" Order reference: ${object.origin}
\n"
+" % endif\n"
+" % if object.client_order_ref:\n"
+" Your reference: ${object.client_order_ref}
\n"
+" % endif\n"
+" % if object.user_id:\n"
+" Your contact: ${object.user_id.name}\n"
+" % endif\n"
+"
\n" +" You can access this document and pay online via our Customer Portal:\n" +"
\n" +" View ${object.state in ('draft', 'sent') " +"and 'Quotation' or 'Order'}\n" +" % endif\n" +"\n" +" % if object.order_policy in ('prepaid','manual') and " +"object.company_id.paypal_account and object.state != 'draft':\n" +" <%\n" +" comp_name = quote(object.company_id.name)\n" +" order_name = quote(object.name)\n" +" paypal_account = quote(object.company_id.paypal_account)\n" +" order_amount = quote(str(object.residual))\n" +" cur_name = quote(object.pricelist_id.currency_id.name)\n" +" paypal_url = \"https://www.paypal.com/cgi-" +"bin/webscr?cmd=_xclick&business=%s&item_name=%s%%20Order%%20%s\" \\\n" +" " +"\"&invoice=%s&amount=%s¤cy_code=%s&button_subtype=servi" +"ces&no_note=1\" \\\n" +" \"&bn=OpenERP_Order_PayNow_%s\" % \\\n" +" " +"(paypal_account,comp_name,order_name,order_name,order_amount,cur_name,cur_nam" +"e)\n" +" %>\n" +"It is also possible to directly pay with Paypal:
\n" +" \n" +"If you have any question, do not hesitate to contact us.
\n" +"Thank you for choosing ${object.company_id.name or 'us'}!
\n" +"Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name " +"or ''},
\n" +"\n" +"A new invoice is available for you:
\n" +" \n" +"\n"
+" REFERENCES
\n"
+" Invoice number: ${object.number}
\n"
+" Invoice total: ${object.amount_total} "
+"${object.currency_id.name}
\n"
+" Invoice date: ${object.date_invoice}
\n"
+" % if object.origin:\n"
+" Order reference: ${object.origin}
\n"
+" % endif\n"
+" % if object.user_id:\n"
+" Your contact: ${object.user_id.name}\n"
+" % endif\n"
+"
\n" +" You can access the invoice document and pay online via our Customer " +"Portal:\n" +"
\n" +" View Invoice\n" +" % endif\n" +" \n" +" % if object.company_id.paypal_account and object.type in ('out_invoice', " +"'in_refund'):\n" +" <% \n" +" comp_name = quote(object.company_id.name)\n" +" inv_number = quote(object.number)\n" +" paypal_account = quote(object.company_id.paypal_account)\n" +" inv_amount = quote(str(object.residual))\n" +" cur_name = quote(object.currency_id.name)\n" +" paypal_url = \"https://www.paypal.com/cgi-" +"bin/webscr?cmd=_xclick&business=%s&item_name=%s%%20Invoice%%20%s&" +"\" \\\n" +" " +"\"invoice=%s&amount=%s¤cy_code=%s&button_subtype=services&a" +"mp;no_note=1&bn=OpenERP_Invoice_PayNow_%s\" % \\\n" +" " +"(paypal_account,comp_name,inv_number,inv_number,inv_amount,cur_name,cur_name)" +"\n" +" %>\n" +"It is also possible to directly pay with Paypal:
\n" +" \n" +"If you have any question, do not hesitate to contact us.
\n" +"Thank you for choosing ${object.company_id.name or 'us'}!
\n" +"Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name " +"or ''},
\n" +" \n" +"Here is your ${object.state in ('draft', 'sent') and 'quotation' or " +"'order confirmation'} from ${object.company_id.name}:
\n" +"\n" +"\n"
+" REFERENCES
\n"
+" Order number: ${object.name}
\n"
+" Order total: ${object.amount_total} "
+"${object.pricelist_id.currency_id.name}
\n"
+" Order date: ${object.date_order}
\n"
+" % if object.origin:\n"
+" Order reference: ${object.origin}
\n"
+" % endif\n"
+" % if object.client_order_ref:\n"
+" Your reference: ${object.client_order_ref}
\n"
+" % endif\n"
+" % if object.user_id:\n"
+" Your contact: ${object.user_id.name}\n"
+" % endif\n"
+"
\n" +" You can access this document and pay online via our Customer Portal:\n" +"
\n" +" View ${object.state in ('draft', 'sent') " +"and 'Quotation' or 'Order'}\n" +" % endif\n" +"\n" +" % if object.order_policy in ('prepaid','manual') and " +"object.company_id.paypal_account and object.state != 'draft':\n" +" <%\n" +" comp_name = quote(object.company_id.name)\n" +" order_name = quote(object.name)\n" +" paypal_account = quote(object.company_id.paypal_account)\n" +" order_amount = quote(str(object.residual))\n" +" cur_name = quote(object.pricelist_id.currency_id.name)\n" +" paypal_url = \"https://www.paypal.com/cgi-" +"bin/webscr?cmd=_xclick&business=%s&item_name=%s%%20Order%%20%s\" \\\n" +" " +"\"&invoice=%s&amount=%s¤cy_code=%s&button_subtype=servi" +"ces&no_note=1\" \\\n" +" \"&bn=OpenERP_Order_PayNow_%s\" % \\\n" +" " +"(paypal_account,comp_name,order_name,order_name,order_amount,cur_name,cur_nam" +"e)\n" +" %>\n" +"It is also possible to directly pay with Paypal:
\n" +" \n" +"If you have any question, do not hesitate to contact us.
\n" +"Thank you for choosing ${object.company_id.name or 'us'}!
\n" +"\n" +" Cliquez pour créer un ordre d'approvisionnement.\n" +"
\n" +" Un ordre d'approvisionnement permet d'enregistrer le besoin " +"d'un article\n" +" précis à un emplacement précis. Les ordres " +"d'approvisionnements sont généralement\n" +" créés automatiquement depuis les ventes, les règles de flux " +"tirés ou\n" +" les règles de stock minimum.\n" +"
\n" +" Lorsqu'un ordre d'approvisionnement est confirmé, il crée\n" +" automatiquement les opérations nécessaire pour répondre au " +"besoin : proposition\n" +" de commande d'achat, ordre de fabrication, etc.\n" +"
\n" +" " #. module: procurement #: field:stock.warehouse.orderpoint,qty_multiple:0 @@ -568,14 +585,14 @@ msgstr "" #: help:procurement.orderpoint.compute,automatic:0 msgid "If the stock of a product is under 0, it will act like an orderpoint" msgstr "" -"Si le stock d'un produit est négatif, cela sera considéré comme un point de " +"Si le stock d'un article est négatif, cela sera considéré comme un point de " "commande" #. module: procurement #: field:procurement.order,product_uom:0 #: field:stock.warehouse.orderpoint,product_uom:0 msgid "Product Unit of Measure" -msgstr "" +msgstr "Unité de mesure d'article" #. module: procurement #: constraint:stock.warehouse.orderpoint:0 @@ -684,7 +701,7 @@ msgstr "Actif" #. module: procurement #: model:process.node,name:procurement.process_node_procureproducts0 msgid "Procure Products" -msgstr "Approvisionner les produits" +msgstr "Approvisionner les articles" #. module: procurement #: code:addons/procurement/procurement.py:336 @@ -703,7 +720,7 @@ msgstr "" #. module: procurement #: constraint:stock.move:0 msgid "You must assign a serial number for this product." -msgstr "" +msgstr "Vous devez attribuer un numéro de série pour cet article." #. module: procurement #: field:procurement.order,date_planned:0 @@ -767,7 +784,7 @@ msgstr "Nom de l'approvisionnement." #: code:addons/procurement/procurement.py:297 #, python-format msgid "No default supplier defined for this product" -msgstr "Pas de fournisseur par défaut défini pour ce produit" +msgstr "Pas de fournisseur par défaut défini pour cet article" #. module: procurement #: sql_constraint:stock.warehouse.orderpoint:0 @@ -941,12 +958,12 @@ msgstr "Date planifiée" #: field:procurement.order,product_id:0 #: field:stock.warehouse.orderpoint,product_id:0 msgid "Product" -msgstr "Produit" +msgstr "Article" #. module: procurement #: constraint:stock.move:0 msgid "You try to assign a lot which is not from the same product." -msgstr "" +msgstr "Vous tentez d'assigner un lot qui n'appartient pas au même article." #. module: procurement #: view:procurement.order:0 @@ -1001,7 +1018,7 @@ msgstr "Réservation" #. module: procurement #: model:process.node,note:procurement.process_node_procureproducts0 msgid "The way to procurement depends on the product type." -msgstr "Le moyen d’approvisionnement dépend du type de produit" +msgstr "Le moyen d’approvisionnement dépend du type de produit." #. module: procurement #: view:product.product:0 @@ -1047,7 +1064,7 @@ msgstr "" #. module: procurement #: field:procurement.order,product_uos:0 msgid "Product UoS" -msgstr "UdV du produit" +msgstr "UdV de l'article" #. module: procurement #: model:ir.model,name:procurement.model_product_template diff --git a/addons/product/i18n/fr.po b/addons/product/i18n/fr.po index a1a034d636e..f3f1876a431 100644 --- a/addons/product/i18n/fr.po +++ b/addons/product/i18n/fr.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:54+0000\n" -"PO-Revision-Date: 2012-05-10 18:23+0000\n" -"Last-Translator: Raphael Collet (OpenERP)\n" +" 单击定义一个新产品\n" +"
\n" +" 你必须为销售的每一样都定义一个产品。可以是物理产品、消耗品、或者你提供给客户的服务。\n" +"
\n" +" 产品表单包括下面的信息以简化销售处理:价格、报价事项,会计数据,供应方法等等。\n" +"
\n" +" " #. module: product #: view:product.price_list:0 @@ -1059,7 +1091,7 @@ msgstr "取消" #. module: product #: model:product.template,description:product.product_product_37_product_template msgid "All in one hi-speed printer with fax and scanner." -msgstr "" +msgstr "高速打印、传真、扫描一体机" #. module: product #: help:product.supplierinfo,min_qty:0 @@ -1067,7 +1099,7 @@ msgid "" "The minimal quantity to purchase to this supplier, expressed in the supplier " "Product Unit of Measure if not empty, in the default unit of measure of the " "product otherwise." -msgstr "" +msgstr "从供应商采购的最小数量,如果不是空的,就按明示的供应商单位。否则就是默认的计量单位。" #. module: product #: view:product.product:0 @@ -1109,17 +1141,17 @@ msgstr "价格额外费用" #: field:product.product,code:0 #: field:product.product,default_code:0 msgid "Internal Reference" -msgstr "" +msgstr "内部单号" #. module: product #: model:product.template,name:product.product_product_8_product_template msgid "USB Keyboard, QWERTY" -msgstr "" +msgstr "USB 键盘, QWERTY" #. module: product #: model:product.category,name:product.product_category_9 msgid "Softwares" -msgstr "" +msgstr "软件" #. module: product #: field:product.product,packaging:0 @@ -1141,12 +1173,12 @@ msgstr "名称" #. module: product #: model:product.category,name:product.product_category_4 msgid "Computers" -msgstr "" +msgstr "电脑" #. module: product #: help:product.product,message_ids:0 msgid "Messages and communication history" -msgstr "" +msgstr "消息和通信历史" #. module: product #: model:product.uom,name:product.product_uom_kgm @@ -1166,7 +1198,7 @@ msgstr "km" #. module: product #: field:product.template,standard_price:0 msgid "Cost" -msgstr "" +msgstr "成本" #. module: product #: help:product.category,sequence:0 @@ -1211,13 +1243,13 @@ msgstr "销售单位" #. module: product #: field:product.product,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "未读信息" #. module: product #: model:ir.actions.act_window,name:product.product_uom_categ_form_action #: model:ir.ui.menu,name:product.menu_product_uom_categ_form_action msgid "Unit of Measure Categories" -msgstr "" +msgstr "计量单位类别" #. module: product #: help:product.product,seller_id:0 @@ -1233,7 +1265,7 @@ msgstr "服务" #. module: product #: help:product.product,ean13:0 msgid "International Article Number used for product identification." -msgstr "" +msgstr "国际物品编码用于产品标识" #. module: product #: model:ir.actions.act_window,help:product.product_category_action @@ -1247,6 +1279,10 @@ msgid "" " \n" " " msgstr "" +"\n" +" 这是你所有产品根据类别进行的分类列表。你能单击分类 获得关联到这个类别极其子类的所有产品列表。\n" +"
\n" +" " #. module: product #: code:addons/product/product.py:359 @@ -1257,6 +1293,7 @@ msgid "" "you may deactivate this product from the 'Procurements' tab and create a new " "one." msgstr "" +"新的计量单位'%s'的类别 '%s'必须跟老单位 '%s' 相同。如果你要改变计量单位,你要'需求'标签停用这个产品 ,并且创建一个新的。" #. module: product #: model:ir.actions.act_window,name:product.product_normal_action @@ -1273,7 +1310,7 @@ msgstr "产品" #: model:product.template,description:product.product_product_32_product_template msgid "" "Hands free headset for laptop PC with in-line microphone and headphone plug." -msgstr "" +msgstr "用于带有内置麦克风和耳机插孔的便携计算机的免提耳机。" #. module: product #: help:product.packaging,rows:0 @@ -1283,7 +1320,7 @@ msgstr "层板或箱子的层数" #. module: product #: help:product.pricelist.item,price_min_margin:0 msgid "Specify the minimum amount of margin over the base price." -msgstr "" +msgstr "指定基于基准价格的最大利润" #. module: product #: field:product.template,weight_net:0 @@ -1301,7 +1338,7 @@ msgstr "垫板尺寸" msgid "" "This field holds the image used as image for the product, limited to " "1024x1024px." -msgstr "" +msgstr "该字段保存产品的图片,限制到 1024x1024px." #. module: product #: field:product.template,seller_ids:0 @@ -1313,28 +1350,28 @@ msgstr "业务伙伴列表" msgid "" "Specify a product category if this rule only applies to products belonging " "to this category or its children categories. Keep empty otherwise." -msgstr "" +msgstr "指定一个产品分类 ,规则只被应用在与这个分类以及它的子类一致的产品上。其它情况留空" #. module: product #: view:product.product:0 msgid "Inventory" -msgstr "" +msgstr "盘点" #. module: product #: code:addons/product/product.py:736 #, python-format msgid "%s (copy)" -msgstr "" +msgstr "%s (副本)" #. module: product #: model:product.template,name:product.product_product_2_product_template msgid "On Site Assistance" -msgstr "" +msgstr "现场协助" #. module: product #: model:product.template,name:product.product_product_39_product_template msgid "Toner Cartridge" -msgstr "" +msgstr "碳粉匣" #. module: product #: model:ir.actions.act_window,name:product.product_uom_form_action @@ -1359,7 +1396,7 @@ msgstr "这是供应商的产品代码,将用于打印询价单。如果使用 #. module: product #: model:product.template,name:product.product_product_43_product_template msgid "Zed+ Antivirus" -msgstr "" +msgstr "Zed+反病毒" #. module: product #: field:product.pricelist.item,price_version_id:0 @@ -1393,7 +1430,7 @@ msgstr "毛重使用公斤" #. module: product #: model:product.template,name:product.product_product_37_product_template msgid "Printer, All-in-one" -msgstr "" +msgstr "打印机一体机" #. module: product #: view:product.template:0 @@ -1403,7 +1440,7 @@ msgstr "产品需求" #. module: product #: model:product.template,name:product.product_product_23_product_template msgid "Processor AMD 8-Core" -msgstr "" +msgstr "AMD 8核处理器" #. module: product #: view:product.product:0 @@ -1414,14 +1451,14 @@ msgstr "重量" #. module: product #: view:product.product:0 msgid "Description for Quotations" -msgstr "" +msgstr "报价单说明" #. module: product #: help:pricelist.partnerinfo,price:0 msgid "" "This price will be considered as a price for the supplier Unit of Measure if " "any or the default Unit of Measure of the product otherwise" -msgstr "" +msgstr "这个价格是 按照供应商单位考虑的,其他情况是默认单位" #. module: product #: field:product.template,uom_po_id:0 @@ -1436,7 +1473,7 @@ msgstr "分组" #. module: product #: field:product.product,image_medium:0 msgid "Medium-sized image" -msgstr "" +msgstr "中等尺寸图片" #. module: product #: selection:product.ul,type:0 @@ -1449,7 +1486,7 @@ msgstr "单件" #: code:addons/product/product.py:588 #, python-format msgid "Product has been created." -msgstr "" +msgstr "产品被创建 " #. module: product #: field:product.pricelist.version,date_start:0 @@ -1459,7 +1496,7 @@ msgstr "开始日期" #. module: product #: model:product.template,name:product.product_product_38_product_template msgid "Ink Cartridge" -msgstr "" +msgstr "墨盒" #. module: product #: model:product.uom,name:product.product_uom_cm @@ -1485,6 +1522,13 @@ msgid "" " \n" " " msgstr "" +"\n" +" 单击 增加一个价格表版本.\n" +"
\n" +" 这里能有多于一个价格表版本,每个必须在指定的区间里生效。\n" +" 一些版本的示例: 主价格,2010,2011,夏季销售 等等.\n" +"
\n" +" " #. module: product #: help:product.template,uom_po_id:0 @@ -1496,7 +1540,7 @@ msgstr "采购单默认使用的计量单位。必须与默认计量单位位于 #. module: product #: view:product.pricelist:0 msgid "Products Price" -msgstr "" +msgstr "产品价格" #. module: product #: model:product.template,description:product.product_product_26_product_template @@ -1506,6 +1550,11 @@ msgid "" "Hi-Speed 234Q Processor\n" "QWERTY keyboard" msgstr "" +"17寸显示器\n" +"6GB 内存\n" +"高速处理器 234Q \n" +"\n" +"QWERTY 键盘" #. module: product #: field:product.uom,rounding:0 @@ -1515,28 +1564,28 @@ msgstr "舍入精度" #. module: product #: view:product.product:0 msgid "Consumable products" -msgstr "" +msgstr "消耗性产品" #. module: product #: model:product.template,name:product.product_product_21_product_template msgid "Motherboard A20Z7" -msgstr "" +msgstr "主板 A20Z7" #. module: product #: model:product.template,description:product.product_product_1_product_template #: model:product.template,description_sale:product.product_product_1_product_template msgid "This type of service include basic monitoring of products." -msgstr "" +msgstr "这种服务类型包括基本的产品监测" #. module: product #: help:product.pricelist.version,date_end:0 msgid "Last valid date for the version." -msgstr "" +msgstr "版本的最后有效日期" #. module: product #: model:product.template,name:product.product_product_19_product_template msgid "HDD on Demand" -msgstr "" +msgstr "HDD on Demand" #. module: product #: field:product.price.type,active:0 @@ -1560,7 +1609,7 @@ msgstr "价格表名称" #. module: product #: field:product.product,ean13:0 msgid "EAN13 Barcode" -msgstr "" +msgstr "EAN13 条码" #. module: product #: sql_constraint:product.uom:0 @@ -1570,7 +1619,7 @@ msgstr "计量单位的转换比率不能为 0!" #. module: product #: model:product.template,name:product.product_product_24_product_template msgid "Graphics Card" -msgstr "" +msgstr "显卡" #. module: product #: help:product.packaging,ean:0 @@ -1590,7 +1639,7 @@ msgstr "空包装重量" #. module: product #: model:product.template,name:product.product_product_41_product_template msgid "Windows Home Server 2011" -msgstr "" +msgstr "Windows Home Server 2011" #. module: product #: field:product.price.type,field:0 @@ -1600,7 +1649,7 @@ msgstr "字段值" #. module: product #: model:product.template,description:product.product_product_5_product_template msgid "Custom computer assembled on order based on customer's requirement." -msgstr "" +msgstr "根据客户要求定制组装计算机" #. module: product #: model:ir.actions.act_window,name:product.product_price_type_action @@ -1616,7 +1665,7 @@ msgstr "所有库存操作的默认计量单位" #. module: product #: view:product.product:0 msgid "Sales" -msgstr "" +msgstr "销售" #. module: product #: model:ir.actions.act_window,help:product.product_uom_categ_form_action @@ -1632,18 +1681,25 @@ msgid "" " \n" " " msgstr "" +"\n" +" 单击增加一个新的计量单位类别。\n" +"
\n" +" 属于相同类别的计量单位能互相转换。例如,,在“时间”类别中,你有下列单位: 小时数、天数。\n" +"\n" +"
\n" +" " #. module: product #: help:pricelist.partnerinfo,min_quantity:0 msgid "" "The minimal quantity to trigger this rule, expressed in the supplier Unit of " "Measure if any or in the default Unit of Measure of the product otherrwise." -msgstr "" +msgstr "最小数量触发这个规则,如果指明了就是供应商单位,否则就是产品的默认计量单位" #. module: product #: selection:product.uom,uom_type:0 msgid "Smaller than the reference Unit of Measure" -msgstr "" +msgstr "小于参考计量单位" #. module: product #: model:product.pricelist,name:product.list0 @@ -1659,7 +1715,7 @@ msgstr "供应商产品代码" #: help:product.pricelist,active:0 msgid "" "If unchecked, it will allow you to hide the pricelist without removing it." -msgstr "" +msgstr "如果不选中,允许你隐藏价格表而无需删除" #. module: product #: selection:product.ul,type:0 @@ -1686,7 +1742,7 @@ msgstr "产品" #. module: product #: view:product.product:0 msgid "Price:" -msgstr "" +msgstr "价格:" #. module: product #: field:product.template,weight:0 @@ -1712,12 +1768,12 @@ msgstr "产品类别" #. module: product #: model:product.template,name:product.product_product_16_product_template msgid "Computer Case" -msgstr "" +msgstr "机箱" #. module: product #: model:product.template,name:product.product_product_9_product_template msgid "USB Keyboard, AZERTY" -msgstr "" +msgstr "USB键盘, AZERTY" #. module: product #: help:product.supplierinfo,sequence:0 @@ -1727,19 +1783,19 @@ msgstr "赋予供应商在其列表中的优先级" #. module: product #: constraint:product.pricelist.item:0 msgid "Error! The minimum margin should be lower than the maximum margin." -msgstr "" +msgstr "错误!最小利润要小于最大利润" #. module: product #: model:res.groups,name:product.group_uos msgid "Manage Secondary Unit of Measure" -msgstr "" +msgstr "管理第二个计量单位" #. module: product #: help:product.uom,rounding:0 msgid "" "The computed quantity will be a multiple of this value. Use 1.0 for a Unit " "of Measure that cannot be further split, such as a piece." -msgstr "" +msgstr "计算的数量将是这个值的倍数。 不能进一步分割的单位,比如 1 片,使用1.0 。" #. module: product #: view:product.pricelist.item:0 @@ -1759,12 +1815,12 @@ msgstr "箱子 30x40x60" #. module: product #: model:product.template,name:product.product_product_47_product_template msgid "Switch, 24 ports" -msgstr "" +msgstr "24 口交换机" #. module: product #: selection:product.uom,uom_type:0 msgid "Bigger than the reference Unit of Measure" -msgstr "" +msgstr "大于参考单位" #. module: product #: model:product.template,name:product.product_product_consultant_product_template @@ -1775,25 +1831,25 @@ msgstr "服务" #. module: product #: view:product.template:0 msgid "Internal Description" -msgstr "" +msgstr "内部说明" #. module: product #: model:product.template,name:product.product_product_48_product_template msgid "USB Adapter" -msgstr "" +msgstr "USB 适配器" #. module: product #: help:product.template,uos_id:0 msgid "" "Sepcify a unit of measure here if invoicing is made in another unit of " "measure than inventory. Keep empty to use the default unit of measure." -msgstr "" +msgstr "如果制作发票的单位跟库存不一致,指定一个计量单位,留空使用默认单位。" #. module: product #: code:addons/product/product.py:206 #, python-format msgid "Cannot change the category of existing Unit of Measure '%s'." -msgstr "" +msgstr "不能改变已有的计量单位'%s'的类别" #. module: product #: help:product.packaging,height:0 @@ -1818,7 +1874,7 @@ msgstr "公司" #. module: product #: model:product.template,name:product.product_product_26_product_template msgid "Laptop S3450" -msgstr "" +msgstr "便携计算机 S3450" #. module: product #: view:product.product:0 @@ -1849,13 +1905,13 @@ msgstr "此产品已经配置为推/拉流程的例子。" #. module: product #: field:product.product,message_ids:0 msgid "Messages" -msgstr "" +msgstr "消息" #. module: product #: code:addons/product/product.py:174 #, python-format msgid "Error!" -msgstr "" +msgstr "错误!" #. module: product #: field:product.packaging,length:0 @@ -1870,7 +1926,7 @@ msgstr "长度或距离" #. module: product #: model:product.category,name:product.product_category_8 msgid "Components" -msgstr "" +msgstr "部件" #. module: product #: model:ir.model,name:product.model_product_pricelist_type @@ -1881,7 +1937,7 @@ msgstr "价格表类型" #. module: product #: model:product.category,name:product.product_category_6 msgid "External Devices" -msgstr "" +msgstr "外置设备" #. module: product #: field:product.product,color:0 @@ -1891,7 +1947,7 @@ msgstr "颜色索引" #. module: product #: help:product.template,sale_ok:0 msgid "Specify if the product can be selected in a sales order line." -msgstr "" +msgstr "如果产品能在销售单明细在被选择,则指定。" #. module: product #: view:product.product:0 @@ -1922,12 +1978,12 @@ msgstr "原材料" #. module: product #: model:product.template,name:product.product_product_13_product_template msgid "RAM SR5" -msgstr "" +msgstr "内存SR5" #. module: product #: model:product.template,name:product.product_product_14_product_template msgid "RAM SR2" -msgstr "" +msgstr "内存SR2" #. module: product #: model:ir.actions.act_window,help:product.product_normal_action_puchased @@ -1949,11 +2005,19 @@ msgid "" " \n" " " msgstr "" +"\n" +" 单击定义一个新产品\n" +"
\n" +" 你必须为采购的每一样都定义一个产品。可以是物理产品、消耗品、或者你从分包商购买的服务。\n" +"
\n" +" 产品表单包括下面的信息以简化采购处理:价格、采购物流,会计数据,可用的供应商等等。\n" +"
\n" +" " #. module: product #: model:product.template,description_sale:product.product_product_44_product_template msgid "Full featured image editing software." -msgstr "" +msgstr "全功能图像编辑软件" #. module: product #: model:ir.model,name:product.model_product_pricelist_version @@ -1970,17 +2034,17 @@ msgstr "* ( 1 + " #. module: product #: model:product.template,name:product.product_product_31_product_template msgid "Multimedia Speakers" -msgstr "" +msgstr "多媒体喇叭" #. module: product #: field:product.product,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "关注者" #. module: product #: view:product.product:0 msgid "Sale Conditions" -msgstr "" +msgstr "销售条件" #. module: product #: view:product.packaging:0 @@ -1996,7 +2060,7 @@ msgstr "价格表名称" #. module: product #: view:product.product:0 msgid "Description for Suppliers" -msgstr "" +msgstr "供应商说明" #. module: product #: field:product.supplierinfo,delay:0 @@ -2006,7 +2070,7 @@ msgstr "送货周期" #. module: product #: view:product.product:0 msgid "months" -msgstr "" +msgstr "月" #. module: product #: help:product.uom,active:0 @@ -2023,7 +2087,7 @@ msgstr "供应商交货提前期" #. module: product #: model:ir.model,name:product.model_decimal_precision msgid "decimal.precision" -msgstr "" +msgstr "decimal.precision" #. module: product #: selection:product.ul,type:0 @@ -2035,7 +2099,7 @@ msgstr "箱子" msgid "" "Specify the fixed amount to add or substract(if negative) to the amount " "calculated with the discount." -msgstr "" +msgstr "指定固定金额来添加或减去(如果负),用作折扣来计算金额。" #. module: product #: help:product.product,qty_available:0 @@ -2050,6 +2114,11 @@ msgid "" "Otherwise, this includes goods stored in any Stock Location with 'internal' " "type." msgstr "" +"产品的当前数量\n" +"当与单个库位相关时,包括了在这个库位里的货物数量,以及任意的子库位。\n" +"当与单个仓库相关时,包括存储在这个仓库的库位里的货物数量,以及任意的子库位。\n" +"当与单个商店相关时,包括存储在这个商店所属仓库的库位里的货物数量,以及任意的子库位。\n" +"否则,这是存储在任何“内部”类型库位的货物。" #. module: product #: help:product.template,type:0 @@ -2057,6 +2126,8 @@ msgid "" "Consumable: Will not imply stock management for this product. \n" "Stockable product: Will imply stock management for this product." msgstr "" +"消耗品:不会为该产品进行库存管理\n" +"可库存产品:将为该产品进行库存管理" #. module: product #: help:product.pricelist.type,key:0 @@ -2076,6 +2147,12 @@ msgid "" " \n" " " msgstr "" +"\n" +" 单击定义一个新产品\n" +"
\n" +" 你必须为买卖的的每一样都定义一个产品。可以是物理产品、消耗品、或者服务。\n" +"
\n" +" " #. module: product #: view:product.product:0 @@ -2092,7 +2169,7 @@ msgstr "包装类型" msgid "" "A category of the view type is a virtual category that can be used as the " "parent of another category to create a hierarchical structure." -msgstr "" +msgstr "视图类型的分类是一个可视分类,用来做其它分类的上级,以此建立一个分层结构。" #. module: product #: selection:product.ul,type:0 @@ -2104,14 +2181,14 @@ msgstr "包装" msgid "" "Specify a template if this rule only applies to one product template. Keep " "empty otherwise." -msgstr "" +msgstr "如果这条规则只能用于一个产品模版,则指定一个模版。否则留空。" #. module: product #: model:product.template,description:product.product_product_2_product_template msgid "" "This type of service include assistance for security questions, system " "configuration requirements, implementation or special needs." -msgstr "" +msgstr "服务类型包括安全问题的辅助,系统配置请求,实施或者特别的需求。" #. module: product #: field:product.product,image:0 @@ -2131,6 +2208,10 @@ msgid "" "2GB RAM\n" "HDD SH-1" msgstr "" +"19“显示器\n" +"2GB内存\n" +"酷睿i5 2.7Ghz 处理器\n" +"硬盘 SH-1" #. module: product #: view:product.template:0 @@ -2140,17 +2221,17 @@ msgstr "说明" #. module: product #: model:res.groups,name:product.group_stock_packaging msgid "Manage Product Packaging" -msgstr "" +msgstr "管理产品包装" #. module: product #: model:product.category,name:product.product_category_2 msgid "Internal" -msgstr "" +msgstr "内置" #. module: product #: model:product.template,name:product.product_product_45_product_template msgid "Router R430" -msgstr "" +msgstr "路由器R430" #. module: product #: help:product.packaging,sequence:0 @@ -2222,7 +2303,7 @@ msgstr "可变的" #: field:product.product,message_comment_ids:0 #: help:product.product,message_comment_ids:0 msgid "Comments and emails" -msgstr "" +msgstr "评论和电子邮件" #. module: product #: field:product.template,rental:0 @@ -2242,7 +2323,7 @@ msgstr "最小上浮金额" #. module: product #: model:res.groups,name:product.group_uom msgid "Manage Multiple Units of Measure" -msgstr "" +msgstr "管理多个计量单位" #. module: product #: help:product.packaging,weight:0 @@ -2252,7 +2333,7 @@ msgstr "完整包装的重量,指货板或者包装箱" #. module: product #: view:product.uom:0 msgid "e.g: 1 * (this unit) = ratio * (reference unit)" -msgstr "" +msgstr "例如: 1 * (本单位t) = 比例 * (参考单位)" #. module: product #: model:product.template,description:product.product_product_25_product_template @@ -2262,6 +2343,10 @@ msgid "" "Standard-1294P Processor\n" "QWERTY keyboard" msgstr "" +"17“显示器\n" +"4GB内存\n" +"标准1294P处理器\n" +"QWERTY键盘" #. module: product #: field:product.category,sequence:0 @@ -2303,7 +2388,7 @@ msgstr "" #. module: product #: model:product.template,name:product.product_product_11_product_template msgid "Mouse, Laser" -msgstr "" +msgstr "激光鼠标" #. module: product #: view:product.template:0 @@ -2351,22 +2436,22 @@ msgid "" "Small-sized image of the product. It is automatically resized as a 64x64px " "image, with aspect ratio preserved. Use this field anywhere a small image is " "required." -msgstr "" +msgstr "产品的小尺寸图片。保持纵横比,自动缩放为64x64px。用于任何需要小图片的场合" #. module: product #: model:product.template,name:product.product_product_40_product_template msgid "Windows 7 Professional" -msgstr "" +msgstr "Windows 7 专业版" #. module: product #: selection:product.uom,uom_type:0 msgid "Reference Unit of Measure for this category" -msgstr "" +msgstr "这个类别的参考计量单位" #. module: product #: field:product.supplierinfo,product_uom:0 msgid "Supplier Unit of Measure" -msgstr "" +msgstr "供应商单位" #. module: product #: view:product.product:0 @@ -2377,7 +2462,7 @@ msgstr "产品系列" #. module: product #: model:product.template,name:product.product_product_6_product_template msgid "15” LCD Monitor" -msgstr "" +msgstr "15” LCD 显示器" #. module: product #: code:addons/product/pricelist.py:374 @@ -2430,7 +2515,7 @@ msgstr "产品类别" #. module: product #: model:product.template,description:product.product_product_19_product_template msgid "On demand hard-disk having capacity based on requirement." -msgstr "" +msgstr "基于需求的硬盘容量要求" #. module: product #: help:product.template,volume:0 @@ -2445,7 +2530,7 @@ msgstr "生命周期结束" #. module: product #: model:product.template,name:product.product_product_15_product_template msgid "RAM SR3" -msgstr "" +msgstr "内存Sr3" #. module: product #: help:product.product,packaging:0 @@ -2486,7 +2571,7 @@ msgstr "标价" msgid "" "Conversion between Units of Measure can only occur if they belong to the " "same category. The conversion will be made based on the ratios." -msgstr "" +msgstr "计量单位转换只能在同一个类型之间进行。转换基于比例" #. module: product #: constraint:product.category:0 @@ -2499,22 +2584,22 @@ msgid "" "Medium-sized image of the product. It is automatically resized as a " "128x128px image, with aspect ratio preserved, only when the image exceeds " "one of those sizes. Use this field in form views or some kanban views." -msgstr "" +msgstr "产品的中等尺寸的图片。保持纵横比例,图像超出尺寸后,自动缩放为128x128px ,这字段通常用于看板视图。" #. module: product #: view:product.uom:0 msgid "e.g: 1 * (reference unit) = ratio * (this unit)" -msgstr "" +msgstr "例如: 1*(参考单位) = 比例 * (本单位)" #. module: product #: help:product.supplierinfo,qty:0 msgid "This is a quantity which is converted into Default Unit of Measure." -msgstr "" +msgstr "这是转换为默认计量单位的值" #. module: product #: sql_constraint:decimal.precision:0 msgid "Only one value can be defined for each given usage!" -msgstr "" +msgstr "每个用途只能定义一个值" #. module: product #: field:product.pricelist.item,price_discount:0 diff --git a/addons/product_expiry/i18n/nl.po b/addons/product_expiry/i18n/nl.po index fd7ef97894f..249d8ba3904 100644 --- a/addons/product_expiry/i18n/nl.po +++ b/addons/product_expiry/i18n/nl.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME\n" +" Нажмите для создания запроса на закупку.\n" +"
\n" +" Запрос на закупку это шаг перед запросом цен.\n" +" В запросе на закупку (или тендере) вы вводите необходимые\n" +" товары и запускаете создание запросов цен у поставщиков.\n" +" После переговоров и рассмотрения всех предложений\n" +" вы можете утвердить одни и отменить другие.\n" +"
\n" +" " #. module: purchase_requisition #: report:purchase.requisition:0 #: view:purchase.requisition:0 msgid "Source" -msgstr "" +msgstr "Источник" #. module: purchase_requisition #: field:purchase.requisition,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "Подписчики" #. module: purchase_requisition #: field:purchase.requisition,warehouse_id:0 @@ -205,7 +217,7 @@ msgstr "Запрос на закупку" #: view:purchase.requisition:0 #: selection:purchase.requisition,state:0 msgid "Sent to Suppliers" -msgstr "" +msgstr "Отправлено поставщикам" #. module: purchase_requisition #: help:purchase.requisition,message_summary:0 @@ -213,6 +225,8 @@ msgid "" "Holds the Chatter summary (number of messages, ...). This summary is " "directly in html format in order to be inserted in kanban views." msgstr "" +"Содержит сводку по Чаттеру (количество сообщений,...). Эта сводка в формате " +"html для возможности использования в канбан виде" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -222,7 +236,7 @@ msgstr "Утверждено поставщиком" #. module: purchase_requisition #: view:purchase.requisition:0 msgid "Send to Suppliers" -msgstr "" +msgstr "Послать поставщикам" #. module: purchase_requisition #: report:purchase.requisition:0 @@ -248,7 +262,7 @@ msgstr "Запрос" #: code:addons/purchase_requisition/purchase_requisition.py:186 #, python-format msgid "Purchase Requisition has been created." -msgstr "" +msgstr "Запрос на закупку был создан." #. module: purchase_requisition #: model:ir.model,name:purchase_requisition.model_purchase_requisition_partner @@ -278,28 +292,28 @@ msgstr "Дата начала" #. module: purchase_requisition #: view:purchase.requisition.partner:0 msgid "or" -msgstr "" +msgstr "или" #. module: purchase_requisition #: field:purchase.requisition.line,product_uom_id:0 msgid "Product Unit of Measure" -msgstr "" +msgstr "Ед. изм. продукции" #. module: purchase_requisition #: view:purchase.requisition:0 #: field:purchase.requisition,state:0 msgid "Status" -msgstr "" +msgstr "Статус" #. module: purchase_requisition #: view:purchase.requisition:0 msgid "Terms and Conditions" -msgstr "" +msgstr "Условия" #. module: purchase_requisition #: sql_constraint:product.product:0 msgid "Error ! Ending Date cannot be set before Beginning Date." -msgstr "" +msgstr "Ошибка! Конечная дата не может быть установлена ранее даты начала." #. module: purchase_requisition #: view:purchase.order:0 @@ -319,13 +333,13 @@ msgstr "Пользователь" #. module: purchase_requisition #: field:purchase.requisition,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "Подписан" #. module: purchase_requisition #: field:purchase.requisition,message_comment_ids:0 #: help:purchase.requisition,message_comment_ids:0 msgid "Comments and emails" -msgstr "" +msgstr "Комментарии и эл. письма" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -336,7 +350,7 @@ msgstr "Искать запрос на закупку" #: code:addons/purchase_requisition/wizard/purchase_requisition_partner.py:41 #, python-format msgid "No Product in Tender." -msgstr "" +msgstr "Нет товаров в тендере." #. module: purchase_requisition #: view:purchase.requisition:0 @@ -346,7 +360,7 @@ msgstr "Отменить заказ на закупку" #. module: purchase_requisition #: field:purchase.requisition,message_summary:0 msgid "Summary" -msgstr "" +msgstr "Итого" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -367,7 +381,7 @@ msgstr "Запрос цен" #: code:addons/purchase_requisition/purchase_requisition.py:103 #, python-format msgid "Purchase Requisition has been cancelled." -msgstr "" +msgstr "Запрос на закупку был отменен." #. module: purchase_requisition #: field:procurement.order,requisition_id:0 @@ -383,7 +397,7 @@ msgstr "Кол-во" #: code:addons/purchase_requisition/purchase_requisition.py:94 #, python-format msgid "Draft Requisition has been sent to suppliers." -msgstr "" +msgstr "Черновик запроса был отправлен поставщику." #. module: purchase_requisition #: view:purchase.requisition.partner:0 @@ -407,6 +421,7 @@ msgid "" "Check this box to generates purchase requisition instead of generating " "requests for quotation from procurement." msgstr "" +"Отметьте для создания запроса на закупку вместо запроса цен при снабжении." #. module: purchase_requisition #: field:purchase.requisition,purchase_ids:0 @@ -421,7 +436,7 @@ msgstr "Ссылка на заказ должны быть уникальной #. module: purchase_requisition #: field:purchase.requisition,origin:0 msgid "Source Document" -msgstr "" +msgstr "Документ-источник" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -433,7 +448,7 @@ msgstr "Ответственный" #: view:purchase.requisition:0 #: selection:purchase.requisition,state:0 msgid "Purchase Done" -msgstr "" +msgstr "Закупка сделана" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -461,7 +476,7 @@ msgstr "Описание" #: code:addons/purchase_requisition/purchase_requisition.py:97 #, python-format msgid "Purchase Requisition has been set to draft." -msgstr "" +msgstr "Запрос на закупку был установлен в черновик." #. module: purchase_requisition #: view:purchase.requisition:0 @@ -509,7 +524,7 @@ msgstr "Дата запроса" #. module: purchase_requisition #: help:purchase.requisition,message_ids:0 msgid "Messages and communication history" -msgstr "" +msgstr "Сообщения и история общения" #. module: purchase_requisition #: report:purchase.requisition:0 @@ -525,7 +540,7 @@ msgstr "Срок запроса" #: code:addons/purchase_requisition/purchase_requisition.py:100 #, python-format msgid "Purchase Requisition has been done." -msgstr "" +msgstr "Запрос на закупку был сделан." #. module: purchase_requisition #: model:res.groups,name:purchase_requisition.group_purchase_requisition_manager diff --git a/addons/purchase_requisition/i18n/zh_CN.po b/addons/purchase_requisition/i18n/zh_CN.po index 7b827d29521..3d94b02eff2 100644 --- a/addons/purchase_requisition/i18n/zh_CN.po +++ b/addons/purchase_requisition/i18n/zh_CN.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME\n" +" 单击开始请购单流程。 \n" +"
\n" +" 请购单是询价单的前面一步,在请购单(采购招标)\n" +" 中,你能记录你要购买的产品,并产生给供应商的\n" +" 询价单。谈判后,一旦你复审了所有供应商的 出\n" +" 价,你能很准一部分,并取消其他的。\n" +"
\n" +" " #. module: purchase_requisition #: report:purchase.requisition:0 #: view:purchase.requisition:0 msgid "Source" -msgstr "" +msgstr "来源" #. module: purchase_requisition #: field:purchase.requisition,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "关注者" #. module: purchase_requisition #: field:purchase.requisition,warehouse_id:0 @@ -201,14 +210,14 @@ msgstr "采购申请" #: view:purchase.requisition:0 #: selection:purchase.requisition,state:0 msgid "Sent to Suppliers" -msgstr "" +msgstr "发给供应商" #. module: purchase_requisition #: help:purchase.requisition,message_summary:0 msgid "" "Holds the Chatter summary (number of messages, ...). This summary is " "directly in html format in order to be inserted in kanban views." -msgstr "" +msgstr "保存复杂的摘要(消息数量,……等)。为了插入到看板视图,这一摘要直接是是HTML格式。" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -218,7 +227,7 @@ msgstr "供应商已核审批" #. module: purchase_requisition #: view:purchase.requisition:0 msgid "Send to Suppliers" -msgstr "" +msgstr "发给供应商" #. module: purchase_requisition #: report:purchase.requisition:0 @@ -244,7 +253,7 @@ msgstr "采购申请" #: code:addons/purchase_requisition/purchase_requisition.py:186 #, python-format msgid "Purchase Requisition has been created." -msgstr "" +msgstr "请购单 被创建." #. module: purchase_requisition #: model:ir.model,name:purchase_requisition.model_purchase_requisition_partner @@ -274,33 +283,33 @@ msgstr "开始日期" #. module: purchase_requisition #: view:purchase.requisition.partner:0 msgid "or" -msgstr "" +msgstr "or" #. module: purchase_requisition #: field:purchase.requisition.line,product_uom_id:0 msgid "Product Unit of Measure" -msgstr "" +msgstr "产品计量单位" #. module: purchase_requisition #: view:purchase.requisition:0 #: field:purchase.requisition,state:0 msgid "Status" -msgstr "" +msgstr "状态" #. module: purchase_requisition #: view:purchase.requisition:0 msgid "Terms and Conditions" -msgstr "" +msgstr "条款和条件" #. module: purchase_requisition #: sql_constraint:product.product:0 msgid "Error ! Ending Date cannot be set before Beginning Date." -msgstr "" +msgstr "错误!结束日期不能早于开始日期。" #. module: purchase_requisition #: view:purchase.order:0 msgid "Purchase Orders with requisition" -msgstr "" +msgstr "具有请购的采购单" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -315,13 +324,13 @@ msgstr "用户" #. module: purchase_requisition #: field:purchase.requisition,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "是一个关注者" #. module: purchase_requisition #: field:purchase.requisition,message_comment_ids:0 #: help:purchase.requisition,message_comment_ids:0 msgid "Comments and emails" -msgstr "" +msgstr "评论和电子邮件" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -332,7 +341,7 @@ msgstr "搜索采购申请" #: code:addons/purchase_requisition/wizard/purchase_requisition_partner.py:41 #, python-format msgid "No Product in Tender." -msgstr "" +msgstr "没有产品在投标" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -342,7 +351,7 @@ msgstr "取消采购订单" #. module: purchase_requisition #: field:purchase.requisition,message_summary:0 msgid "Summary" -msgstr "" +msgstr "摘要" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -363,7 +372,7 @@ msgstr "请求询价" #: code:addons/purchase_requisition/purchase_requisition.py:103 #, python-format msgid "Purchase Requisition has been cancelled." -msgstr "" +msgstr "请购单被取消." #. module: purchase_requisition #: field:procurement.order,requisition_id:0 @@ -379,7 +388,7 @@ msgstr "数量" #: code:addons/purchase_requisition/purchase_requisition.py:94 #, python-format msgid "Draft Requisition has been sent to suppliers." -msgstr "" +msgstr "请购单草稿被 发给供应商." #. module: purchase_requisition #: view:purchase.requisition.partner:0 @@ -402,7 +411,7 @@ msgstr "取消" msgid "" "Check this box to generates purchase requisition instead of generating " "requests for quotation from procurement." -msgstr "" +msgstr "选中此项,产生请购单,而不是生成采购询价单" #. module: purchase_requisition #: field:purchase.requisition,purchase_ids:0 @@ -417,7 +426,7 @@ msgstr "采购订单号必须在一个公司范围内唯一" #. module: purchase_requisition #: field:purchase.requisition,origin:0 msgid "Source Document" -msgstr "" +msgstr "源单据" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -429,12 +438,12 @@ msgstr "负责人" #: view:purchase.requisition:0 #: selection:purchase.requisition,state:0 msgid "Purchase Done" -msgstr "" +msgstr "采购完成" #. module: purchase_requisition #: view:purchase.requisition:0 msgid "Purchase Requisition in negociation" -msgstr "" +msgstr "谈判中的采购申请" #. module: purchase_requisition #: model:ir.model,name:purchase_requisition.model_purchase_requisition_line @@ -457,7 +466,7 @@ msgstr "描述" #: code:addons/purchase_requisition/purchase_requisition.py:97 #, python-format msgid "Purchase Requisition has been set to draft." -msgstr "" +msgstr "请购单被设为 草稿." #. module: purchase_requisition #: view:purchase.requisition:0 @@ -505,7 +514,7 @@ msgstr "请购日期" #. module: purchase_requisition #: help:purchase.requisition,message_ids:0 msgid "Messages and communication history" -msgstr "" +msgstr "消息和通信历史" #. module: purchase_requisition #: report:purchase.requisition:0 @@ -521,7 +530,7 @@ msgstr "请购截止日期" #: code:addons/purchase_requisition/purchase_requisition.py:100 #, python-format msgid "Purchase Requisition has been done." -msgstr "" +msgstr "请购单已经 完成." #. module: purchase_requisition #: model:res.groups,name:purchase_requisition.group_purchase_requisition_manager diff --git a/addons/purchase_requisition/wizard/purchase_requisition_partner_view.xml b/addons/purchase_requisition/wizard/purchase_requisition_partner_view.xml index 9e8c0893d30..f5f0367ad4b 100644 --- a/addons/purchase_requisition/wizard/purchase_requisition_partner_view.xml +++ b/addons/purchase_requisition/wizard/purchase_requisition_partner_view.xml @@ -7,7 +7,7 @@+ All items in these order lines will be invoiced. You can also invoice a percentage of the sale order + or a fixed price (for advances) directly from the sale order form if you prefer. +
+\n" +" Cliquez pour créer un mouvement de stock.\n" +"
\n" +" Ce menu vous offre une traçabilité complète\n" +" des opérations concernant un article particulier. Vous " +"pouvez filtrer par article\n" +" pour voir les mouvements passés ou prévus pour cet article.\n" +"
\n" +" " #. module: stock #: view:stock.location:0 @@ -2750,7 +2761,7 @@ msgstr "" #: view:stock.partial.move:0 #: view:stock.picking:0 msgid "Products" -msgstr "Produits" +msgstr "Articles" #. module: stock #: view:stock.inventory.line:0 @@ -2789,13 +2800,13 @@ msgstr "Méthode de livraison" #: help:stock.picking.in,location_dest_id:0 #: help:stock.picking.out,location_dest_id:0 msgid "Location where the system will stock the finished products." -msgstr "L'emplacement ou le système stockera les produits finis" +msgstr "Emplacement où le système stockera les produits finis." #. module: stock #: view:board.board:0 #: model:ir.actions.act_window,name:stock.action_stock_outgoing_product_delay msgid "Outgoing Products" -msgstr "Produits à expédier" +msgstr "Articles à expédier" #. module: stock #: code:addons/stock/stock.py:2320 @@ -2848,10 +2859,10 @@ msgid "" "current inventory value, and the stock input and stock output account will " "hold the counterpart moves for incoming and outgoing products." msgstr "" -"Quand la valorisation en temps réel est activée sur un produit, le système " +"Quand la valorisation en temps réel est activée sur un article, le système " "génère automatiquement les écritures comptables correspondant aux mouvements " -"de stock. Le compte de variation d'inventaire défini dans la catégorie de " -"produits représente la valorisation actuelle du stock, et les comptes " +"de stock. Le compte de variation d'inventaire défini dans la catégorie " +"d'articles représente la valorisation actuelle du stock, et les comptes " "d'entrée et de sortie de stock contiennent les contreparties des mouvements " "de stock entrants et sortants." @@ -3010,10 +3021,10 @@ msgid "" "need this report in order to ensure that the stock of each product is " "controlled at least once a year." msgstr "" -"Affichez les derniers inventaires validés sur vos produits et triez-les " +"Affichez les derniers inventaires validés sur vos articles et triez-les " "facilement avec des critères de filtrage. Si vous faites souvent des " -"inventaires partiels, vous avez besoin de ce rapport pour s'assurer que le " -"stock de chaque produit est contrôlé une fois par an." +"inventaires partiels, vous avez besoin de ce rapport pour vous assurer que " +"le stock de chaque article est contrôlé une fois par an." #. module: stock #: code:addons/stock/wizard/stock_invoice_onshipping.py:112 @@ -3093,7 +3104,7 @@ msgstr "" #: code:addons/stock/wizard/stock_partial_picking.py:99 #, python-format msgid "Receive Products" -msgstr "Réception par produit" +msgstr "Réception par article" #. module: stock #: code:addons/stock/wizard/stock_partial_picking.py:101 @@ -3106,7 +3117,7 @@ msgstr "Livrer les produits" #. module: stock #: view:stock.location.product:0 msgid "View Stock of Products" -msgstr "Voir les stocks produits" +msgstr "Voir les stocks des articles" #. module: stock #: view:report.stock.inventory:0 @@ -3143,7 +3154,7 @@ msgstr "Décocher le champ \"Actif\" cache le colis sans le supprimer." #. module: stock #: view:stock.production.lot:0 msgid "Product Lots Filter" -msgstr "Filtre sur les lots de produit" +msgstr "Filtre sur les numéros de série" #. module: stock #: view:stock.inventory.merge:0 @@ -3352,7 +3363,7 @@ msgid "" "If checked, products contained in child locations of selected location will " "be included as well." msgstr "" -"Si coché, les produits contenus dans les emplacement fils de l'emplacement " +"Si coché, les articles contenus dans les emplacement fils de l'emplacement " "sélectionné seront également inclus." #. module: stock @@ -3612,7 +3623,7 @@ msgstr "" #: field:stock.report.tracklots,product_id:0 #: field:stock.return.picking.memory,product_id:0 msgid "Product" -msgstr "Produit" +msgstr "Article" #. module: stock #: model:ir.actions.act_window,help:stock.action_inventory_form @@ -3665,7 +3676,7 @@ msgstr "Hauteur (Z)" #: model:ir.model,name:stock.model_stock_move_consume #: view:stock.move.consume:0 msgid "Consume Products" -msgstr "Produits consommés" +msgstr "Consommer les articles" #. module: stock #: field:stock.location,parent_right:0 @@ -3702,7 +3713,7 @@ msgstr "Valeur Totale" #. module: stock #: model:ir.ui.menu,name:stock.menu_product_by_category_stock_form msgid "Products by Category" -msgstr "Produits par catégorie" +msgstr "Articles par catégorie" #. module: stock #: selection:stock.picking,state:0 @@ -3732,7 +3743,7 @@ msgstr "" #: model:ir.actions.act_window,name:stock.action_view_stock_location_product #: model:ir.model,name:stock.model_stock_location_product msgid "Products by Location" -msgstr "Produits par emplacement" +msgstr "Articles par emplacement" #. module: stock #: view:stock.config.settings:0 @@ -3955,7 +3966,7 @@ msgstr "Société" #: field:stock.move.consume,product_uom:0 #: field:stock.move.scrap,product_uom:0 msgid "Product Unit of Measure" -msgstr "" +msgstr "Unité de mesure d'article" #. module: stock #: code:addons/stock/stock.py:1426 @@ -4253,7 +4264,7 @@ msgstr "Coût unitaire pour cette ligne de produit" #: view:report.stock.move:0 #: field:report.stock.move,categ_id:0 msgid "Product Category" -msgstr "Catégorie de produits" +msgstr "Catégorie d'articles" #. module: stock #: code:addons/stock/stock.py:1407 @@ -4319,7 +4330,7 @@ msgstr "Journal d'enchainement" #: code:addons/stock/stock.py:773 #, python-format msgid "Not enough stock, unable to reserve the products." -msgstr "Pas encore de stock, impossible de réserver les produits." +msgstr "Pas encore de stock, impossible de réserver les articles." #. module: stock #: view:report.stock.move:0 @@ -4385,7 +4396,7 @@ msgstr "" #. module: stock #: model:ir.model,name:stock.model_product_template msgid "Product Template" -msgstr "Modèle de produit" +msgstr "Modèle d'article" #. module: stock #: selection:report.stock.inventory,month:0 @@ -4407,7 +4418,7 @@ msgstr "Valeur du stock virtuel" #: view:stock.picking.in:0 #: view:stock.picking.out:0 msgid "Return Products" -msgstr "Retourner les produits" +msgstr "Retourner les articles" #. module: stock #: view:stock.inventory:0 @@ -4439,7 +4450,7 @@ msgstr "" #: model:ir.actions.act_window,name:stock.action_reception_picking_move #: model:ir.ui.menu,name:stock.menu_action_pdct_in msgid "Incoming Products" -msgstr "" +msgstr "Articles entrants" #. module: stock #: view:product.product:0 @@ -4680,6 +4691,8 @@ msgstr "Janvier" #: constraint:stock.move:0 msgid "You cannot move products from or to a location of the type view." msgstr "" +"Il est impossible de déplacer des articles depuis ou vers un emplacement de " +"type \"vue\"." #. module: stock #: help:stock.config.settings,group_stock_production_lot:0 diff --git a/addons/stock/i18n/zh_CN.po b/addons/stock/i18n/zh_CN.po index f7708f607dd..7c5a257ea64 100644 --- a/addons/stock/i18n/zh_CN.po +++ b/addons/stock/i18n/zh_CN.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:51+0000\n" -"PO-Revision-Date: 2012-11-25 16:52+0000\n" +"PO-Revision-Date: 2012-11-26 08:33+0000\n" "Last-Translator: ccdos\n" +" 单击创建 内部移库请求。 \n" +"
\n" +" 许多操作是根据你预定的物流规则由OpenERP自动准备好的,但是你也能手工记录仓库移库.\n" +"
\n" +" " #. module: stock #: model:ir.actions.report.xml,name:stock.report_move_labels @@ -606,7 +612,7 @@ msgstr "标签" #: code:addons/stock/stock.py:1444 #, python-format msgid "Back order %s has been created." -msgstr "" +msgstr "未交付清单%s 已经被 创建." #. module: stock #: model:ir.model,name:stock.model_report_stock_move @@ -617,24 +623,24 @@ msgstr "调拨统计" #: help:stock.config.settings,group_uom:0 msgid "" "Allows you to select and maintain different units of measure for products." -msgstr "" +msgstr "允许你选择和维护产品的不同计量单位" #. module: stock #: model:ir.model,name:stock.model_stock_report_tracklots msgid "Stock report by logistic serial number" -msgstr "" +msgstr "根据物流系列号的库存报表" #. module: stock #: help:product.product,track_outgoing:0 msgid "" "Forces to specify a Serial Number for all moves containing this product and " "going to a Customer Location" -msgstr "" +msgstr "强制给所有包含将要进入客户库位的这个产品的移库指定一个系列号" #. module: stock #: model:ir.ui.menu,name:stock.menu_stock_products_moves msgid "Receive/Deliver Products" -msgstr "" +msgstr "接收发送产品" #. module: stock #: field:stock.move,move_history_ids:0 @@ -669,7 +675,7 @@ msgstr "包装" #. module: stock #: model:ir.actions.report.xml,name:stock.report_picking_list_in msgid "Receipt Slip" -msgstr "" +msgstr "入库单" #. module: stock #: code:addons/stock/wizard/stock_move.py:214 @@ -1664,7 +1670,7 @@ msgstr "拆分" #. module: stock #: model:ir.actions.report.xml,name:stock.report_picking_list_out msgid "Delivery Slip" -msgstr "" +msgstr "出库单" #. module: stock #: view:stock.move:0 @@ -4700,7 +4706,7 @@ msgstr "目标库位" #. module: stock #: model:ir.actions.report.xml,name:stock.report_picking_list msgid "Picking Slip" -msgstr "" +msgstr "领货单" #. module: stock #: help:stock.move,product_packaging:0 @@ -4951,7 +4957,7 @@ msgstr "选项: 如果是连锁那会引发库存调拨." #. module: stock #: view:stock.picking.out:0 msgid "Print Delivery Slip" -msgstr "" +msgstr "打印出库单" #. module: stock #: view:report.stock.inventory:0 diff --git a/addons/stock/report/picking.py b/addons/stock/report/picking.py index 29a53fba7a2..711abbf6259 100644 --- a/addons/stock/report/picking.py +++ b/addons/stock/report/picking.py @@ -29,7 +29,13 @@ class picking(report_sxw.rml_parse): super(picking, self).__init__(cr, uid, name, context=context) self.localcontext.update({ 'time': time, + 'get_product_desc':self.get_product_desc }) + def get_product_desc(self,move_line): + desc = move_line.product_id.name + if move_line.product_id.default_code: + desc = '[' + move_line.product_id.default_code + ']' + ' ' + desc + return desc report_sxw.report_sxw('report.stock.picking.list','stock.picking','addons/stock/report/picking.rml',parser=picking) # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/stock/report/picking.rml b/addons/stock/report/picking.rml index 5f395c9f005..ecc682dceda 100644 --- a/addons/stock/report/picking.rml +++ b/addons/stock/report/picking.rml @@ -162,12 +162,14 @@