summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-02-22 10:39:15 +0100
committerChristophe Simonis <chs@odoo.com>2018-02-22 10:39:15 +0100
commit9a84ba55330204c49e9c72d9e53660dfd11556ae (patch)
tree10c207733941a30d5ab86285ecb1c8b130c14200 /addons
parent898cd0a5c1a9696f051477c1318a76c31eb40a16 (diff)
parente750bb6e1149cb05e13424d66d4ff12198b4cffe (diff)
[MERGE] forward port branch saas-11.1 up to e750bb6e114
Diffstat (limited to 'addons')
-rw-r--r--addons/account/i18n/zh_CN.po20
-rw-r--r--addons/account/report/account_aged_partner_balance.py14
-rw-r--r--addons/base_automation/i18n/de.po21
-rw-r--r--addons/base_gengo/i18n/de.po19
-rw-r--r--addons/base_gengo/wizard/base_gengo_translations.py4
-rw-r--r--addons/base_import/i18n/de.po23
-rw-r--r--addons/base_import_module/i18n/de.po21
-rw-r--r--addons/base_setup/i18n/de.po59
-rw-r--r--addons/base_sparse_field/i18n/de.po17
-rw-r--r--addons/base_vat/i18n/de.po13
-rw-r--r--addons/board/i18n/de.po7
-rw-r--r--addons/bus/static/src/js/bus.js3
-rw-r--r--addons/calendar/i18n/zh_CN.po4
-rw-r--r--addons/crm/i18n/zh_CN.po2
-rw-r--r--addons/crm/security/crm_security.xml10
-rw-r--r--addons/event/i18n/zh_CN.po26
-rw-r--r--addons/fetchmail/i18n/zh_CN.po5
-rw-r--r--addons/gamification_sale_crm/i18n/es.po9
-rw-r--r--addons/hr_expense/models/hr_expense.py2
-rw-r--r--addons/hr_expense/views/hr_expense_views.xml2
-rw-r--r--addons/hr_holidays/models/hr.py9
-rw-r--r--addons/hr_holidays/models/hr_leave.py1
-rw-r--r--addons/hr_payroll_account/models/hr_payroll_account.py1
-rw-r--r--addons/hr_recruitment/i18n/fr.po45
-rw-r--r--addons/hr_recruitment/i18n/zh_CN.po57
-rw-r--r--addons/iap/i18n/fr.po7
-rw-r--r--addons/l10n_be_hr_payroll/data/l10n_be_hr_payroll_data.xml2
-rw-r--r--addons/l10n_be_hr_payroll/models/l10n_be_hr_payroll.py6
-rw-r--r--addons/lunch/i18n/es.po27
-rw-r--r--addons/mail/i18n/es.po36
-rw-r--r--addons/mail/i18n/zh_CN.po90
-rw-r--r--addons/mail/models/ir_model.py2
-rw-r--r--addons/mail/models/mail_channel.py12
-rw-r--r--addons/mail/models/mail_message.py2
-rw-r--r--addons/mail/static/src/js/thread.js4
-rw-r--r--addons/mail/static/src/js/utils.js4
-rw-r--r--addons/mail/static/tests/mail_utils_tests.js34
-rw-r--r--addons/mail/views/mail_templates.xml1
-rw-r--r--addons/maintenance/i18n/es.po34
-rw-r--r--addons/mass_mailing/i18n/es.po26
-rw-r--r--addons/mrp/i18n/es.po23
-rw-r--r--addons/mrp/models/mrp_bom.py5
-rw-r--r--addons/pad/i18n/es.po9
-rw-r--r--addons/payment/controllers/portal.py99
-rw-r--r--addons/payment/i18n/es.po12
-rw-r--r--addons/payment/static/src/js/payment_transaction_portal.js26
-rw-r--r--addons/payment/views/payment_portal_templates.xml40
-rw-r--r--addons/payment_adyen/i18n/de.po17
-rw-r--r--addons/payment_authorize/i18n/de.po16
-rw-r--r--addons/payment_authorize/i18n/es.po15
-rw-r--r--addons/payment_buckaroo/i18n/de.po15
-rw-r--r--addons/payment_ogone/i18n/de.po17
-rw-r--r--addons/payment_ogone/i18n/es.po17
-rw-r--r--addons/payment_paypal/i18n/de.po11
-rw-r--r--addons/payment_paypal/i18n/es.po9
-rw-r--r--addons/payment_paypal/i18n/zh_CN.po9
-rw-r--r--addons/payment_payumoney/i18n/de.po17
-rw-r--r--addons/payment_payumoney/i18n/es.po14
-rw-r--r--addons/payment_payumoney/i18n/zh_CN.po15
-rw-r--r--addons/payment_sips/i18n/de.po23
-rw-r--r--addons/payment_sips/i18n/es.po17
-rw-r--r--addons/payment_sips/i18n/zh_CN.po17
-rw-r--r--addons/payment_stripe/i18n/de.po26
-rw-r--r--addons/payment_stripe/i18n/es.po22
-rw-r--r--addons/payment_stripe/i18n/zh_CN.po16
-rw-r--r--addons/payment_stripe/static/src/js/stripe.js11
-rw-r--r--addons/phone_validation/i18n/de.po19
-rw-r--r--addons/phone_validation/i18n/es.po13
-rw-r--r--addons/phone_validation/i18n/zh_CN.po4
-rw-r--r--addons/point_of_sale/i18n/de.po430
-rw-r--r--addons/point_of_sale/i18n/es.po2
-rw-r--r--addons/point_of_sale/i18n/zh_CN.po217
-rw-r--r--addons/point_of_sale/models/pos_order.py10
-rw-r--r--addons/point_of_sale/static/src/js/models.js1
-rw-r--r--addons/point_of_sale/static/src/js/screens.js12
-rw-r--r--addons/portal/i18n/de.po24
-rw-r--r--addons/portal/static/src/js/portal_chatter.js4
-rw-r--r--addons/pos_cache/i18n/de.po13
-rw-r--r--addons/pos_data_drinks/i18n/es.po17
-rw-r--r--addons/pos_discount/i18n/de.po12
-rw-r--r--addons/pos_discount/i18n/es.po7
-rw-r--r--addons/pos_mercury/i18n/de.po202
-rw-r--r--addons/pos_mercury/views/pos_mercury_transaction_templates.xml8
-rw-r--r--addons/pos_restaurant/i18n/de.po22
-rw-r--r--addons/pos_sale/i18n/de.po15
-rw-r--r--addons/product/i18n/de.po69
-rw-r--r--addons/product/i18n/fr.po20
-rw-r--r--addons/product_expiry/i18n/de.po16
-rw-r--r--addons/product_expiry/i18n/fr.po26
-rw-r--r--addons/project/controllers/portal.py16
-rw-r--r--addons/project/i18n/de.po109
-rw-r--r--addons/project/i18n/fr.po54
-rw-r--r--addons/project/i18n/zh_CN.po4
-rw-r--r--addons/project/models/project.py8
-rw-r--r--addons/project_timesheet_holidays/i18n/fr.po23
-rw-r--r--addons/purchase/i18n/fr.po13
-rw-r--r--addons/purchase/models/account_invoice.py6
-rw-r--r--addons/purchase/models/purchase.py11
-rw-r--r--addons/purchase/tests/test_create_picking.py50
-rw-r--r--addons/purchase/tests/test_stockvaluation.py73
-rw-r--r--addons/purchase_requisition/i18n/fr.po59
-rw-r--r--addons/repair/i18n/es.po10
-rw-r--r--addons/repair/views/repair_views.xml4
-rw-r--r--addons/resource/i18n/fr.po23
-rw-r--r--addons/sale/i18n/de.po6
-rw-r--r--addons/sale/i18n/fr.po13
-rw-r--r--addons/sale/models/analytic.py4
-rw-r--r--addons/sale_crm/i18n/fr.po4
-rw-r--r--addons/sale_mrp/tests/test_sale_mrp_flow.py4
-rw-r--r--addons/sale_payment/i18n/fr.po2
-rw-r--r--addons/sale_stock/i18n/fr.po27
-rw-r--r--addons/sale_stock/models/sale_order.py12
-rw-r--r--addons/sale_stock/tests/test_sale_stock.py122
-rw-r--r--addons/sale_timesheet/i18n/fr.po9
-rw-r--r--addons/sale_timesheet/models/product.py2
-rw-r--r--addons/sales_team/i18n/fr.po26
-rw-r--r--addons/sales_team/models/crm_team.py2
-rw-r--r--addons/sms/i18n/fr.po22
-rw-r--r--addons/stock/i18n/de.po465
-rw-r--r--addons/stock/i18n/fr.po364
-rw-r--r--addons/stock/models/product.py10
-rw-r--r--addons/stock/models/stock_move.py4
-rw-r--r--addons/stock/models/stock_picking.py17
-rw-r--r--addons/stock/models/stock_production_lot.py14
-rw-r--r--addons/stock/tests/test_move.py188
-rw-r--r--addons/stock/wizard/stock_immediate_transfer.py7
-rw-r--r--addons/stock_account/i18n/de.po65
-rw-r--r--addons/stock_account/models/account_invoice.py6
-rw-r--r--addons/stock_account/models/product.py4
-rw-r--r--addons/stock_dropshipping/i18n/fr.po11
-rw-r--r--addons/stock_picking_batch/i18n/de.po56
-rw-r--r--addons/stock_picking_batch/i18n/fr.po9
-rw-r--r--addons/survey/i18n/de.po39
-rw-r--r--addons/survey/i18n/zh_CN.po2
-rw-r--r--addons/theme_default/i18n/de.po17
-rw-r--r--addons/utm/i18n/de.po13
-rw-r--r--addons/web/controllers/main.py2
-rw-r--r--addons/web/i18n/de.po157
-rw-r--r--addons/web/static/src/js/core/domain.js2
-rw-r--r--addons/web/static/src/js/core/utils.js17
-rw-r--r--addons/web/static/src/js/views/basic/basic_controller.js4
-rw-r--r--addons/web/static/src/js/views/basic/basic_model.js73
-rw-r--r--addons/web/static/src/js/views/kanban/kanban_model.js1
-rw-r--r--addons/web/static/src/js/views/list/list_editable_renderer.js9
-rw-r--r--addons/web/static/tests/fields/relational_fields_tests.js211
-rw-r--r--addons/web/static/tests/views/kanban_tests.js56
-rw-r--r--addons/web/static/tests/views/list_tests.js58
-rw-r--r--addons/web_diagram/i18n/de.po9
-rw-r--r--addons/web_editor/static/src/js/widgets/ace.js4
-rw-r--r--addons/web_editor/static/src/js/widgets/widgets.js5
-rw-r--r--addons/web_tour/i18n/fr.po7
-rw-r--r--addons/website/i18n/es.po2
-rw-r--r--addons/website/models/website.py6
-rw-r--r--addons/website/views/website_templates.xml9
-rw-r--r--addons/website_blog/i18n/fr.po6
-rw-r--r--addons/website_crm_partner_assign/i18n/de.po5
-rw-r--r--addons/website_event/i18n/fr.po7
-rw-r--r--addons/website_event/models/event.py2
-rw-r--r--addons/website_event_questions/i18n/fr.po4
-rw-r--r--addons/website_form/i18n/es.po15
-rw-r--r--addons/website_forum/controllers/main.py4
-rw-r--r--addons/website_forum/i18n/es.po70
-rw-r--r--addons/website_forum/i18n/fr.po38
-rw-r--r--addons/website_gengo/i18n/es.po9
-rw-r--r--addons/website_gengo/i18n/fr.po13
-rw-r--r--addons/website_hr_recruitment/i18n/es.po91
-rw-r--r--addons/website_links/i18n/es.po2
-rw-r--r--addons/website_links/i18n/fr.po13
-rw-r--r--addons/website_livechat/i18n/es.po11
-rw-r--r--addons/website_livechat/i18n/fr.po19
-rw-r--r--addons/website_mass_mailing/i18n/es.po6
-rw-r--r--addons/website_mass_mailing/i18n/fr.po5
-rw-r--r--addons/website_quote/i18n/es.po9
-rw-r--r--addons/website_quote/i18n/fr.po11
-rw-r--r--addons/website_quote/models/sale_order.py7
-rw-r--r--addons/website_rating/i18n/es.po9
-rw-r--r--addons/website_rating/i18n/fr.po7
-rw-r--r--addons/website_sale/i18n/es.po165
-rw-r--r--addons/website_sale/i18n/fr.po2
-rw-r--r--addons/website_sale/i18n/zh_CN.po4
-rw-r--r--addons/website_sale/views/templates.xml11
-rw-r--r--addons/website_sale_delivery/i18n/es.po12
-rw-r--r--addons/website_sale_delivery/i18n/fr.po9
-rw-r--r--addons/website_sale_delivery/i18n/zh_CN.po4
-rw-r--r--addons/website_sale_digital/i18n/fr.po13
-rw-r--r--addons/website_sale_management/i18n/fr.po5
-rw-r--r--addons/website_sale_options/i18n/es.po6
-rw-r--r--addons/website_sale_wishlist/i18n/es.po25
-rw-r--r--addons/website_sale_wishlist/i18n/fr.po9
-rw-r--r--addons/website_slides/i18n/es.po56
-rw-r--r--addons/website_twitter/i18n/es.po20
-rw-r--r--addons/website_twitter/i18n/fr.po17
192 files changed, 3783 insertions, 1941 deletions
diff --git a/addons/account/i18n/zh_CN.po b/addons/account/i18n/zh_CN.po
index 4512e841687..e91a31d08e5 100644
--- a/addons/account/i18n/zh_CN.po
+++ b/addons/account/i18n/zh_CN.po
@@ -1142,7 +1142,7 @@ msgstr "替代使用的科目"
msgid ""
"Account used as counterpart for the journal entry, for taxes eligible based "
"on payments."
-msgstr ""
+msgstr "科目与凭证相对应,适用于基于付款的税收。"
#. module: account
#: model:ir.actions.server,name:account.ir_cron_reverse_entry_ir_actions_server
@@ -5906,6 +5906,11 @@ msgid ""
"Batch Deposit: Encase several customer checks at once by generating a batch deposit to submit to your bank. When encoding the bank statement in Odoo, you are suggested to reconcile the transaction with the batch deposit.To enable batch deposit,module account_batch_deposit must be installed.\n"
"SEPA Credit Transfer: Pay bill from a SEPA Credit Transfer file you submit to your bank. To enable sepa credit transfer, module account_sepa must be installed "
msgstr ""
+"手动:通过现金、支票或除 Odoo 以外的其他方法获取报酬。\n"
+" 电子方式:在客户线上购买或订阅时(支付令),在已保存的卡中请求交易,通过付款受让人自动获取报酬。\n"
+" 支票:通过支票支付账单并从 Odoo 中打印账单。\n"
+" 批量存款:几个客户同时支票付款时,可生成批量存款提交到银行中。当在 Odoo 编码银行对账单时,建议您协调批量存款与交易之间的关系。要启用批量存款,必须安装 module account_batch_deposit。\n"
+"SEPA 信用转账:SEPA 信用转账文件中的支付账单应提交给银行。要启用 sepa 信用转账,必须安装 module account_sepa。"
#. module: account
#: model:ir.model.fields,help:account.field_account_journal_outbound_payment_method_ids
@@ -7285,7 +7290,7 @@ msgstr "损益表"
#, python-format
msgid ""
"Programming error: wizard action executed without active_ids in context."
-msgstr ""
+msgstr "编程错误:在上下文环境中没有active_id的向导操作。"
#. module: account
#: model:ir.ui.view,arch_db:account.view_account_chart_template_form
@@ -9329,7 +9334,7 @@ msgstr "这个标签将放在报告上用来显示根据比较筛选条件计算
#, python-format
msgid ""
"This method should only be called to process a single invoice's payment."
-msgstr ""
+msgstr "这个方法只被用来处理单个发票的支付。"
#. module: account
#. openerp-web
@@ -9389,7 +9394,7 @@ msgstr "该付款条款江北用来代替采购订单或者供应商账单中默
msgid ""
"This payment term will be used instead of the default one for sales orders "
"and customer invoices"
-msgstr ""
+msgstr "对于销售订单和客户发票而言,该付款期限将代替默认期限。"
#. module: account
#: model:ir.model.fields,help:account.field_account_bank_statement_line_account_id
@@ -9814,7 +9819,7 @@ msgstr "使用批量存款"
#. module: account
#: model:ir.ui.view,arch_db:account.res_config_settings_view_form
msgid "Use depreciation boards, automate amortization entries"
-msgstr ""
+msgstr "使用折旧版,将摊销项自动化"
#. module: account
#: model:ir.ui.view,arch_db:account.res_config_settings_view_form
@@ -9829,6 +9834,9 @@ msgid ""
" with the current invoice. A new draft invoice will be created\n"
" so that you can edit it."
msgstr ""
+"如果您想取消发票并创建新增 \n"
+" 的一个,使用该选项。创建、验证信用证,并与当前的发票相一致。创建新增发票草案 \n"
+",以便您进行编辑。"
#. module: account
#: model:ir.ui.view,arch_db:account.view_account_invoice_refund
@@ -10289,7 +10297,7 @@ msgstr "一旦设置之后,你无法清空银行账户"
msgid ""
"You cannot have a receivable/payable account that is not reconcilable. "
"(account code: %s)"
-msgstr ""
+msgstr "您不能有不可调和的应收账款/应付账款。(账号:%s)"
#. module: account
#. openerp-web
diff --git a/addons/account/report/account_aged_partner_balance.py b/addons/account/report/account_aged_partner_balance.py
index fd2fef466fb..d280b6cb850 100644
--- a/addons/account/report/account_aged_partner_balance.py
+++ b/addons/account/report/account_aged_partner_balance.py
@@ -27,7 +27,7 @@ class ReportAgedPartnerBalance(models.AbstractModel):
res = []
total = []
cr = self.env.cr
- user_company = self.env.user.company_id.id
+ company_ids = self.env.context.get('company_ids', (self.env.user.company_id.id,))
move_state = ['draft', 'posted']
if target_move == 'posted':
move_state = ['posted']
@@ -41,7 +41,7 @@ class ReportAgedPartnerBalance(models.AbstractModel):
if reconciled_after_date:
reconciliation_clause = '(l.reconciled IS FALSE OR l.id IN %s)'
arg_list += (tuple(reconciled_after_date),)
- arg_list += (date_from, user_company)
+ arg_list += (date_from, tuple(company_ids))
query = '''
SELECT DISTINCT l.partner_id, UPPER(res_partner.name)
FROM account_move_line AS l left join res_partner on l.partner_id = res_partner.id, account_account, account_move am
@@ -51,7 +51,7 @@ class ReportAgedPartnerBalance(models.AbstractModel):
AND (account_account.internal_type IN %s)
AND ''' + reconciliation_clause + '''
AND (l.date <= %s)
- AND l.company_id = %s
+ AND l.company_id IN %s
ORDER BY UPPER(res_partner.name)'''
cr.execute(query, arg_list)
@@ -76,8 +76,8 @@ class ReportAgedPartnerBalance(models.AbstractModel):
AND (COALESCE(l.date_maturity,l.date) > %s)\
AND ((l.partner_id IN %s) OR (l.partner_id IS NULL))
AND (l.date <= %s)
- AND l.company_id = %s'''
- cr.execute(query, (tuple(move_state), tuple(account_type), date_from, tuple(partner_ids), date_from, user_company))
+ AND l.company_id IN %s'''
+ cr.execute(query, (tuple(move_state), tuple(account_type), date_from, tuple(partner_ids), date_from, tuple(company_ids)))
aml_ids = cr.fetchall()
aml_ids = aml_ids and [x[0] for x in aml_ids] or []
for line in self.env['account.move.line'].browse(aml_ids):
@@ -117,7 +117,7 @@ class ReportAgedPartnerBalance(models.AbstractModel):
else:
dates_query += ' <= %s)'
args_list += (periods[str(i)]['stop'],)
- args_list += (date_from, user_company)
+ args_list += (date_from, tuple(company_ids))
query = '''SELECT l.id
FROM account_move_line AS l, account_account, account_move am
@@ -127,7 +127,7 @@ class ReportAgedPartnerBalance(models.AbstractModel):
AND ((l.partner_id IN %s) OR (l.partner_id IS NULL))
AND ''' + dates_query + '''
AND (l.date <= %s)
- AND l.company_id = %s'''
+ AND l.company_id IN %s'''
cr.execute(query, args_list)
partners_amount = {}
aml_ids = cr.fetchall()
diff --git a/addons/base_automation/i18n/de.po b/addons/base_automation/i18n/de.po
index dcd253f76e2..becc0d45cf4 100644
--- a/addons/base_automation/i18n/de.po
+++ b/addons/base_automation/i18n/de.po
@@ -110,43 +110,43 @@ msgstr "Automation"
#: model:ir.cron,cron_name:base_automation.ir_cron_data_base_automation_check
#: model:ir.cron,name:base_automation.ir_cron_data_base_automation_check
msgid "Base Action Rule: check and execute"
-msgstr ""
+msgstr "Basisaktionsregel: Überprüfen und Ausführen"
#. module: base_automation
#: model:base.automation,name:base_automation.test_rule_recursive
#: model:ir.actions.server,name:base_automation.test_rule_recursive_ir_actions_server
msgid "Base Automation: test recursive rule"
-msgstr ""
+msgstr "Basisautomatisierung: rekursive Regel testen"
#. module: base_automation
#: model:base.automation,name:base_automation.test_rule_on_create
#: model:ir.actions.server,name:base_automation.test_rule_on_create_ir_actions_server
msgid "Base Automation: test rule on create"
-msgstr ""
+msgstr "Basisautomatisierung: Testregel für Erstellen"
#. module: base_automation
#: model:base.automation,name:base_automation.test_rule_on_recompute
#: model:ir.actions.server,name:base_automation.test_rule_on_recompute_ir_actions_server
msgid "Base Automation: test rule on recompute"
-msgstr ""
+msgstr "Basisautomatisierung: Testregel für Erneut berechnen"
#. module: base_automation
#: model:base.automation,name:base_automation.test_rule_on_line
#: model:ir.actions.server,name:base_automation.test_rule_on_line_ir_actions_server
msgid "Base Automation: test rule on secondary model"
-msgstr ""
+msgstr "Basisautomatisierung: Testregel für sekundäres Modell"
#. module: base_automation
#: model:base.automation,name:base_automation.test_rule_on_write
#: model:ir.actions.server,name:base_automation.test_rule_on_write_ir_actions_server
msgid "Base Automation: test rule on write"
-msgstr ""
+msgstr "Basisautomatisierung: Testregel für Schreiben"
#. module: base_automation
#: model:base.automation,name:base_automation.test_rule_on_write_check_context
#: model:ir.actions.server,name:base_automation.test_rule_on_write_check_context_ir_actions_server
msgid "Base Automation: test rule on write check context"
-msgstr ""
+msgstr "Basisautomatisierung: Testregel für Kontext für Kontrolllesen"
#. module: base_automation
#: selection:base.automation,trigger:0
@@ -566,6 +566,11 @@ msgid ""
" opportunity which still has status pending after 14 days might\n"
" trigger an automatic reminder email."
msgstr ""
+"Verwenden Sie automatisierte Aktionen, um automatisch Aktionen für\n"
+" verschiedene Bildschirme zu veranlassen. Beispiel: Ein von einem bestimmten Benutzer erstellter Lead kann\n"
+"automatisch auf einen bestimmten Verkaufskanal eingestellt werden oder\n"
+"eine Chance, die nach 14 Tagen immer noch den Status „ausstehend“ innehat, führt zur\n"
+"Auslösung einer automatischen Erinnerungs-E-Mail."
#. module: base_automation
#: model:ir.model.fields,field_description:base_automation.field_base_automation_line_test_user_id
@@ -601,6 +606,8 @@ msgid ""
"When should the condition be triggered.\n"
" If present, will be checked by the scheduler. If empty, will be checked at creation and update."
msgstr ""
+"Wann die Bedingung ausgelöst werden sollte.\n"
+" Falls vorhanden, wird der Zeitplaner die Überprüfung vornehmen. Falls leer, wird bei der Erstellung und Aktualisierung eine Überprüfung vorgenommen."
#. module: base_automation
#: model:ir.model.fields,help:base_automation.field_base_automation_active
diff --git a/addons/base_gengo/i18n/de.po b/addons/base_gengo/i18n/de.po
index 3ed8583a686..01b66159a8c 100644
--- a/addons/base_gengo/i18n/de.po
+++ b/addons/base_gengo/i18n/de.po
@@ -3,22 +3,23 @@
# * base_gengo
#
# Translators:
-# Martin Trigaux <mat@odoo.com>, 2017
# darenkster <inactive+darenkster@transifex.com>, 2017
+# Martin Trigaux, 2017
# Tina Rittmüller <tr@ife.de>, 2017
# Martin K <martinkuenz@gmail.com>, 2017
# Henry Mineehen <info@mineehen.de>, 2017
-# Anja Funk <anja.funk@afimage.de>, 2017
# Ermin Trevisan <trevi@twanda.com>, 2017
# Ralf Hilgenstock <rh@dialoge.info>, 2017
-# Niki Waibel <niki.waibel@gmail.com>, 2017
+# Niki Waibel, 2017
+# Anja Funk <anja.funk@afimage.de>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: Niki Waibel <niki.waibel@gmail.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -74,7 +75,7 @@ msgstr ""
#. module: base_gengo
#: model:ir.ui.view,arch_db:base_gengo.base_gengo_translation_wizard_from
msgid "Click here to Configure Gengo Parameters"
-msgstr ""
+msgstr "Klicken Sie hier, um Gengo-Parameter zu konfigurieren"
#. module: base_gengo
#: model:ir.ui.view,arch_db:base_gengo.res_config_settings_view_form
@@ -137,7 +138,7 @@ msgstr "Öffentlicher Schlüssel in Gengo"
#. module: base_gengo
#: model:ir.ui.view,arch_db:base_gengo.base_gengo_translation_wizard_from
msgid "Gengo Public or Private keys are wrong or missing."
-msgstr ""
+msgstr "Öffentliche oder private Gengo-Schlüssel sind falsch oder fehlen."
#. module: base_gengo
#: model:ir.ui.view,arch_db:base_gengo.base_gengo_translation_wizard_from
@@ -186,14 +187,14 @@ msgstr "Gengo: Manuelle Erstellung einer Anfrage"
#: model:ir.cron,cron_name:base_gengo.gengo_sync_send_request_scheduler
#: model:ir.cron,name:base_gengo.gengo_sync_send_request_scheduler
msgid "Gengo: Sync translation (Request)"
-msgstr ""
+msgstr "Gengo: Übersetzung synchronisieren (Anforderung)"
#. module: base_gengo
#: model:ir.actions.server,name:base_gengo.gengo_sync_receive_request_scheduler_ir_actions_server
#: model:ir.cron,cron_name:base_gengo.gengo_sync_receive_request_scheduler
#: model:ir.cron,name:base_gengo.gengo_sync_receive_request_scheduler
msgid "Gengo: Sync translation (Response)"
-msgstr ""
+msgstr "Gengo: Übersetzung synchronisieren (Antwort)"
#. module: base_gengo
#: model:ir.model.fields,field_description:base_gengo.field_base_gengo_translations_id
@@ -302,7 +303,7 @@ msgstr ""
#. module: base_gengo
#: model:ir.model.fields,field_description:base_gengo.field_base_gengo_translations_authorized_credentials
msgid "The private and public keys are valid"
-msgstr ""
+msgstr "Die privaten und öffentlichen Schlüssel sind gültig"
#. module: base_gengo
#: model:ir.model.fields,help:base_gengo.field_res_company_gengo_comment
diff --git a/addons/base_gengo/wizard/base_gengo_translations.py b/addons/base_gengo/wizard/base_gengo_translations.py
index 0a585934af8..43d2e81ca33 100644
--- a/addons/base_gengo/wizard/base_gengo_translations.py
+++ b/addons/base_gengo/wizard/base_gengo_translations.py
@@ -62,9 +62,9 @@ class BaseGengoTranslations(models.TransientModel):
'type': 'ir.actions.act_window',
'view_type': 'form',
'view_mode': 'form',
- 'res_model': 'res.company',
- 'res_id': self.env.user.company_id.id,
+ 'res_model': 'res.config.settings',
'target': 'current',
+ 'context': {'module' : 'general_settings'},
}
@api.model
diff --git a/addons/base_import/i18n/de.po b/addons/base_import/i18n/de.po
index b26afd39ca1..8881de4a18d 100644
--- a/addons/base_import/i18n/de.po
+++ b/addons/base_import/i18n/de.po
@@ -4,22 +4,23 @@
#
# Translators:
# darenkster <inactive+darenkster@transifex.com>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
+# Martin Trigaux, 2017
# Thomas Neu <t.neu@runbox.com>, 2017
# Ermin Trevisan <trevi@twanda.com>, 2017
# Henry Mineehen <info@mineehen.de>, 2017
# Rudolf Schnapka <rs@techno-flex.de>, 2017
# Tina Rittmüller <tr@ife.de>, 2017
-# Niki Waibel <niki.waibel@gmail.com>, 2017
-# Renzo Meister <info@jamotion.ch>, 2017
-# Andi <flimflam@salasar.de>, 2017
+# Niki Waibel, 2017
+# Renzo Meister, 2017
+# Andi, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-12-13 14:36+0000\n"
"PO-Revision-Date: 2017-12-13 14:36+0000\n"
-"Last-Translator: Andi <flimflam@salasar.de>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -63,13 +64,13 @@ msgstr "Abbrechen"
#: code:addons/base_import/models/base_import.py:596
#, python-format
msgid "Column %s contains incorrect values (value: %s)"
-msgstr ""
+msgstr "Spalte %s enthält fehlerhafte Werte (Wert: %s)"
#. module: base_import
#: code:addons/base_import/models/base_import.py:627
#, python-format
msgid "Column %s contains incorrect values. Error in line %d: %s"
-msgstr ""
+msgstr "Spalte %s enthält fehlerhafte Werte. Fehler in der Zeile %d: %s"
#. module: base_import
#. openerp-web
@@ -189,7 +190,7 @@ msgstr "Zeichensatz:"
#: code:addons/base_import/models/base_import.py:629
#, python-format
msgid "Error Parsing Date [%s:L%d]: %s"
-msgstr ""
+msgstr "Fehler bei der Analyse des Datums [%s:L%d]: %s"
#. module: base_import
#: code:addons/base_import/models/base_import.py:227
@@ -398,7 +399,7 @@ msgstr "Datei Laden"
#: code:addons/base_import/static/src/xml/base_import.xml:61
#, python-format
msgid "Map your columns to import"
-msgstr ""
+msgstr "Ordnen Sie die Spalten zum Importieren zu"
#. module: base_import
#: model:ir.model.fields,field_description:base_import.field_base_import_import_res_model
@@ -481,7 +482,7 @@ msgstr "Trennzeichen:"
#: code:addons/base_import/static/src/xml/base_import.xml:77
#, python-format
msgid "Show fields of relation fields (advanced)"
-msgstr ""
+msgstr "Felder mit Relationsfeldern anzeigen (erweitert)"
#. module: base_import
#: model:ir.model.fields,field_description:base_import.field_base_import_tests_models_preview_somevalue
@@ -507,7 +508,7 @@ msgstr "Tabulator"
#: code:addons/base_import/static/src/xml/base_import.xml:91
#, python-format
msgid "Test Import"
-msgstr ""
+msgstr "Test Import"
#. module: base_import
#. openerp-web
diff --git a/addons/base_import_module/i18n/de.po b/addons/base_import_module/i18n/de.po
index 6f17a1ef922..70ab32bf714 100644
--- a/addons/base_import_module/i18n/de.po
+++ b/addons/base_import_module/i18n/de.po
@@ -3,23 +3,24 @@
# * base_import_module
#
# Translators:
-# Niki Waibel <niki.waibel@gmail.com>, 2017
+# Niki Waibel, 2017
# Ralf Hilgenstock <rh@dialoge.info>, 2017
# Tina Rittmüller <tr@ife.de>, 2017
# Anja Funk <anja.funk@afimage.de>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
-# Wolfgang Taferner <wolfgang.transifex@service.wt-io-it.at>, 2017
+# Martin Trigaux, 2017
+# Wolfgang Taferner, 2017
# darenkster <inactive+darenkster@transifex.com>, 2017
# Henry Mineehen <info@mineehen.de>, 2017
# Ermin Trevisan <trevi@twanda.com>, 2017
-# Renzo Meister <info@jamotion.ch>, 2017
+# Renzo Meister, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-24 09:00+0000\n"
"PO-Revision-Date: 2017-10-24 09:00+0000\n"
-"Last-Translator: Renzo Meister <info@jamotion.ch>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -41,7 +42,7 @@ msgstr "Schließen"
#: code:addons/base_import_module/controllers/main.py:31
#, python-format
msgid "Could not select database '%s'"
-msgstr ""
+msgstr "Datenbank „%s“ konnte nicht ausgewählt werden"
#. module: base_import_module
#: model:ir.model.fields,field_description:base_import_module.field_base_import_module_create_uid
@@ -96,7 +97,7 @@ msgstr "App importieren"
#. module: base_import_module
#: model:ir.model.fields,field_description:base_import_module.field_base_import_module_import_message
msgid "Import Message"
-msgstr ""
+msgstr "Mitteilung importieren"
#. module: base_import_module
#: model:ir.actions.act_window,name:base_import_module.action_view_base_module_import
@@ -145,13 +146,13 @@ msgstr "Modul .ZIP Datei"
#: code:addons/base_import_module/models/ir_module.py:102
#, python-format
msgid "No file sent."
-msgstr ""
+msgstr "Keine Datei gesendet."
#. module: base_import_module
#: code:addons/base_import_module/controllers/main.py:25
#, python-format
msgid "Only administrators can upload a module"
-msgstr ""
+msgstr "Nur Administratoren können ein Modul hochladen"
#. module: base_import_module
#: model:ir.ui.view,arch_db:base_import_module.view_base_module_import
@@ -173,7 +174,7 @@ msgstr "Status"
#: code:addons/base_import_module/models/ir_module.py:47
#, python-format
msgid "Studio customizations require Studio"
-msgstr ""
+msgstr "Studio-Anpassungen erfordern Studio"
#. module: base_import_module
#: code:addons/base_import_module/models/ir_module.py:42
diff --git a/addons/base_setup/i18n/de.po b/addons/base_setup/i18n/de.po
index da95fb384b4..ca0e35d67d6 100644
--- a/addons/base_setup/i18n/de.po
+++ b/addons/base_setup/i18n/de.po
@@ -60,7 +60,7 @@ msgstr "Ermöglicht die Arbeit mit unterschiedlichen Währungen"
#. module: base_setup
#: model:ir.model.fields,field_description:base_setup.field_res_config_settings_module_voip
msgid "Asterisk (VoIP)"
-msgstr ""
+msgstr "Sternchen (VoIP)"
#. module: base_setup
#: model:ir.model.fields,field_description:base_setup.field_res_config_settings_module_google_drive
@@ -70,23 +70,25 @@ msgstr "Hängen Sie Google Dokumente an jeden beliebigen Datensatz an"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Automate inter-company transactions"
-msgstr ""
+msgstr "Automatisieren Sie unternehmensinterne Transaktionen"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Business Documents"
-msgstr ""
+msgstr "Geschäftsunterlagen"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid ""
"By default, new users get highest access rights for all installed apps."
msgstr ""
+"Standardmäßig erhalten neue Benutzer die höchsten Zugriffsrechte für alle "
+"installierten Apps."
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Change Document Template"
-msgstr ""
+msgstr "Dokumentvorlage ändern"
#. module: base_setup
#: code:addons/base_setup/models/res_config_settings.py:100
@@ -97,7 +99,7 @@ msgstr "Wählen Sie Ihr Dokumentenlayout"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Choose your document's header and footer layout"
-msgstr ""
+msgstr "Wählen Sie das Kopf- und Fußzeilenlayout Ihres Dokuments"
#. module: base_setup
#: model:ir.model.fields,field_description:base_setup.field_res_config_settings_module_pad
@@ -107,7 +109,7 @@ msgstr "Plattform für Zusammenarbeit"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Common Contact Book"
-msgstr ""
+msgstr "Gemeinsames Kontaktbuch"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
@@ -125,11 +127,16 @@ msgid ""
"Configure company rules to automatically create SO/PO when one of your "
"company sells/buys to another of your company."
msgstr ""
+"Konfigurieren Sie Unternehmensregeln, um automatisch Verkaufsaufträge oder "
+"Bestellungen zu erstellen, wenn jemand aus Ihrem Unternehmen Güter an eine "
+"andere Firma verkauft/bzw. bei einer anderen Firma einkauft."
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Create and attach Google Drive documents to any record"
msgstr ""
+"Sie können in jedem Datensatz Google Drive-Dokumente erstellen und "
+"hinzufügen"
#. module: base_setup
#: model:ir.model.fields,field_description:base_setup.field_res_config_settings_default_custom_report_footer
@@ -152,17 +159,17 @@ msgstr "Dokumenten Vorlage"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Edit Header"
-msgstr ""
+msgstr "Kopfzeile bearbeiten"
#. module: base_setup
#: model:ir.model.fields,field_description:base_setup.field_res_config_settings_default_external_email_server
msgid "External Email Servers"
-msgstr ""
+msgstr "Externe E-Mail-Server"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Extract and analyze Odoo data from Google Spreadsheet"
-msgstr ""
+msgstr "Extrahieren und analysieren Sie Odoo-Daten über Google Tabellen"
#. module: base_setup
#: model:ir.model.fields,help:base_setup.field_res_config_settings_report_footer
@@ -183,7 +190,7 @@ msgstr "Allgemeine Einstellungen"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Gengo Translations"
-msgstr ""
+msgstr "Gengo Translations"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
@@ -203,7 +210,7 @@ msgstr "Google Spreadsheet"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Import & Export"
-msgstr ""
+msgstr "Importieren und Exportieren"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
@@ -213,13 +220,13 @@ msgstr "Integration"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Inter-Company Transactions"
-msgstr ""
+msgstr "Unternehmensinterne Transaktionen"
#. module: base_setup
#: model:ir.model.fields,field_description:base_setup.field_res_config_settings_module_auth_ldap
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "LDAP Authentication"
-msgstr ""
+msgstr "LDAP-Authentifizierung"
#. module: base_setup
#: model:ir.model.fields,field_description:base_setup.field_res_config_settings_module_inter_company_rules
@@ -234,7 +241,7 @@ msgstr "Multi-Unternehmen Verwaltung"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Manage multiple legal entities with separate accounting"
-msgstr ""
+msgstr "Verwalten Sie mehrere Rechtspersonen mit separater Buchhaltung"
#. module: base_setup
#: model:ir.model.fields,field_description:base_setup.field_res_config_settings_group_multi_currency
@@ -244,12 +251,12 @@ msgstr "Mehrere Währungen"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Multi-company"
-msgstr ""
+msgstr "Mehrere Unternehmen"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "OAuth Authentication"
-msgstr ""
+msgstr "OAuth-Authentifizierung"
#. module: base_setup
#: model:ir.model.fields,field_description:base_setup.field_res_config_settings_paperformat_id
@@ -259,17 +266,17 @@ msgstr "Papierformat"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Preview Document"
-msgstr ""
+msgstr "Vorschaudokument"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Set custom access rights for new users"
-msgstr ""
+msgstr "Benutzerdefinierte Zugangsberechtigungen für neue Benutzer festlegen"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Set the paper format of printed documents"
-msgstr ""
+msgstr "Das Papierformat für gedruckte Dokumente festlegen"
#. module: base_setup
#: model:ir.actions.act_window,name:base_setup.action_general_configuration
@@ -295,7 +302,7 @@ msgstr ""
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Synchronize your calendar with Google Calendar"
-msgstr ""
+msgstr "Ihren Kalender mit Google Kalender abgleichen"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
@@ -305,32 +312,32 @@ msgstr "Vorlage"
#. module: base_setup
#: model:ir.model.fields,field_description:base_setup.field_res_config_settings_module_base_gengo
msgid "Translate Your Website with Gengo"
-msgstr ""
+msgstr "Übersetzen Sie Ihre Website mit Gengo"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Translate your website with Gengo"
-msgstr ""
+msgstr "Übersetzen Sie Ihre Website mit Gengo"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Use LDAP credentials to log in"
-msgstr ""
+msgstr "Melden Sie sich mit LDAP-Anmeldedaten an"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Use external accounts to log in (Google, Facebook, etc.)"
-msgstr ""
+msgstr "Melden Sie sich über externe Konten an (Google, Facebook, usw.)"
#. module: base_setup
#: model:ir.model.fields,field_description:base_setup.field_res_config_settings_module_auth_oauth
msgid "Use external authentication providers (OAuth)"
-msgstr ""
+msgstr "Verwenden Sie externe Authentifizierungsanbieter (OAuth)"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
msgid "Use external pads in Odoo Notes"
-msgstr ""
+msgstr "Verwenden Sie externe Pads in Odoo Notes"
#. module: base_setup
#: model:ir.ui.view,arch_db:base_setup.res_config_settings_view_form
diff --git a/addons/base_sparse_field/i18n/de.po b/addons/base_sparse_field/i18n/de.po
index b4185a00c95..90ad2d44f1a 100644
--- a/addons/base_sparse_field/i18n/de.po
+++ b/addons/base_sparse_field/i18n/de.po
@@ -3,20 +3,21 @@
# * base_sparse_field
#
# Translators:
-# Martin Trigaux <mat@odoo.com>, 2017
+# Martin Trigaux, 2017
# Tina Rittmüller <tr@ife.de>, 2017
-# Niki Waibel <niki.waibel@gmail.com>, 2017
+# Niki Waibel, 2017
# darenkster <inactive+darenkster@transifex.com>, 2017
# Henry Mineehen <info@mineehen.de>, 2017
-# Renzo Meister <info@jamotion.ch>, 2017
-# Wolfgang Taferner <wolfgang.transifex@service.wt-io-it.at>, 2017
+# Renzo Meister, 2017
+# Wolfgang Taferner, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: Wolfgang Taferner <wolfgang.transifex@service.wt-io-it.at>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -109,7 +110,7 @@ msgstr "Zuletzt aktualisiert am"
#. module: base_sparse_field
#: selection:sparse_fields.test,selection:0
msgid "One"
-msgstr ""
+msgstr "Eins"
#. module: base_sparse_field
#: model:ir.model.fields,field_description:base_sparse_field.field_sparse_fields_test_partner
@@ -141,9 +142,9 @@ msgstr "Serialisierungsfeld `%s` für Ersatzfeld `%s` nicht gefunden!"
#. module: base_sparse_field
#: selection:sparse_fields.test,selection:0
msgid "Two"
-msgstr ""
+msgstr "Zwei"
#. module: base_sparse_field
#: model:ir.model,name:base_sparse_field.model_sparse_fields_test
msgid "sparse_fields.test"
-msgstr ""
+msgstr "sparse_fields.test"
diff --git a/addons/base_vat/i18n/de.po b/addons/base_vat/i18n/de.po
index 4974913bf72..2535342a0f1 100644
--- a/addons/base_vat/i18n/de.po
+++ b/addons/base_vat/i18n/de.po
@@ -3,17 +3,18 @@
# * base_vat
#
# Translators:
-# Anja Funk <anja.funk@afimage.de>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
+# Martin Trigaux, 2017
# Tina Rittmüller <tr@ife.de>, 2017
-# Andi <flimflam@salasar.de>, 2017
+# Andi, 2017
+# Anja Funk <anja.funk@afimage.de>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: Andi <flimflam@salasar.de>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -37,6 +38,10 @@ msgid ""
"If this checkbox is ticked, you will not be able to save a contact if its "
"VAT number cannot be verified by the European VIES service."
msgstr ""
+"Wenn dieses Kontrollkästchen angekreuzt ist, können Sie einen Kontakt nur "
+"dann speichern, wenn die MwSt-Nummer über das MwSt-"
+"Informationsaustauschsystem der Europäischen Kommission überprüft werden "
+"kann."
#. module: base_vat
#: code:addons/base_vat/models/res_partner.py:134
diff --git a/addons/board/i18n/de.po b/addons/board/i18n/de.po
index c6cf803d4ea..b46ee913d19 100644
--- a/addons/board/i18n/de.po
+++ b/addons/board/i18n/de.po
@@ -4,18 +4,19 @@
#
# Translators:
# Ermin Trevisan <trevi@twanda.com>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
+# Martin Trigaux, 2017
# Anja Funk <anja.funk@afimage.de>, 2017
# Henry Mineehen <info@mineehen.de>, 2017
# darenkster <inactive+darenkster@transifex.com>, 2017
# Tina Rittmüller <tr@ife.de>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: Tina Rittmüller <tr@ife.de>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -61,7 +62,7 @@ msgstr "Zu meinem Dashboard hinzufügen"
#: code:addons/board/static/src/js/dashboard.js:335
#, python-format
msgid "Are you sure you want to remove this item?"
-msgstr ""
+msgstr "Sind Sie sicher, dass Sie diesen Eintrag löschen wollen ?"
#. module: board
#: model:ir.model,name:board.model_board_board
diff --git a/addons/bus/static/src/js/bus.js b/addons/bus/static/src/js/bus.js
index 25a8b86903f..73b69013389 100644
--- a/addons/bus/static/src/js/bus.js
+++ b/addons/bus/static/src/js/bus.js
@@ -76,7 +76,8 @@ bus.Bus = Widget.extend({
this.last_partners_presence_check = now;
}
var data = {channels: self.channels, last: self.last, options: options};
- session.rpc('/longpolling/poll', data, {shadow : true}).then(function(result) {
+ // The backend has a maximum cycle time of 50 seconds so give +10 seconds
+ session.rpc('/longpolling/poll', data, {shadow : true, timeout: 60000}).then(function(result) {
self.on_notification(result);
if(!self.stop){
self.poll();
diff --git a/addons/calendar/i18n/zh_CN.po b/addons/calendar/i18n/zh_CN.po
index 38de9af129d..e555db09550 100644
--- a/addons/calendar/i18n/zh_CN.po
+++ b/addons/calendar/i18n/zh_CN.po
@@ -622,7 +622,7 @@ msgstr "全天,%s"
#. module: calendar
#: sql_constraint:calendar.contacts:0
msgid "An user cannot have twice the same contact."
-msgstr ""
+msgstr "用户不能重复创建联系人。"
#. module: calendar
#: model:ir.model.fields,field_description:calendar.field_calendar_event_is_attendee
@@ -1461,7 +1461,7 @@ msgstr "这"
msgid ""
"The activity is linked to a meeting. Deleting it will remove the meeting as "
"well. Do you want to proceed ?"
-msgstr ""
+msgstr "活动与会议相关联。删除该活动也会删除相关会议。是否要继续?"
#. module: calendar
#: model:ir.actions.act_window,help:calendar.action_calendar_event
diff --git a/addons/crm/i18n/zh_CN.po b/addons/crm/i18n/zh_CN.po
index 52128e5d2ce..fe5710dc5f5 100644
--- a/addons/crm/i18n/zh_CN.po
+++ b/addons/crm/i18n/zh_CN.po
@@ -688,7 +688,7 @@ msgstr "创建"
#. module: crm
#: model:ir.ui.view,arch_db:crm.view_create_opportunity_simplified
msgid "Create & Edit"
-msgstr ""
+msgstr "创建和编辑"
#. module: crm
#: model:ir.model.fields,field_description:crm.field_crm_lead_create_date
diff --git a/addons/crm/security/crm_security.xml b/addons/crm/security/crm_security.xml
index 235d6854f93..83f3197a5b1 100644
--- a/addons/crm/security/crm_security.xml
+++ b/addons/crm/security/crm_security.xml
@@ -34,16 +34,6 @@
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
- <record id="crm_rule_lead_assigned_activities" model="ir.rule">
- <field name="name">Leads with assigned activities</field>
- <field ref="model_crm_lead" name="model_id"/>
- <field name="domain_force">[('activity_ids.user_id','=',user.id)]</field>
- <field name="groups" eval="[(4, ref('sales_team.group_sale_salesman'))]"/>
- <field name="perm_read" eval="True"/>
- <field name="perm_write" eval="False"/>
- <field name="perm_create" eval="False"/>
- <field name="perm_unlink" eval="False"/>
- </record>
<record id="crm_rule_all_lead" model="ir.rule">
<field name="name">All Leads</field>
<field ref="model_crm_lead" name="model_id"/>
diff --git a/addons/event/i18n/zh_CN.po b/addons/event/i18n/zh_CN.po
index 6d5ff08e951..6875de9df24 100644
--- a/addons/event/i18n/zh_CN.po
+++ b/addons/event/i18n/zh_CN.po
@@ -502,7 +502,7 @@ msgstr "<p/><p/><p/><p/><p/>"
#. module: event
#: model:mail.template,subject:event.event_reminder
msgid "${object.event_id.name}: ${object.get_date_range_str()}"
-msgstr ""
+msgstr "${object.event_id.name}: ${object.get_date_range_str()}"
#. module: event
#: model:ir.ui.view,arch_db:event.view_event_kanban
@@ -539,7 +539,7 @@ msgstr "有效"
msgid ""
"Add a navigation menu to your event web pages with schedule, tracks, a track"
" proposal form, etc."
-msgstr ""
+msgstr "将导航菜单添加到您的活动网页,其中含有时间表、跟踪,跟踪建议表格等"
#. module: event
#: selection:event.mail,interval_type:0
@@ -563,7 +563,7 @@ msgstr "已归档"
msgid ""
"Are you sure you want to cancel this event? All the linked attendees will be"
" cancelled as well."
-msgstr ""
+msgstr "是否确定要取消这个活动?所有链接的参与者也将被取消。"
#. module: event
#: model:ir.ui.view,arch_db:event.res_config_settings_view_form
@@ -612,17 +612,17 @@ msgstr "与会者"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_event_auto_confirm
msgid "Autoconfirm Registrations"
-msgstr ""
+msgstr "自动确认注册"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_type_auto_confirm
msgid "Automatically Confirm Registrations"
-msgstr ""
+msgstr "自动确认注册"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_type_use_mail_schedule
msgid "Automatically Send Emails"
-msgstr ""
+msgstr "自动发送电子邮件"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_event_seats_available
@@ -689,7 +689,7 @@ msgstr "类别"
#. module: event
#: model:ir.actions.act_window,help:event.act_event_registration_from_event
msgid "Click to add a new attendee."
-msgstr ""
+msgstr "点击添加新的参与者。"
#. module: event
#: model:ir.actions.act_window,help:event.action_event_view
@@ -1144,7 +1144,7 @@ msgstr "限制的"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_type_has_seats_limitation
msgid "Limited Seats"
-msgstr ""
+msgstr "有限名额"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_event_address_id
@@ -1267,7 +1267,7 @@ msgstr "参与者数目"
#: model:ir.model.fields,help:event.field_res_partner_event_count
#: model:ir.model.fields,help:event.field_res_users_event_count
msgid "Number of events the partner has participated."
-msgstr ""
+msgstr "合作伙伴已参与的活动数量。"
#. module: event
#: model:ir.actions.act_window,help:event.action_event_view
@@ -1287,12 +1287,12 @@ msgstr "在线"
#: model:ir.model.fields,field_description:event.field_event_event_is_online
#: model:ir.model.fields,field_description:event.field_event_type_is_online
msgid "Online Event"
-msgstr ""
+msgstr "在线活动"
#. module: event
#: model:ir.model.fields,field_description:event.field_res_config_settings_module_website_event_sale
msgid "Online Ticketing"
-msgstr ""
+msgstr "在线票务"
#. module: event
#: model:ir.ui.view,arch_db:event.view_event_type_form
@@ -1300,13 +1300,15 @@ msgid ""
"Online events like webinars do not require a specific location\n"
" and are hosted online."
msgstr ""
+"网络研讨会等在线活动不需要特定的位置\n"
+",并进行在线托管。"
#. module: event
#: model:ir.model.fields,help:event.field_event_type_is_online
msgid ""
"Online events like webinars do not require a specific location and are "
"hosted online."
-msgstr ""
+msgstr "网络研讨会等在线活动不需要特定的位置,并进行在线托管。"
#. module: event
#: model:ir.model.fields,field_description:event.field_event_event_organizer_id
diff --git a/addons/fetchmail/i18n/zh_CN.po b/addons/fetchmail/i18n/zh_CN.po
index d7a84ef44e6..06e13e53d0a 100644
--- a/addons/fetchmail/i18n/zh_CN.po
+++ b/addons/fetchmail/i18n/zh_CN.po
@@ -6,13 +6,14 @@
# Jeffery CHEN Fan <jeffery9@gmail.com>, 2016
# liAnGjiA <liangjia@qq.com>, 2017
# 老窦 北京 <2662059195@qq.com>, 2018
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: 老窦 北京 <2662059195@qq.com>, 2018\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: Chinese (China) (https://www.transifex.com/odoo/teams/41243/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -191,7 +192,7 @@ msgstr "登录信息"
#: model:ir.cron,cron_name:fetchmail.ir_cron_mail_gateway_action
#: model:ir.cron,name:fetchmail.ir_cron_mail_gateway_action
msgid "Mail: Fetchmail Service"
-msgstr ""
+msgstr "邮件:Fetchmail 服务"
#. module: fetchmail
#: model:ir.actions.act_window,name:fetchmail.act_server_history
diff --git a/addons/gamification_sale_crm/i18n/es.po b/addons/gamification_sale_crm/i18n/es.po
index dba46352a75..d617d50c40f 100644
--- a/addons/gamification_sale_crm/i18n/es.po
+++ b/addons/gamification_sale_crm/i18n/es.po
@@ -3,16 +3,17 @@
# * gamification_sale_crm
#
# Translators:
-# Pedro M. Baeza <pedro.baeza@gmail.com>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
+# Pedro M. Baeza <pedro.baeza@gmail.com>, 2016
+# Martin Trigaux, 2016
# Christopher Ormaza <chris.ormaza@gmail.com>, 2017
+# JOSE ALEJANDRO ECHEVERRI VALENCIA <josealejandroeche@gmail.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: Christopher Ormaza <chris.ormaza@gmail.com>, 2017\n"
+"Last-Translator: JOSE ALEJANDRO ECHEVERRI VALENCIA <josealejandroeche@gmail.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -71,7 +72,7 @@ msgstr "Tiempo para calificar una iniciativa"
#. module: gamification_sale_crm
#: model:gamification.goal.definition,name:gamification_sale_crm.definition_crm_tot_customer_refunds
msgid "Total Customer Credit Notes"
-msgstr ""
+msgstr "Total Notas Crédito del Cliente"
#. module: gamification_sale_crm
#: model:gamification.challenge.line,name:gamification_sale_crm.line_crm_sale1
diff --git a/addons/hr_expense/models/hr_expense.py b/addons/hr_expense/models/hr_expense.py
index a7dead17eba..629d1ec2160 100644
--- a/addons/hr_expense/models/hr_expense.py
+++ b/addons/hr_expense/models/hr_expense.py
@@ -506,7 +506,7 @@ class HrExpenseSheet(models.Model):
@api.onchange('employee_id')
def _onchange_employee_id(self):
- self.address_id = self.employee_id.address_home_id
+ self.address_id = self.employee_id.sudo().address_home_id
self.department_id = self.employee_id.department_id
self.user_id = self.employee_id.expense_manager_id
diff --git a/addons/hr_expense/views/hr_expense_views.xml b/addons/hr_expense/views/hr_expense_views.xml
index c8b919b13bf..5828e566c4c 100644
--- a/addons/hr_expense/views/hr_expense_views.xml
+++ b/addons/hr_expense/views/hr_expense_views.xml
@@ -63,7 +63,7 @@
<field name="reference"/>
<field name="date"/>
<field name="account_id" domain="[('internal_type', '=', 'other')]" groups="account.group_account_user"/>
- <field name="employee_id"/>
+ <field name="employee_id" groups="hr_expense.group_hr_expense_user"/>
<field name="sheet_id" invisible="1"/>
<field name="currency_id" groups="base.group_multi_currency"/>
<field name="analytic_account_id" groups="analytic.group_analytic_accounting"/>
diff --git a/addons/hr_holidays/models/hr.py b/addons/hr_holidays/models/hr.py
index e6d83fffe7a..e50ba97a7a2 100644
--- a/addons/hr_holidays/models/hr.py
+++ b/addons/hr_holidays/models/hr.py
@@ -223,7 +223,12 @@ class Employee(models.Model):
def write(self, values):
res = super(Employee, self).write(values)
- if 'parent_id' in values:
+ if 'parent_id' in values or 'department_id' in values:
holidays = self.env['hr.holidays'].search([('state', 'in', ['draft', 'confirm']), ('employee_id', 'in', self.ids)])
- holidays.write({'manager_id': values['parent_id']})
+ hr_vals = {}
+ if values.get('parent_id') is not None:
+ hr_vals['manager_id'] = values['parent_id']
+ if values.get('department_id') is not None:
+ hr_vals['department_id'] = values['department_id']
+ holidays.write(hr_vals)
return res
diff --git a/addons/hr_holidays/models/hr_leave.py b/addons/hr_holidays/models/hr_leave.py
index 047d11302b9..1cf1ee9b17f 100644
--- a/addons/hr_holidays/models/hr_leave.py
+++ b/addons/hr_holidays/models/hr_leave.py
@@ -88,6 +88,7 @@ class HolidaysRequest(models.Model):
@api.onchange('employee_id')
def _onchange_employee_id(self):
self.manager_id = self.employee_id and self.employee_id.parent_id
+ self.department_id = self.employee_id and self.employee_id.department_id
@api.multi
@api.depends('number_of_days_temp')
diff --git a/addons/hr_payroll_account/models/hr_payroll_account.py b/addons/hr_payroll_account/models/hr_payroll_account.py
index e76173d45a4..da168912095 100644
--- a/addons/hr_payroll_account/models/hr_payroll_account.py
+++ b/addons/hr_payroll_account/models/hr_payroll_account.py
@@ -158,7 +158,6 @@ class HrContract(models.Model):
class HrPayslipRun(models.Model):
_inherit = 'hr.payslip.run'
- _description = 'Payslip Run'
journal_id = fields.Many2one('account.journal', 'Salary Journal', states={'draft': [('readonly', False)]}, readonly=True,
required=True, default=lambda self: self.env['account.journal'].search([('type', '=', 'general')], limit=1))
diff --git a/addons/hr_recruitment/i18n/fr.po b/addons/hr_recruitment/i18n/fr.po
index ecfa4c0cd67..9811cec9573 100644
--- a/addons/hr_recruitment/i18n/fr.po
+++ b/addons/hr_recruitment/i18n/fr.po
@@ -691,6 +691,9 @@ msgid ""
" If you install the document management modules, all resumes are indexed automatically,\n"
" so that you can easily search through their content."
msgstr ""
+"Les postulants et leur CV sont créés automatiquement lorsqu'un e-mail est envoyé. \n"
+"Si vous installez les modules de gestion des documents, tous les CV sont automatiquement indexés,\n"
+"ainsi vous pouvez parcourir facilement leur contenu."
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.view_hr_job_kanban
@@ -789,7 +792,7 @@ msgstr "Catégorie de candidat"
#: model:ir.actions.act_window,help:hr_recruitment.action_hr_job
#: model:ir.actions.act_window,help:hr_recruitment.action_hr_job_config
msgid "Click here to create a new job position."
-msgstr ""
+msgstr "Cliquez ici pour créer un poste."
#. module: hr_recruitment
#: model:ir.actions.act_window,help:hr_recruitment.action_hr_job_no_employee
@@ -883,7 +886,7 @@ msgstr "Créer un employé"
#: model:ir.actions.act_window,name:hr_recruitment.create_job_simple
#: model:ir.ui.view,arch_db:hr_recruitment.hr_job_simple_form
msgid "Create a Job Position"
-msgstr ""
+msgstr "Créer un poste"
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.hr_recruitment_source_tree
@@ -894,7 +897,7 @@ msgstr "Créer un alias"
#: model:ir.actions.act_window,help:hr_recruitment.action_hr_job_sources
msgid ""
"Create some aliases that will allow you to track where applicants come from."
-msgstr ""
+msgstr "Créez des alias pour connaître la provenance des candidats."
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant_category_create_uid
@@ -1260,11 +1263,12 @@ msgstr "Poste"
#: model:mail.template,subject:hr_recruitment.email_template_data_applicant_congratulations
msgid "Job Application Confirmation: ${object.job_id.name | safe}"
msgstr ""
+"Confirmation de la candidature à un poste : ${object.job_id.name | safe}"
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.crm_case_pivot_view_job
msgid "Job Applications"
-msgstr ""
+msgstr "Candidatures à un poste"
#. module: hr_recruitment
#: model:utm.campaign,name:hr_recruitment.utm_campaign_job
@@ -1274,7 +1278,7 @@ msgstr "Campagne d'offres "
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.hr_job_simple_form
msgid "Job Email"
-msgstr ""
+msgstr "E-mail du poste"
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_recruitment_source_job_id
@@ -1317,7 +1321,7 @@ msgstr "Publication d'offres d'emploi"
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_recruitment_stage_job_id
msgid "Job Specific"
-msgstr ""
+msgstr "Détails du poste"
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.hr_applicant_view_search
@@ -1501,7 +1505,7 @@ msgstr "Nombre de documents joints"
#. module: hr_recruitment
#: model:ir.model.fields,help:hr_recruitment.field_hr_applicant_delay_close
msgid "Number of days to close"
-msgstr ""
+msgstr "Nombre de jours pour clôturer"
#. module: hr_recruitment
#: model:ir.actions.act_window,help:hr_recruitment.action_hr_job_applications
@@ -1524,7 +1528,7 @@ msgstr ""
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.hr_job_survey
msgid "Offer"
-msgstr ""
+msgstr "Offre"
#. module: hr_recruitment
#: model:res.groups,name:hr_recruitment.group_hr_recruitment_user
@@ -1537,6 +1541,8 @@ msgid ""
"Once a job position is created, you can track related applications\n"
" and manage the recruitment process."
msgstr ""
+"Une fois qu'un poste est créé, vous pouvez suivre les candidatures associées\n"
+" et gérer le processus de recrutement."
#. module: hr_recruitment
#: model:ir.actions.act_window,help:hr_recruitment.action_hr_job_config
@@ -1597,7 +1603,7 @@ msgstr ""
#. module: hr_recruitment
#: model:ir.model.fields,help:hr_recruitment.field_hr_job_hr_responsible_id
msgid "Person responsible of validating the employee's contracts."
-msgstr ""
+msgstr "Responsable de la validation des contrats des employés."
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant_partner_phone
@@ -1702,7 +1708,7 @@ msgstr "Refusée"
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.crm_case_form_view_job
msgid "Reopen Application"
-msgstr ""
+msgstr "Rouvrir la candidature"
#. module: hr_recruitment
#: model:ir.ui.menu,name:hr_recruitment.report_hr_recruitment
@@ -1814,6 +1820,8 @@ msgstr "Origines des candidats"
#: model:ir.model.fields,help:hr_recruitment.field_hr_recruitment_stage_job_id
msgid "Specific job that uses this stage. Other jobs will not use this stage."
msgstr ""
+"Poste spécifique qui utilise cette étape. D'autres postes ne pourront pas "
+"utiliser cette étape."
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant_stage_id
@@ -1944,6 +1952,9 @@ msgid ""
"These aliases can be emails or urls for every source. When the applicant "
"arrives here through one of these you'll know where he came from."
msgstr ""
+"Ces alias peuvent être des e-mails ou des URL pour chaque source. Lorsque le"
+" candidat arrive sur cette page via l'un de ces moyens, vous saurez d'où il "
+"vient."
#. module: hr_recruitment
#: model:ir.model.fields,help:hr_recruitment.field_hr_applicant_email_cc
@@ -1974,6 +1985,10 @@ msgid ""
" files so that you can search keywords from the content of these\n"
" files."
msgstr ""
+"Ce menu vous aide à parcourir des CV et des lettres de\n"
+" motivation. Odoo indexe automatiquement les fichiers .PDF, .DOC, DOCX, .TXT\n"
+" afin que vous puissiez rechercher des mots-clés depuis le contenu de ces\n"
+" fichiers."
#. module: hr_recruitment
#: model:ir.model.fields,help:hr_recruitment.field_hr_recruitment_stage_fold
@@ -1997,6 +2012,8 @@ msgid ""
"Try to send an email to this address, it will create an application "
"automatically."
msgstr ""
+"Essayez d'envoyer un e-mail à cette adresse. Cela créera automatiquement une"
+" application."
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.hr_applicant_view_search
@@ -2028,6 +2045,10 @@ msgid ""
"process. Select the form to use in the job position detail form. This relies"
" on Survey app."
msgstr ""
+"Utilisez des formulaires d'entretien adaptés à chaque poste pendant le "
+"processus de recrutement. Sélectionnez le formulaire à utiliser dans le "
+"formulaire d'informations sur le poste. Cela dépend de l'application "
+"Enquêtes."
#. module: hr_recruitment
#. openerp-web
@@ -2085,12 +2106,12 @@ msgstr ""
#. module: hr_recruitment
#: model:mail.template,subject:hr_recruitment.email_template_data_applicant_interest
msgid "Your Application: ${object.job_id.name | safe}"
-msgstr ""
+msgstr "Votre candidature : ${object.job_id.name | safe}"
#. module: hr_recruitment
#: model:mail.template,subject:hr_recruitment.email_template_data_applicant_refuse
msgid "Your Job Application: ${object.job_id.name | safe}"
-msgstr ""
+msgstr "Votre candidature à un poste : ${object.job_id.name | safe}"
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.hr_job_simple_form
diff --git a/addons/hr_recruitment/i18n/zh_CN.po b/addons/hr_recruitment/i18n/zh_CN.po
index e84fe094872..8f8a27f7e02 100644
--- a/addons/hr_recruitment/i18n/zh_CN.po
+++ b/addons/hr_recruitment/i18n/zh_CN.po
@@ -668,6 +668,9 @@ msgid ""
" If you install the document management modules, all resumes are indexed automatically,\n"
" so that you can easily search through their content."
msgstr ""
+"申请人及其简历附件将在发送电子邮件时自动创建。\n"
+" 如果您安装了文件管理模块,所有简历将自动检索,\n"
+" 这样便可通过简历内容轻松搜索。"
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.view_hr_job_kanban
@@ -766,7 +769,7 @@ msgstr "申请人类别"
#: model:ir.actions.act_window,help:hr_recruitment.action_hr_job
#: model:ir.actions.act_window,help:hr_recruitment.action_hr_job_config
msgid "Click here to create a new job position."
-msgstr ""
+msgstr "点击此处创建新职位。"
#. module: hr_recruitment
#: model:ir.actions.act_window,help:hr_recruitment.action_hr_job_no_employee
@@ -848,7 +851,7 @@ msgstr "创建"
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.hr_job_simple_form
msgid "Create & Edit"
-msgstr ""
+msgstr "创建和编辑"
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.crm_case_form_view_job
@@ -870,7 +873,7 @@ msgstr "生产别名"
#: model:ir.actions.act_window,help:hr_recruitment.action_hr_job_sources
msgid ""
"Create some aliases that will allow you to track where applicants come from."
-msgstr ""
+msgstr "创建一些用于跟踪申请人来自何处的别名。"
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant_category_create_uid
@@ -903,7 +906,7 @@ msgstr "创建周"
#. module: hr_recruitment
#: model:ir.actions.act_window,help:hr_recruitment.hr_applicant_action_activity
msgid "Currently there are not any activity scheduled."
-msgstr ""
+msgstr "目前,未计划任何活动。"
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant_day_close
@@ -1163,7 +1166,7 @@ msgstr "HR 部门"
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_job_hr_responsible_id
msgid "HR Responsible"
-msgstr ""
+msgstr "人力资源主管"
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.view_hr_job_kanban
@@ -1222,12 +1225,12 @@ msgstr "工作"
#. module: hr_recruitment
#: model:mail.template,subject:hr_recruitment.email_template_data_applicant_congratulations
msgid "Job Application Confirmation: ${object.job_id.name | safe}"
-msgstr ""
+msgstr "职位申请确认:${object.job_id.name | safe}"
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.crm_case_pivot_view_job
msgid "Job Applications"
-msgstr ""
+msgstr "职位申请"
#. module: hr_recruitment
#: model:utm.campaign,name:hr_recruitment.utm_campaign_job
@@ -1275,12 +1278,12 @@ msgstr "工作岗位"
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.res_config_settings_view_form
msgid "Job Posting"
-msgstr ""
+msgstr "职位发布"
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_recruitment_stage_job_id
msgid "Job Specific"
-msgstr ""
+msgstr "具体职位"
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.hr_applicant_view_search
@@ -1370,12 +1373,12 @@ msgstr "我的活动"
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.view_crm_case_jobs_filter
msgid "My Applications"
-msgstr ""
+msgstr "我的申请"
#. module: hr_recruitment
#: model:ir.actions.act_window,name:hr_recruitment.hr_applicant_action_activity
msgid "My Next Activities"
-msgstr ""
+msgstr "我的下一个活动"
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant_category_name
@@ -1449,7 +1452,7 @@ msgstr "无主题"
#. module: hr_recruitment
#: model:ir.actions.act_window,help:hr_recruitment.hr_applicant_resumes
msgid "No document yet."
-msgstr ""
+msgstr "还没有文件。"
#. module: hr_recruitment
#: selection:hr.applicant,priority:0
@@ -1464,7 +1467,7 @@ msgstr "附件数量"
#. module: hr_recruitment
#: model:ir.model.fields,help:hr_recruitment.field_hr_applicant_delay_close
msgid "Number of days to close"
-msgstr ""
+msgstr "要关闭的天数"
#. module: hr_recruitment
#: model:ir.actions.act_window,help:hr_recruitment.action_hr_job_applications
@@ -1483,7 +1486,7 @@ msgstr "Odoo帮助您在招聘过程跟踪申请人及跟进所有操作:会è®
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.hr_job_survey
msgid "Offer"
-msgstr ""
+msgstr "录取通知书"
#. module: hr_recruitment
#: model:res.groups,name:hr_recruitment.group_hr_recruitment_user
@@ -1496,6 +1499,8 @@ msgid ""
"Once a job position is created, you can track related applications\n"
" and manage the recruitment process."
msgstr ""
+"职位一经创建,您便可以跟踪相关申请\n"
+" 并管理招聘流程。"
#. module: hr_recruitment
#: model:ir.actions.act_window,help:hr_recruitment.action_hr_job_config
@@ -1504,17 +1509,19 @@ msgid ""
" and manage the recruitment process related to the job\n"
" position."
msgstr ""
+"职位一经创建,您便可以跟踪申请人\n"
+" 并管理与职位相关的招聘流程。"
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.hr_applicant_view_search
msgid "Ongoing"
-msgstr ""
+msgstr "正在进行"
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_res_config_settings_module_website_hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.res_config_settings_view_form
msgid "Online Posting"
-msgstr ""
+msgstr "在线发布"
#. module: hr_recruitment
#: model:ir.model.fields,help:hr_recruitment.field_hr_job_alias_force_thread_id
@@ -1552,7 +1559,7 @@ msgstr ""
#. module: hr_recruitment
#: model:ir.model.fields,help:hr_recruitment.field_hr_job_hr_responsible_id
msgid "Person responsible of validating the employee's contracts."
-msgstr ""
+msgstr "确认员工合同的负责人。"
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant_partner_phone
@@ -1590,7 +1597,7 @@ msgstr "薪酬标准"
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.res_config_settings_view_form
msgid "Publish available jobs on your website"
-msgstr ""
+msgstr "在网站上发布现有职位"
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_job_alias_force_thread_id
@@ -1766,7 +1773,7 @@ msgstr "应聘者来源"
#. module: hr_recruitment
#: model:ir.model.fields,help:hr_recruitment.field_hr_recruitment_stage_job_id
msgid "Specific job that uses this stage. Other jobs will not use this stage."
-msgstr ""
+msgstr "使用此阶段的具体职位。其他职位将不使用此阶段。"
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant_stage_id
@@ -1884,7 +1891,7 @@ msgstr ""
msgid ""
"These aliases can be emails or urls for every source. When the applicant "
"arrives here through one of these you'll know where he came from."
-msgstr ""
+msgstr "这些别名可以是电子邮件或每个来源的 url。当申请人通过上述两种方式之一到这里时,您便会知道他来自哪里。"
#. module: hr_recruitment
#: model:ir.model.fields,help:hr_recruitment.field_hr_applicant_email_cc
@@ -1932,7 +1939,7 @@ msgstr "今天的活动"
msgid ""
"Try to send an email to this address, it will create an application "
"automatically."
-msgstr ""
+msgstr "尝试向此地址发送电子邮件,它会自动创建申请。"
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.hr_applicant_view_search
@@ -1955,7 +1962,7 @@ msgstr "更新日期"
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.res_config_settings_view_form
msgid "Use interview forms during recruitment process"
-msgstr ""
+msgstr "在招聘流程中使用面试表单"
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.res_config_settings_view_form
@@ -1963,7 +1970,7 @@ msgid ""
"Use interview forms tailored to each job position during the recruitment "
"process. Select the form to use in the job position detail form. This relies"
" on Survey app."
-msgstr ""
+msgstr "在招聘流程中使用针对每个职位定制的面试表单。选择要在职位详细信息表单中使用的表单。具体取决于“调查”应用。"
#. module: hr_recruitment
#. openerp-web
@@ -1997,7 +2004,7 @@ msgstr "关注者的电子邮件"
#. module: hr_recruitment
#: model:mail.template,subject:hr_recruitment.email_template_data_applicant_employee
msgid "Welcome ${object.name} "
-msgstr ""
+msgstr "欢迎 ${object.name}"
#. module: hr_recruitment
#: model:ir.actions.act_window,help:hr_recruitment.action_hr_job_no_employee
@@ -2021,7 +2028,7 @@ msgstr ""
#. module: hr_recruitment
#: model:mail.template,subject:hr_recruitment.email_template_data_applicant_refuse
msgid "Your Job Application: ${object.job_id.name | safe}"
-msgstr ""
+msgstr "您的职位申请:${object.job_id.name | safe}"
#. module: hr_recruitment
#: model:ir.ui.view,arch_db:hr_recruitment.hr_job_simple_form
diff --git a/addons/iap/i18n/fr.po b/addons/iap/i18n/fr.po
index def2ea53822..bd6706b5c2b 100644
--- a/addons/iap/i18n/fr.po
+++ b/addons/iap/i18n/fr.po
@@ -3,17 +3,18 @@
# * iap
#
# Translators:
+# Florian Hatat, 2017
# Eloïse Stilmant <est@odoo.com>, 2017
# Bertrand LATOUR <divoir@gmail.com>, 2017
# Fabien Pinckaers <fp@openerp.com>, 2017
-# Florian Hatat <mininet@wanadoo.fr>, 2017
+# fr trans <e2ffr01@hotmail.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-10 11:35+0000\n"
"PO-Revision-Date: 2017-10-10 11:35+0000\n"
-"Last-Translator: Florian Hatat <mininet@wanadoo.fr>, 2017\n"
+"Last-Translator: fr trans <e2ffr01@hotmail.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -85,7 +86,7 @@ msgstr "ID"
#: code:addons/iap/static/src/xml/iap_templates.xml:22
#, python-format
msgid "In-App Purchases"
-msgstr ""
+msgstr "Achats intégrés"
#. module: iap
#. openerp-web
diff --git a/addons/l10n_be_hr_payroll/data/l10n_be_hr_payroll_data.xml b/addons/l10n_be_hr_payroll/data/l10n_be_hr_payroll_data.xml
index 14ad3eaefa0..0f6bb86479f 100644
--- a/addons/l10n_be_hr_payroll/data/l10n_be_hr_payroll_data.xml
+++ b/addons/l10n_be_hr_payroll/data/l10n_be_hr_payroll_data.xml
@@ -545,7 +545,6 @@ result = -contract.car_atn
ref('hr_salary_rule_representation_fees'),
ref('hr_payroll_rules_suppl_net'),
ref('hr_payroll_rules_retained_net'),
- ref('hr_salary_rule_commission_on_target'),
ref('hr_salary_rule_pp_reduction_employees'),
])]" name="rule_ids"/>
@@ -571,7 +570,6 @@ result = -contract.car_atn
ref('hr_salary_rule_representation_fees'),
ref('hr_payroll_rules_suppl_net'),
ref('hr_payroll_rules_retained_net'),
- ref('hr_salary_rule_commission_on_target'),
ref('hr_salary_rule_pp_reduction_workers')
])]" name="rule_ids"/>
<field name="company_id" ref="base.main_company"/>
diff --git a/addons/l10n_be_hr_payroll/models/l10n_be_hr_payroll.py b/addons/l10n_be_hr_payroll/models/l10n_be_hr_payroll.py
index bf8bab9ac6d..0d182afcc72 100644
--- a/addons/l10n_be_hr_payroll/models/l10n_be_hr_payroll.py
+++ b/addons/l10n_be_hr_payroll/models/l10n_be_hr_payroll.py
@@ -116,8 +116,8 @@ class HrContract(models.Model):
@api.depends('commission_on_target')
def _compute_warrants_cost(self):
for contract in self:
- contract.warrants_cost = contract.commission_on_target * 1.326 / 1.05 * 12.0
- contract.warrant_value_employee = contract.warrants_cost * 0.54
+ contract.warrants_cost = contract.commission_on_target * 1.05 * 12.0
+ contract.warrant_value_employee = contract.commission_on_target * (1.00 - 0.535) * 12.0
@api.depends('wage', 'fuel_card', 'representation_fees', 'transport_employer_cost',
'internet', 'mobile', 'mobile_plus')
@@ -230,7 +230,7 @@ class HrContract(models.Model):
- 12.0 * contract.internet \
- 12.0 * (contract.mobile + contract.mobile_plus) \
- 12.0 * contract.transport_employer_cost \
- - (1.326 / 1.05 * 12.0) * contract.commission_on_target \
+ - contract.warrants_cost \
- 220.0 * contract.meal_voucher_paid_by_employer
gross = remaining_for_gross / (13.0 + 13.0 * 0.3507 + 0.92)
return gross
diff --git a/addons/lunch/i18n/es.po b/addons/lunch/i18n/es.po
index 69822687d5c..a8813b84df6 100644
--- a/addons/lunch/i18n/es.po
+++ b/addons/lunch/i18n/es.po
@@ -116,6 +116,8 @@ msgid ""
"Alerts are used to warn employee from possible issues concerning the lunch orders.\n"
" To create a lunch alert you have to define its recurrence, the time interval during which the alert should be executed and the message to display."
msgstr ""
+"Las alertas se utilizan para avisar a los empleados de posibles problemas relacionados con los pedidos de la comida.\n"
+" Para crear una alerta para la comida tiene que indicar las repeticiones, el intervalo de tiempo durante el que esta tenga que ejecutarse y el mensaje para mostrar."
#. module: lunch
#: model:ir.model.fields,field_description:lunch.field_lunch_cashmove_amount
@@ -136,7 +138,7 @@ msgstr "Archivado"
#. module: lunch
#: model:ir.model.fields,field_description:lunch.field_lunch_order_balance_visible
msgid "Balance Visible"
-msgstr ""
+msgstr "Saldo visible"
#. module: lunch
#: model:ir.model.fields,field_description:lunch.field_lunch_alert_start_hour
@@ -146,7 +148,7 @@ msgstr "Entre"
#. module: lunch
#: model:ir.ui.view,arch_db:lunch.view_lunch_alert_kanban
msgid "Between:"
-msgstr ""
+msgstr "Entre:"
#. module: lunch
#: model:ir.ui.view,arch_db:lunch.lunch_cashmove_view_search_2
@@ -156,7 +158,7 @@ msgstr "Por empleado"
#. module: lunch
#: model:ir.ui.view,arch_db:lunch.lunch_order_line_view_search
msgid "By Order"
-msgstr ""
+msgstr "Por pedido"
#. module: lunch
#: model:ir.ui.view,arch_db:lunch.lunch_cashmove_view_search
@@ -203,7 +205,7 @@ msgstr "Movimiento de caja"
#. module: lunch
#: model:ir.model.fields,field_description:lunch.field_lunch_order_cash_move_balance
msgid "Cash Move Balance"
-msgstr ""
+msgstr "Saldo de caja"
#. module: lunch
#: model:ir.model.fields,field_description:lunch.field_lunch_product_category_id
@@ -517,22 +519,22 @@ msgstr "Pedido de comida"
#. module: lunch
#: model:ir.actions.server,name:lunch.action_server_lunch_archive_product
msgid "Lunch: Archive/Restore products"
-msgstr ""
+msgstr "Comida: Archivar/Restaurar los productos"
#. module: lunch
#: model:ir.actions.server,name:lunch.lunch_order_line_action_cancel
msgid "Lunch: Cancel meals"
-msgstr ""
+msgstr "Comida: Cancelar las comidas"
#. module: lunch
#: model:ir.actions.server,name:lunch.lunch_order_line_action_order
msgid "Lunch: Order meals"
-msgstr ""
+msgstr "Comida: Pedir las comidas"
#. module: lunch
#: model:ir.actions.server,name:lunch.lunch_order_line_action_confirm
msgid "Lunch: Receive meals"
-msgstr ""
+msgstr "Comida: Recibir las comidas"
#. module: lunch
#: model:ir.ui.menu,name:lunch.menu_lunch_admin
@@ -607,19 +609,20 @@ msgstr "Nota"
#: code:addons/lunch/models/lunch.py:225
#, python-format
msgid "Only your lunch manager cancels the orders."
-msgstr ""
+msgstr "Solo el responsable de las comidas puede cancelar los pedidos."
#. module: lunch
#: code:addons/lunch/models/lunch.py:194
#, python-format
msgid "Only your lunch manager processes the orders."
-msgstr ""
+msgstr "Solo responsable de las comidas puede hacer los pedidos."
#. module: lunch
#: code:addons/lunch/models/lunch.py:214
#, python-format
msgid "Only your lunch manager sets the orders as received."
msgstr ""
+"Solo el responsable de las comidas puede indicar los pedidos como recibidos."
#. module: lunch
#: model:ir.model.fields,field_description:lunch.field_lunch_cashmove_order_id
@@ -671,12 +674,12 @@ msgstr "Pagos"
#. module: lunch
#: model:ir.model.fields,field_description:lunch.field_lunch_order_previous_order_ids
msgid "Previous Order"
-msgstr ""
+msgstr "Pedido anterior"
#. module: lunch
#: model:ir.model.fields,field_description:lunch.field_lunch_order_previous_order_widget
msgid "Previous Order Widget"
-msgstr ""
+msgstr "Widget del pedido anterior"
#. module: lunch
#: model:ir.ui.menu,name:lunch.lunch_order_menu_tree
diff --git a/addons/mail/i18n/es.po b/addons/mail/i18n/es.po
index 2e26bf050ea..947465fb012 100644
--- a/addons/mail/i18n/es.po
+++ b/addons/mail/i18n/es.po
@@ -313,7 +313,7 @@ msgstr ""
#: code:addons/mail/static/src/xml/activity.xml:49
#, python-format
msgid ", due on"
-msgstr ""
+msgstr ", vencido a fecha"
#. module: mail
#. openerp-web
@@ -327,21 +327,21 @@ msgstr "-------- Mostrar mensajes antiguos--------"
#: code:addons/mail/static/src/xml/systray.xml:78
#, python-format
msgid "0 Future"
-msgstr ""
+msgstr "0 futuro"
#. module: mail
#. openerp-web
#: code:addons/mail/static/src/xml/systray.xml:74
#, python-format
msgid "0 Late"
-msgstr ""
+msgstr "0 tarde"
#. module: mail
#. openerp-web
#: code:addons/mail/static/src/xml/systray.xml:76
#, python-format
msgid "0 Today"
-msgstr ""
+msgstr "0 hoy"
#. module: mail
#: code:addons/mail/models/mail_channel.py:678
@@ -688,7 +688,7 @@ msgstr "Actividad"
#. module: mail
#: model:ir.model,name:mail.model_mail_activity_mixin
msgid "Activity Mixin"
-msgstr ""
+msgstr "Mezcla de actividades"
#. module: mail
#: model:ir.model,name:mail.model_mail_activity_type
@@ -739,6 +739,8 @@ msgstr "Añadir seguidores"
#, python-format
msgid "Add Followers can only be done on a mail thread model"
msgstr ""
+"Añadir seguidores solo puede hacerse en un modelo de hilos de correo "
+"electrónico"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_email_template_preview_user_signature
@@ -1102,7 +1104,7 @@ msgstr "Canal"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_channel_channel_message_ids
msgid "Channel Message"
-msgstr ""
+msgstr "Mensaje del canal"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_channel_channel_type
@@ -1645,7 +1647,7 @@ msgstr "Hecho"
#: model:ir.ui.view,arch_db:mail.mail_activity_view_form_popup
#, python-format
msgid "Done & Schedule Next"
-msgstr ""
+msgstr "¡Hecho! Prepare el próximo"
#. module: mail
#. openerp-web
@@ -1673,7 +1675,7 @@ msgstr "Fecha vencimiento"
#: code:addons/mail/static/src/js/activity.js:37
#, python-format
msgid "Due in %d days"
-msgstr ""
+msgstr "Vencido en %d días"
#. module: mail
#: model:ir.ui.view,arch_db:mail.email_template_form
@@ -3017,7 +3019,7 @@ msgstr "Registrar o planificar una actividad"
#: model:ir.model.fields,field_description:mail.field_mail_message_mail_activity_type_id
#: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message_mail_activity_type_id
msgid "Mail Activity Type"
-msgstr ""
+msgstr "Tipo de actividad del correo electrónico"
#. module: mail
#: model:ir.ui.view,arch_db:mail.mail_channel_view_form
@@ -3071,7 +3073,7 @@ msgstr "Opción de envío por correo"
#: code:addons/mail/static/src/xml/activity.xml:59
#, python-format
msgid "Mark Done"
-msgstr ""
+msgstr "Marcar como hecho"
#. module: mail
#. openerp-web
@@ -4052,7 +4054,7 @@ msgstr "Abrir chat"
#: code:addons/mail/static/src/xml/extended_chat_window.xml:15
#, python-format
msgid "Open in Discuss"
-msgstr ""
+msgstr "Abrir para debate"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_res_partner_opt_out
@@ -4434,7 +4436,7 @@ msgstr "Canales públicos"
#: model:ir.cron,cron_name:mail.ir_cron_module_update_notification
#: model:ir.cron,name:mail.ir_cron_module_update_notification
msgid "Publisher: Update Notification"
-msgstr ""
+msgstr "Editor: Actualizar la notificación"
#. module: mail
#: code:addons/mail/wizard/mail_compose_message.py:179
@@ -4810,7 +4812,7 @@ msgstr "Configuración"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_shortcode_shortcode_type
msgid "Shortcode Type"
-msgstr ""
+msgstr "Tipo de codigo corto"
#. module: mail
#: model:ir.ui.view,arch_db:mail.mail_shortcode_view_form
@@ -5059,7 +5061,7 @@ msgstr "Notificación del sistema"
#. module: mail
#: model:ir.model.fields,help:mail.field_mail_activity_has_recommended_activities
msgid "Technical field for UX purpose"
-msgstr ""
+msgstr "Campo técnico para fines UX"
#. module: mail
#: model:ir.actions.act_window,name:mail.wizard_email_template_preview
@@ -5668,7 +5670,7 @@ msgstr "Quien puede seguir las actividades del grupo?"
#: code:addons/mail/static/src/xml/activity.xml:75
#, python-format
msgid "Write Feedback"
-msgstr ""
+msgstr "Escribir comentarios"
#. module: mail
#. openerp-web
@@ -5791,7 +5793,7 @@ msgstr "Se ha dado de baja de <b>%s</b>."
#: code:addons/mail/static/src/xml/client_action.xml:217
#, python-format
msgid "You:"
-msgstr ""
+msgstr "Usted:"
#. module: mail
#. openerp-web
@@ -5834,6 +5836,8 @@ msgid ""
"done\n"
" by"
msgstr ""
+"hecho\n"
+" por"
#. module: mail
#: model:ir.ui.view,arch_db:mail.mail_activity_view_form_popup
diff --git a/addons/mail/i18n/zh_CN.po b/addons/mail/i18n/zh_CN.po
index 8e88042d498..94e1807945b 100644
--- a/addons/mail/i18n/zh_CN.po
+++ b/addons/mail/i18n/zh_CN.po
@@ -200,14 +200,14 @@ msgstr "(从"
msgid ""
"* Smiley are only used for HTML code to display an image * Text (default "
"value) is used to substitute text with another text"
-msgstr ""
+msgstr "* 笑脸仅用于 HTML 代码显示图像 * 文本 (默认值) 是用于和其他文本代替文本"
#. module: mail
#. openerp-web
#: code:addons/mail/static/src/xml/activity.xml:49
#, python-format
msgid ", due on"
-msgstr ""
+msgstr ",应提交"
#. module: mail
#. openerp-web
@@ -602,7 +602,7 @@ msgstr "添加关注者"
#: code:addons/mail/models/ir_actions.py:36
#, python-format
msgid "Add Followers can only be done on a mail thread model"
-msgstr ""
+msgstr "仅在邮件线程模型上可以添加关注者"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_email_template_preview_user_signature
@@ -773,7 +773,7 @@ msgstr "附件"
msgid ""
"Attachments are linked to a document through model / res_id and to the "
"message through this field."
-msgstr ""
+msgstr "附件是通过模型 / res_id 连接到文档中并通过该字段链接到消息上。"
#. module: mail
#: selection:mail.alias,alias_contact:0
@@ -921,7 +921,7 @@ msgstr "抄送收件人(可以在这里使用占位符)"
#: model:ir.model.fields,help:mail.field_mail_activity_activity_category
#: model:ir.model.fields,help:mail.field_mail_activity_type_category
msgid "Categories may trigger specific behavior like opening calendar view"
-msgstr ""
+msgstr "类别可能触发特定行为,例如,打开日历视图"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_activity_activity_category
@@ -1463,7 +1463,7 @@ msgstr "相关单据的显示名称"
msgid ""
"Do not keep a copy of the email in the document communication history (mass "
"mailing only)"
-msgstr ""
+msgstr "不要在文档通信历史中保存电子邮件副本(仅限群发邮件)"
#. module: mail
#: model:ir.model,name:mail.model_mail_followers
@@ -1744,7 +1744,7 @@ msgstr "字段"
#: code:addons/mail/models/ir_model.py:24
#, python-format
msgid "Field \"Mail Thread\" cannot be changed to \"False\"."
-msgstr ""
+msgstr "字段“电子邮件线程”不能更改为“假”。"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_tracking_value_field_desc
@@ -2026,7 +2026,7 @@ msgstr "正在关注中"
#: model:ir.model.fields,help:mail.field_mail_activity_icon
#: model:ir.model.fields,help:mail.field_mail_activity_type_icon
msgid "Font awesome icon e.g. fa-tasks"
-msgstr ""
+msgstr "绝佳字体图标,例如,fa-task"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_email_template_preview_email_from
@@ -2333,7 +2333,7 @@ msgstr "如果选中”退出“,这个联系人拒绝接收群发邮件和市
msgid ""
"If set, the queue manager will send the email after the date. If not set, "
"the email will be send as soon as possible."
-msgstr ""
+msgstr "如果设置完毕,队列管理员将在指定日期之后发送电子邮件。如果未设置完毕,电子邮件将尽快发送。"
#. module: mail
#: model:ir.model.fields,help:mail.field_email_template_preview_scheduled_date
@@ -2341,7 +2341,7 @@ msgstr ""
msgid ""
"If set, the queue manager will send the email after the date. If not set, "
"the email will be send as soon as possible. Jinja2 placeholders may be used."
-msgstr ""
+msgstr "如果设置完毕,队列管理员将在指定日期之后发送电子邮件。如果未设置完毕,电子邮件将尽快发送。可以使用 Jinja2 占位符。"
#. module: mail
#: model:ir.model.fields,help:mail.field_res_config_settings_alias_domain
@@ -3549,7 +3549,7 @@ msgstr "行动数量"
msgid ""
"Number of days before executing the action. It allows to plan the action "
"deadline."
-msgstr ""
+msgstr "执行操作前的天数。允许计划操作截止日期。"
#. module: mail
#: model:ir.model.fields,help:mail.field_account_analytic_account_message_needaction_counter
@@ -3698,7 +3698,7 @@ msgstr "Odoo"
#, python-format
msgid ""
"Odoo has now the permission to send you native notifications on this device."
-msgstr ""
+msgstr "Odoo 现在有权限在该设备上发送本地通知。"
#. module: mail
#. openerp-web
@@ -3714,7 +3714,7 @@ msgstr "Odoo需要你的权限进行"
msgid ""
"Odoo will not have the permission to send native notifications on this "
"device."
-msgstr ""
+msgstr "Odoo 没有权限在该设备上发送本地通知。"
#. module: mail
#. openerp-web
@@ -3765,7 +3765,7 @@ msgstr "变更时"
msgid ""
"Once a message has been starred, you can come back and review it at any time"
" here."
-msgstr ""
+msgstr "如果消息已生效,您可以返回并随时在此对它进行检查。"
#. module: mail
#. openerp-web
@@ -4081,14 +4081,14 @@ msgstr "播放此视频"
#: code:addons/mail/static/src/js/chatter_composer.js:158
#, python-format
msgid "Please complete customer's informations"
-msgstr ""
+msgstr "请填写客户的信息"
#. module: mail
#. openerp-web
#: code:addons/mail/static/src/js/many2many_tags_email.js:84
#, python-format
msgid "Please complete customer's informations and email"
-msgstr ""
+msgstr "请填写客户的信息和电子邮件"
#. module: mail
#. openerp-web
@@ -4104,6 +4104,9 @@ msgid ""
"- Emails: notifications are sent to your email\n"
"- Odoo: notifications appear in your Odoo Inbox"
msgstr ""
+"关于如何处理聊天通知的策略:\n"
+"-电子邮件:发送通知到电子邮件中 \n"
+"-Odoo:在 Odoo 收件箱中显示通知"
#. module: mail
#: model:ir.model.fields,help:mail.field_mail_alias_alias_contact
@@ -4625,7 +4628,7 @@ msgstr "表情符"
msgid ""
"Specify a model if the activity should be specific to a model and not "
"available when managing activities for other models."
-msgstr ""
+msgstr "如果活动应特定于某个模型并且在管理其他模型的活动时不可用,则指定一个模型。"
#. module: mail
#. openerp-web
@@ -4703,6 +4706,10 @@ msgid ""
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr ""
+"基于活动的状态 \n"
+" 逾期:已经超过截止日期 \n"
+" 现今:活动日期是当天 \n"
+" 计划:未来的活动。"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_email_template_preview_sub_model_object_field
@@ -4804,7 +4811,7 @@ msgstr "模板"
#. module: mail
#: model:ir.model.fields,help:mail.field_mail_shortcode_substitution
msgid "The escaped html code replacing the shortcut"
-msgstr ""
+msgstr "html 转义码替换快捷方式"
#. module: mail
#: model:ir.model.fields,help:mail.field_mail_alias_alias_model_id
@@ -4855,18 +4862,18 @@ msgstr ""
#. module: mail
#: model:ir.model.fields,help:mail.field_mail_shortcode_source
msgid "The shortcut which must be replaced in the Chat Messages"
-msgstr ""
+msgstr "在聊天信息中,必须替换掉的快捷方式"
#. module: mail
#: model:ir.model.fields,help:mail.field_mail_shortcode_unicode_source
msgid "The source is replaced by this unicode character in the Chat Messages"
-msgstr ""
+msgstr "在聊天信息中,通过该统一字符替换源"
#. module: mail
#: model:ir.model.fields,help:mail.field_email_template_preview_model_id
#: model:ir.model.fields,help:mail.field_mail_template_model_id
msgid "The type of document this template can be used with"
-msgstr ""
+msgstr "该模板可使用的文档类型"
#. module: mail
#: model:ir.ui.view,arch_db:mail.message_origin_link
@@ -4977,7 +4984,7 @@ msgstr "在该群组中讨论的话题 ..."
msgid ""
"Tracked values are stored in a separate model. This field allow to "
"reconstruct the tracking and to generate statistics on the model."
-msgstr ""
+msgstr "在单独的模型中存储跟踪值。该字段允许重建跟踪,以便在模型中生成统计数据。"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_ir_model_fields_track_visibility
@@ -5022,13 +5029,13 @@ msgstr "UUID"
#: code:addons/mail/models/mail_mail.py:235
#, python-format
msgid "Unable to connect to SMTP Server"
-msgstr ""
+msgstr "无法连接到 SMTP 服务器"
#. module: mail
#: code:addons/mail/models/mail_message.py:31
#, python-format
msgid "Unable to send email, please configure the sender's email address."
-msgstr ""
+msgstr "无法发送电子邮件,请设定发送人的电子邮件地址。"
#. module: mail
#. openerp-web
@@ -5222,7 +5229,7 @@ msgstr "退订频道"
#: code:addons/mail/models/mail_template.py:510
#, python-format
msgid "Unsupported report type %s found."
-msgstr ""
+msgstr "发现不支持的报告类型 %。"
#. module: mail
#. openerp-web
@@ -5293,6 +5300,8 @@ msgid ""
"and Enterprise versions. Online users already benefit from a ready-to-use "
"email server (@mycompany.odoo.com)."
msgstr ""
+"在社区和企业版本中,发送/接收电子邮件需要使用自己的电子邮件服务器。在线用户已受益于随时可用的电子邮件服务器 "
+"(@mycompany.odoo.com)。"
#. module: mail
#: code:addons/mail/models/mail_thread.py:670
@@ -5316,6 +5325,9 @@ msgid ""
" If you remove a follower, he won't be notified of any email or discussion on this document.\n"
" Do you really want to remove this follower ?"
msgstr ""
+"警告!\n"
+" 如果你删除了一个关注者,任何电子邮件或在此文档之上的讨论都不再通知这个关注者了。\n"
+" 你真的想要删除这个关注者吗 ?"
#. module: mail
#: model:ir.model.fields,help:mail.field_email_template_preview_sub_model_object_field
@@ -5337,7 +5349,7 @@ msgstr "如果关系型字段被选为第一个字段,这个字段显示这个
#: model:ir.model.fields,help:mail.field_ir_model_fields_track_visibility
msgid ""
"When set, every modification to this field will be tracked in the chatter."
-msgstr ""
+msgstr "当设置完毕时,在聊天中,将追踪对该字段的每一次修改。"
#. module: mail
#: model:ir.model.fields,help:mail.field_mail_compose_message_is_log
@@ -5475,14 +5487,14 @@ msgstr "你不再订阅<b>%s</b>。"
#: code:addons/mail/static/src/xml/client_action.xml:217
#, python-format
msgid "You:"
-msgstr ""
+msgstr "您:"
#. module: mail
#. openerp-web
#: code:addons/mail/static/src/js/thread_field.js:83
#, python-format
msgid "Your message has not been sent."
-msgstr ""
+msgstr "您的短信尚未发送。"
#. module: mail
#: code:addons/mail/models/ir_actions.py:30
@@ -5494,7 +5506,7 @@ msgstr "你的模板需要定义email_from"
#: code:addons/mail/models/mail_thread.py:966
#, python-format
msgid "alias %s: %s"
-msgstr ""
+msgstr "别名 %:%"
#. module: mail
#: model:ir.ui.view,arch_db:mail.view_mail_form
@@ -5517,7 +5529,7 @@ msgstr "单据"
msgid ""
"done\n"
" by"
-msgstr ""
+msgstr "由谁完成 \n"
#. module: mail
#: model:ir.ui.view,arch_db:mail.mail_activity_view_form_popup
@@ -5548,7 +5560,7 @@ msgstr "由于"
#. module: mail
#: model:ir.ui.view,arch_db:mail.message_origin_link
msgid "from:"
-msgstr ""
+msgstr "从:"
#. module: mail
#: model:mail.channel,name:mail.channel_all_employees
@@ -5570,7 +5582,7 @@ msgstr "不正确配置的别名"
#: code:addons/mail/models/mail_alias.py:278
#, python-format
msgid "incorrectly configured alias (unknown reference record)"
-msgstr ""
+msgstr "错误地别名配置(未知参考记录)"
#. module: mail
#: model:ir.model,name:mail.model_ir_actions_server
@@ -5591,20 +5603,20 @@ msgstr "mail.alias.mixin"
#: code:addons/mail/models/mail_thread.py:943
#, python-format
msgid "model %s does not accept document creation"
-msgstr ""
+msgstr "模型 % 不接受文档创建"
#. module: mail
#: code:addons/mail/models/mail_thread.py:938
#, python-format
msgid "model %s does not accept document update"
-msgstr ""
+msgstr "模型 % 不接受文档更新"
#. module: mail
#: code:addons/mail/models/mail_thread.py:931
#, python-format
msgid ""
"model %s does not accept document update, fall back on document creation"
-msgstr ""
+msgstr "模型 % 不接受文档更新,将在文档创建中退回"
#. module: mail
#: model:ir.ui.view,arch_db:mail.message_origin_link
@@ -5637,7 +5649,7 @@ msgstr "在"
msgid ""
"posting a message without model should be with a null res_id (private "
"message), received %s"
-msgstr ""
+msgstr "发布无模型消息应使用无效 res_id(私人信息),收到 %"
#. module: mail
#: code:addons/mail/models/mail_thread.py:917
@@ -5674,13 +5686,13 @@ msgstr "记录:"
#: code:addons/mail/models/mail_thread.py:935
#, python-format
msgid "reply to missing document (%s,%s)"
-msgstr ""
+msgstr "对缺失文档的回复 (%,%)"
#. module: mail
#: code:addons/mail/models/mail_thread.py:928
#, python-format
msgid "reply to missing document (%s,%s), fall back on new document creation"
-msgstr ""
+msgstr "对丢失文档的回复 (%,%),在新文档创建中退回"
#. module: mail
#: model:ir.model,name:mail.model_res_config_settings
@@ -5691,7 +5703,7 @@ msgstr "设置-基础设置"
#: code:addons/mail/models/mail_thread.py:913
#, python-format
msgid "resetting thread_id"
-msgstr ""
+msgstr "重新设置 thread_id"
#. module: mail
#: code:addons/mail/models/mail_channel.py:254
diff --git a/addons/mail/models/ir_model.py b/addons/mail/models/ir_model.py
index 3a312cfe843..04529610f0e 100644
--- a/addons/mail/models/ir_model.py
+++ b/addons/mail/models/ir_model.py
@@ -74,6 +74,6 @@ class IrModelField(models.Model):
def _instanciate_attrs(self, field_data):
attrs = super(IrModelField, self)._instanciate_attrs(field_data)
- if field_data.get('track_visibility'):
+ if attrs and field_data.get('track_visibility'):
attrs['track_visibility'] = field_data['track_visibility']
return attrs
diff --git a/addons/mail/models/mail_channel.py b/addons/mail/models/mail_channel.py
index cde5924207d..8042cab9b1d 100644
--- a/addons/mail/models/mail_channel.py
+++ b/addons/mail/models/mail_channel.py
@@ -209,7 +209,7 @@ class Channel(models.Model):
# http://blogs.technet.com/b/exchange/archive/2006/10/06/3395024.aspx
headers['X-Auto-Response-Suppress'] = 'OOF'
if self.alias_domain and self.alias_name:
- headers['List-Id'] = '%s.%s' % (self.alias_name, self.alias_domain)
+ headers['List-Id'] = '<%s.%s>' % (self.alias_name, self.alias_domain)
headers['List-Post'] = '<mailto:%s@%s>' % (self.alias_name, self.alias_domain)
# Avoid users thinking it was a personal message
# X-Forge-To: will replace To: after SMTP envelope is determined by ir.mail.server
@@ -503,7 +503,15 @@ class Channel(models.Model):
partners_to_add = partners - channel.channel_partner_ids
channel.write({'channel_last_seen_partner_ids': [(0, 0, {'partner_id': partner_id}) for partner_id in partners_to_add.ids]})
for partner in partners_to_add:
- notification = _('<div class="o_mail_notification">joined <a href="#" class="o_channel_redirect" data-oe-id="%s">#%s</a></div>') % (self.id, self.name,)
+ if partner.id != self.env.user.partner_id.id:
+ notification = _('<div class="o_mail_notification">%(author)s invited %(new_partner)s to <a href="#" class="o_channel_redirect" data-oe-id="%(channel_id)s">#%(channel_name)s</a></div>') % {
+ 'author': self.env.user.display_name,
+ 'new_partner': partner.display_name,
+ 'channel_id': channel.id,
+ 'channel_name': channel.name,
+ }
+ else:
+ notification = _('<div class="o_mail_notification">joined <a href="#" class="o_channel_redirect" data-oe-id="%s">#%s</a></div>') % (channel.id, channel.name,)
self.message_post(body=notification, message_type="notification", subtype="mail.mt_comment", author_id=partner.id)
# broadcast the channel header to the added partner
diff --git a/addons/mail/models/mail_message.py b/addons/mail/models/mail_message.py
index 724f78ed827..3c17f207ab3 100644
--- a/addons/mail/models/mail_message.py
+++ b/addons/mail/models/mail_message.py
@@ -11,7 +11,7 @@ from odoo.exceptions import UserError, AccessError
from odoo.osv import expression
_logger = logging.getLogger(__name__)
-_image_dataurl = re.compile(r'(data:image/[a-z]+?);base64,([a-z0-9+/]{3,}=*)([\'"])', re.I)
+_image_dataurl = re.compile(r'(data:image/[a-z]+?);base64,([a-z0-9+/\n]{3,}=*)\n*([\'"])', re.I)
class Message(models.Model):
diff --git a/addons/mail/static/src/js/thread.js b/addons/mail/static/src/js/thread.js
index 729d24b6163..2a421f6fdcd 100644
--- a/addons/mail/static/src/js/thread.js
+++ b/addons/mail/static/src/js/thread.js
@@ -235,6 +235,10 @@ var Thread = Widget.extend({
}
},
on_click_redirect: function (event) {
+ // ignore inherited branding
+ if ($(event.target).data('oe-field') !== undefined) {
+ return;
+ }
var id = $(event.target).data('oe-id');
if (id) {
event.preventDefault();
diff --git a/addons/mail/static/src/js/utils.js b/addons/mail/static/src/js/utils.js
index 533fe67f91b..80b7736552c 100644
--- a/addons/mail/static/src/js/utils.js
+++ b/addons/mail/static/src/js/utils.js
@@ -18,7 +18,7 @@ function _parse_and_transform(nodes, transform_function) {
// Suggested URL Javascript regex of http://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a-url
// Adapted to make http(s):// not required if (and only if) www. is given. So `should.notmatch` does not match.
-var url_regexp = /\b(?:https?:\/\/|(www\.))[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,13}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/gi;
+var url_regexp = /\b(?:https?:\/\/\d{1,3}(?:\.\d{1,3}){3}|(?:https?:\/\/|(?:www\.))[-a-z0-9@:%._\+~#=]{2,256}\.[a-z]{2,13})\b(?:[-a-z0-9@:%_\+.~#?&//=]*)/gi;
function linkify(text, attrs) {
attrs = attrs || {};
if (attrs.target === undefined) {
@@ -28,7 +28,7 @@ function linkify(text, attrs) {
return key + '="' + _.escape(value) + '"';
}).join(' ');
return text.replace(url_regexp, function (url) {
- var href = (!/^(f|ht)tps?:\/\//i.test(url)) ? "http://" + url : url;
+ var href = (!/^https?:\/\//i.test(url)) ? "http://" + url : url;
return '<a ' + attrs + ' href="' + href + '">' + url + '</a>';
});
}
diff --git a/addons/mail/static/tests/mail_utils_tests.js b/addons/mail/static/tests/mail_utils_tests.js
new file mode 100644
index 00000000000..e8ec776a8d5
--- /dev/null
+++ b/addons/mail/static/tests/mail_utils_tests.js
@@ -0,0 +1,34 @@
+odoo.define('mail.mail_utils_tests', function (require) {
+"use strict";
+
+var utils = require('mail.utils');
+
+QUnit.module('mail', {}, function () {
+
+QUnit.module('Mail utils');
+
+QUnit.test('add_link utility function', function (assert) {
+ assert.expect(7);
+
+ var testInputs = {
+ 'http://admin:password@example.com:8/%2020': true,
+ 'https://admin:password@example.com/test': true,
+ 'www.example.com:8/test': true,
+ 'https://127.0.0.5:8069': true,
+ 'www.127.0.0.5': false,
+ 'should.notmatch': false,
+ 'fhttps://test.example.com/test': false,
+ };
+
+ _.each(testInputs, function (willLinkify, content) {
+ var output = utils.parse_and_transform(content, utils.add_link);
+ if (willLinkify) {
+ assert.strictEqual(output.indexOf('<a '), 0, "There should be a link");
+ } else {
+ assert.strictEqual(output.indexOf('<a '), -1, "There should be no link");
+ }
+ });
+});
+
+});
+});
diff --git a/addons/mail/views/mail_templates.xml b/addons/mail/views/mail_templates.xml
index 6769462d404..a6d72ff4fce 100644
--- a/addons/mail/views/mail_templates.xml
+++ b/addons/mail/views/mail_templates.xml
@@ -44,6 +44,7 @@
<xpath expr="//t[@t-set='head']" position="inside">
<script type="text/javascript" src="/mail/static/tests/chat_window_tests.js"></script>
<script type="text/javascript" src="/mail/static/tests/chatter_tests.js"></script>
+ <script type="text/javascript" src="/mail/static/tests/mail_utils_tests.js"></script>
<script type="text/javascript" src="/mail/static/tests/discuss_tests.js"></script>
<script type="text/javascript" src="/mail/static/tests/systray_tests.js"></script>
<script type="text/javascript" src="/mail/static/tests/helpers/mock_server.js"></script>
diff --git a/addons/maintenance/i18n/es.po b/addons/maintenance/i18n/es.po
index 3e9bc25105f..a0035667602 100644
--- a/addons/maintenance/i18n/es.po
+++ b/addons/maintenance/i18n/es.po
@@ -601,7 +601,7 @@ msgstr "Duración de mantenimiento"
#. module: maintenance
#: model:ir.model.fields,help:maintenance.field_maintenance_equipment_maintenance_duration
msgid "Maintenance Duration in hours."
-msgstr ""
+msgstr "Duración del mantenimiento en horas."
#. module: maintenance
#: model:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_form
@@ -676,7 +676,7 @@ msgstr "Tipos de mantenimiento"
#: model:ir.cron,cron_name:maintenance.maintenance_requests_cron
#: model:ir.cron,name:maintenance.maintenance_requests_cron
msgid "Maintenance: generate preventive maintenance requests"
-msgstr ""
+msgstr "Mantenimiento: generar solicitudes de mantenimiento preventivo"
#. module: maintenance
#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_model
@@ -741,27 +741,27 @@ msgstr "Nota"
#. module: maintenance
#: model:ir.model.fields,field_description:maintenance.field_maintenance_team_todo_request_count
msgid "Number of Requests"
-msgstr ""
+msgstr "Número de solicitudes"
#. module: maintenance
#: model:ir.model.fields,field_description:maintenance.field_maintenance_team_todo_request_count_block
msgid "Number of Requests Blocked"
-msgstr ""
+msgstr "Número de solicitudes bloqueadas"
#. module: maintenance
#: model:ir.model.fields,field_description:maintenance.field_maintenance_team_todo_request_count_date
msgid "Number of Requests Scheduled"
-msgstr ""
+msgstr "Número de solicitudes programadas"
#. module: maintenance
#: model:ir.model.fields,field_description:maintenance.field_maintenance_team_todo_request_count_unscheduled
msgid "Number of Requests Unscheduled"
-msgstr ""
+msgstr "Número de solicitudes desbloqueadas"
#. module: maintenance
#: model:ir.model.fields,field_description:maintenance.field_maintenance_team_todo_request_count_high_priority
msgid "Number of Requests in High Priority"
-msgstr ""
+msgstr "Número de solicitudes en alta prioridad"
#. module: maintenance
#: model:ir.model.fields,help:maintenance.field_maintenance_equipment_category_alias_force_thread_id
@@ -872,7 +872,7 @@ msgstr "Lista para la siguiente etapa"
#. module: maintenance
#: model:ir.ui.view,arch_db:maintenance.hr_equipment_view_kanban
msgid "Record Colour"
-msgstr ""
+msgstr "Registro del color"
#. module: maintenance
#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category_alias_force_thread_id
@@ -924,12 +924,12 @@ msgstr "Solicitado por"
#. module: maintenance
#: model:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_kanban
msgid "Requested by :"
-msgstr ""
+msgstr "Solicitado por:"
#. module: maintenance
#: model:ir.model.fields,field_description:maintenance.field_maintenance_team_todo_request_ids
msgid "Requests"
-msgstr ""
+msgstr "Solicitudes"
#. module: maintenance
#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category_technician_user_id
@@ -941,7 +941,7 @@ msgstr "Responsable"
#. module: maintenance
#: model:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_kanban
msgid "Responsible :"
-msgstr ""
+msgstr "Responsable:"
#. module: maintenance
#: model:maintenance.equipment,name:maintenance.equipment_monitor1
@@ -1051,7 +1051,7 @@ msgstr "Miembros del equipo"
#. module: maintenance
#: model:ir.ui.view,arch_db:maintenance.maintenance_team_view_form
msgid "Team Name"
-msgstr ""
+msgstr "Nombre del equipo"
#. module: maintenance
#: model:ir.actions.act_window,name:maintenance.maintenance_team_action_settings
@@ -1117,6 +1117,9 @@ msgid ""
" an employee or department. You will manage allocations, issues\n"
" and maintenance of equipment."
msgstr ""
+"Esta aplicación le ayuda a hacer un seguimiento de los equipos utilizados por los empleados.\n"
+" Designe un portátil, una impresora o un teléfono y vincule cada equipo a\\un empleado o departamento. Gestionará las asignaciones, las incidencias\n"
+" y el mantenimiento de los equipos."
#. module: maintenance
#: model:ir.actions.act_window,help:maintenance.hr_equipment_action_from_category_form
@@ -1125,6 +1128,9 @@ msgid ""
" Create some laptop, printer or phone and link each equipment to an employee or department.\n"
" You will manage allocations, issues and maintenance of equipment."
msgstr ""
+"Esta aplicación le ayuda a hacer un seguimiento de los equipos utilizados por los empleados.\n"
+" Designe un portátil, una impresora o un teléfono y vincule cada equipo a un empleado o departamento.\n"
+" Gestionará las asignaciones, incidencias y mantenimiento de los equipos."
#. module: maintenance
#: model:ir.ui.view,arch_db:maintenance.maintenance_team_kanban
@@ -1168,7 +1174,7 @@ msgstr "Mensajes por leer"
#. module: maintenance
#: model:ir.ui.view,arch_db:maintenance.maintenance_team_kanban
msgid "Unscheduled"
-msgstr ""
+msgstr "No programado"
#. module: maintenance
#: model:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search
@@ -1183,7 +1189,7 @@ msgstr ""
#. module: maintenance
#: model:ir.ui.view,arch_db:maintenance.hr_equipment_view_search
msgid "Upcoming Activities (All)"
-msgstr ""
+msgstr "Próximas actividades (todas)"
#. module: maintenance
#: model:ir.ui.view,arch_db:maintenance.hr_equipment_view_form
diff --git a/addons/mass_mailing/i18n/es.po b/addons/mass_mailing/i18n/es.po
index da36471d535..f395832da28 100644
--- a/addons/mass_mailing/i18n/es.po
+++ b/addons/mass_mailing/i18n/es.po
@@ -260,7 +260,7 @@ msgstr "Activo"
#. module: mass_mailing
#: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_campaign_unique_ab_testing
msgid "Allow A/B Testing"
-msgstr ""
+msgstr "Permitir pruebas A/B"
#. module: mass_mailing
#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_footer_tag_line
@@ -668,7 +668,7 @@ msgstr "Duplicar"
#. module: mass_mailing
#: model:ir.actions.act_window,name:mass_mailing.action_view_mail_mail_statistics_mailing_list
msgid "EMails Sent"
-msgstr ""
+msgstr "Correos electrónicos enviados"
#. module: mass_mailing
#: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_contact_email
@@ -726,7 +726,7 @@ msgstr "Excepción"
#. module: mass_mailing
#: model:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_contact_search
msgid "Exclude Bounced"
-msgstr ""
+msgstr "Excluir los rebotados"
#. module: mass_mailing
#: model:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_contact_search
@@ -830,6 +830,10 @@ msgid ""
" lets you send different mailings to randomly selected recipients and test "
"the effectiveness of the mailings, without causing duplicate messages."
msgstr ""
+"Si se revisa, se hará solo un envío a los destinatarios para toda la "
+"campaña. Esto permite hacer diferentes envíos a unos destinatarios "
+"seleccionados al azar y comprobar la efectividad de los mismos sin enviar "
+"mensajes duplicados."
#. module: mass_mailing
#: code:addons/mass_mailing/models/mass_mailing.py:549
@@ -1126,7 +1130,7 @@ msgstr "Etiqueta de Correo Masivo"
#: model:ir.cron,cron_name:mass_mailing.ir_cron_mass_mailing_queue
#: model:ir.cron,name:mass_mailing.ir_cron_mass_mailing_queue
msgid "Mass Mailing: Process queue"
-msgstr ""
+msgstr "Correos electrónicos masivos: cola del proceso"
#. module: mass_mailing
#: model:ir.actions.act_window,name:mass_mailing.action_create_ab_mass_mailings_from_campaign
@@ -1230,7 +1234,7 @@ msgstr "Nombre"
#. module: mass_mailing
#: model:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_contact_search
msgid "Name / Email"
-msgstr ""
+msgstr "Nombre / Correo electrónico"
#. module: mass_mailing
#: model:ir.model.fields,field_description:mass_mailing.field_mass_mailing_list_merge_new_list_name
@@ -1265,7 +1269,7 @@ msgstr ""
#. module: mass_mailing
#: model:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_contact_kanban
msgid "Number of bounced email."
-msgstr ""
+msgstr "Número de correos electrónicos rebotados."
#. module: mass_mailing
#: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_campaign_clicks_ratio
@@ -1408,12 +1412,12 @@ msgstr "Modelo para los destinatarios"
#. module: mass_mailing
#: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_mailing_model_name
msgid "Recipients Model Name"
-msgstr ""
+msgstr "Nombre del modelo de destinatarios"
#. module: mass_mailing
#: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_mailing_model_real
msgid "Recipients Real Model"
-msgstr ""
+msgstr "Modelo real de los destinatarios"
#. module: mass_mailing
#: model:ir.ui.view,arch_db:mass_mailing.s_mail_block_discount1
@@ -1774,12 +1778,16 @@ msgstr ""
msgid ""
"This is useful if your marketing campaigns are composed of several emails"
msgstr ""
+"Esto es útil si sus campañas de marketing se componen de varios correos "
+"electrónicos"
#. module: mass_mailing
#: model:ir.ui.view,arch_db:mass_mailing.res_config_settings_view_form
msgid ""
"This is useful if your marketing campaigns are composed of several emails."
msgstr ""
+"Esto es útil si sus campañas de marketing se componen de varios correos "
+"electrónicos"
#. module: mass_mailing
#: model:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_form
@@ -1981,7 +1989,7 @@ msgstr "por ej. Newsletter del Consumidor"
#. module: mass_mailing
#: model:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_contact_form
msgid "e.g. John Smith"
-msgstr ""
+msgstr "p. ej.:o, John Smith"
#. module: mass_mailing
#: model:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_form
diff --git a/addons/mrp/i18n/es.po b/addons/mrp/i18n/es.po
index f7ea2039ada..75997113933 100644
--- a/addons/mrp/i18n/es.po
+++ b/addons/mrp/i18n/es.po
@@ -308,7 +308,7 @@ msgstr "Activo"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_workorder_active_move_line_ids
msgid "Active Move Line"
-msgstr ""
+msgstr "Línea de movimiento activo"
#. module: mrp
#: model:ir.ui.view,arch_db:mrp.mrp_workcenter_block_wizard_form
@@ -322,6 +322,9 @@ msgid ""
"finished products as well. Without this option you only do: A + B = C. With "
"the option: A + B = C + D."
msgstr ""
+"Añadir subproductos a las facturas de los materiales. Esto se puede usar "
+"para obtener varios productos terminados también. Sin esta opción solo "
+"puedes hacer: A + B = C. Con la opción: A + B = C + D."
#. module: mrp
#: model:ir.ui.view,arch_db:mrp.res_config_settings_view_form
@@ -352,12 +355,12 @@ msgstr ""
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_production_post_visible
msgid "Allowed to Post Inventory"
-msgstr ""
+msgstr "Se permite el post inventario"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_production_unreserve_visible
msgid "Allowed to Unreserve Inventory"
-msgstr ""
+msgstr "Se permite cancelar el inventario"
#. module: mrp
#: model:ir.ui.view,arch_db:mrp.view_change_production_qty_wizard
@@ -506,7 +509,7 @@ msgstr ""
#: model:ir.actions.act_window,name:mrp.mrp_bom_form_action
#: model:ir.ui.menu,name:mrp.menu_mrp_bom_form_action
msgid "Bills of Materials"
-msgstr ""
+msgstr "Facturas de materiales"
#. module: mrp
#: model:ir.actions.act_window,help:mrp.mrp_bom_form_action
@@ -655,7 +658,7 @@ msgstr "Limpiar"
#. module: mrp
#: model:ir.actions.act_window,help:mrp.mrp_workcenter_kanban_action
msgid "Click here"
-msgstr ""
+msgstr "Click Aquí"
#. module: mrp
#: model:ir.actions.act_window,help:mrp.mrp_production_action
@@ -665,22 +668,22 @@ msgstr "Click aquí para crear una Órden de Producción."
#. module: mrp
#: model:ir.actions.act_window,help:mrp.mrp_unbuild
msgid "Click here to create a Unbuild Order."
-msgstr ""
+msgstr "Haga clic aquí para crear la cancelación de un pedido."
#. module: mrp
#: model:ir.actions.act_window,help:mrp.mrp_routing_action
msgid "Click here to create a new Routing."
-msgstr ""
+msgstr "Haga clic aquí para crear una nueva ruta."
#. module: mrp
#: model:ir.actions.act_window,help:mrp.mrp_workcenter_action
msgid "Click here to create a new Work Center"
-msgstr ""
+msgstr "Haga clic aquí para crear un nuevo centro de trabajo"
#. module: mrp
#: model:ir.actions.act_window,help:mrp.mrp_message_action_main
msgid "Click here to create a new Work Order Message."
-msgstr ""
+msgstr "Haga clic aquí para crear un nuevo mensaje de la orden de trabajo"
#. module: mrp
#: model:ir.actions.act_window,help:mrp.action_work_orders
@@ -2447,7 +2450,7 @@ msgstr ""
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_document_ir_attachment_id
msgid "Related attachment"
-msgstr ""
+msgstr "Adjunto relacionado"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_res_config_settings_module_mrp_repair
diff --git a/addons/mrp/models/mrp_bom.py b/addons/mrp/models/mrp_bom.py
index f17939525f8..5cdd1eace62 100644
--- a/addons/mrp/models/mrp_bom.py
+++ b/addons/mrp/models/mrp_bom.py
@@ -81,6 +81,11 @@ class MrpBom(models.Model):
if self.product_tmpl_id:
self.product_uom_id = self.product_tmpl_id.uom_id.id
+ @api.onchange('routing_id')
+ def onchange_routing_id(self):
+ for line in self.bom_line_ids:
+ line.operation_id = False
+
@api.multi
def name_get(self):
return [(bom.id, '%s%s' % (bom.code and '%s: ' % bom.code or '', bom.product_tmpl_id.display_name)) for bom in self]
diff --git a/addons/pad/i18n/es.po b/addons/pad/i18n/es.po
index 56d04634923..259e2934df4 100644
--- a/addons/pad/i18n/es.po
+++ b/addons/pad/i18n/es.po
@@ -4,18 +4,19 @@
#
# Translators:
# oihane <oihanecruce@gmail.com>, 2016
-# Martin Trigaux <mat@odoo.com>, 2016
+# Martin Trigaux, 2016
# Pedro M. Baeza <pedro.baeza@gmail.com>, 2016
# Carles Antoli <carlesantoli@hotmail.com>, 2016
# Jesús Alan Ramos Rodríguez <alan.ramos@jarsa.com.mx>, 2017
-# Antonio Trueba <atgayol@gmail.com>, 2017
+# Antonio Trueba, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: Antonio Trueba <atgayol@gmail.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -75,7 +76,7 @@ msgstr "Clave de la API del pad"
#. module: pad
#: model:ir.model.fields,field_description:pad.field_res_config_settings_pad_key
msgid "Pad Api Key *"
-msgstr ""
+msgstr "Contraseña de la Api del pad"
#. module: pad
#: model:ir.model.fields,field_description:pad.field_res_company_pad_server
diff --git a/addons/payment/controllers/portal.py b/addons/payment/controllers/portal.py
index 4047ef7d30a..444d936429b 100644
--- a/addons/payment/controllers/portal.py
+++ b/addons/payment/controllers/portal.py
@@ -31,49 +31,110 @@ class WebsitePayment(http.Controller):
currency_id = currency_id and int(currency_id) or user.company_id.currency_id.id
currency = env['res.currency'].browse(currency_id)
- # Try default one then fallback on first
- acquirer_id = acquirer_id and int(acquirer_id) or \
- env['ir.default'].get('payment.transaction', 'acquirer_id', company_id=user.company_id.id) or \
- env['payment.acquirer'].search([('website_published', '=', True), ('company_id', '=', user.company_id.id)])[0].id
-
- acquirer = env['payment.acquirer'].with_context(submit_class='btn btn-primary pull-right',
- submit_txt=_('Pay Now')).browse(acquirer_id)
+ acquirers = None
+ if acquirer_id:
+ acquirers = env['payment.acquirer'].browse(int(acquirer_id))
+ if not acquirers:
+ acquirers = env['payment.acquirer'].search([('website_published', '=', True), ('company_id', '=', user.company_id.id)])
# auto-increment reference with a number suffix if the reference already exists
reference = request.env['payment.transaction'].get_next_reference(reference)
partner_id = user.partner_id.id if not user._is_public() else False
- payment_form = acquirer.sudo().render(reference, float(amount), currency.id, values={'return_url': '/website_payment/confirm', 'partner_id': partner_id})
values = {
'reference': reference,
- 'acquirer': acquirer,
'currency': currency,
'amount': float(amount),
- 'payment_form': payment_form,
+ 'return_url': '/website_payment/confirm',
+ 'partner_id': partner_id,
+ 'bootstrap_formatting': True,
+ 'error_msg': kw.get('error_msg')
}
- # TODO: remove return when payment is implemented with refactored payments, i.e. use of
- # payment.payment_tokens_list in the template.
- # return request.render('payment.pay', values)
- return request.render('website.404')
- @http.route(['/website_payment/transaction'], type='json', auth="public", website=True)
- def transaction(self, reference, amount, currency_id, acquirer_id):
+ values['s2s_acquirers'] = [acq for acq in acquirers if acq.payment_flow == 's2s']
+ values['form_acquirers'] = [acq for acq in acquirers if acq.payment_flow == 'form']
+ values['pms'] = request.env['payment.token'].search([('acquirer_id', 'in', [acq.id for acq in values['s2s_acquirers']])])
+
+ return request.render('payment.pay', values)
+
+ def _get_existing_transaction(self, reference, amount, partner_id, currency_id, acquirer_id, tx_id):
+ PaymentTransaction = request.env['payment.transaction']
+ tx = None
+ if tx_id:
+ tx = PaymentTransaction.sudo().browse(tx_id)
+ if not tx.exists() or tx.reference != reference or tx.acquirer_id.id != acquirer_id:
+ tx = None
+
+ if not tx:
+ tx = PaymentTransaction.sudo().search([('reference', '=', reference), ('acquirer_id', '=', acquirer_id)])
+
+ if tx and (tx.state != 'draft' or tx.partner_id.id != partner_id or tx.amount != amount or tx.currency_id.id != currency_id):
+ tx = None
+
+ return tx
+
+ @http.route(['/website_payment/transaction/<string:reference>/<string:amount>/<string:currency_id>',], type='json', auth='public')
+ def transaction(self, acquirer_id, reference, amount, currency_id, **kwargs):
partner_id = request.env.user.partner_id.id if not request.env.user._is_public() else False
+ acquirer = request.env['payment.acquirer'].browse(acquirer_id)
+
+ tx = self._get_existing_transaction(reference, float(amount), partner_id,
+ int(currency_id), int(acquirer_id), request.session.get('website_payment_tx_id'))
+
+ if not tx:
+ values = {
+ 'acquirer_id': int(acquirer_id),
+ 'reference': reference,
+ 'amount': float(amount),
+ 'currency_id': currency_id,
+ 'partner_id': partner_id,
+ }
+
+ tx = request.env['payment.transaction'].sudo().create(values)
+ request.session['website_payment_tx_id'] = tx.id
+
+ render_values = {
+ 'return_url': '/website_payment/confirm?tx_id=%d' % tx.id,
+ 'partner_id': partner_id,
+ }
+
+ return acquirer.sudo().render(reference, float(amount), int(currency_id), values=render_values)
+
+ @http.route(['/website_payment/token/<string:reference>/<float:amount>/<int:currency_id>'], type='http', auth='public', website=True)
+ def payment_token(self, pm_id, reference, amount, currency_id, return_url=None, **kwargs):
+ token = request.env['payment.token'].browse(int(pm_id))
+
+ if not token:
+ return request.redirect('/website_payment/pay?error_msg=%s' % _('Cannot setup the payment.'))
+
+ partner_id = request.env.user.partner_id.id if not request.env.user._is_public() else False
+
values = {
- 'acquirer_id': int(acquirer_id),
+ 'acquirer_id': token.acquirer_id.id,
'reference': reference,
'amount': float(amount),
'currency_id': int(currency_id),
'partner_id': partner_id,
+ 'payment_token_id': pm_id
}
tx = request.env['payment.transaction'].sudo().create(values)
request.session['website_payment_tx_id'] = tx.id
- return tx.id
+
+ try:
+ res = tx.s2s_do_transaction()
+ except Exception as e:
+ return request.redirect('/website_payment/pay?error_msg=%s' % _('Payment transaction failed.'))
+
+ valid_state = 'authorized' if tx.acquirer_id.capture_manually else 'done'
+ if not res or tx.state != valid_state:
+ return request.redirect('/website_payment/pay?error_msg=%s' % _('Payment transaction failed.'))
+
+ return request.redirect(return_url if return_url else '/website_payment/confirm?tx_id=%d' % tx.id)
@http.route(['/website_payment/confirm'], type='http', auth='public', website=True)
def confirm(self, **kw):
- tx_id = request.session.pop('website_payment_tx_id', False)
+ tx_id = int(kw.get('tx_id', 0)) or request.session.pop('website_payment_tx_id', 0)
if tx_id:
tx = request.env['payment.transaction'].browse(tx_id)
if tx.state == 'done':
diff --git a/addons/payment/i18n/es.po b/addons/payment/i18n/es.po
index 09e5a722796..9fd67f13485 100644
--- a/addons/payment/i18n/es.po
+++ b/addons/payment/i18n/es.po
@@ -818,7 +818,7 @@ msgstr ""
#: code:addons/payment/static/src/js/payment_form.js:218
#, python-format
msgid "Missing values"
-msgstr ""
+msgstr "Valores faltantes"
#. module: payment
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_name
@@ -846,7 +846,7 @@ msgstr "Nunca"
#: code:addons/payment/static/src/js/payment_form.js:273
#, python-format
msgid "No payment method selected"
-msgstr ""
+msgstr "No se ha seleccionado medio de pago"
#. module: payment
#: model:ir.model.fields,help:payment.field_account_payment_payment_token_id
@@ -1050,7 +1050,7 @@ msgstr "Use el nombre del pedido como referencia comunicativa."
#: model:ir.ui.view,arch_db:payment.confirm
#: model:ir.ui.view,arch_db:payment.pay
msgid "Processed by"
-msgstr ""
+msgstr "Procesado por"
#. module: payment
#: selection:payment.acquirer,environment:0
@@ -1101,7 +1101,7 @@ msgstr "Plantilla de formulario S2S"
#. module: payment
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_save_token
msgid "Save Cards"
-msgstr ""
+msgstr "Guardar las tarjetas"
#. module: payment
#: model:ir.ui.view,arch_db:payment.payment_tokens_list
@@ -1296,6 +1296,8 @@ msgstr ""
msgid ""
"Transfer information will be provided after choosing the payment aquirer."
msgstr ""
+"La información de transferencia será mostrada una vez elija el medio de "
+"pago."
#. module: payment
#: model:ir.model.fields,field_description:payment.field_payment_transaction_type
@@ -1325,7 +1327,7 @@ msgstr "Comisiones internacionales variables (en porcentaje)"
#. module: payment
#: model:ir.model.fields,field_description:payment.field_payment_token_verified
msgid "Verified"
-msgstr ""
+msgstr "Verificado"
#. module: payment
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_website_published
diff --git a/addons/payment/static/src/js/payment_transaction_portal.js b/addons/payment/static/src/js/payment_transaction_portal.js
index 26c0fb35d1e..094149b6274 100644
--- a/addons/payment/static/src/js/payment_transaction_portal.js
+++ b/addons/payment/static/src/js/payment_transaction_portal.js
@@ -1,24 +1,2 @@
-odoo.define('payment.website_payment', function (require) {
-"use strict";
-
-require('web.dom_ready');
-var ajax = require('web.ajax');
-
- if (!$('.o_website_payment').length) {
- return $.Deferred().reject("DOM doesn't contain '.o_website_payment'");
- }
-
- // When clicking on payment button: create the tx using json then continue to the acquirer
- var $payment = $(".o_website_payment_form");
- $payment.on("click", 'button[type="submit"],button[name="submit"]', function (ev) {
- ev.preventDefault();
- ev.stopPropagation();
- $(ev.currentTarget).attr('disabled', true);
- $(ev.currentTarget).prepend('<i class="fa fa-refresh fa-spin"></i> ');
- var $form = $(ev.currentTarget).parents('form');
- var data =$("div[class~='o_website_payment_new_payment']").data();
- ajax.jsonRpc('/website_payment/transaction/', 'call', data).then(function (result) {
- $form.submit();
- });
- });
-});
+// This file is kept to avoid breaking assets compilation on instance that didn't run "-u payment".
+// TBE TODO: Remove me in master \ No newline at end of file
diff --git a/addons/payment/views/payment_portal_templates.xml b/addons/payment/views/payment_portal_templates.xml
index d2fa3c1c4cd..166cd429718 100644
--- a/addons/payment/views/payment_portal_templates.xml
+++ b/addons/payment/views/payment_portal_templates.xml
@@ -46,32 +46,22 @@
<div class="wrap">
<div class="container o_website_payment">
<h1>Payment</h1>
- <div class="row">
- <div class="col-md-6">
- <div class="oe_structure"></div>
- <div>
- <div class="form-horizontal row o_website_payment_new_payment" t-att-data-acquirer_id="acquirer.id" t-att-data-currency_id="currency.id" t-att-data-reference="reference" t-att-data-amount="amount">
- <div class="form-group">
- <label for="form_reference" class="col-sm-3 control-label">Reference</label>
- <div class="col-sm-9">
- <span name="form_reference" class="form-control" t-esc="reference"/>
- </div>
- </div>
- <div class="form-group">
- <label for="form_amount" class="col-sm-3 control-label">Amount</label>
- <div class="col-sm-9">
- <span name="form_amount" class="form-control" t-esc="amount" t-options="{'widget': 'monetary', 'display_currency': currency}"/>
- </div>
- </div>
- <div class="col-sm-9 col-sm-offset-3 text-muted mt16" t-raw="acquirer.pre_msg"/>
- <div class="col-sm-12 o_website_payment_form" t-raw="payment_form"/>
- <div class="col-sm-6 col-sm-offset-6 text-muted mt16">
- <span t-field="acquirer.image_small" t-att-title="acquirer.name" t-options='{"widget": "image", "style":"max-width: 60px; display: inline-block"}'/>
- <span>Processed by <t t-esc="acquirer.name"/>.</span>
- </div>
- </div>
+ <div t-if="error_msg" class="alert alert-danger col-md-7">
+ <t t-esc="error_msg"/>
+ </div>
+ <div class="row mt32 mb32">
+ <div class="col-md-7">
+ <p><b>Reference:</b> <t t-esc="reference"/></p>
+ <p><b>Amount:</b> <t t-esc="amount" t-options="{'widget': 'monetary', 'display_currency': currency}"/></p>
+ <t t-call="payment.payment_tokens_list" t-if="reference and amount and currency">
+ <t t-set="mode" t-value="'payment'"/>
+ <t t-set="prepare_tx_url" t-value="'/website_payment/transaction/' + reference + '/' + str(amount) + '/' + str(currency.id)"/>
+ <t t-set="form_action" t-value="'/website_payment/token/' + reference + '/' + str(amount) + '/' + str(currency.id)"/>
+ </t>
+ <div t-if="not (s2s_acquirers or form_acquirers)" class="alert alert-danger">
+ <p>No payment acquirer found.</p>
+ <p>Please configure a payment acquirer.</p>
</div>
- <div class="oe_structure"/>
</div>
</div>
</div>
diff --git a/addons/payment_adyen/i18n/de.po b/addons/payment_adyen/i18n/de.po
index e35f804245d..a1c84731fb3 100644
--- a/addons/payment_adyen/i18n/de.po
+++ b/addons/payment_adyen/i18n/de.po
@@ -4,15 +4,16 @@
#
# Translators:
# darenkster <inactive+darenkster@transifex.com>, 2017
-# Wolfgang Taferner <wolfgang.transifex@service.wt-io-it.at>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
+# Wolfgang Taferner, 2017
+# Martin Trigaux, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -36,19 +37,19 @@ msgstr "; keine Bestellung gefunden"
#: code:addons/payment_adyen/models/payment.py:234
#, python-format
msgid "Adyen: feedback error"
-msgstr ""
+msgstr "Ayden: Feedbackfehler"
#. module: payment_adyen
#: code:addons/payment_adyen/models/payment.py:196
#, python-format
msgid "Adyen: invalid merchantSig, received %s, computed %s"
-msgstr ""
+msgstr "Ayden: ungültige Händlersignatur, erhalten %s, berechnet %s"
#. module: payment_adyen
#: code:addons/payment_adyen/models/payment.py:182
#, python-format
msgid "Adyen: received data for reference %s"
-msgstr ""
+msgstr "Ayden: empfangene Daten für Referenz %s"
#. module: payment_adyen
#: code:addons/payment_adyen/models/payment.py:175
@@ -57,11 +58,13 @@ msgid ""
"Adyen: received data with missing reference (%s) or missing pspReference "
"(%s)"
msgstr ""
+"Ayden: erhaltene Daten mit fehlender Referenz (%s) oder fehlender "
+"pspReferenz (%s)"
#. module: payment_adyen
#: model:ir.ui.view,arch_db:payment_adyen.acquirer_form_adyen
msgid "How to configure your Adyen account?"
-msgstr ""
+msgstr "Wie können Sie Ihr Ayen-Konto konfigurieren?"
#. module: payment_adyen
#: model:ir.model.fields,field_description:payment_adyen.field_payment_acquirer_adyen_merchant_account
diff --git a/addons/payment_authorize/i18n/de.po b/addons/payment_authorize/i18n/de.po
index bc4de9c2ce0..4f6634f9892 100644
--- a/addons/payment_authorize/i18n/de.po
+++ b/addons/payment_authorize/i18n/de.po
@@ -40,11 +40,13 @@ msgid ""
"Authorize.net Error Message(s):\n"
" %s"
msgstr ""
+"Authorize.net Fehlermeldung(s):\n"
+" %s"
#. module: payment_authorize
#: model:ir.model.fields,field_description:payment_authorize.field_payment_token_authorize_profile
msgid "Authorize.net Profile ID"
-msgstr ""
+msgstr "Authorize.net Profil-ID"
#. module: payment_authorize
#: code:addons/payment_authorize/models/payment.py:167
@@ -53,6 +55,8 @@ msgid ""
"Authorize: received data with missing reference (%s) or trans_id (%s) or "
"fingerprint (%s)"
msgstr ""
+"Autorisieren: empfangene Daten mit fehlender Referenz (%s) oder trans_id "
+"(%s) oder Fingerabdruck (%s)"
#. module: payment_authorize
#: model:ir.ui.view,arch_db:payment_authorize.authorize_s2s_form
@@ -67,17 +71,17 @@ msgstr "Kartennummer"
#. module: payment_authorize
#: model:ir.ui.view,arch_db:payment_authorize.authorize_s2s_form
msgid "Cardholder name"
-msgstr ""
+msgstr "Name des Karteninhabers"
#. module: payment_authorize
#: model:ir.ui.view,arch_db:payment_authorize.authorize_s2s_form
msgid "Expires (MM / YY)"
-msgstr ""
+msgstr "Läuft ab (MM / JJ)"
#. module: payment_authorize
#: model:ir.ui.view,arch_db:payment_authorize.acquirer_form_authorize
msgid "How to get paid with Authorize.Net"
-msgstr ""
+msgstr "Wie Sie mit Authorize.Net bezahlt werden"
#. module: payment_authorize
#: model:ir.model,name:payment_authorize.model_payment_acquirer
@@ -103,14 +107,14 @@ msgstr "Karten speichern"
#: code:addons/payment_authorize/models/payment.py:372
#, python-format
msgid "The Customer Profile creation in Authorize.NET failed."
-msgstr ""
+msgstr "Die Erstellung des Kundenprofils bei Autorize.NET ist fehlgeschlagen."
#. module: payment_authorize
#: model:ir.model.fields,help:payment_authorize.field_payment_token_authorize_profile
msgid ""
"This contains the unique reference for this partner/payment token "
"combination in the Authorize.net backend"
-msgstr ""
+msgstr "Dies enthält die eindeutige Referenz"
#. module: payment_authorize
#: model:ir.model.fields,help:payment_authorize.field_payment_token_save_token
diff --git a/addons/payment_authorize/i18n/es.po b/addons/payment_authorize/i18n/es.po
index 34605d0269e..7aaa5e8c47d 100644
--- a/addons/payment_authorize/i18n/es.po
+++ b/addons/payment_authorize/i18n/es.po
@@ -3,18 +3,19 @@
# * payment_authorize
#
# Translators:
-# Martin Trigaux <mat@odoo.com>, 2016
+# Martin Trigaux, 2016
# Humberto Garza De Koster <garzadekoster@gmail.com>, 2016
# David Arnold <blaggacao@users.noreply.github.com>, 2017
# RGB Consulting <odoo@rgbconsulting.com>, 2017
# Luis M. Ontalba <luis.martinez@tecnativa.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: Luis M. Ontalba <luis.martinez@tecnativa.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -70,17 +71,17 @@ msgstr "Número de la tarjeta"
#. module: payment_authorize
#: model:ir.ui.view,arch_db:payment_authorize.authorize_s2s_form
msgid "Cardholder name"
-msgstr ""
+msgstr "Nombre del titular de la tarjeta"
#. module: payment_authorize
#: model:ir.ui.view,arch_db:payment_authorize.authorize_s2s_form
msgid "Expires (MM / YY)"
-msgstr ""
+msgstr "Caducidad (MM / AA)"
#. module: payment_authorize
#: model:ir.ui.view,arch_db:payment_authorize.acquirer_form_authorize
msgid "How to get paid with Authorize.Net"
-msgstr ""
+msgstr "Cómo recibir pagos con Authorize.Net"
#. module: payment_authorize
#: model:ir.model,name:payment_authorize.model_payment_acquirer
@@ -100,7 +101,7 @@ msgstr "Proveedor"
#. module: payment_authorize
#: model:ir.model.fields,field_description:payment_authorize.field_payment_token_save_token
msgid "Save Cards"
-msgstr ""
+msgstr "Guardar las tarjetas"
#. module: payment_authorize
#: code:addons/payment_authorize/models/payment.py:372
@@ -114,6 +115,8 @@ msgid ""
"This contains the unique reference for this partner/payment token "
"combination in the Authorize.net backend"
msgstr ""
+"Esto contiene la única referencia para esta combinación de empresa/pago de "
+"token en el backend de Authorize.net"
#. module: payment_authorize
#: model:ir.model.fields,help:payment_authorize.field_payment_token_save_token
diff --git a/addons/payment_buckaroo/i18n/de.po b/addons/payment_buckaroo/i18n/de.po
index 74d27aae0c7..86cb71b618d 100644
--- a/addons/payment_buckaroo/i18n/de.po
+++ b/addons/payment_buckaroo/i18n/de.po
@@ -4,15 +4,16 @@
#
# Translators:
# darenkster <inactive+darenkster@transifex.com>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
-# Wolfgang Taferner <wolfgang.transifex@service.wt-io-it.at>, 2017
+# Martin Trigaux, 2017
+# Wolfgang Taferner, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: Wolfgang Taferner <wolfgang.transifex@service.wt-io-it.at>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -36,13 +37,13 @@ msgstr "; keine Bestellung gefunden"
#: code:addons/payment_buckaroo/models/payment.py:148
#, python-format
msgid "Buckaroo: invalid shasign, received %s, computed %s, for data %s"
-msgstr ""
+msgstr "Buckaroo: ungültiges Shasign, %s erhalten, %s berechnet, %s für Daten"
#. module: payment_buckaroo
#: code:addons/payment_buckaroo/models/payment.py:137
#, python-format
msgid "Buckaroo: received data for reference %s"
-msgstr ""
+msgstr "Buckaroo: empfangene Daten für Referenz %s"
#. module: payment_buckaroo
#: code:addons/payment_buckaroo/models/payment.py:131
@@ -51,11 +52,13 @@ msgid ""
"Buckaroo: received data with missing reference (%s) or pay_id (%s) or "
"shasign (%s)"
msgstr ""
+"Buckaroo: empfangene Daten mit fehlender Referenz (%s) oder pay_id (%s) oder"
+" Shasign (%s)"
#. module: payment_buckaroo
#: model:ir.ui.view,arch_db:payment_buckaroo.acquirer_form_buckaroo
msgid "How to configure your Buckaroo account?"
-msgstr ""
+msgstr "Wie können Sie Ihr Buckaroo-Konto konfigurieren?"
#. module: payment_buckaroo
#: model:ir.model,name:payment_buckaroo.model_payment_acquirer
diff --git a/addons/payment_ogone/i18n/de.po b/addons/payment_ogone/i18n/de.po
index 80e3fe11c78..3ccb2356fb3 100644
--- a/addons/payment_ogone/i18n/de.po
+++ b/addons/payment_ogone/i18n/de.po
@@ -46,7 +46,7 @@ msgstr "API Benutzer Passwort"
#. module: payment_ogone
#: model:ir.model.fields,field_description:payment_ogone.field_payment_acquirer_ogone_alias_usage
msgid "Alias Usage"
-msgstr ""
+msgstr "Alias Usage"
#. module: payment_ogone
#: model:ir.ui.view,arch_db:payment_ogone.ogone_s2s_form
@@ -61,17 +61,17 @@ msgstr "Kartennummer"
#. module: payment_ogone
#: model:ir.ui.view,arch_db:payment_ogone.ogone_s2s_form
msgid "Cardholder name"
-msgstr ""
+msgstr "Name des Karteninhabers"
#. module: payment_ogone
#: model:ir.ui.view,arch_db:payment_ogone.ogone_s2s_form
msgid "Expires (MM / YY)"
-msgstr ""
+msgstr "Läuft ab (MM / JJ)"
#. module: payment_ogone
#: model:ir.ui.view,arch_db:payment_ogone.acquirer_form_ogone
msgid "How to configure your Ogone account?"
-msgstr ""
+msgstr "Wie können Sie Ihr Ogone-Konto konfigurieren?"
#. module: payment_ogone
#: model:ir.model.fields,help:payment_ogone.field_payment_acquirer_ogone_alias_usage
@@ -79,18 +79,21 @@ msgid ""
"If you want to use Ogone Aliases, this default Alias Usage will be presented"
" to the customer as the reason you want to keep his payment data"
msgstr ""
+"Wenn Sie Ogone Aliases verwenden wollen, wird dieser Alias Usage-Standard "
+"dem Kunden als Grund vorgelegt, warum Sie seine Zahlungsdaten speichern "
+"wollen"
#. module: payment_ogone
#: code:addons/payment_ogone/models/payment.py:247
#, python-format
msgid "Ogone: invalid shasign, received %s, computed %s, for data %s"
-msgstr ""
+msgstr "Ogone: ungültiges Shasign, %s erhalten, %s berechnet, %s für Daten"
#. module: payment_ogone
#: code:addons/payment_ogone/models/payment.py:236
#, python-format
msgid "Ogone: received data for reference %s"
-msgstr ""
+msgstr "Ogone: empfangene Daten für Referenz %s"
#. module: payment_ogone
#: code:addons/payment_ogone/models/payment.py:229
@@ -99,6 +102,8 @@ msgid ""
"Ogone: received data with missing reference (%s) or pay_id (%s) or shasign "
"(%s)"
msgstr ""
+"Ogone: empfangene Daten mit fehlender Referenz (%s) oder pay_id (%s) oder "
+"shasign (%s)"
#. module: payment_ogone
#: model:ir.model.fields,field_description:payment_ogone.field_payment_acquirer_ogone_pspid
diff --git a/addons/payment_ogone/i18n/es.po b/addons/payment_ogone/i18n/es.po
index 71f57083c4d..fb9f631ddf7 100644
--- a/addons/payment_ogone/i18n/es.po
+++ b/addons/payment_ogone/i18n/es.po
@@ -3,20 +3,21 @@
# * payment_ogone
#
# Translators:
-# Martin Trigaux <mat@odoo.com>, 2017
-# Luis M. Ontalba <luis.martinez@tecnativa.com>, 2017
+# Martin Trigaux, 2016
+# Alejandro Die Sanchis <marketing@domatix.com>, 2016
+# Ivan Nieto <ivan.n.s@tuta.io>, 2016
+# Gelo Joga Landoo <gj@landoo.es>, 2017
# David Arnold <blaggacao@users.noreply.github.com>, 2017
-# Alejandro Die Sanchis <marketing@domatix.com>, 2017
+# Luis M. Ontalba <luis.martinez@tecnativa.com>, 2017
# RGB Consulting <odoo@rgbconsulting.com>, 2017
-# Ivan Nieto <ivan.n.s@tuta.io>, 2017
-# Gelo Joga Landoo <gj@landoo.es>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: Gelo Joga Landoo <gj@landoo.es>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -64,12 +65,12 @@ msgstr "Número de la tarjeta"
#. module: payment_ogone
#: model:ir.ui.view,arch_db:payment_ogone.ogone_s2s_form
msgid "Cardholder name"
-msgstr ""
+msgstr "Nombre del titular de la tarjeta"
#. module: payment_ogone
#: model:ir.ui.view,arch_db:payment_ogone.ogone_s2s_form
msgid "Expires (MM / YY)"
-msgstr ""
+msgstr "Caducidad (MM / AA)"
#. module: payment_ogone
#: model:ir.ui.view,arch_db:payment_ogone.acquirer_form_ogone
diff --git a/addons/payment_paypal/i18n/de.po b/addons/payment_paypal/i18n/de.po
index 4efe292f8d1..8d9270c3266 100644
--- a/addons/payment_paypal/i18n/de.po
+++ b/addons/payment_paypal/i18n/de.po
@@ -3,17 +3,18 @@
# * payment_paypal
#
# Translators:
-# Martin Trigaux <mat@odoo.com>, 2017
+# Martin Trigaux, 2017
# darenkster <inactive+darenkster@transifex.com>, 2017
# aNj <anj2j@yahoo.de>, 2017
-# Wolfgang Taferner <wolfgang.transifex@service.wt-io-it.at>, 2017
+# Wolfgang Taferner, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: Wolfgang Taferner <wolfgang.transifex@service.wt-io-it.at>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -47,6 +48,8 @@ msgid ""
"Payment Data Transfer allows you to receive notification of successful "
"payments as they are made."
msgstr ""
+"Der Zahlungsdaten-Transfer ermöglicht es Ihnen, Benachrichtigungen für "
+"erfolgreiche Zahlungen zu erhalten."
#. module: payment_paypal
#: model:ir.model,name:payment_paypal.model_payment_transaction
@@ -71,7 +74,7 @@ msgstr "Paypal Händler-ID"
#. module: payment_paypal
#: model:ir.model.fields,field_description:payment_paypal.field_payment_acquirer_paypal_pdt_token
msgid "Paypal PDT Token"
-msgstr ""
+msgstr "Paypal PDT-Token"
#. module: payment_paypal
#: code:addons/payment_paypal/models/payment.py:138
diff --git a/addons/payment_paypal/i18n/es.po b/addons/payment_paypal/i18n/es.po
index 10ab91283ae..d0654b098f9 100644
--- a/addons/payment_paypal/i18n/es.po
+++ b/addons/payment_paypal/i18n/es.po
@@ -3,16 +3,17 @@
# * payment_paypal
#
# Translators:
-# Martin Trigaux <mat@odoo.com>, 2017
-# Luis M. Ontalba <luis.martinez@tecnativa.com>, 2017
+# Martin Trigaux, 2016
# Gelo Joga Landoo <gj@landoo.es>, 2017
+# Luis M. Ontalba <luis.martinez@tecnativa.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: Gelo Joga Landoo <gj@landoo.es>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -46,6 +47,8 @@ msgid ""
"Payment Data Transfer allows you to receive notification of successful "
"payments as they are made."
msgstr ""
+"La transferencia de datos de pago le permite recibir notificación de los "
+"pagos realizados cuando estos se han hecho."
#. module: payment_paypal
#: model:ir.model,name:payment_paypal.model_payment_transaction
diff --git a/addons/payment_paypal/i18n/zh_CN.po b/addons/payment_paypal/i18n/zh_CN.po
index b1dae6c28fd..d7111abdbc3 100644
--- a/addons/payment_paypal/i18n/zh_CN.po
+++ b/addons/payment_paypal/i18n/zh_CN.po
@@ -3,14 +3,15 @@
# * payment_paypal
#
# Translators:
-# Jeffery CHEN <jeffery9@gmail.com>, 2016
+# Jeffery CHEN Fan <jeffery9@gmail.com>, 2016
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: Jeffery CHEN <jeffery9@gmail.com>, 2016\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: Chinese (China) (https://www.transifex.com/odoo/teams/41243/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -43,7 +44,7 @@ msgstr "付款收单方"
msgid ""
"Payment Data Transfer allows you to receive notification of successful "
"payments as they are made."
-msgstr ""
+msgstr "付款数据传输允许您接收成功付款的通知。"
#. module: payment_paypal
#: model:ir.model,name:payment_paypal.model_payment_transaction
@@ -68,7 +69,7 @@ msgstr "Paypal 销售商 ID"
#. module: payment_paypal
#: model:ir.model.fields,field_description:payment_paypal.field_payment_acquirer_paypal_pdt_token
msgid "Paypal PDT Token"
-msgstr ""
+msgstr "Paypal 付款数据传输标记"
#. module: payment_paypal
#: code:addons/payment_paypal/models/payment.py:138
diff --git a/addons/payment_payumoney/i18n/de.po b/addons/payment_payumoney/i18n/de.po
index 9f2b364a470..c497cd4fddd 100644
--- a/addons/payment_payumoney/i18n/de.po
+++ b/addons/payment_payumoney/i18n/de.po
@@ -4,14 +4,15 @@
#
# Translators:
# darenkster <inactive+darenkster@transifex.com>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
+# Martin Trigaux, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,36 +23,38 @@ msgstr ""
#. module: payment_payumoney
#: model:ir.model.fields,field_description:payment_payumoney.field_payment_acquirer_payumoney_merchant_key
msgid "Merchant Key"
-msgstr ""
+msgstr "Händlerschlüssel"
#. module: payment_payumoney
#: model:ir.model.fields,field_description:payment_payumoney.field_payment_acquirer_payumoney_merchant_salt
msgid "Merchant Salt"
-msgstr ""
+msgstr "Händler Salt"
#. module: payment_payumoney
#: code:addons/payment_payumoney/models/payment.py:146
#, python-format
msgid "PayUmoney: feedback error"
-msgstr ""
+msgstr "PayUmoney: Feedbackfehler"
#. module: payment_payumoney
#: code:addons/payment_payumoney/models/payment.py:108
#, python-format
msgid "PayUmoney: invalid shasign, received %s, computed %s, for data %s"
msgstr ""
+"PayUmoney: ungültiges Shasign, %s erhalten, %s berechnet, %s für Daten"
#. module: payment_payumoney
#: code:addons/payment_payumoney/models/payment.py:102
#, python-format
msgid "PayUmoney: received data for reference %s; multiple orders found"
msgstr ""
+"PayUmoney: empfangene Daten für Referenz %s; Mehrfachaufträge gefunden"
#. module: payment_payumoney
#: code:addons/payment_payumoney/models/payment.py:99
#, python-format
msgid "PayUmoney: received data for reference %s; no order found"
-msgstr ""
+msgstr "PayUmoney: empfangene Daten für Referenz %s; kein Auftrag gefunden"
#. module: payment_payumoney
#: code:addons/payment_payumoney/models/payment.py:94
@@ -60,6 +63,8 @@ msgid ""
"PayUmoney: received data with missing reference (%s) or pay_id (%s) or "
"shashign (%s)"
msgstr ""
+"PayUmoney: empfangene Daten mit fehlender Referenz (%s) oder pay_id (%s) "
+"oder shashign (%s)"
#. module: payment_payumoney
#: model:ir.model,name:payment_payumoney.model_payment_acquirer
diff --git a/addons/payment_payumoney/i18n/es.po b/addons/payment_payumoney/i18n/es.po
index 48536327833..3c19cdc14a8 100644
--- a/addons/payment_payumoney/i18n/es.po
+++ b/addons/payment_payumoney/i18n/es.po
@@ -3,15 +3,16 @@
# * payment_payumoney
#
# Translators:
-# Martin Trigaux <mat@odoo.com>, 2016
+# Martin Trigaux, 2016
# David Arnold <blaggacao@users.noreply.github.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: David Arnold <blaggacao@users.noreply.github.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -27,31 +28,34 @@ msgstr "Clave del comerciante"
#. module: payment_payumoney
#: model:ir.model.fields,field_description:payment_payumoney.field_payment_acquirer_payumoney_merchant_salt
msgid "Merchant Salt"
-msgstr ""
+msgstr "Merchant Salt"
#. module: payment_payumoney
#: code:addons/payment_payumoney/models/payment.py:146
#, python-format
msgid "PayUmoney: feedback error"
-msgstr ""
+msgstr "PayUmoney: error en el feedback"
#. module: payment_payumoney
#: code:addons/payment_payumoney/models/payment.py:108
#, python-format
msgid "PayUmoney: invalid shasign, received %s, computed %s, for data %s"
-msgstr ""
+msgstr "PayUmoney: shasign nulo, %s recibido, %s calculado, para datos %s"
#. module: payment_payumoney
#: code:addons/payment_payumoney/models/payment.py:102
#, python-format
msgid "PayUmoney: received data for reference %s; multiple orders found"
msgstr ""
+"PayUmoney: datos recibidos para la referencia %s, pedidos múltiples "
+"encontrados"
#. module: payment_payumoney
#: code:addons/payment_payumoney/models/payment.py:99
#, python-format
msgid "PayUmoney: received data for reference %s; no order found"
msgstr ""
+"PayUmoney: datos recibidos para la referencia%s; ningún pedido encontrado"
#. module: payment_payumoney
#: code:addons/payment_payumoney/models/payment.py:94
diff --git a/addons/payment_payumoney/i18n/zh_CN.po b/addons/payment_payumoney/i18n/zh_CN.po
index 57cfce4f3df..f55405b2886 100644
--- a/addons/payment_payumoney/i18n/zh_CN.po
+++ b/addons/payment_payumoney/i18n/zh_CN.po
@@ -3,14 +3,15 @@
# * payment_payumoney
#
# Translators:
-# Jeffery CHEN <jeffery9@gmail.com>, 2016
+# Jeffery CHEN Fan <jeffery9@gmail.com>, 2016
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: Jeffery CHEN <jeffery9@gmail.com>, 2016\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: Chinese (China) (https://www.transifex.com/odoo/teams/41243/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -32,25 +33,25 @@ msgstr "商家盐"
#: code:addons/payment_payumoney/models/payment.py:146
#, python-format
msgid "PayUmoney: feedback error"
-msgstr ""
+msgstr "PayUmoney:反馈出错"
#. module: payment_payumoney
#: code:addons/payment_payumoney/models/payment.py:108
#, python-format
msgid "PayUmoney: invalid shasign, received %s, computed %s, for data %s"
-msgstr ""
+msgstr "PayUmoney:无效的 shasign,对于数据 %s,已接收 %s,已计算 %s"
#. module: payment_payumoney
#: code:addons/payment_payumoney/models/payment.py:102
#, python-format
msgid "PayUmoney: received data for reference %s; multiple orders found"
-msgstr ""
+msgstr "PayUmoney:已接收参考 %s 的数据;已找到多个订单"
#. module: payment_payumoney
#: code:addons/payment_payumoney/models/payment.py:99
#, python-format
msgid "PayUmoney: received data for reference %s; no order found"
-msgstr ""
+msgstr "PayUmoney:已接收参考 %s 的数据;未找到订单"
#. module: payment_payumoney
#: code:addons/payment_payumoney/models/payment.py:94
@@ -58,7 +59,7 @@ msgstr ""
msgid ""
"PayUmoney: received data with missing reference (%s) or pay_id (%s) or "
"shashign (%s)"
-msgstr ""
+msgstr "PayUmoney:已接收缺少参考 (%s),或者 pay_id (%s) 或 shashign (%s) 的数据"
#. module: payment_payumoney
#: model:ir.model,name:payment_payumoney.model_payment_acquirer
diff --git a/addons/payment_sips/i18n/de.po b/addons/payment_sips/i18n/de.po
index 22db0e4ae4f..4d19e1c0fc9 100644
--- a/addons/payment_sips/i18n/de.po
+++ b/addons/payment_sips/i18n/de.po
@@ -4,15 +4,16 @@
#
# Translators:
# darenkster <inactive+darenkster@transifex.com>, 2017
-# Wolfgang Taferner <wolfgang.transifex@service.wt-io-it.at>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
+# Wolfgang Taferner, 2017
+# Martin Trigaux, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -36,18 +37,18 @@ msgstr "; keine Bestellung gefunden"
#: code:addons/payment_sips/models/payment.py:74
#, python-format
msgid "Currency not supported by Wordline"
-msgstr ""
+msgstr "Währung wird von Wordline nicht unterstützt"
#. module: payment_sips
#: code:addons/payment_sips/models/payment.py:55
#, python-format
msgid "Incorrect payment acquirer provider"
-msgstr ""
+msgstr "Ungültiger Zahlungsanbieter"
#. module: payment_sips
#: model:ir.model.fields,field_description:payment_sips.field_payment_acquirer_sips_version
msgid "Interface Version"
-msgstr ""
+msgstr "Schnittstellenversion"
#. module: payment_sips
#: model:ir.model.fields,field_description:payment_sips.field_payment_acquirer_sips_merchant_id
@@ -67,25 +68,25 @@ msgstr "Zahlungstransaktion"
#. module: payment_sips
#: model:ir.model.fields,field_description:payment_sips.field_payment_acquirer_sips_prod_url
msgid "Prod's url"
-msgstr ""
+msgstr "Prods URL"
#. module: payment_sips
#: model:ir.model.fields,field_description:payment_sips.field_payment_acquirer_sips_secret
msgid "Secret Key"
-msgstr ""
+msgstr "Geheimer Schlüssel"
#. module: payment_sips
#: code:addons/payment_sips/models/payment.py:149
#, python-format
msgid "Sips: received data for reference %s"
-msgstr ""
+msgstr "Sips: empfangene Daten für Referenz %s"
#. module: payment_sips
#: model:ir.model.fields,field_description:payment_sips.field_payment_acquirer_sips_test_url
msgid "Test's url"
-msgstr ""
+msgstr "Tests URL"
#. module: payment_sips
#: model:ir.model.fields,help:payment_sips.field_payment_acquirer_sips_merchant_id
msgid "Used for production only"
-msgstr ""
+msgstr "Nur für Produktion verwendet"
diff --git a/addons/payment_sips/i18n/es.po b/addons/payment_sips/i18n/es.po
index 50f80d3c718..0f127300f01 100644
--- a/addons/payment_sips/i18n/es.po
+++ b/addons/payment_sips/i18n/es.po
@@ -3,17 +3,18 @@
# * payment_sips
#
# Translators:
+# Martin Trigaux, 2016
+# Alejandro Die Sanchis <marketing@domatix.com>, 2016
+# Ivan Nieto <ivan.n.s@tuta.io>, 2016
# Luis M. Ontalba <luis.martinez@tecnativa.com>, 2017
-# Alejandro Die Sanchis <marketing@domatix.com>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
-# Ivan Nieto <ivan.n.s@tuta.io>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: Ivan Nieto <ivan.n.s@tuta.io>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -48,7 +49,7 @@ msgstr "Método de pago del proveedor incorrecto"
#. module: payment_sips
#: model:ir.model.fields,field_description:payment_sips.field_payment_acquirer_sips_version
msgid "Interface Version"
-msgstr ""
+msgstr "Versión de la interfaz"
#. module: payment_sips
#: model:ir.model.fields,field_description:payment_sips.field_payment_acquirer_sips_merchant_id
@@ -68,12 +69,12 @@ msgstr "Transacción de pago"
#. module: payment_sips
#: model:ir.model.fields,field_description:payment_sips.field_payment_acquirer_sips_prod_url
msgid "Prod's url"
-msgstr ""
+msgstr "Url de la producción"
#. module: payment_sips
#: model:ir.model.fields,field_description:payment_sips.field_payment_acquirer_sips_secret
msgid "Secret Key"
-msgstr ""
+msgstr "Contraseña secreta"
#. module: payment_sips
#: code:addons/payment_sips/models/payment.py:149
@@ -84,7 +85,7 @@ msgstr "Sips: received data for reference %s"
#. module: payment_sips
#: model:ir.model.fields,field_description:payment_sips.field_payment_acquirer_sips_test_url
msgid "Test's url"
-msgstr ""
+msgstr "Url de la prueba"
#. module: payment_sips
#: model:ir.model.fields,help:payment_sips.field_payment_acquirer_sips_merchant_id
diff --git a/addons/payment_sips/i18n/zh_CN.po b/addons/payment_sips/i18n/zh_CN.po
index 5ac6c0f1d19..9231fadc040 100644
--- a/addons/payment_sips/i18n/zh_CN.po
+++ b/addons/payment_sips/i18n/zh_CN.po
@@ -3,15 +3,16 @@
# * payment_sips
#
# Translators:
-# Jeffery CHEN <jeffery9@gmail.com>, 2016
-# fausthuang <faust_huang@hotmail.com>, 2017
+# Jeffery CHEN Fan <jeffery9@gmail.com>, 2016
+# fausthuang, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: fausthuang <faust_huang@hotmail.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: Chinese (China) (https://www.transifex.com/odoo/teams/41243/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -46,7 +47,7 @@ msgstr "不正确的付款收单方服务商"
#. module: payment_sips
#: model:ir.model.fields,field_description:payment_sips.field_payment_acquirer_sips_version
msgid "Interface Version"
-msgstr ""
+msgstr "接口版本"
#. module: payment_sips
#: model:ir.model.fields,field_description:payment_sips.field_payment_acquirer_sips_merchant_id
@@ -66,12 +67,12 @@ msgstr "付款交易"
#. module: payment_sips
#: model:ir.model.fields,field_description:payment_sips.field_payment_acquirer_sips_prod_url
msgid "Prod's url"
-msgstr ""
+msgstr "Prod URL"
#. module: payment_sips
#: model:ir.model.fields,field_description:payment_sips.field_payment_acquirer_sips_secret
msgid "Secret Key"
-msgstr ""
+msgstr "密钥"
#. module: payment_sips
#: code:addons/payment_sips/models/payment.py:149
@@ -82,9 +83,9 @@ msgstr "Sips: 供参照的接收数据 %s"
#. module: payment_sips
#: model:ir.model.fields,field_description:payment_sips.field_payment_acquirer_sips_test_url
msgid "Test's url"
-msgstr ""
+msgstr "测试 url"
#. module: payment_sips
#: model:ir.model.fields,help:payment_sips.field_payment_acquirer_sips_merchant_id
msgid "Used for production only"
-msgstr ""
+msgstr "仅适用于生产"
diff --git a/addons/payment_stripe/i18n/de.po b/addons/payment_stripe/i18n/de.po
index de7e0de45bc..8312662940c 100644
--- a/addons/payment_stripe/i18n/de.po
+++ b/addons/payment_stripe/i18n/de.po
@@ -36,6 +36,9 @@ msgid ""
"product. As defined in your Stripe profile. See: "
"https://stripe.com/docs/checkout"
msgstr ""
+"Eine relative oder absolute URL weist auf ein quadratisches Bild Ihrer Marke"
+" oder Produkt hin. Wie in Ihrem Stripe-Profil definiert. Siehe: "
+"https://stripe.com/docs/checkout"
#. module: payment_stripe
#: model:ir.ui.view,arch_db:payment_stripe.stripe_s2s_form
@@ -50,12 +53,12 @@ msgstr "Kartennummer"
#. module: payment_stripe
#: model:ir.ui.view,arch_db:payment_stripe.stripe_s2s_form
msgid "Cardholder name"
-msgstr ""
+msgstr "Name des Karteninhabers"
#. module: payment_stripe
#: model:ir.model.fields,field_description:payment_stripe.field_payment_acquirer_stripe_image_url
msgid "Checkout Image URL"
-msgstr ""
+msgstr "Abmelde-Bild-URL"
#. module: payment_stripe
#. openerp-web
@@ -74,14 +77,14 @@ msgstr "Fehler"
#. module: payment_stripe
#: model:ir.ui.view,arch_db:payment_stripe.stripe_s2s_form
msgid "Expires (MM / YY)"
-msgstr ""
+msgstr "Läuft ab (MM / JJ)"
#. module: payment_stripe
#. openerp-web
#: code:addons/payment_stripe/static/src/js/stripe.js:32
#, python-format
msgid "Just one more second, confirming your payment..."
-msgstr ""
+msgstr "Nur noch eine Sekunde, Ihre Zahlung wird bestätigt …"
#. module: payment_stripe
#: model:ir.model,name:payment_stripe.model_payment_acquirer
@@ -98,7 +101,7 @@ msgstr "Zahlungstransaktion"
#: code:addons/payment_stripe/static/src/js/stripe.js:57
#, python-format
msgid "Payment error"
-msgstr ""
+msgstr "Zahlungsfehler"
#. module: payment_stripe
#: code:addons/payment_stripe/models/payment.py:167
@@ -107,40 +110,43 @@ msgid ""
"Perhaps the problem can be solved by double-checking your credit card "
"details, or contacting your bank?"
msgstr ""
+"Vielleicht kann das Problem gelöst werden, wenn Sie Ihre "
+"Kreditkarteninformationen erneut überprüfen oder Ihre Bank kontaktieren?"
#. module: payment_stripe
#: model:ir.model.fields,field_description:payment_stripe.field_payment_acquirer_stripe_publishable_key
msgid "Stripe Publishable Key"
-msgstr ""
+msgstr "Stripe Veröffentlichbarer Schlüssel"
#. module: payment_stripe
#: model:ir.model.fields,field_description:payment_stripe.field_payment_acquirer_stripe_secret_key
msgid "Stripe Secret Key"
-msgstr ""
+msgstr "Stripe Geheimer Schlüssel"
#. module: payment_stripe
#: code:addons/payment_stripe/models/payment.py:165
#, python-format
msgid "Stripe gave us the following info about the problem: '%s'"
-msgstr ""
+msgstr "Stripe hat uns folgende Informationen über das Problem gegeben: '%s'"
#. module: payment_stripe
#: code:addons/payment_stripe/models/payment.py:177
#, python-format
msgid "Stripe: %s orders found for reference %s"
-msgstr ""
+msgstr "Stripe: %s gefundene Aufträge für Referenz %s"
#. module: payment_stripe
#: code:addons/payment_stripe/models/payment.py:173
#, python-format
msgid "Stripe: no order found for reference %s"
-msgstr ""
+msgstr "Stripe: kein Auftrag für Referenz %s gefunden"
#. module: payment_stripe
#: code:addons/payment_stripe/models/payment.py:163
#, python-format
msgid "We're sorry to report that the transaction has failed."
msgstr ""
+"Leider müssen wir Ihnen mitteilen, dass die Transaktion fehlgeschlagen ist."
#. module: payment_stripe
#: model:ir.model,name:payment_stripe.model_payment_token
diff --git a/addons/payment_stripe/i18n/es.po b/addons/payment_stripe/i18n/es.po
index c0a9fa499c9..05270578de7 100644
--- a/addons/payment_stripe/i18n/es.po
+++ b/addons/payment_stripe/i18n/es.po
@@ -3,17 +3,17 @@
# * payment_stripe
#
# Translators:
-# Luis M. Ontalba <luis.martinez@tecnativa.com>, 2017
+# Martin Trigaux, 2016
# David Arnold <blaggacao@users.noreply.github.com>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
# RGB Consulting <odoo@rgbconsulting.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-24 09:00+0000\n"
"PO-Revision-Date: 2017-10-24 09:00+0000\n"
-"Last-Translator: RGB Consulting <odoo@rgbconsulting.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -52,7 +52,7 @@ msgstr "Número de la tarjeta"
#. module: payment_stripe
#: model:ir.ui.view,arch_db:payment_stripe.stripe_s2s_form
msgid "Cardholder name"
-msgstr ""
+msgstr "Nombre del titular de la tarjeta"
#. module: payment_stripe
#: model:ir.model.fields,field_description:payment_stripe.field_payment_acquirer_stripe_image_url
@@ -76,14 +76,14 @@ msgstr "Error"
#. module: payment_stripe
#: model:ir.ui.view,arch_db:payment_stripe.stripe_s2s_form
msgid "Expires (MM / YY)"
-msgstr ""
+msgstr "Caducidad (MM / AA)"
#. module: payment_stripe
#. openerp-web
#: code:addons/payment_stripe/static/src/js/stripe.js:32
#, python-format
msgid "Just one more second, confirming your payment..."
-msgstr ""
+msgstr "Espere un segundo, estamos confirmando su pago..."
#. module: payment_stripe
#: model:ir.model,name:payment_stripe.model_payment_acquirer
@@ -100,7 +100,7 @@ msgstr "Transacción de pago"
#: code:addons/payment_stripe/static/src/js/stripe.js:57
#, python-format
msgid "Payment error"
-msgstr ""
+msgstr "Error en el pago"
#. module: payment_stripe
#: code:addons/payment_stripe/models/payment.py:167
@@ -109,22 +109,24 @@ msgid ""
"Perhaps the problem can be solved by double-checking your credit card "
"details, or contacting your bank?"
msgstr ""
+"Tal vez el problema se puede resolver comprobando los datos de su tarjeta de"
+" crédito, o contactando con su banco"
#. module: payment_stripe
#: model:ir.model.fields,field_description:payment_stripe.field_payment_acquirer_stripe_publishable_key
msgid "Stripe Publishable Key"
-msgstr ""
+msgstr "Clave pública de Stripe"
#. module: payment_stripe
#: model:ir.model.fields,field_description:payment_stripe.field_payment_acquirer_stripe_secret_key
msgid "Stripe Secret Key"
-msgstr ""
+msgstr "Contraseña secreta de Stripe"
#. module: payment_stripe
#: code:addons/payment_stripe/models/payment.py:165
#, python-format
msgid "Stripe gave us the following info about the problem: '%s'"
-msgstr ""
+msgstr "Stripe nos proporcionó la siguiente información sobre el problema: \"%s\""
#. module: payment_stripe
#: code:addons/payment_stripe/models/payment.py:177
diff --git a/addons/payment_stripe/i18n/zh_CN.po b/addons/payment_stripe/i18n/zh_CN.po
index 2efce32784b..d084df80aaf 100644
--- a/addons/payment_stripe/i18n/zh_CN.po
+++ b/addons/payment_stripe/i18n/zh_CN.po
@@ -81,7 +81,7 @@ msgstr "到期日 (MM / YY)"
#: code:addons/payment_stripe/static/src/js/stripe.js:32
#, python-format
msgid "Just one more second, confirming your payment..."
-msgstr ""
+msgstr "正在确认您的付款,只需再等一秒钟..."
#. module: payment_stripe
#: model:ir.model,name:payment_stripe.model_payment_acquirer
@@ -106,41 +106,41 @@ msgstr "付款错误"
msgid ""
"Perhaps the problem can be solved by double-checking your credit card "
"details, or contacting your bank?"
-msgstr ""
+msgstr "或许再次检查您的信用卡详细信息或联系您的银行能够解决该问题?"
#. module: payment_stripe
#: model:ir.model.fields,field_description:payment_stripe.field_payment_acquirer_stripe_publishable_key
msgid "Stripe Publishable Key"
-msgstr ""
+msgstr "Stripe 公钥"
#. module: payment_stripe
#: model:ir.model.fields,field_description:payment_stripe.field_payment_acquirer_stripe_secret_key
msgid "Stripe Secret Key"
-msgstr ""
+msgstr "Stripe 密钥"
#. module: payment_stripe
#: code:addons/payment_stripe/models/payment.py:165
#, python-format
msgid "Stripe gave us the following info about the problem: '%s'"
-msgstr ""
+msgstr "Stripe 为我们提供了以下关于问题的信息:'%s'"
#. module: payment_stripe
#: code:addons/payment_stripe/models/payment.py:177
#, python-format
msgid "Stripe: %s orders found for reference %s"
-msgstr ""
+msgstr "Stripe:已找到 %s 个可用于参考 %s 的订单"
#. module: payment_stripe
#: code:addons/payment_stripe/models/payment.py:173
#, python-format
msgid "Stripe: no order found for reference %s"
-msgstr ""
+msgstr "Stripe:未找到可用于参考 %s 的订单"
#. module: payment_stripe
#: code:addons/payment_stripe/models/payment.py:163
#, python-format
msgid "We're sorry to report that the transaction has failed."
-msgstr ""
+msgstr "很遗憾地告诉您,交易已失败。"
#. module: payment_stripe
#: model:ir.model,name:payment_stripe.model_payment_token
diff --git a/addons/payment_stripe/static/src/js/stripe.js b/addons/payment_stripe/static/src/js/stripe.js
index a9395ea7bd6..7ecf25284f6 100644
--- a/addons/payment_stripe/static/src/js/stripe.js
+++ b/addons/payment_stripe/static/src/js/stripe.js
@@ -108,11 +108,14 @@ odoo.define('payment_stripe.stripe', function(require) {
if ($('.o_website_payment').length !== 0) {
- var create_tx = ajax.jsonRpc('/website_payment/transaction', 'call', {
- reference: $("input[name='invoice_num']").val(),
- amount: amount, // exact amount, not stripe cents
- currency_id: currency_id,
+ var invoice_num = $("input[name='invoice_num']").val();
+ var url = _.str.sprintf("/website_payment/transaction/%s/%f/%s",
+ invoice_num, amount, currency_id);
+
+ var create_tx = ajax.jsonRpc(url, 'call', {
acquirer_id: acquirer_id
+ }).then(function (data) {
+ try { provider_form[0].innerHTML = data; } catch (e) {}
});
}
else if ($('.o_website_quote').length !== 0) {
diff --git a/addons/phone_validation/i18n/de.po b/addons/phone_validation/i18n/de.po
index 3abd239775c..5c9084b3855 100644
--- a/addons/phone_validation/i18n/de.po
+++ b/addons/phone_validation/i18n/de.po
@@ -7,14 +7,15 @@
# Henry Mineehen <info@mineehen.de>, 2017
# darenkster <inactive+darenkster@transifex.com>, 2017
# Tina Rittmüller <tr@ife.de>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
+# Martin Trigaux, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-24 09:00+0000\n"
"PO-Revision-Date: 2017-10-24 09:00+0000\n"
-"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -25,7 +26,7 @@ msgstr ""
#. module: phone_validation
#: selection:res.company,phone_international_format:0
msgid "Add international prefix"
-msgstr ""
+msgstr "Internationale Vorwahl hinzufügen"
#. module: phone_validation
#: model:ir.model.fields,help:phone_validation.field_res_company_phone_international_format
@@ -57,13 +58,13 @@ msgstr "ID"
#: code:addons/phone_validation/tools/phone_validation.py:23
#, python-format
msgid "Impossible number %s: probably invalid number of digits"
-msgstr ""
+msgstr "Nummer %s nicht verfügbar: wahrscheinlich ungültige Anzahl an Stellen"
#. module: phone_validation
#: code:addons/phone_validation/tools/phone_validation.py:25
#, python-format
msgid "Invalid number %s: probably incorrect prefix"
-msgstr ""
+msgstr "Ungültige Zahl %s: wahrscheinlich fehlerhafte Vorwahl"
#. module: phone_validation
#: model:ir.model.fields,field_description:phone_validation.field_phone_validation_mixin___last_update
@@ -78,7 +79,7 @@ msgstr "Lokale Nummer"
#. module: phone_validation
#: selection:res.company,phone_international_format:0
msgid "No prefix"
-msgstr ""
+msgstr "Keine Vorwahl"
#. module: phone_validation
#: code:addons/phone_validation/tools/phone_validation.py:44
@@ -87,6 +88,8 @@ msgid ""
"Unable to format %s:\n"
"%s"
msgstr ""
+"%s:\n"
+"%s konnte nicht formatiert werden"
#. module: phone_validation
#: code:addons/phone_validation/tools/phone_validation.py:20
@@ -95,8 +98,10 @@ msgid ""
"Unable to parse %s:\n"
"%s"
msgstr ""
+"%s:\n"
+"%s konnte nicht analysiert werden"
#. module: phone_validation
#: model:ir.model,name:phone_validation.model_phone_validation_mixin
msgid "phone.validation.mixin"
-msgstr ""
+msgstr "phone.validation.mixin"
diff --git a/addons/phone_validation/i18n/es.po b/addons/phone_validation/i18n/es.po
index b57be3ead3c..6ec990ca528 100644
--- a/addons/phone_validation/i18n/es.po
+++ b/addons/phone_validation/i18n/es.po
@@ -6,15 +6,16 @@
# José Matias Zuazo <jose.zuazo@tpsistemas.com.ar>, 2017
# Eduardo Magdalena <emagdalena@close2circle.com>, 2017
# Pedro M. Baeza <pedro.baeza@gmail.com>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
+# Martin Trigaux, 2017
# Luis M. Ontalba <luis.martinez@tecnativa.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-24 09:00+0000\n"
"PO-Revision-Date: 2017-10-24 09:00+0000\n"
-"Last-Translator: Luis M. Ontalba <luis.martinez@tecnativa.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -58,13 +59,13 @@ msgstr "ID (identificación)"
#: code:addons/phone_validation/tools/phone_validation.py:23
#, python-format
msgid "Impossible number %s: probably invalid number of digits"
-msgstr ""
+msgstr "Número imposible de %s: probablemente número de díg"
#. module: phone_validation
#: code:addons/phone_validation/tools/phone_validation.py:25
#, python-format
msgid "Invalid number %s: probably incorrect prefix"
-msgstr ""
+msgstr "Número no válido:%s probablemente"
#. module: phone_validation
#: model:ir.model.fields,field_description:phone_validation.field_phone_validation_mixin___last_update
@@ -88,6 +89,8 @@ msgid ""
"Unable to format %s:\n"
"%s"
msgstr ""
+"Imposible de dar formato %s:\n"
+"%s"
#. module: phone_validation
#: code:addons/phone_validation/tools/phone_validation.py:20
@@ -96,6 +99,8 @@ msgid ""
"Unable to parse %s:\n"
"%s"
msgstr ""
+"Imposibe de analizar %s:\n"
+"%s"
#. module: phone_validation
#: model:ir.model,name:phone_validation.model_phone_validation_mixin
diff --git a/addons/phone_validation/i18n/zh_CN.po b/addons/phone_validation/i18n/zh_CN.po
index 59ec01c1713..45b6f12d1db 100644
--- a/addons/phone_validation/i18n/zh_CN.po
+++ b/addons/phone_validation/i18n/zh_CN.po
@@ -53,7 +53,7 @@ msgstr "ID"
#: code:addons/phone_validation/tools/phone_validation.py:23
#, python-format
msgid "Impossible number %s: probably invalid number of digits"
-msgstr ""
+msgstr "不可能的号码 %s:可能存在无效数字"
#. module: phone_validation
#: code:addons/phone_validation/tools/phone_validation.py:25
@@ -99,4 +99,4 @@ msgstr ""
#. module: phone_validation
#: model:ir.model,name:phone_validation.model_phone_validation_mixin
msgid "phone.validation.mixin"
-msgstr ""
+msgstr "phone.validation.mixin"
diff --git a/addons/point_of_sale/i18n/de.po b/addons/point_of_sale/i18n/de.po
index aac51377819..bca4cd78b3f 100644
--- a/addons/point_of_sale/i18n/de.po
+++ b/addons/point_of_sale/i18n/de.po
@@ -64,25 +64,25 @@ msgstr "# Positionen"
#: model:ir.ui.view,arch_db:point_of_sale.customer_facing_display_html
#: model:pos.config,customer_facing_display_html:point_of_sale.pos_config_main
msgid "$ 3.12"
-msgstr ""
+msgstr "3,12 $"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.customer_facing_display_html
#: model:pos.config,customer_facing_display_html:point_of_sale.pos_config_main
msgid "$ 4.40"
-msgstr ""
+msgstr "4,40 $"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.customer_facing_display_html
#: model:pos.config,customer_facing_display_html:point_of_sale.pos_config_main
msgid "$ 4.50"
-msgstr ""
+msgstr "4,50 $"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.customer_facing_display_html
#: model:pos.config,customer_facing_display_html:point_of_sale.pos_config_main
msgid "$ 8.50"
-msgstr ""
+msgstr "8,50 $"
#. module: point_of_sale
#. openerp-web
@@ -279,7 +279,7 @@ msgstr "= Errechneter Endsaldo"
#: code:addons/point_of_sale/static/src/js/screens.js:1992
#, python-format
msgid "? Clicking \"Confirm\" will validate the payment."
-msgstr ""
+msgstr "? Klicken Sie auf „Bestätigen“, um die Zahlung zu validieren."
#. module: point_of_sale
#. openerp-web
@@ -293,6 +293,8 @@ msgstr "Ein Kundenname ist erforderlich"
msgid ""
"A Security PIN used to protect sensible functionality in the Point of Sale"
msgstr ""
+"Eine Sicherheits-PIN, um die zweckmäßige Funktionalität des Point-of-Sales "
+"zu schützen"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_uuid
@@ -300,6 +302,8 @@ msgid ""
"A globally unique identifier for this pos configuration, used to prevent "
"conflicts in client-generated data."
msgstr ""
+"Eine weltweit einzigartige Identifikation dieser POS-Konfiguration, die dazu"
+" verwendet wird, Konflikten um Kundendaten vorzubeugen."
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_session_login_number
@@ -322,6 +326,10 @@ msgid ""
" currencies in your cash registers at the beginning and the end\n"
" of each session."
msgstr ""
+"Eine Sitzung ist eine Zeitspanne, in der Regel ein Tag, in der\n"
+" Sie über den Point-of-Sale verkaufen. Der Benutzer muss die\n"
+" Währungen in Ihren Barkassen zu Beginn und am Ende\n"
+" jeder Sitzung überprüfen."
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_order_sequence_number
@@ -332,11 +340,13 @@ msgstr "Eine sitzungsspezifische Nummernfolge für die Verkäufe"
#: model:ir.model.fields,help:point_of_sale.field_pos_config_receipt_footer
msgid "A short text that will be inserted as a footer in the printed receipt."
msgstr ""
+"Ein kurzer Text, der als Fußzeile in die gedruckte Quittung eingefügt wird."
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_receipt_header
msgid "A short text that will be inserted as a header in the printed receipt."
msgstr ""
+"Ein kurzer Text, der als Kopfzeile in die gedruckte Quittung eingefügt wird."
#. module: point_of_sale
#. openerp-web
@@ -348,7 +358,7 @@ msgstr "ABC"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Accept payments with an integrated card reader"
-msgstr ""
+msgstr "Zahlungen mit integriertem Kartenleser akzeptieren"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_account_bank_statement_cashbox
@@ -368,7 +378,7 @@ msgstr "Buchungsinformation"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_invoice_journal_id
msgid "Accounting journal used to create invoices."
-msgstr ""
+msgstr "Buchungsjournal, das zur Erstellung von Rechnungen verwendet wird."
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_journal_id
@@ -396,7 +406,7 @@ msgstr "Füge allg. Rabatt hinzu"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Add a custom message to header and footer"
-msgstr ""
+msgstr "Eine persönliche Nachricht zur Kopf- und Fußzeile hinzufügen"
#. module: point_of_sale
#. openerp-web
@@ -414,6 +424,9 @@ msgid ""
"the Sales Journal set on this point of sale if you use the Accounting "
"application."
msgstr ""
+"Alle verfügbaren Preislisten müssen in derselben Währung sein wie das "
+"Unternehmen oder dem Verkaufsjournal, die im Point-of-Sale festgelegt ist, "
+"wenn Sie die Buchhaltungsanwendung verwenden."
#. module: point_of_sale
#: code:addons/point_of_sale/models/pos_config.py:255
@@ -422,6 +435,9 @@ msgid ""
"All payment methods must be in the same currency as the Sales Journal or the"
" company currency if that is not set."
msgstr ""
+"Alle Zahlungsmethoden müssen in derselben Währung sein wie das "
+"Verkaufsjournal oder die Unternehmenswährung, falls diese nicht festgelegt "
+"wurde."
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_pos_all_sales_lines
@@ -436,7 +452,7 @@ msgstr "Kassenbeleg erneut drucken zulassen"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Allow global discounts on orders"
-msgstr ""
+msgstr "Gesamtrabatte für Aufträge zulassen"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_group_sale_pricelist
@@ -466,13 +482,13 @@ msgstr "Gesamtbetrag"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_name
msgid "An internal identification of the point of sale."
-msgstr ""
+msgstr "Eine interne Identifikation des Point-of-Sales."
#. module: point_of_sale
#: code:addons/point_of_sale/models/pos_session.py:160
#, python-format
msgid "Another session is already opened for this point of sale."
-msgstr ""
+msgstr "Für diesen Point-of-Sale ist bereits eine andere Sitzung geöffnet."
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_pos_discount
@@ -500,7 +516,7 @@ msgstr "Attribute"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_session_rescue
msgid "Auto-generated session for orphan orders, ignored in constraints"
-msgstr ""
+msgstr "Automatische Sitzung für Einzelaufträge, in den Bedingungen ignoriert"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_iface_print_auto
@@ -510,7 +526,7 @@ msgstr "Automatischer Bondruck"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_iface_cashdrawer
msgid "Automatically open the cashdrawer."
-msgstr ""
+msgstr "Automatisches Öffnen der Kassenschublade."
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_journal_ids
@@ -522,12 +538,12 @@ msgstr "Vorhandene Zahlungsmethoden"
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_available_pricelist_ids
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Available Pricelists"
-msgstr ""
+msgstr "Verfügbare Preislisten"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_account_journal_search_inherit_point_of_sale
msgid "Available for Point of Sale"
-msgstr ""
+msgstr "Für Point-of-Sale verfügbar"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.product_template_search_view_pos
@@ -538,7 +554,7 @@ msgstr "Verfügbar am POS"
#: model:ir.model.fields,field_description:point_of_sale.field_product_product_available_in_pos
#: model:ir.model.fields,field_description:point_of_sale.field_product_template_available_in_pos
msgid "Available in Point of Sale"
-msgstr ""
+msgstr "Am Point-of-Sale verfügbar"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_report_pos_order_average_price
@@ -595,7 +611,7 @@ msgstr "Grundbetrag"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Bills &amp; Receipts"
-msgstr ""
+msgstr "Rechnungen und Quittungen"
#. module: point_of_sale
#. openerp-web
@@ -607,7 +623,7 @@ msgstr "Button"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_iface_print_via_proxy
msgid "Bypass browser printing and prints via the hardware proxy."
-msgstr ""
+msgstr "Druck via Hardware Proxy anstelle lokalem Ausdruck"
#. module: point_of_sale
#. openerp-web
@@ -666,7 +682,7 @@ msgstr "Barkasse"
#: code:addons/point_of_sale/models/pos_session.py:141
#, python-format
msgid "Cash control can only be applied to cash journals."
-msgstr ""
+msgstr "Die Kassenprüfung kann nur auf Kassenjournale angewandt werden."
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_account_cashbox_line
@@ -676,7 +692,7 @@ msgstr "Barkassenbuchung"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.account_cashbox_line_view_tree
msgid "Cashbox balance"
-msgstr ""
+msgstr "Kassensaldo"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_iface_cashdrawer
@@ -706,11 +722,13 @@ msgid ""
"Categories are used to browse your products through the\n"
" touchscreen interface."
msgstr ""
+"Kategorien werden verwendet, um Ihre Produkte mittels der Touchscreen-"
+"Schnittstelle zu durchsuchen."
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Category Pictures"
-msgstr ""
+msgstr "Kategorienbilder"
#. module: point_of_sale
#. openerp-web
@@ -771,11 +789,13 @@ msgstr ""
msgid ""
"Check if you want to group products of this category in point of sale orders"
msgstr ""
+"Überprüfen Sie, ob Sie Produkte dieser Kategorie in Point-of-Sales-Aufträge "
+"zusammenfassen wollen"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_cash_control
msgid "Check the amount of the cashbox at opening and closing."
-msgstr ""
+msgstr "Überprüfen Sie beim Öffnen und Schließen den Betrag in der Kasse."
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_account_journal_journal_user
@@ -783,6 +803,8 @@ msgid ""
"Check this box if this journal define a payment method that can be used in a"
" point of sale."
msgstr ""
+"Aktivieren Sie diese Option, wenn dieses Journal eine Zahlungsmethode "
+"definiert hat, die in einem Point-of-Sales verwendet werden kann."
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_group_by
@@ -790,6 +812,8 @@ msgid ""
"Check this if you want to group the Journal Items by Product while closing a"
" Session."
msgstr ""
+"Aktivieren, wenn Sie beim Schließen einer Sitzung die Buchungszeilen nach "
+"Produkt gruppieren wollen."
#. module: point_of_sale
#. openerp-web
@@ -806,7 +830,7 @@ msgstr "Unterkategorien"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Choose a pricelist for the Point Of Sale"
-msgstr ""
+msgstr "Wählen Sie eine Preisliste für den Point-of-Sale"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
@@ -814,11 +838,14 @@ msgid ""
"Choose a specific tax regime at the order depending on the kind of customer "
"(tax exempt, onsite vs. takeaway, etc.)."
msgstr ""
+"Wählen Sie für den Auftrag ein bestimmtes Steuersystem, abhängig vom "
+"Kundentyp (steuerbefreit, vor Ort vs. zum Mitnehmen etc.)"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Choose among several tax regimes when processing an order"
msgstr ""
+"Wählen Sie aus mehreren Steuersystemen für die Bearbeitung eines Auftrags"
#. module: point_of_sale
#. openerp-web
@@ -836,12 +863,12 @@ msgstr "Klicken Sie, um ein neues Produkt anzulegen."
#. module: point_of_sale
#: model:ir.actions.act_window,help:point_of_sale.action_account_journal_form
msgid "Click to add a payment method."
-msgstr ""
+msgstr "Klicken, um eine Zahlungsmethode hinzuzufügen."
#. module: point_of_sale
#: model:ir.actions.act_window,help:point_of_sale.action_pos_config_kanban
msgid "Click to create a new PoS config."
-msgstr ""
+msgstr "Klicken, um eine neue PoS-Konfiguration zu erstellen."
#. module: point_of_sale
#: model:ir.actions.act_window,help:point_of_sale.action_pos_pos_form
@@ -856,7 +883,7 @@ msgstr "Klicken Sie, um eine neue Kategorie zu definieren."
#. module: point_of_sale
#: model:ir.actions.act_window,help:point_of_sale.action_pos_session
msgid "Click to start a new session."
-msgstr ""
+msgstr "Klicken, um eine neue Sitzung zu starten."
#. module: point_of_sale
#: code:addons/point_of_sale/models/barcode_rule.py:15
@@ -870,6 +897,7 @@ msgstr "Kunde"
#, python-format
msgid "Client Screen Unsupported. Please upgrade the PosBox"
msgstr ""
+"Kundenbildschirm wird nicht unterstützt. Bitte aktualisieren Sie die PosBox"
#. module: point_of_sale
#. openerp-web
@@ -919,7 +947,7 @@ msgstr "Konfiguration"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Configuration for journal entries of PoS orders"
-msgstr ""
+msgstr "Konfiguration für Buchungssätze von PoS-Aufträgen"
#. module: point_of_sale
#: model:ir.actions.act_window,help:point_of_sale.action_pos_config_kanban
@@ -927,6 +955,8 @@ msgid ""
"Configure at least one Point of Sale to be able to sell through the PoS "
"interface."
msgstr ""
+"Konfigurieren Sie mindestens einen Point-of-Sale, um durch die PoS-"
+"Schnittstelle verkaufen zu können."
#. module: point_of_sale
#. openerp-web
@@ -941,7 +971,7 @@ msgstr "Bestätigen"
#: code:addons/point_of_sale/static/src/js/chrome.js:455
#, python-format
msgid "Connected, Not Owned"
-msgstr ""
+msgstr "Verbunden, kein Besitzer"
#. module: point_of_sale
#. openerp-web
@@ -963,7 +993,7 @@ msgstr "Verkauf fortsetzen"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Control cash box at opening and closing"
-msgstr ""
+msgstr "Kasse beim Öffnen und Schließen kontrollieren"
#. module: point_of_sale
#. openerp-web
@@ -1025,7 +1055,7 @@ msgstr "Aktuelle Session"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_current_session_state
msgid "Current Session State"
-msgstr ""
+msgstr "Aktueller Sitzungsstatus"
#. module: point_of_sale
#. openerp-web
@@ -1042,12 +1072,12 @@ msgstr "Kunde"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Customer Display"
-msgstr ""
+msgstr "Kundenanzeige"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_iface_customer_facing_display
msgid "Customer Facing Display"
-msgstr ""
+msgstr "Kundenseitiges Display"
#. module: point_of_sale
#: code:addons/point_of_sale/models/pos_order.py:486
@@ -1059,7 +1089,7 @@ msgstr "Ausgangsrechnung"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_customer_facing_display_html
msgid "Customer facing display content"
-msgstr ""
+msgstr "Kundenseitiger Anzeigeinhalt"
#. module: point_of_sale
#: model:ir.ui.menu,name:point_of_sale.menu_pos_dashboard
@@ -1081,7 +1111,7 @@ msgstr "Debug Fenster"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_default_cashbox_lines_ids
msgid "Default Balance"
-msgstr ""
+msgstr "Standard-Saldo"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_account_bank_statement_account_id
@@ -1096,7 +1126,7 @@ msgstr "Standard Steuerzuordnung"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Default Opening"
-msgstr ""
+msgstr "Standard-Öffnung"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_pricelist_id
@@ -1107,7 +1137,7 @@ msgstr "Standardpreisliste"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.customer_facing_display_snippets
msgid "Default company logo"
-msgstr ""
+msgstr "Standard-Firmenlogo"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_barcode_nomenclature_id
@@ -1115,6 +1145,8 @@ msgid ""
"Defines what kind of barcodes are available and how they are assigned to "
"products, customers and cashiers."
msgstr ""
+"Definiert, welche Barcodes verfügbar sind und, wie sie Produkten, Kunden und"
+" Kassierern zugewiesen werden."
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_report_pos_order_delay_validation
@@ -1192,7 +1224,7 @@ msgstr "Rabatt:"
#: code:addons/point_of_sale/static/src/js/chrome.js:460
#, python-format
msgid "Disconnected"
-msgstr ""
+msgstr "Getrennt"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_discount_discount
@@ -1252,7 +1284,7 @@ msgstr "Anzeigename"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Display pictures of product categories"
-msgstr ""
+msgstr "Bilder von Produktkategorien anzeigen"
#. module: point_of_sale
#: model:ir.actions.act_window,help:point_of_sale.product_product_action
@@ -1262,6 +1294,10 @@ msgid ""
" category, you can not sell it through the point of sale\n"
" interface."
msgstr ""
+"Vergessen Sie nicht, den Preis und die Point-of-Sale-Kategorie\n"
+" festzulegen, in der er erscheinen sollen. Wenn ein Produkt keine Point-of-Sales-Kategorie\n"
+" hat, können Sie es nicht durch die Point-of-Sale-Schnittstelle\n"
+" verkaufen."
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_pos_open_statement
@@ -1279,6 +1315,8 @@ msgid ""
"Don’t turn this option on if you take orders on smartphones or tablets. \n"
" Such devices already benefit from a native keyboard."
msgstr ""
+"Aktivieren Sie diese Option nicht, wenn Sie auf Smartphones oder Tablets Aufträge annehmen. \n"
+" Diese Geräte profitieren bereits von einer zugehörigen Tastatur."
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
@@ -1292,14 +1330,14 @@ msgstr ""
#: code:addons/point_of_sale/static/src/xml/pos.xml:1355
#, python-format
msgid "Download Paid Orders"
-msgstr ""
+msgstr "Bezahlte Aufträge herunterladen"
#. module: point_of_sale
#. openerp-web
#: code:addons/point_of_sale/static/src/xml/pos.xml:1357
#, python-format
msgid "Download Unpaid Orders"
-msgstr ""
+msgstr "Unbezahlte Aufträge herunterladen"
#. module: point_of_sale
#. openerp-web
@@ -1337,27 +1375,27 @@ msgstr "Leere Bestellung"
#: code:addons/point_of_sale/static/src/js/screens.js:449
#, python-format
msgid "Empty Serial/Lot Number"
-msgstr ""
+msgstr "Leere Serien- / Losnummer"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_iface_scan_via_proxy
msgid "Enable barcode scanning with a remotely connected barcode scanner."
-msgstr ""
+msgstr "Barcodescanning mit einem Remote-Barcode-Scanner aktivieren."
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_iface_electronic_scale
msgid "Enables Electronic Scale integration."
-msgstr ""
+msgstr "Ermöglicht die Integration einer elektronischen Waage."
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_iface_payment_terminal
msgid "Enables Payment Terminal integration."
-msgstr ""
+msgstr "Ermöglicht die Integration eines Zahlungsterminals"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_iface_invoicing
msgid "Enables invoice generation from the Point of Sale."
-msgstr ""
+msgstr "Ermöglicht die Rechnungserstellung am Point-of-Sale."
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_details_wizard_end_date
@@ -1443,7 +1481,7 @@ msgstr "Steuerzuordnung"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Fiscal Position per Order"
-msgstr ""
+msgstr "Steuerzuordnung pro Auftrag"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_fiscal_position_ids
@@ -1459,7 +1497,7 @@ msgstr "Fußzeile"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_iface_big_scrollbars
msgid "For imprecise industrial touchscreens."
-msgstr ""
+msgstr "Für ungenaue Industrie-Touchscreens."
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_pos_pos_form
@@ -1469,7 +1507,7 @@ msgstr "Allgemeine Informationen"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Generation of your order references"
-msgstr ""
+msgstr "Generierung Ihrer Auftragsreferenzen"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
@@ -1480,11 +1518,16 @@ msgid ""
"recommended for an easy review of your journal entries when managing lots of"
" orders."
msgstr ""
+"Erhalten Sie eine Buchungszeile pro Produkt, anstatt einer Buchungszeile pro"
+" Belegzeile. Das gilt für jeden anonymen Auftrag. Wenn der Kunde auf den "
+"Auftrag festgelegt ist, wird für jede Belegezeile eine Buchungszeile "
+"erstellt. Diese Option wird für eine einfache Überprüfung Ihrer "
+"Buchungssätze empfohlen, wenn Sie viele Aufträge verwalten."
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Give customer rewards, free samples, etc."
-msgstr ""
+msgstr "Bieten Sie Kunden Premien, Gratisproben etc."
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_category_sequence
@@ -1494,7 +1537,7 @@ msgstr "Reihenfolge in Liste der Produktkategorien"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_module_pos_discount
msgid "Global Discounts"
-msgstr ""
+msgstr "Gesamtrabatte"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.customer_facing_display_html
@@ -1519,7 +1562,7 @@ msgstr "Gruppiere Buchungszeilen"
#: model:ir.model.fields,field_description:point_of_sale.field_product_uom_categ_is_pos_groupable
#: model:ir.model.fields,field_description:point_of_sale.field_product_uom_is_pos_groupable
msgid "Group Products in POS"
-msgstr ""
+msgstr "Produkte in POS gruppieren"
#. module: point_of_sale
#. openerp-web
@@ -1548,7 +1591,7 @@ msgstr "Kopfzeile"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_is_header_or_footer
msgid "Header & Footer"
-msgstr ""
+msgstr "Kopf- und Fußzeile"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_category_id
@@ -1572,7 +1615,7 @@ msgstr "ID"
#: code:addons/point_of_sale/static/src/js/popups.js:115
#, python-format
msgid "IMPORTANT: Bug Report From Odoo Point Of Sale"
-msgstr ""
+msgstr "WICHTIG: Fehlerbericht vom Odoo-Point-of-Sale"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_proxy_ip
@@ -1587,6 +1630,9 @@ msgid ""
"can also decide to not put lots in this operation type. This means it will "
"create stock with no lot or not put a restriction on the lot taken. "
msgstr ""
+"Wenn das aktiviert ist, können Sie die Los- und Seriennummern auswählen. Sie"
+" können sich auch dafür entscheiden, bei dieser Vorgangsart keine Losnummer"
+" zu verwenden. "
#. module: point_of_sale
#: model:ir.actions.act_window,help:point_of_sale.product_pos_category_action
@@ -1595,6 +1641,8 @@ msgid ""
" touchscreen interface will automatically. We suggest not to put\n"
" a photo on categories for small (1024x768) screens."
msgstr ""
+"Wenn Sie der Kategorie ein Bild hinzufügen, wird das Layout der\n"
+" Touchscreen-Schnittstelle automatisch. Wir empfehlen Ihnen, Kategorien für kleine (1024x768) Bildschirme keine Fotos hinzuzufügen."
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_category_image
@@ -1611,7 +1659,7 @@ msgstr "Bestellungen importieren"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Improve navigation for imprecise industrial touchscreens"
-msgstr ""
+msgstr "Navigation für ungenaue Industrie-Touchscreens verbessern"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_pos_config_kanban
@@ -1640,22 +1688,22 @@ msgstr "Ungültiges Passwort"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_iface_start_categ_id
msgid "Initial Category"
-msgstr ""
+msgstr "Anfangskategorie"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_module_pos_mercury
msgid "Integrated Card Payments"
-msgstr ""
+msgstr "Integrierte Kartenzahlungen"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Integrated Card Reader"
-msgstr ""
+msgstr "Integrierter Kartenleser"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.product_category_action
msgid "Internal Categories"
-msgstr ""
+msgstr "Interne Kategorien"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_order_note
@@ -1681,7 +1729,7 @@ msgstr "Rechnung"
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_invoice_journal_id
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Invoice Journal"
-msgstr ""
+msgstr "Rechnungsbuch"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_report_pos_order_invoiced
@@ -1699,12 +1747,12 @@ msgstr "Abrechnung"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_is_installed_account_accountant
msgid "Is Installed Account Accountant"
-msgstr ""
+msgstr "Konto-Buchhalter wurde installiert"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_module_pos_restaurant
msgid "Is a Bar/Restaurant"
-msgstr ""
+msgstr "Ist eine Bar / Restaurant"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_account_bank_statement_account_id
@@ -1752,12 +1800,12 @@ msgstr "Zuletzt geändert am"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_last_session_closing_cash
msgid "Last Session Closing Cash"
-msgstr ""
+msgstr "Kassenabschluss der letzten Sitzung"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_last_session_closing_date
msgid "Last Session Closing Date"
-msgstr ""
+msgstr "Abschlussdatum der letzten Sitzung"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_category_write_uid
@@ -1795,7 +1843,7 @@ msgstr "Zeile Nr."
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_pos_order_line
msgid "Lines of Point of Sale Orders"
-msgstr ""
+msgstr "Auftragspositionen von POS-Aufträgen"
#. module: point_of_sale
#: code:addons/point_of_sale/wizard/pos_open_statement.py:33
@@ -1827,24 +1875,24 @@ msgstr "Login Reihenfolge"
#: code:addons/point_of_sale/static/src/js/gui.js:304
#, python-format
msgid "Login as a Manager"
-msgstr ""
+msgstr "Als Manager anmelden"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_pack_operation_lot_lot_name
msgid "Lot Name"
-msgstr ""
+msgstr "Losname"
#. module: point_of_sale
#. openerp-web
#: code:addons/point_of_sale/static/src/js/models.js:2343
#, python-format
msgid "Lot/Serial Number(s) Required"
-msgstr ""
+msgstr "Los -/ Seriennummer(n) erforderlich"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_order_line_pack_lot_ids
msgid "Lot/serial Number"
-msgstr ""
+msgstr "Los- / Seriennummer"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_module_pos_loyalty
@@ -1854,7 +1902,7 @@ msgstr "Treueprogramm"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Loyalty program to use for this point of sale."
-msgstr ""
+msgstr "Treueprogramm für diesen Point-of-Sale."
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_pos_payment
@@ -1869,12 +1917,17 @@ msgid ""
"be valid, this pricelist must be listed here as an available pricelist. "
"Otherwise the default pricelist will apply."
msgstr ""
+"Stellen Sie im Point-of-Sale mehrere Preislisten zur Verfügung. Sie können "
+"außerdem eine Preisliste auf bestimmte Kunden aus ihrem Kontaktformular (im "
+"Verkaufsregister) anwenden. Um gültig zu sein, muss diese Preisliste hier "
+"als verfügbare Preiseliste aufgelistet sein. Andernfalls gilt die "
+"Standardpreisliste."
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.customer_facing_display_html
#: model:pos.config,customer_facing_display_html:point_of_sale.pos_config_main
msgid "Malibu Drink"
-msgstr ""
+msgstr "Malibu-Drink"
#. module: point_of_sale
#: model:res.groups,name:point_of_sale.group_pos_manager
@@ -1981,13 +2034,13 @@ msgstr ""
#: code:addons/point_of_sale/report/pos_invoice.py:24
#, python-format
msgid "No link to an invoice for %s."
-msgstr ""
+msgstr "Kein Link zu einer Rechnung für %s."
#. module: point_of_sale
#: code:addons/point_of_sale/wizard/pos_open_statement.py:24
#, python-format
msgid "No sequence defined on the journal"
-msgstr ""
+msgstr "Keine Nummernfolge für das Journal definiert"
#. module: point_of_sale
#. openerp-web
@@ -2023,7 +2076,7 @@ msgstr "Anzahl der gedruckten Bons"
#: model:ir.ui.view,arch_db:point_of_sale.customer_facing_display_html
#: model:pos.config,customer_facing_display_html:point_of_sale.pos_config_main
msgid "Odoo Logo"
-msgstr ""
+msgstr "Odoo-Logo"
#. module: point_of_sale
#. openerp-web
@@ -2059,7 +2112,7 @@ msgstr "Ok"
#: code:addons/point_of_sale/static/src/js/screens.js:450
#, python-format
msgid "One or more product(s) required serial/lot number."
-msgstr ""
+msgstr "Ein oder mehrere Produkt(e) erfordern eine Serien- / Losnummer."
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_restrict_price_control
@@ -2068,6 +2121,8 @@ msgid ""
"Only users with Manager access rights for PoS app can modify the product "
"prices on orders."
msgstr ""
+"Nur Benutzer mit Manager-Zugangsrechten für die PoS-App können die "
+"Produktpreise von Aufträgen ändern."
#. module: point_of_sale
#. openerp-web
@@ -2107,7 +2162,7 @@ msgstr "Öffne Registrierkassen"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_pos_details_wizard
msgid "Open Sales Details Report"
-msgstr ""
+msgstr "Bericht über Verkaufsdetails öffnen"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_pos_config_kanban
@@ -2142,7 +2197,7 @@ msgstr "Eröffnungsdatum"
#: model:ir.actions.act_window,name:point_of_sale.account_cashbox_line_action
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Opening/Closing Values"
-msgstr ""
+msgstr "Eröffnungs- / Schlusswerte"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_picking_type_id
@@ -2155,11 +2210,12 @@ msgstr "Vorgangstyp"
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Operation type used to record product pickings"
msgstr ""
+"Vorgangstyp, der für die Aufzeichnung der Produktauswahl verwendet wird"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Operation types show up in the Inventory dashboard."
-msgstr ""
+msgstr "Die Vorgangstypen werden im Inventar-Dashboard angezeigt."
#. module: point_of_sale
#. openerp-web
@@ -2190,12 +2246,12 @@ msgstr "Auftrag Kürzel Nummernfolge"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Order Interface"
-msgstr ""
+msgstr "Auftragsschnittstelle"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_sequence_line_id
msgid "Order Line IDs Sequence"
-msgstr ""
+msgstr "Sequenz des Auftragspositions-IDs"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_order_lines
@@ -2229,7 +2285,7 @@ msgstr "Auftragsnummernfolge"
#: code:addons/point_of_sale/models/pos_order.py:498
#, python-format
msgid "Order is not paid."
-msgstr ""
+msgstr "Der Auftrag wurde nicht bezahlt."
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_pos_pos_form
@@ -2260,13 +2316,13 @@ msgstr "Statistik Verkäufe"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.account_journal_action_point_of_sale
msgid "POS Journals"
-msgstr ""
+msgstr "POS-Journale"
#. module: point_of_sale
#: code:addons/point_of_sale/models/pos_config.py:347
#, python-format
msgid "POS Order %s"
-msgstr ""
+msgstr "POS-Auftrag %s"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_pos_order_line_form
@@ -2291,23 +2347,23 @@ msgstr "POS Kaufpositionen"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_partner_property_form
msgid "POS Sales"
-msgstr ""
+msgstr "POS-Verkäufe"
#. module: point_of_sale
#: code:addons/point_of_sale/models/pos_config.py:356
#, python-format
msgid "POS order line %s"
-msgstr ""
+msgstr "POS-Auftragsposition %s"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_report_pos_order_search
msgid "POS orders created during the current year"
-msgstr ""
+msgstr "Während des laufenden Jahres erstellt POS-Aufträge"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_account_bank_statement_line_pos_statement_id
msgid "POS statement"
-msgstr ""
+msgstr "POS-Beleg"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_order_amount_paid
@@ -2391,7 +2447,7 @@ msgstr ""
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Payment methods available"
-msgstr ""
+msgstr "Verfügbare Zahlungsmethoden"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_order_statement_ids
@@ -2411,7 +2467,7 @@ msgstr "Zahlungen"
#. module: point_of_sale
#: model:ir.filters,name:point_of_sale.filter_orders_per_session
msgid "Per session"
-msgstr ""
+msgstr "Pro Sitzung"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_order_user_id
@@ -2419,6 +2475,8 @@ msgid ""
"Person who uses the cash register. It can be a reliever, a student or an "
"interim employee."
msgstr ""
+"Person, die die Barkasse verwendet. Es kann eine Aushilfe, ein Student oder "
+"ein"
#. module: point_of_sale
#. openerp-web
@@ -2444,12 +2502,12 @@ msgstr "Liefervorgang"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_session_picking_count
msgid "Picking Count"
-msgstr ""
+msgstr "Anzahl auswählen"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_pos_session_form
msgid "Picking Errors"
-msgstr ""
+msgstr "Fehler auswählen"
#. module: point_of_sale
#. openerp-web
@@ -2488,14 +2546,14 @@ msgstr "Bitte wählen Sie den Kunden"
#: model:ir.actions.act_window,name:point_of_sale.product_pos_category_action
#: model:ir.ui.menu,name:point_of_sale.menu_products_pos_category
msgid "PoS Categories"
-msgstr ""
+msgstr "PoS Kategorien"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_pos_category
#: model:ir.model.fields,field_description:point_of_sale.field_report_pos_order_pos_categ_id
#: model:ir.ui.view,arch_db:point_of_sale.product_template_form_view
msgid "PoS Category"
-msgstr ""
+msgstr "PoS-Kategorie"
#. module: point_of_sale
#: model:stock.picking.type,name:point_of_sale.picking_type_posout
@@ -2546,7 +2604,7 @@ msgstr "Point Of Sale Konfiguration"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_group_pos_manager_id
msgid "Point of Sale Manager Group"
-msgstr ""
+msgstr "Point-of-Sale-Gruppenmanager"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_name
@@ -2580,7 +2638,7 @@ msgstr "Point of Sale Sitzung"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_group_pos_user_id
msgid "Point of Sale User Group"
-msgstr ""
+msgstr "Point-of-Sale-Benutzergruppe"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.product_pos_category_form_view
@@ -2590,18 +2648,18 @@ msgstr "PoS Kategorien"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_details_wizard_pos_config_ids
msgid "Pos Config"
-msgstr ""
+msgstr "PoS-Konfiguration"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_res_partner_pos_order_count
#: model:ir.model.fields,field_description:point_of_sale.field_res_users_pos_order_count
msgid "Pos Order Count"
-msgstr ""
+msgstr "PoS-Auftragsanzahl"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_pack_operation_lot_pos_order_line_id
msgid "Pos Order Line"
-msgstr ""
+msgstr "POS-Auftragsposition"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_pos_session_duration
@@ -2611,23 +2669,23 @@ msgstr ""
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_pos_session_state
msgid "Pos Session State"
-msgstr ""
+msgstr "PoS-Sitzungsstatus"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_pos_session_username
msgid "Pos Session Username"
-msgstr ""
+msgstr "PoS-Sitzungsbenutzername"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_is_posbox
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "PosBox"
-msgstr ""
+msgstr "PosBox"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "PosBox / Hardware Proxy"
-msgstr ""
+msgstr "PosBox / Hardware-Proxy"
#. module: point_of_sale
#. openerp-web
@@ -2650,7 +2708,7 @@ msgstr "Barzahlung vorausfüllen"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Prefill amount paid with the exact due amount"
-msgstr ""
+msgstr "Gezahlten Betrag mit dem exakten fälligen Betrag vorausfüllen"
#. module: point_of_sale
#. openerp-web
@@ -2664,12 +2722,12 @@ msgstr "Preis"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Price Control"
-msgstr ""
+msgstr "Preiskontrolle"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.report_saledetails
msgid "Price Unit"
-msgstr ""
+msgstr "Preiseinheit"
#. module: point_of_sale
#: code:addons/point_of_sale/models/barcode_rule.py:13
@@ -2716,12 +2774,12 @@ msgstr "Bon drucken"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Print invoices on customer request"
-msgstr ""
+msgstr "Rechnungen auf Kundenanfrage drucken"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Print receipts automatically once the payment registered"
-msgstr ""
+msgstr "Rechnungen automatisch drucken, sobald die Zahlung erfasst wurde"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_iface_print_via_proxy
@@ -2786,7 +2844,7 @@ msgstr "Produkteinheit"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_product_uom_categ
msgid "Product UoM Categories"
-msgstr ""
+msgstr "Kategorien für Maßeinheiten von Produkten"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.product_product_action
@@ -2797,12 +2855,12 @@ msgstr "Produktvarianten"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Product prices on receipts"
-msgstr ""
+msgstr "Produktpreise auf Belegen"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_iface_tipproduct
msgid "Product tips"
-msgstr ""
+msgstr "Produkt-Tipps"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.product_template_action_pos_product
@@ -2838,7 +2896,7 @@ msgstr "Menge"
#: code:addons/point_of_sale/static/src/xml/pos.xml:1373
#, python-format
msgid "Read Weighing Scale"
-msgstr ""
+msgstr "Waage ablesen"
#. module: point_of_sale
#. openerp-web
@@ -2875,14 +2933,14 @@ msgstr "Bon Referenz"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_session_rescue
msgid "Recovery Session"
-msgstr ""
+msgstr "Wiederherstellungssitzung"
#. module: point_of_sale
#. openerp-web
#: code:addons/point_of_sale/static/src/xml/pos.xml:1367
#, python-format
msgid "Refresh Display"
-msgstr ""
+msgstr "Anzeige aktualisieren"
#. module: point_of_sale
#: model:ir.ui.menu,name:point_of_sale.menu_point_rep
@@ -2909,12 +2967,12 @@ msgstr "Verantwortlich"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_restrict_price_control
msgid "Restrict Price Modifications to Managers"
-msgstr ""
+msgstr "Preisänderungen für Manager einschränken"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Restrict price modification to managers"
-msgstr ""
+msgstr "Preisänderungen für Manager einschränken"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_pos_config_kanban
@@ -2982,6 +3040,8 @@ msgstr "Speichern"
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Save this configuration to see and edit the customer display"
msgstr ""
+"Speichern Sie diese Konfiguration, um die Kundenanzeige zu sehen und zu "
+"bearbeiten"
#. module: point_of_sale
#. openerp-web
@@ -3002,7 +3062,7 @@ msgstr "Scan"
#: code:addons/point_of_sale/static/src/xml/pos.xml:1346
#, python-format
msgid "Scan EAN-13"
-msgstr ""
+msgstr "EAN-13 scannen"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_iface_scan_via_proxy
@@ -3044,7 +3104,7 @@ msgstr "Security PIN"
#: code:addons/point_of_sale/models/res_users.py:15
#, python-format
msgid "Security PIN can only contain digits"
-msgstr ""
+msgstr "Der Sicherheits-PIN darf nur Ziffern enthalten"
#. module: point_of_sale
#. openerp-web
@@ -3065,7 +3125,7 @@ msgstr "Benutzer auswählen"
#: code:addons/point_of_sale/static/src/js/screens.js:2160
#, python-format
msgid "Select pricelist"
-msgstr ""
+msgstr "Preisliste auswählen"
#. module: point_of_sale
#. openerp-web
@@ -3095,7 +3155,7 @@ msgstr "Fortlaufende Nummer"
#: code:addons/point_of_sale/static/src/xml/pos.xml:1099
#, python-format
msgid "Serial/Lot Number"
-msgstr ""
+msgstr "Serien- / Losnummer"
#. module: point_of_sale
#. openerp-web
@@ -3132,7 +3192,7 @@ msgstr "Sitzungs-ID"
#: code:addons/point_of_sale/static/src/xml/pos.xml:1225
#, python-format
msgid "Session ids:"
-msgstr ""
+msgstr "Sitzungs-IDs:"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_pos_session_form
@@ -3159,7 +3219,7 @@ msgstr "Kunde auswählen"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_start_category
msgid "Set Start Category"
-msgstr ""
+msgstr "Startkategorie festlegen"
#. module: point_of_sale
#. openerp-web
@@ -3171,19 +3231,19 @@ msgstr "Gewicht eintragen"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Set barcodes to scan products, customer cards, etc."
-msgstr ""
+msgstr "Legen Sie Barcodes fest, um Produkte, Kundenkarten etc. zu scannen"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Set shop-specific prices, seasonal discounts, etc."
-msgstr ""
+msgstr "Legen Sie ladenspezifische Preise, saisonale Rabatte etc. fest"
#. module: point_of_sale
#. openerp-web
#: code:addons/point_of_sale/static/src/js/pos.web_editor.js:33
#, python-format
msgid "Set your customized advertisement here"
-msgstr ""
+msgstr "Legen Sie hier Ihre individuelle Werbung fest"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_pos_config_kanban
@@ -3193,7 +3253,7 @@ msgstr "Einstellungen"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_iface_customer_facing_display
msgid "Show checkout to customers with a remotely-connected screen."
-msgstr ""
+msgstr "Kunden mit einem Remote-Bildschirm die Kasse zeigen."
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_group_pricelist_item
@@ -3210,7 +3270,7 @@ msgstr "Überspringen"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_iface_print_skip_screen
msgid "Skip Preview Screen"
-msgstr ""
+msgstr "Vorschaufenster überspringen"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_category_image_small
@@ -3233,12 +3293,12 @@ msgstr ""
#: code:addons/point_of_sale/static/src/js/gui.js:333
#, python-format
msgid "Some orders could not be submitted to"
-msgstr ""
+msgstr "Einige Aufträge konnten nicht gesendet werden an"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_pos_pack_operation_lot
msgid "Specify product lot/serial number in pos order line"
-msgstr ""
+msgstr "Fertigungslos- / Seriennummer in der PoS-Auftragsposition angeben"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_details_wizard_start_date
@@ -3248,7 +3308,7 @@ msgstr "Startdatum"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Start selling from a default product category"
-msgstr ""
+msgstr "Verkauf aus einer Standard-Produktkategorie starten"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_session_cash_register_balance_start
@@ -3287,7 +3347,7 @@ msgstr "Lagerort"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Stock location used for the inventory"
-msgstr ""
+msgstr "Lagerort für das Inventar verwendet"
#. module: point_of_sale
#. openerp-web
@@ -3313,7 +3373,7 @@ msgstr "Zwischensumme mit/ohne Steuer"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_report_pos_order_price_sub_total
msgid "Subtotal w/o discount"
-msgstr ""
+msgstr "Zwischensumme ohne Rabatt"
#. module: point_of_sale
#. openerp-web
@@ -3392,22 +3452,22 @@ msgstr "USt-IdNr."
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_tax_regime
msgid "Tax Regime"
-msgstr ""
+msgstr "Steuersystem"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_tax_regime_selection
msgid "Tax Regime Selection value"
-msgstr ""
+msgstr "Steuersystemauswahlwert"
#. module: point_of_sale
#: selection:pos.config,iface_tax_included:0
msgid "Tax-Excluded Prices"
-msgstr ""
+msgstr "Preise ohne Steuern"
#. module: point_of_sale
#: selection:pos.config,iface_tax_included:0
msgid "Tax-Included Prices"
-msgstr ""
+msgstr "Preise mit Steuern"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_order_amount_tax
@@ -3472,6 +3532,8 @@ msgstr ""
msgid ""
"The company of the sales journal is different than the one of point of sale"
msgstr ""
+"Das Unternehmen des Verkaufsjournals unterscheidet sich von dem des Point-"
+"of-Sales"
#. module: point_of_sale
#: code:addons/point_of_sale/models/pos_config.py:227
@@ -3487,6 +3549,7 @@ msgstr ""
#, python-format
msgid "The default pricelist must be included in the available pricelists."
msgstr ""
+"Die Standardpreisliste muss in der verfügbaren Preisliste enthalten sein."
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_proxy_ip
@@ -3494,6 +3557,8 @@ msgid ""
"The hostname or ip address of the hardware proxy, Will be autodetected if "
"left empty."
msgstr ""
+"Der Host oder die IP-Adresse für den Hardware-Proxy. Wenn kein Eintrag "
+"vorliegt, wird dieser automatisch erkannt."
#. module: point_of_sale
#: code:addons/point_of_sale/models/pos_config.py:237
@@ -3501,6 +3566,8 @@ msgstr ""
msgid ""
"The invoice journal and the point of sale must belong to the same company"
msgstr ""
+"Das Rechnungsbuch und der Point-of-Sale müssen zu demselben Unternehmen "
+"gehören"
#. module: point_of_sale
#: code:addons/point_of_sale/models/pos_config.py:253
@@ -3509,6 +3576,8 @@ msgid ""
"The invoice journal must be in the same currency as the Sales Journal or the"
" company currency if that is not set."
msgstr ""
+"Das Rechnungsbuch muss in derselben Währung wie das Verkaufsjournal oder die"
+" Firmenwährung sein, wenn diese nicht festgelegt ist."
#. module: point_of_sale
#: sql_constraint:pos.session:0
@@ -3519,7 +3588,7 @@ msgstr "Die Bezeichnung der POS Sitzung muss eindeutig sein."
#: model:ir.model.fields,help:point_of_sale.field_res_partner_pos_order_count
#: model:ir.model.fields,help:point_of_sale.field_res_users_pos_order_count
msgid "The number of point of sales orders related to this customer"
-msgstr ""
+msgstr "Die Anzahl der Point-of-Sales-Aufträge für diesen Kunden"
#. module: point_of_sale
#. openerp-web
@@ -3543,6 +3612,8 @@ msgid ""
"The payment input will behave similarily to bank payment input, and will be "
"prefilled with the exact due amount."
msgstr ""
+"Der Zahlungseingang verhält sich ähnlich wie ein Bankzahlungseingang, und "
+"wird"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_order_config_id
@@ -3556,6 +3627,8 @@ msgid ""
"The point of sale will display this product category by default. If no "
"category is specified, all available products will be shown."
msgstr ""
+"Der Point-of-Sale zeigt standardmäßig die Produktkategorie an. Ist keine "
+"Kategorie angegeben, werden alle verfügbaren Produkte angezeigt."
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_pricelist_id
@@ -3563,11 +3636,13 @@ msgid ""
"The pricelist used if no customer is selected or if the customer has no Sale"
" Pricelist configured."
msgstr ""
+"Die Preisliste, die verwendet wird, wenn kein Kunde ausgewählt wurde oder "
+"der Kunden keine Verkaufspreisliste konfiguriert hat."
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_iface_display_categ_images
msgid "The product categories will be displayed with pictures."
-msgstr ""
+msgstr "Die Produktkategorien werden mit Bildern angezeigt."
#. module: point_of_sale
#. openerp-web
@@ -3583,11 +3658,13 @@ msgid ""
"The receipt screen will be skipped if the receipt can be printed "
"automatically."
msgstr ""
+"Die Quittungsansicht wird übersprungen, wenn die Quittung automatisch "
+"gedruckt werden kann."
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_iface_print_auto
msgid "The receipt will automatically be printed at the end of each order."
-msgstr ""
+msgstr "Die Quittung wird automatisch am Ende jeder Bestellung gedruckt."
#. module: point_of_sale
#. openerp-web
@@ -3595,6 +3672,7 @@ msgstr ""
#, python-format
msgid "The server encountered an error while receiving your order."
msgstr ""
+"Beim Empfangen Ihres Auftrages ist auf dem Server ein Fehler aufgetreten."
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_pos_config_kanban
@@ -3689,6 +3767,8 @@ msgid ""
"This cashbox line is used by default when opening or closing a balance for "
"this point of sale"
msgstr ""
+"Diese Kassenzeile wird standardmäßig verwendet, wenn Sie einen Saldo für "
+"diesen Point-of-Sale öffnen oder schließen"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_account_journal_amount_authorized_diff
@@ -3698,6 +3778,11 @@ msgid ""
"this maximum is reached, the user will have an error message at the closing "
"of his session saying that he needs to contact his manager."
msgstr ""
+"Dieses Feld zeigt die maximal zulässige Differenz zwischen dem Endsaldo und "
+"dem errechneten Bargeld beim Schließen einer Sitzung für nicht-PoS-Manager. "
+"Wenn dieses Maximum erreicht ist, erhält der Benutzer beim Schließen seiner "
+"Sitzung eine Fehlermeldung, die ihn dazu auffordert, seinen Manager zu "
+"kontaktieren."
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_category_image
@@ -3714,6 +3799,8 @@ msgid ""
"This field is there to pass the id of the pos manager group to the point of "
"sale client."
msgstr ""
+"Dieses Feld ist dazu da, den ID der PoS-Managergruppe dem Point-of-Sale-"
+"Kunden zu übergeben"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_group_pos_user_id
@@ -3721,6 +3808,8 @@ msgid ""
"This field is there to pass the id of the pos user group to the point of "
"sale client."
msgstr ""
+"Dieses Feld ist dazu da, den ID der PoS-Benutzergruppe dem Point-of-Sale-"
+"Kunden zu übergeben."
#. module: point_of_sale
#: code:addons/point_of_sale/models/pos_order.py:522
@@ -3736,6 +3825,8 @@ msgid ""
"This is useful for restaurants with onsite and take-away services that imply"
" specific tax rates."
msgstr ""
+"Dies ist für Restaurants mit Vor-Ort- und Mitnahmediensten nützlich, die "
+"spezielle Steuersätze implizieren."
#. module: point_of_sale
#. openerp-web
@@ -3746,6 +3837,9 @@ msgid ""
"all the unsaved data and exit the point of sale. This operation cannot be "
"undone."
msgstr ""
+"Dieser Vorgang entfernt alle unbezahlten Aufträge im Browser. Sie verlieren "
+"alle ungespeicherten Daten und verlassen den Point-of-Sale. Dieser Vorgang "
+"kann nicht rückgängig gemacht werden."
#. module: point_of_sale
#. openerp-web
@@ -3755,11 +3849,14 @@ msgid ""
"This operation will permanently destroy all paid orders from the local "
"storage. You will lose all the data. This operation cannot be undone."
msgstr ""
+"Dieser Vorgang entfernt dauerhaft alle bezahlten Aufträge im lokalen "
+"Speicher. Sie verlieren alle Daten. Dieser Vorgang kann nicht rückgängig "
+"gemacht werden."
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_tip_product_id
msgid "This product is used as reference on customer receipts."
-msgstr ""
+msgstr "Dieses Produkt wird als Referenz auf Kundenquittungen verwendet."
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_sequence_line_id
@@ -3767,6 +3864,8 @@ msgid ""
"This sequence is automatically created by Odoo but you can change it to "
"customize the reference numbers of your orders lines."
msgstr ""
+"Odoo erstellt diese Reihenfolge automatisch, aber Sie können sie ändern, um "
+"die Referenznummern Ihrer Auftragspositionen anzupassen."
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_sequence_id
@@ -3867,7 +3966,7 @@ msgstr "Gesamte Steuern"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_session_cash_register_total_entry_encoding
msgid "Total of all paid sales orders"
-msgstr ""
+msgstr "Gesamtumsatz aller Verkäufe"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_session_cash_register_balance_end_real
@@ -3907,6 +4006,8 @@ msgid ""
"Unable to open the session. You have to assign a sales journal to your point"
" of sale."
msgstr ""
+"Die Sitzung kann nicht geöffnet werden. Sie müssen Ihrem Point-of-Sale ein "
+"Verkaufsjournal zuweisen."
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_order_line_price_unit
@@ -3942,27 +4043,27 @@ msgstr "Benutze vorhandene Los/Seriennummer"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Use a default specific tax regime"
-msgstr ""
+msgstr "Ein spezielles Standard-Steuersystem verwenden"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_use_pricelist
msgid "Use a pricelist."
-msgstr ""
+msgstr "Eine Preisliste verwenden."
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Use a virtual keyboard for touchscreens"
-msgstr ""
+msgstr "Eine virtuelle Tastatur für Touchscreens verwenden"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Use an integrated hardware setup like"
-msgstr ""
+msgstr "Ein integriertes Hardware-Setup verwenden als"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_account_journal_journal_user
msgid "Use in Point of Sale"
-msgstr ""
+msgstr "Beim Point-of-Sale verwenden"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_group_sale_pricelist
@@ -4003,7 +4104,7 @@ msgstr "Benutzer"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_uuid
msgid "Uuid"
-msgstr ""
+msgstr "UUID"
#. module: point_of_sale
#. openerp-web
@@ -4060,6 +4161,9 @@ msgid ""
"accounting journal for all the orders not invoiced. Invoices are recorded in"
" accounting separately."
msgstr ""
+"Immer, wenn Sie eine Sitzung schließen, wird ein Eintrag für alle nicht in "
+"Rechnung gestellten Aufträge im folgenden Buchungsjournal generiert. "
+"Rechnungen werden in der Buchhaltung gesondert erfasst."
#. module: point_of_sale
#. openerp-web
@@ -4098,6 +4202,8 @@ msgid ""
"You cannot confirm all orders of this session, because they have not the 'paid' status.\n"
"{reference} is in state {state}, total amount: {total}, paid: {paid}"
msgstr ""
+"Sie können nicht alle Aufträge dieser Sitzung bestätigen, weil sie nicht den Status „Bezahlt“ haben.\n"
+"{reference} im Status {state}, Gesamtbetrag: {total}, bezahlt: {paid}"
#. module: point_of_sale
#: code:addons/point_of_sale/models/pos_session.py:151
@@ -4135,6 +4241,9 @@ msgid ""
"You cannot use the session of another user. This session is owned by %s. "
"Please first close this one to use this point of sale."
msgstr ""
+"Sie können nicht die Sitzung eines anderen Benutzers verwenden. Diese "
+"Sitzung gehört %s. Bitte schließen Sie zunächst diese, um diesen Point-of-"
+"Sale zu verwenden."
#. module: point_of_sale
#: code:addons/point_of_sale/wizard/pos_open_statement.py:18
@@ -4165,7 +4274,7 @@ msgstr "Sie sollten zumindest eine Kasse öffnen."
#: code:addons/point_of_sale/models/pos_order.py:926
#, python-format
msgid "You have to select a pricelist in the sale form !"
-msgstr ""
+msgstr "Sie müssen eine Preisliste beim Verkaufsauftrag wählen!"
#. module: point_of_sale
#: code:addons/point_of_sale/models/pos_order.py:912
@@ -4181,19 +4290,19 @@ msgstr ""
#: code:addons/point_of_sale/models/pos_session.py:26
#, python-format
msgid "You have to set a Sale Journal for the POS:%s"
-msgstr ""
+msgstr "Sie müssen ein Verkaufsjournal festlegen für den PoS:%s"
#. module: point_of_sale
#: code:addons/point_of_sale/wizard/pos_details.py:48
#, python-format
msgid "You have to set a logo or a layout for your company."
-msgstr ""
+msgstr "Sie müssen ein Logo oder ein Layout für Ihr Unternehmen festlegen."
#. module: point_of_sale
#: code:addons/point_of_sale/wizard/pos_details.py:50
#, python-format
msgid "You have to set your reports's header and footer layout."
-msgstr ""
+msgstr "Sie müssen das Kopf- und Fußzeilenlayout Ihres Berichts festlegen."
#. module: point_of_sale
#: model:ir.actions.act_window,help:point_of_sale.product_product_action
@@ -4201,6 +4310,8 @@ msgid ""
"You must define a product for everything you sell through\n"
" the point of sale interface."
msgstr ""
+"Sie müssen ein Produkt für alles, was Sie über\n"
+" die Point-of-Sales-Schnittstelle verkaufen, definieren."
#. module: point_of_sale
#. openerp-web
@@ -4208,6 +4319,7 @@ msgstr ""
#, python-format
msgid "You need to select the customer before you can invoice an order."
msgstr ""
+"Sie müssen einen Kunden wählen, bevor Sie einen Auftrag berechnen können."
#. module: point_of_sale
#: code:addons/point_of_sale/models/pos_session.py:166
@@ -4272,7 +4384,7 @@ msgstr "barcode.rule"
#: code:addons/point_of_sale/static/src/xml/pos.xml:1222
#, python-format
msgid "belong to another session:"
-msgstr ""
+msgstr "Gehören zu einer anderen Sitzung:"
#. module: point_of_sale
#. openerp-web
@@ -4317,26 +4429,26 @@ msgstr "Rabatt"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "e.g. Company Address, Website"
-msgstr ""
+msgstr "z. B. Firmenadresse, Website"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "e.g. Return Policy, Thanks for shopping with us!"
-msgstr ""
+msgstr "z. B. Rücksendebedingungen, Vielen Dank für Ihren Einkauf bei uns!"
#. module: point_of_sale
#. openerp-web
#: code:addons/point_of_sale/static/src/js/popups.js:109
#, python-format
msgid "error"
-msgstr ""
+msgstr "Fehler"
#. module: point_of_sale
#. openerp-web
#: code:addons/point_of_sale/static/src/js/screens.js:1988
#, python-format
msgid "for an order of"
-msgstr ""
+msgstr "Für einen Auftrag von"
#. module: point_of_sale
#: code:addons/point_of_sale/models/pos_config.py:335
@@ -4350,7 +4462,7 @@ msgstr "nicht genutzt"
#: code:addons/point_of_sale/static/src/xml/pos.xml:1216
#, python-format
msgid "paid orders"
-msgstr ""
+msgstr "Bezahlte Aufträge"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_pos_session_form
@@ -4375,7 +4487,7 @@ msgstr ""
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_report_point_of_sale_report_saledetails
msgid "report.point_of_sale.report_saledetails"
-msgstr ""
+msgstr "report.point_of_sale.report_saledetails"
#. module: point_of_sale
#. openerp-web
@@ -4407,18 +4519,18 @@ msgstr "Tab"
#: code:addons/point_of_sale/static/src/xml/pos.xml:1217
#, python-format
msgid "unpaid orders"
-msgstr ""
+msgstr "Unbezahlte Bestellungen"
#. module: point_of_sale
#. openerp-web
#: code:addons/point_of_sale/static/src/xml/pos.xml:1219
#, python-format
msgid "unpaid orders could not be imported"
-msgstr ""
+msgstr "Unbezahlte Aufträge konnten nicht importiert werden"
#. module: point_of_sale
#. openerp-web
#: code:addons/point_of_sale/static/src/xml/pos.xml:1221
#, python-format
msgid "were duplicates of existing orders"
-msgstr ""
+msgstr "Waren Duplikate bestehender Aufträge"
diff --git a/addons/point_of_sale/i18n/es.po b/addons/point_of_sale/i18n/es.po
index 41286b167fc..437b797a32e 100644
--- a/addons/point_of_sale/i18n/es.po
+++ b/addons/point_of_sale/i18n/es.po
@@ -2798,7 +2798,7 @@ msgstr "Categoría de producto"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Product Prices"
-msgstr ""
+msgstr "Precios del Producto"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.product_pos_category_tree_view
diff --git a/addons/point_of_sale/i18n/zh_CN.po b/addons/point_of_sale/i18n/zh_CN.po
index 2143fed7825..4fe4d61df75 100644
--- a/addons/point_of_sale/i18n/zh_CN.po
+++ b/addons/point_of_sale/i18n/zh_CN.po
@@ -419,7 +419,7 @@ msgstr "允许收银员再次打印收据"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Allow global discounts on orders"
-msgstr ""
+msgstr "订单全场折扣"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_group_sale_pricelist
@@ -449,13 +449,13 @@ msgstr "总额合计"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_name
msgid "An internal identification of the point of sale."
-msgstr ""
+msgstr "销售点的内部确认。"
#. module: point_of_sale
#: code:addons/point_of_sale/models/pos_session.py:160
#, python-format
msgid "Another session is already opened for this point of sale."
-msgstr ""
+msgstr "已为此销售点打开其他会话。"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.action_pos_discount
@@ -493,7 +493,7 @@ msgstr "自动收据打印"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_iface_cashdrawer
msgid "Automatically open the cashdrawer."
-msgstr ""
+msgstr "自动打开收银箱。"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_journal_ids
@@ -578,7 +578,7 @@ msgstr "基本金额"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Bills &amp; Receipts"
-msgstr ""
+msgstr "账单和收据"
#. module: point_of_sale
#. openerp-web
@@ -590,7 +590,7 @@ msgstr "按钮"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_iface_print_via_proxy
msgid "Bypass browser printing and prints via the hardware proxy."
-msgstr ""
+msgstr "绕过浏览器打印,通过硬件代理进行打印。"
#. module: point_of_sale
#. openerp-web
@@ -750,7 +750,7 @@ msgstr "如果你想这个产品适用于POS,勾选此项"
#: model:ir.model.fields,help:point_of_sale.field_product_uom_is_pos_groupable
msgid ""
"Check if you want to group products of this category in point of sale orders"
-msgstr ""
+msgstr "检查是否要在销售点订单中对此类别的产品进行分组"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_cash_control
@@ -769,7 +769,7 @@ msgstr "如果这个日记账中定义了能够在‘POS’用的付款方式就
msgid ""
"Check this if you want to group the Journal Items by Product while closing a"
" Session."
-msgstr ""
+msgstr "如果您想要在关闭会话时按产品分组日记账项目,则对其进行检查。"
#. module: point_of_sale
#. openerp-web
@@ -786,19 +786,19 @@ msgstr "儿童类"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Choose a pricelist for the Point Of Sale"
-msgstr ""
+msgstr "选择销售点的价目表"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid ""
"Choose a specific tax regime at the order depending on the kind of customer "
"(tax exempt, onsite vs. takeaway, etc.)."
-msgstr ""
+msgstr "选择"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Choose among several tax regimes when processing an order"
-msgstr ""
+msgstr "处理订单时,在多个税制中进行选择"
#. module: point_of_sale
#. openerp-web
@@ -849,7 +849,7 @@ msgstr "客户"
#: code:addons/point_of_sale/static/src/js/chrome.js:462
#, python-format
msgid "Client Screen Unsupported. Please upgrade the PosBox"
-msgstr ""
+msgstr "不支持客户端屏幕。请升级 PosBox"
#. module: point_of_sale
#. openerp-web
@@ -899,7 +899,7 @@ msgstr "配置"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Configuration for journal entries of PoS orders"
-msgstr ""
+msgstr "配置 PoS 订单的日记账分录"
#. module: point_of_sale
#: model:ir.actions.act_window,help:point_of_sale.action_pos_config_kanban
@@ -921,7 +921,7 @@ msgstr "确认"
#: code:addons/point_of_sale/static/src/js/chrome.js:455
#, python-format
msgid "Connected, Not Owned"
-msgstr ""
+msgstr "Connected, Not Owned"
#. module: point_of_sale
#. openerp-web
@@ -943,7 +943,7 @@ msgstr "继续销售"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Control cash box at opening and closing"
-msgstr ""
+msgstr "在打开和关闭时控制现金箱"
#. module: point_of_sale
#. openerp-web
@@ -1005,7 +1005,7 @@ msgstr "当前会话"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_current_session_state
msgid "Current Session State"
-msgstr ""
+msgstr "当前会话状态"
#. module: point_of_sale
#. openerp-web
@@ -1022,12 +1022,12 @@ msgstr "客户"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Customer Display"
-msgstr ""
+msgstr "客户显示"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_iface_customer_facing_display
msgid "Customer Facing Display"
-msgstr ""
+msgstr "面向客户的显示"
#. module: point_of_sale
#: code:addons/point_of_sale/models/pos_order.py:486
@@ -1039,7 +1039,7 @@ msgstr "客户发票"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_customer_facing_display_html
msgid "Customer facing display content"
-msgstr ""
+msgstr "面向客户的显示内容"
#. module: point_of_sale
#: model:ir.ui.menu,name:point_of_sale.menu_pos_dashboard
@@ -1076,7 +1076,7 @@ msgstr "默认财政状况"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Default Opening"
-msgstr ""
+msgstr "默认打开"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_pricelist_id
@@ -1087,14 +1087,14 @@ msgstr "默认价格表"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.customer_facing_display_snippets
msgid "Default company logo"
-msgstr ""
+msgstr "默认公司徽标"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_barcode_nomenclature_id
msgid ""
"Defines what kind of barcodes are available and how they are assigned to "
"products, customers and cashiers."
-msgstr ""
+msgstr "定义可用的条码并且分配给产品,客户和收银员"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_report_pos_order_delay_validation
@@ -1165,14 +1165,14 @@ msgstr "折扣"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.report_saledetails
msgid "Disc:"
-msgstr ""
+msgstr "折扣:"
#. module: point_of_sale
#. openerp-web
#: code:addons/point_of_sale/static/src/js/chrome.js:460
#, python-format
msgid "Disconnected"
-msgstr ""
+msgstr "已断开连接"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_discount_discount
@@ -1232,7 +1232,7 @@ msgstr "显示名称"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Display pictures of product categories"
-msgstr ""
+msgstr "显示产品类别的图片"
#. module: point_of_sale
#: model:ir.actions.act_window,help:point_of_sale.product_product_action
@@ -1259,6 +1259,8 @@ msgid ""
"Don’t turn this option on if you take orders on smartphones or tablets. \n"
" Such devices already benefit from a native keyboard."
msgstr ""
+"如果您在智能手机或平板电脑上下订单,则不要开启此选项。\n"
+" 此类设备已通过原始键盘受益。"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
@@ -1272,14 +1274,14 @@ msgstr ""
#: code:addons/point_of_sale/static/src/xml/pos.xml:1355
#, python-format
msgid "Download Paid Orders"
-msgstr ""
+msgstr "下载已付订单"
#. module: point_of_sale
#. openerp-web
#: code:addons/point_of_sale/static/src/xml/pos.xml:1357
#, python-format
msgid "Download Unpaid Orders"
-msgstr ""
+msgstr "下载未付订单"
#. module: point_of_sale
#. openerp-web
@@ -1322,22 +1324,22 @@ msgstr "空的批次/序列号码"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_iface_scan_via_proxy
msgid "Enable barcode scanning with a remotely connected barcode scanner."
-msgstr ""
+msgstr "使用远程连接的条码扫描器进行条码扫描。"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_iface_electronic_scale
msgid "Enables Electronic Scale integration."
-msgstr ""
+msgstr "启用电子秤集成。"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_iface_payment_terminal
msgid "Enables Payment Terminal integration."
-msgstr ""
+msgstr "启用支付终端集成。"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_iface_invoicing
msgid "Enables invoice generation from the Point of Sale."
-msgstr ""
+msgstr "通过销售点启用发票生成。"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_details_wizard_end_date
@@ -1419,7 +1421,7 @@ msgstr "财政状况"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Fiscal Position per Order"
-msgstr ""
+msgstr "每个订单的财务状况"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_fiscal_position_ids
@@ -1435,7 +1437,7 @@ msgstr "页脚"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_iface_big_scrollbars
msgid "For imprecise industrial touchscreens."
-msgstr ""
+msgstr "对于不精确的工业用触摸屏。"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_pos_pos_form
@@ -1445,7 +1447,7 @@ msgstr "一般信息"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Generation of your order references"
-msgstr ""
+msgstr "订单参考的生成"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
@@ -1456,11 +1458,12 @@ msgid ""
"recommended for an easy review of your journal entries when managing lots of"
" orders."
msgstr ""
+"每个产品提供一个日记账项目,而不是每个收据行提供一个日记账项目。这适用于任何匿名订单。如果在订单上设置了客户,则会为每个收据行创建一个日记账项目。"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Give customer rewards, free samples, etc."
-msgstr ""
+msgstr "为客户提供奖励、免费样品等"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_category_sequence
@@ -1470,7 +1473,7 @@ msgstr "显示产品列表的序列"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_module_pos_discount
msgid "Global Discounts"
-msgstr ""
+msgstr "全局折扣"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.customer_facing_display_html
@@ -1495,7 +1498,7 @@ msgstr "分组日记账项目"
#: model:ir.model.fields,field_description:point_of_sale.field_product_uom_categ_is_pos_groupable
#: model:ir.model.fields,field_description:point_of_sale.field_product_uom_is_pos_groupable
msgid "Group Products in POS"
-msgstr ""
+msgstr "分组销售点中的产品"
#. module: point_of_sale
#. openerp-web
@@ -1524,7 +1527,7 @@ msgstr "页眉"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_is_header_or_footer
msgid "Header & Footer"
-msgstr ""
+msgstr "页眉和页脚"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_category_id
@@ -1590,7 +1593,7 @@ msgstr "导入订单"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Improve navigation for imprecise industrial touchscreens"
-msgstr ""
+msgstr "改善不精确工业用触摸屏的导航"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_pos_config_kanban
@@ -1619,22 +1622,22 @@ msgstr "密码错误"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_iface_start_categ_id
msgid "Initial Category"
-msgstr ""
+msgstr "初始类别"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_module_pos_mercury
msgid "Integrated Card Payments"
-msgstr ""
+msgstr "集成卡支付"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Integrated Card Reader"
-msgstr ""
+msgstr "集成读卡器"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.product_category_action
msgid "Internal Categories"
-msgstr ""
+msgstr "内部类别"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_order_note
@@ -1678,12 +1681,12 @@ msgstr "开票"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_is_installed_account_accountant
msgid "Is Installed Account Accountant"
-msgstr ""
+msgstr "为已安装账户会计"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_module_pos_restaurant
msgid "Is a Bar/Restaurant"
-msgstr ""
+msgstr "为酒吧/餐厅"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_account_bank_statement_account_id
@@ -1731,12 +1734,12 @@ msgstr "最后修改日"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_last_session_closing_cash
msgid "Last Session Closing Cash"
-msgstr ""
+msgstr "上次会话关闭支付金额"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_last_session_closing_date
msgid "Last Session Closing Date"
-msgstr ""
+msgstr "最近会话关闭日期"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_category_write_uid
@@ -1774,7 +1777,7 @@ msgstr "行号"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_pos_order_line
msgid "Lines of Point of Sale Orders"
-msgstr ""
+msgstr "销售点订单明细"
#. module: point_of_sale
#: code:addons/point_of_sale/wizard/pos_open_statement.py:33
@@ -1833,7 +1836,7 @@ msgstr "忠诚计划"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Loyalty program to use for this point of sale."
-msgstr ""
+msgstr "用于此销售单的忠诚度方案。"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_pos_payment
@@ -1847,13 +1850,13 @@ msgid ""
" pricelist to specific customers from their contact form (in Sales tab). To "
"be valid, this pricelist must be listed here as an available pricelist. "
"Otherwise the default pricelist will apply."
-msgstr ""
+msgstr "使多个价目表可用于销售点。否则,将应用默认价目表。"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.customer_facing_display_html
#: model:pos.config,customer_facing_display_html:point_of_sale.pos_config_main
msgid "Malibu Drink"
-msgstr ""
+msgstr "Malibu Drink"
#. module: point_of_sale
#: model:res.groups,name:point_of_sale.group_pos_manager
@@ -1999,7 +2002,7 @@ msgstr "打印数"
#: model:ir.ui.view,arch_db:point_of_sale.customer_facing_display_html
#: model:pos.config,customer_facing_display_html:point_of_sale.pos_config_main
msgid "Odoo Logo"
-msgstr ""
+msgstr "Odoo 徽标"
#. module: point_of_sale
#. openerp-web
@@ -2035,7 +2038,7 @@ msgstr "确定"
#: code:addons/point_of_sale/static/src/js/screens.js:450
#, python-format
msgid "One or more product(s) required serial/lot number."
-msgstr ""
+msgstr "一个或多个产品需要序号/批号。"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_restrict_price_control
@@ -2043,7 +2046,7 @@ msgstr ""
msgid ""
"Only users with Manager access rights for PoS app can modify the product "
"prices on orders."
-msgstr ""
+msgstr "仅具有 PoS 应用的管理器访问权限的用户能够修改订单上的产品价格。"
#. module: point_of_sale
#. openerp-web
@@ -2083,7 +2086,7 @@ msgstr "打开出纳机"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_pos_details_wizard
msgid "Open Sales Details Report"
-msgstr ""
+msgstr "打开销售详细信息报告"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_pos_config_kanban
@@ -2130,12 +2133,12 @@ msgstr "作业类型"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Operation type used to record product pickings"
-msgstr ""
+msgstr "用于记录产品拣配的操作类型"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Operation types show up in the Inventory dashboard."
-msgstr ""
+msgstr "操作类型显示在库存仪表盘中。"
#. module: point_of_sale
#. openerp-web
@@ -2166,12 +2169,12 @@ msgstr "订单号序列"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Order Interface"
-msgstr ""
+msgstr "订单界面"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_sequence_line_id
msgid "Order Line IDs Sequence"
-msgstr ""
+msgstr "订单行 ID 序列"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_order_lines
@@ -2205,7 +2208,7 @@ msgstr "订单编号"
#: code:addons/point_of_sale/models/pos_order.py:498
#, python-format
msgid "Order is not paid."
-msgstr ""
+msgstr "订单未支付。"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_pos_pos_form
@@ -2236,7 +2239,7 @@ msgstr "订单分析"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.account_journal_action_point_of_sale
msgid "POS Journals"
-msgstr ""
+msgstr "销售点日记账"
#. module: point_of_sale
#: code:addons/point_of_sale/models/pos_config.py:347
@@ -2273,12 +2276,12 @@ msgstr "POS 销售"
#: code:addons/point_of_sale/models/pos_config.py:356
#, python-format
msgid "POS order line %s"
-msgstr ""
+msgstr "销售点订单行 %s"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_report_pos_order_search
msgid "POS orders created during the current year"
-msgstr ""
+msgstr "当前年度创建的销售点订单"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_account_bank_statement_line_pos_statement_id
@@ -2365,7 +2368,7 @@ msgstr ""
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Payment methods available"
-msgstr ""
+msgstr "可用支付方式"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_order_statement_ids
@@ -2380,12 +2383,12 @@ msgstr "付款"
#: code:addons/point_of_sale/static/src/xml/pos.xml:939
#, python-format
msgid "Payments:"
-msgstr ""
+msgstr "支付:"
#. module: point_of_sale
#: model:ir.filters,name:point_of_sale.filter_orders_per_session
msgid "Per session"
-msgstr ""
+msgstr "按会话"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_order_user_id
@@ -2418,7 +2421,7 @@ msgstr "分拣"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_session_picking_count
msgid "Picking Count"
-msgstr ""
+msgstr "拣配计数"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_pos_session_form
@@ -2462,14 +2465,14 @@ msgstr "请选择客户"
#: model:ir.actions.act_window,name:point_of_sale.product_pos_category_action
#: model:ir.ui.menu,name:point_of_sale.menu_products_pos_category
msgid "PoS Categories"
-msgstr ""
+msgstr "POS类别"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_pos_category
#: model:ir.model.fields,field_description:point_of_sale.field_report_pos_order_pos_categ_id
#: model:ir.ui.view,arch_db:point_of_sale.product_template_form_view
msgid "PoS Category"
-msgstr ""
+msgstr "销售点类别"
#. module: point_of_sale
#: model:stock.picking.type,name:point_of_sale.picking_type_posout
@@ -2564,18 +2567,18 @@ msgstr "POS类别"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_details_wizard_pos_config_ids
msgid "Pos Config"
-msgstr ""
+msgstr "销售点配置"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_res_partner_pos_order_count
#: model:ir.model.fields,field_description:point_of_sale.field_res_users_pos_order_count
msgid "Pos Order Count"
-msgstr ""
+msgstr "销售点订单计数"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_pack_operation_lot_pos_order_line_id
msgid "Pos Order Line"
-msgstr ""
+msgstr "POS单明细"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_pos_session_duration
@@ -2585,23 +2588,23 @@ msgstr ""
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_pos_session_state
msgid "Pos Session State"
-msgstr ""
+msgstr "销售点会话状态"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_pos_session_username
msgid "Pos Session Username"
-msgstr ""
+msgstr "销售点会话用户名"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_is_posbox
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "PosBox"
-msgstr ""
+msgstr "POSBox"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "PosBox / Hardware Proxy"
-msgstr ""
+msgstr "PosBox/硬件代理"
#. module: point_of_sale
#. openerp-web
@@ -2624,7 +2627,7 @@ msgstr "预先填好现金付款"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Prefill amount paid with the exact due amount"
-msgstr ""
+msgstr "以准确的到期金额预填充已付金额"
#. module: point_of_sale
#. openerp-web
@@ -2638,7 +2641,7 @@ msgstr "价格"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Price Control"
-msgstr ""
+msgstr "价格控制"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.report_saledetails
@@ -2690,12 +2693,12 @@ msgstr "打印收据"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Print invoices on customer request"
-msgstr ""
+msgstr "根据客户请求打印发票"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Print receipts automatically once the payment registered"
-msgstr ""
+msgstr "注册"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_iface_print_via_proxy
@@ -2734,7 +2737,7 @@ msgstr "产品种类"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Product Prices"
-msgstr ""
+msgstr "产品价格"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.product_pos_category_tree_view
@@ -2771,12 +2774,12 @@ msgstr "产品变体"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Product prices on receipts"
-msgstr ""
+msgstr "收据上的产品价格"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_iface_tipproduct
msgid "Product tips"
-msgstr ""
+msgstr "产品提示"
#. module: point_of_sale
#: model:ir.actions.act_window,name:point_of_sale.product_template_action_pos_product
@@ -2849,14 +2852,14 @@ msgstr "收据参考"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_session_rescue
msgid "Recovery Session"
-msgstr ""
+msgstr "恢复会话"
#. module: point_of_sale
#. openerp-web
#: code:addons/point_of_sale/static/src/xml/pos.xml:1367
#, python-format
msgid "Refresh Display"
-msgstr ""
+msgstr "刷新显示"
#. module: point_of_sale
#: model:ir.ui.menu,name:point_of_sale.menu_point_rep
@@ -2883,12 +2886,12 @@ msgstr "负责人"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_restrict_price_control
msgid "Restrict Price Modifications to Managers"
-msgstr ""
+msgstr "限制管理器进行价格修改"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Restrict price modification to managers"
-msgstr ""
+msgstr "限制管理器进行价格修改"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_pos_config_kanban
@@ -2955,7 +2958,7 @@ msgstr "保存"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Save this configuration to see and edit the customer display"
-msgstr ""
+msgstr "保存此配置以查看和编辑客户显示"
#. module: point_of_sale
#. openerp-web
@@ -3039,7 +3042,7 @@ msgstr "选择用户"
#: code:addons/point_of_sale/static/src/js/screens.js:2160
#, python-format
msgid "Select pricelist"
-msgstr ""
+msgstr "选择价目表"
#. module: point_of_sale
#. openerp-web
@@ -3133,7 +3136,7 @@ msgstr "设置客户"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_start_category
msgid "Set Start Category"
-msgstr ""
+msgstr "设置开始类别"
#. module: point_of_sale
#. openerp-web
@@ -3145,19 +3148,19 @@ msgstr "设置重量"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Set barcodes to scan products, customer cards, etc."
-msgstr ""
+msgstr "设置条码以扫描产品、客户卡等"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Set shop-specific prices, seasonal discounts, etc."
-msgstr ""
+msgstr "设置商店特定价格、季节性折扣等"
#. module: point_of_sale
#. openerp-web
#: code:addons/point_of_sale/static/src/js/pos.web_editor.js:33
#, python-format
msgid "Set your customized advertisement here"
-msgstr ""
+msgstr "在此处设置自定义广告"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.view_pos_config_kanban
@@ -3167,7 +3170,7 @@ msgstr "设置"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_iface_customer_facing_display
msgid "Show checkout to customers with a remotely-connected screen."
-msgstr ""
+msgstr "通过远程连接的屏幕向客户显示结账。"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_group_pricelist_item
@@ -3184,7 +3187,7 @@ msgstr "跳过"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_iface_print_skip_screen
msgid "Skip Preview Screen"
-msgstr ""
+msgstr "跳过预览屏幕"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_category_image_small
@@ -3209,7 +3212,7 @@ msgstr "有些订单不能提交给"
#. module: point_of_sale
#: model:ir.model,name:point_of_sale.model_pos_pack_operation_lot
msgid "Specify product lot/serial number in pos order line"
-msgstr ""
+msgstr "在销售点订单明细中指定产品批号/序号"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_details_wizard_start_date
@@ -3219,7 +3222,7 @@ msgstr "开始日期"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Start selling from a default product category"
-msgstr ""
+msgstr "从默认产品类别开始销售"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_session_cash_register_balance_start
@@ -3258,7 +3261,7 @@ msgstr "库存位置"
#. module: point_of_sale
#: model:ir.ui.view,arch_db:point_of_sale.pos_config_view_form
msgid "Stock location used for the inventory"
-msgstr ""
+msgstr "用于库存的库存位置"
#. module: point_of_sale
#. openerp-web
@@ -3363,7 +3366,7 @@ msgstr "税号"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_tax_regime
msgid "Tax Regime"
-msgstr ""
+msgstr "税制"
#. module: point_of_sale
#: model:ir.model.fields,field_description:point_of_sale.field_pos_config_tax_regime_selection
@@ -3438,7 +3441,7 @@ msgstr "支付方式的公司不同于POS所在公司"
#, python-format
msgid ""
"The company of the sales journal is different than the one of point of sale"
-msgstr ""
+msgstr "销售日记账所属公司不同于销售点所属公司"
#. module: point_of_sale
#: code:addons/point_of_sale/models/pos_config.py:227
@@ -3451,21 +3454,21 @@ msgstr "库位所属公司不同于POS所属公司"
#: code:addons/point_of_sale/models/pos_config.py:247
#, python-format
msgid "The default pricelist must be included in the available pricelists."
-msgstr ""
+msgstr "默认价目表必须包括在可用价目表中。"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_proxy_ip
msgid ""
"The hostname or ip address of the hardware proxy, Will be autodetected if "
"left empty."
-msgstr ""
+msgstr "将自动检测是否留空硬件代理的主机名或 IP 地址"
#. module: point_of_sale
#: code:addons/point_of_sale/models/pos_config.py:237
#, python-format
msgid ""
"The invoice journal and the point of sale must belong to the same company"
-msgstr ""
+msgstr "发票日记账和销售点必须属于同一公司"
#. module: point_of_sale
#: code:addons/point_of_sale/models/pos_config.py:253
@@ -3473,7 +3476,7 @@ msgstr ""
msgid ""
"The invoice journal must be in the same currency as the Sales Journal or the"
" company currency if that is not set."
-msgstr ""
+msgstr "发票日记账所使用币种在未设置的情况下必须与销售日记账或公司币种一致。"
#. module: point_of_sale
#: sql_constraint:pos.session:0
@@ -3484,7 +3487,7 @@ msgstr "销售会话名称必须唯一"
#: model:ir.model.fields,help:point_of_sale.field_res_partner_pos_order_count
#: model:ir.model.fields,help:point_of_sale.field_res_users_pos_order_count
msgid "The number of point of sales orders related to this customer"
-msgstr ""
+msgstr "与此客户相关的销售点订单的数量"
#. module: point_of_sale
#. openerp-web
@@ -3505,7 +3508,7 @@ msgstr "因为未知错误,订单不能发送到服务器"
msgid ""
"The payment input will behave similarily to bank payment input, and will be "
"prefilled with the exact due amount."
-msgstr ""
+msgstr "该支付输入与银行支付输入类似,将通过准确到期金额预填充。"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_order_config_id
@@ -3518,7 +3521,7 @@ msgstr "您要使用的物理POS。"
msgid ""
"The point of sale will display this product category by default. If no "
"category is specified, all available products will be shown."
-msgstr ""
+msgstr "销售点将默认显示此产品类别。"
#. module: point_of_sale
#: model:ir.model.fields,help:point_of_sale.field_pos_config_pricelist_id
diff --git a/addons/point_of_sale/models/pos_order.py b/addons/point_of_sale/models/pos_order.py
index cad950c576e..794b590c0a0 100644
--- a/addons/point_of_sale/models/pos_order.py
+++ b/addons/point_of_sale/models/pos_order.py
@@ -227,10 +227,14 @@ class PosOrder(models.Model):
return InvoiceLine.sudo().create(inv_line)
def _create_account_move_line(self, session=None, move=None):
- def _flatten_tax_and_children(taxes):
+ def _flatten_tax_and_children(taxes, group_done=None):
children = self.env['account.tax']
- for tax in taxes:
- children |= _flatten_tax_and_children(tax.children_tax_ids)
+ if group_done is None:
+ group_done = set()
+ for tax in taxes.filtered(lambda t: t.amount_type == 'group'):
+ if tax.id not in group_done:
+ group_done.add(tax.id)
+ children |= _flatten_tax_and_children(tax.children_tax_ids, group_done)
return taxes + children
# Tricky, via the workflow, we only have one id in the ids variable
diff --git a/addons/point_of_sale/static/src/js/models.js b/addons/point_of_sale/static/src/js/models.js
index 295526ad95b..920d703506d 100644
--- a/addons/point_of_sale/static/src/js/models.js
+++ b/addons/point_of_sale/static/src/js/models.js
@@ -729,6 +729,7 @@ exports.PosModel = Backbone.Model.extend({
deferred.resolve();
};
+ img.crossOrigin = 'use-credentials';
img.src = url;
return deferred;
diff --git a/addons/point_of_sale/static/src/js/screens.js b/addons/point_of_sale/static/src/js/screens.js
index 4e53d259248..dadd9cffbb8 100644
--- a/addons/point_of_sale/static/src/js/screens.js
+++ b/addons/point_of_sale/static/src/js/screens.js
@@ -1170,8 +1170,9 @@ var ClientListScreenWidget = ScreenWidget.extend({
var order = this.pos.get_order();
if( this.has_client_changed() ){
var default_fiscal_position_id = _.findWhere(this.pos.fiscal_positions, {'id': this.pos.config.default_fiscal_position_id[0]});
- if ( this.new_client ) {
- order.fiscal_position = _.findWhere(this.pos.fiscal_positions, {'id': this.new_client.property_account_position_id[0]});
+ if ( this.new_client && this.new_client.property_account_position_id ) {
+ var client_fiscal_position_id = _.findWhere(this.pos.fiscal_positions, {'id': this.new_client.property_account_position_id[0]});
+ order.fiscal_position = client_fiscal_position_id || default_fiscal_position_id;
order.set_pricelist(_.findWhere(this.pos.pricelists, {'id': this.new_client.property_product_pricelist[0]}) || this.pos.default_pricelist);
} else {
order.fiscal_position = default_fiscal_position_id;
@@ -1277,9 +1278,14 @@ var ClientListScreenWidget = ScreenWidget.extend({
.then(function(partner_id){
self.saved_client_details(partner_id);
},function(type,err){
+ var error_body = _t('Your Internet connection is probably down.');
+ if (err.data) {
+ var except = err.data;
+ error_body = except.arguments && except.arguments[0] || except.message || error_body;
+ }
self.gui.show_popup('error',{
'title': _t('Error: Could not Save Changes'),
- 'body': _t('Your Internet connection is probably down.'),
+ 'body': error_body,
});
});
},
diff --git a/addons/portal/i18n/de.po b/addons/portal/i18n/de.po
index a0e4e1ce9ed..89206db54d0 100644
--- a/addons/portal/i18n/de.po
+++ b/addons/portal/i18n/de.po
@@ -111,7 +111,7 @@ msgstr "Suche löschen"
#: code:addons/portal/static/src/xml/portal_signature.xml:27
#, python-format
msgid "Click here to see your document."
-msgstr ""
+msgstr "Klicken Sie hier, um Ihr Dokument anzuzeigen."
#. module: portal
#: model:ir.ui.view,arch_db:portal.portal_my_details
@@ -164,7 +164,7 @@ msgstr "Erstellt am"
#: model:ir.model.fields,help:portal.field_project_task_portal_url
#: model:ir.model.fields,help:portal.field_sale_order_portal_url
msgid "Customer Portal URL"
-msgstr ""
+msgstr "Kundenportal-URL"
#. module: portal
#: model:ir.model.fields,field_description:portal.field_portal_mixin_display_name
@@ -195,7 +195,7 @@ msgstr "E-Mail Thread"
#: code:addons/portal/wizard/portal_wizard.py:130
#, python-format
msgid "Group %s is not a portal"
-msgstr ""
+msgstr "Gruppe %s ist kein Portal"
#. module: portal
#: model:ir.model.fields,field_description:portal.field_portal_mixin_id
@@ -278,6 +278,8 @@ msgstr "Weiter"
#, python-format
msgid "Oops! Something went wrong. Try to reload the page and log in."
msgstr ""
+"Ups! Es ist ein Fehler aufgetreten. Versuchen Sie, die Seite erneut zu laden"
+" und sich anzumelden."
#. module: portal
#: model:ir.ui.view,arch_db:portal.portal_my_details
@@ -303,7 +305,7 @@ msgstr "Portal-Zugriffsverwaltung"
#: model:ir.model.fields,field_description:portal.field_project_task_portal_url
#: model:ir.model.fields,field_description:portal.field_sale_order_portal_url
msgid "Portal Access URL"
-msgstr ""
+msgstr "Portalzugriffs-URL"
#. module: portal
#: model:ir.model,name:portal.model_portal_wizard_user
@@ -320,7 +322,7 @@ msgstr "Vorher"
#: code:addons/portal/static/src/js/portal_chatter.js:101
#, python-format
msgid "Published on %s"
-msgstr ""
+msgstr "Am %s veröffentlicht"
#. module: portal
#: model:ir.ui.view,arch_db:portal.wizard_view
@@ -391,7 +393,7 @@ msgstr "Das Portal, dem Benutzer hinzugefügt oder entfernt werden können."
#: code:addons/portal/static/src/xml/portal_chatter.xml:11
#, python-format
msgid "There are no comments for now."
-msgstr ""
+msgstr "Momentan sind keine Kommentare vorhanden."
#. module: portal
#: model:ir.ui.view,arch_db:portal.wizard_view
@@ -570,7 +572,7 @@ msgstr "Schreiben Sie eine Nachricht..."
#: code:addons/portal/static/src/xml/portal_chatter.xml:21
#, python-format
msgid "You must be"
-msgstr ""
+msgstr "Sie müssen sein"
#. module: portal
#: code:addons/portal/wizard/portal_wizard.py:182
@@ -584,7 +586,7 @@ msgstr ""
#. module: portal
#: model:ir.ui.view,arch_db:portal.portal_my_details
msgid "Your Contact Details"
-msgstr ""
+msgstr "Ihre Kontaktdaten"
#. module: portal
#: model:ir.ui.view,arch_db:portal.portal_layout
@@ -595,7 +597,7 @@ msgstr "Ihre Angaben"
#. module: portal
#: model:ir.ui.view,arch_db:portal.portal_my_home
msgid "Your Documents"
-msgstr ""
+msgstr "Ihre Dokumente"
#. module: portal
#. openerp-web
@@ -641,12 +643,12 @@ msgstr "Kommentare"
#: code:addons/portal/static/src/xml/portal_chatter.xml:21
#, python-format
msgid "logged in"
-msgstr ""
+msgstr "Eingeloggt"
#. module: portal
#: model:ir.model,name:portal.model_portal_mixin
msgid "portal.mixin"
-msgstr ""
+msgstr "portal.mixin"
#. module: portal
#: model:ir.ui.view,arch_db:portal.portal_my_details
diff --git a/addons/portal/static/src/js/portal_chatter.js b/addons/portal/static/src/js/portal_chatter.js
index c91771174c1..66414d70b5d 100644
--- a/addons/portal/static/src/js/portal_chatter.js
+++ b/addons/portal/static/src/js/portal_chatter.js
@@ -52,7 +52,8 @@ var PortalChatter = Widget.extend({
params: this._messageFetchPrepareParams()
}), this._loadTemplates()
).then(function(result){
- self.result = result
+ self.result = result;
+ self.options = _.extend(self.options, self.result['options'] || {});
return result;
});
},
@@ -69,7 +70,6 @@ var PortalChatter = Widget.extend({
this.on("change:pager", this, this._renderPager);
this.on("change:domain", this, this._onChangeDomain);
// set options and parameters
- this.options = _.extend(this.options, this.result['options'] || {});
this.set('message_count', this.options['message_count']);
this.set('messages', this.preprocessMessages(this.result['messages']));
return this._super.apply(this, arguments);
diff --git a/addons/pos_cache/i18n/de.po b/addons/pos_cache/i18n/de.po
index b30542897df..9bacc83c478 100644
--- a/addons/pos_cache/i18n/de.po
+++ b/addons/pos_cache/i18n/de.po
@@ -5,19 +5,20 @@
# Translators:
# Henry Mineehen <info@mineehen.de>, 2017
# Tina Rittmüller <tr@ife.de>, 2017
-# Wolfgang Taferner <wolfgang.transifex@service.wt-io-it.at>, 2017
+# Wolfgang Taferner, 2017
# Thorsten Vocks <thorsten.vocks@openbig.org>, 2017
-# Niki Waibel <niki.waibel@gmail.com>, 2017
-# Dejan Dinic <dejan.dinic@bluewin.ch>, 2017
+# Niki Waibel, 2017
+# Dejan Dinic, 2017
# darenkster <inactive+darenkster@transifex.com>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
+# Martin Trigaux, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-12-13 14:37+0000\n"
"PO-Revision-Date: 2017-12-13 14:37+0000\n"
-"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -91,7 +92,7 @@ msgstr "Ladevorgang"
#. module: pos_cache
#: model:ir.model.fields,field_description:pos_cache.field_pos_config_oldest_cache_time
msgid "Oldest cache time"
-msgstr ""
+msgstr "Älteste Cachezeit"
#. module: pos_cache
#: model:ir.actions.server,name:pos_cache.refresh_pos_cache_cron_ir_actions_server
diff --git a/addons/pos_data_drinks/i18n/es.po b/addons/pos_data_drinks/i18n/es.po
index d3a7bb958af..696f6c8c8a9 100644
--- a/addons/pos_data_drinks/i18n/es.po
+++ b/addons/pos_data_drinks/i18n/es.po
@@ -4,15 +4,16 @@
#
# Translators:
# Eduardo Magdalena <emagdalena@close2circle.com>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
+# Martin Trigaux, 2017
# Pierre-Antoine Magnet <pma@odoo.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: Pierre-Antoine Magnet <pma@odoo.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -181,7 +182,7 @@ msgstr "Té helado"
#. module: pos_data_drinks
#: model:pos.category,name:pos_data_drinks.alcohol
msgid "Import Drinks"
-msgstr ""
+msgstr "Bebidas de importación"
#. module: pos_data_drinks
#: model:product.product,name:pos_data_drinks.irish_coffee
@@ -231,31 +232,31 @@ msgstr "Martini"
#: model:product.product,name:pos_data_drinks.milkshake_banana
#: model:product.template,name:pos_data_drinks.milkshake_banana_product_template
msgid "Milkshake Banana"
-msgstr ""
+msgstr "Batido de plátano"
#. module: pos_data_drinks
#: model:product.product,name:pos_data_drinks.milkshake_cherry
#: model:product.template,name:pos_data_drinks.milkshake_cherry_product_template
msgid "Milkshake Cherry"
-msgstr ""
+msgstr "Batido de cereza"
#. module: pos_data_drinks
#: model:product.product,name:pos_data_drinks.milkshake_chocolate
#: model:product.template,name:pos_data_drinks.milkshake_chocolate_product_template
msgid "Milkshake Chocolate"
-msgstr ""
+msgstr "Batido de chocolate"
#. module: pos_data_drinks
#: model:product.product,name:pos_data_drinks.milkshake_strawberry
#: model:product.template,name:pos_data_drinks.milkshake_strawberry_product_template
msgid "Milkshake Strawberry"
-msgstr ""
+msgstr "Batido de fresa"
#. module: pos_data_drinks
#: model:product.product,name:pos_data_drinks.milkshake_vanilla
#: model:product.template,name:pos_data_drinks.milkshake_vanilla_product_template
msgid "Milkshake Vanilla"
-msgstr ""
+msgstr "Batido de vainilla"
#. module: pos_data_drinks
#: model:pos.category,name:pos_data_drinks.milkshake
diff --git a/addons/pos_discount/i18n/de.po b/addons/pos_discount/i18n/de.po
index ef391ab5154..e621c4ff118 100644
--- a/addons/pos_discount/i18n/de.po
+++ b/addons/pos_discount/i18n/de.po
@@ -3,16 +3,17 @@
# * pos_discount
#
# Translators:
-# Martin Trigaux <mat@odoo.com>, 2017
+# Martin Trigaux, 2017
# Ermin Trevisan <trevi@twanda.com>, 2017
# Fabian Liesch <fabian.liesch@gmail.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:52+0000\n"
"PO-Revision-Date: 2017-09-20 09:52+0000\n"
-"Last-Translator: Fabian Liesch <fabian.liesch@gmail.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -37,10 +38,13 @@ msgstr "Rabatt"
#. module: pos_discount
#: model:ir.ui.view,arch_db:pos_discount.pos_config_view_form_inherit_pos_discount
msgid "Discount %"
-msgstr ""
+msgstr "Rabatt %"
#. module: pos_discount
+#. openerp-web
+#: code:addons/pos_discount/static/src/js/discount.js:14
#: model:ir.model.fields,field_description:pos_discount.field_pos_config_discount_pc
+#, python-format
msgid "Discount Percentage"
msgstr "% Rabatt"
@@ -58,7 +62,7 @@ msgstr "Bestellrabatte"
#. module: pos_discount
#: model:ir.model.fields,help:pos_discount.field_pos_config_discount_pc
msgid "The default discount percentage"
-msgstr ""
+msgstr "Der Standard-Rabattprozentsatz"
#. module: pos_discount
#: model:ir.model.fields,help:pos_discount.field_pos_config_discount_product_id
diff --git a/addons/pos_discount/i18n/es.po b/addons/pos_discount/i18n/es.po
index 19581ff2cb2..eb07d433359 100644
--- a/addons/pos_discount/i18n/es.po
+++ b/addons/pos_discount/i18n/es.po
@@ -3,16 +3,17 @@
# * pos_discount
#
# Translators:
-# Martin Trigaux <mat@odoo.com>, 2016
+# Martin Trigaux, 2016
# Carlos rodriguez <carlosalbertor436@gmail.com>, 2016
# Ana Juaristi <ajuaristio@gmail.com>, 2016
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:52+0000\n"
"PO-Revision-Date: 2017-09-20 09:52+0000\n"
-"Last-Translator: Ana Juaristi <ajuaristio@gmail.com>, 2016\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -35,7 +36,7 @@ msgstr "Descuento"
#. module: pos_discount
#: model:ir.ui.view,arch_db:pos_discount.pos_config_view_form_inherit_pos_discount
msgid "Discount %"
-msgstr ""
+msgstr "Descuento %"
#. module: pos_discount
#. openerp-web
diff --git a/addons/pos_mercury/i18n/de.po b/addons/pos_mercury/i18n/de.po
index 2a26c90adc8..c8f20102c3b 100644
--- a/addons/pos_mercury/i18n/de.po
+++ b/addons/pos_mercury/i18n/de.po
@@ -71,7 +71,7 @@ msgstr ""
#: code:addons/pos_mercury/static/src/xml/pos_mercury.xml:46
#, python-format
msgid "ABOVE AMOUNT PURSUANT"
-msgstr ""
+msgstr "ÜBER BETRAG GEMÄẞ"
#. module: pos_mercury
#. openerp-web
@@ -103,7 +103,7 @@ msgstr "Kontoauszugszeile"
#: code:addons/pos_mercury/static/src/xml/pos_mercury.xml:45
#, python-format
msgid "CARDHOLDER WILL PAY CARD ISSUER"
-msgstr ""
+msgstr "KARTENINHABER BEZAHLT KARTENAUSSTELLER"
#. module: pos_mercury
#: model:ir.model.fields,field_description:pos_mercury.field_account_bank_statement_line_mercury_card_brand
@@ -132,12 +132,12 @@ msgstr "Kartenlesegerät"
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:190
#, python-format
msgid "Clear Text Request Not Supported"
-msgstr ""
+msgstr "Klartextanfrage wird nicht unterstützt"
#. module: pos_mercury
#: model:ir.actions.act_window,help:pos_mercury.action_configuration_form
msgid "Click to configure your card reader."
-msgstr ""
+msgstr "Klicken, um Ihren Kartenleser zu konfigurieren."
#. module: pos_mercury
#. openerp-web
@@ -159,13 +159,15 @@ msgstr "Verbindung verloren"
#, python-format
msgid "Control failed to find branded serial (password lookup failed)"
msgstr ""
+"Die Kontrolle konnte keine branded serial finden (Nachschlagen des "
+"Passwortes fehlgeschlagen)"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:196
#, python-format
msgid "Could Not Encrypt Response- Call Provider"
-msgstr ""
+msgstr "Antwort-Anbieter konnte nicht verschlüsselt werden"
#. module: pos_mercury
#. openerp-web
@@ -238,14 +240,14 @@ msgstr "Fehler"
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:192
#, python-format
msgid "Error Occurred While Decrypting Request"
-msgstr ""
+msgstr "Fehler beim Entschlüsseln der Anfrage aufgetreten"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:182
#, python-format
msgid "Failed to start Event Thread."
-msgstr ""
+msgstr "Ereignis-Thread konnte nicht gestartet werden"
#. module: pos_mercury
#: model:ir.ui.view,arch_db:pos_mercury.view_pos_mercury_configuration_form
@@ -254,6 +256,8 @@ msgid ""
" (without having pressed anything else) will charge the full amount of the order to\n"
" the card."
msgstr ""
+"Für die schnelle Bearbeitung von Aufträgen: einfach eine Kreditkarte über den Zahlungsbildschirm\n"
+" ziehen (ohne etwas anderes gedrückt zu haben)"
#. module: pos_mercury
#. openerp-web
@@ -274,28 +278,28 @@ msgstr "Globale API nicht initialisiert"
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:186
#, python-format
msgid "Global Response Length Error (Too Short)"
-msgstr ""
+msgstr "Gesamt-Antwortlängenfehler (zu kurz)"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:188
#, python-format
msgid "Global String Error"
-msgstr ""
+msgstr "Gesamt-Zeichenfolgefehler"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:256
#, python-format
msgid "Go to payment screen to use cards"
-msgstr ""
+msgstr "Zum Zahlungsbildschirm, um die Karten zu verwenden"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:387
#, python-format
msgid "Handling transaction..."
-msgstr ""
+msgstr "Transaktion wird abgewickelt …"
#. module: pos_mercury
#: model:ir.model.fields,field_description:pos_mercury.field_pos_mercury_configuration_id
@@ -307,6 +311,7 @@ msgstr "ID"
#: model:ir.model.fields,help:pos_mercury.field_pos_mercury_configuration_merchant_id
msgid "ID of the merchant to authenticate him on the payment provider server"
msgstr ""
+"Händler-ID, um ihn auf dem Zahlungsanbieter-Server zu authentifizieren"
#. module: pos_mercury
#: model:ir.ui.view,arch_db:pos_mercury.view_pos_mercury_configuration_form
@@ -314,27 +319,29 @@ msgid ""
"If you don't already have a Mercury account, contact Mercury at +1 (800) 846-4472\n"
" to create one."
msgstr ""
+"Wenn Sie noch kein Mercury-Konto haben, kontaktieren Sie Mercury über +1 (800) 846-4472\n"
+", um eins zu erstellen."
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:178
#, python-format
msgid "In Process with server"
-msgstr ""
+msgstr "In Bearbeitung mit dem Server"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:159
#, python-format
msgid "Initialize Failed"
-msgstr ""
+msgstr "Initialisieren fehlgeschlagen"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:166
#, python-format
msgid "Insufficient Fields"
-msgstr ""
+msgstr "Ungültige Felder"
#. module: pos_mercury
#. openerp-web
@@ -355,7 +362,7 @@ msgstr "Ungültige Kontonummer"
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:204
#, python-format
msgid "Invalid Authorization Amount"
-msgstr ""
+msgstr "Ungültiger Autorisierungsbetrag"
#. module: pos_mercury
#. openerp-web
@@ -370,14 +377,14 @@ msgstr "Ungültiger Berechtigungscode"
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:219
#, python-format
msgid "Invalid Batch Item Count"
-msgstr ""
+msgstr "Ungültige Anzahl an Batchelementen"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:218
#, python-format
msgid "Invalid Batch Number"
-msgstr ""
+msgstr "Ungültige Batchnummer"
#. module: pos_mercury
#. openerp-web
@@ -391,28 +398,28 @@ msgstr "Ungültiger Kartentyp"
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:205
#, python-format
msgid "Invalid Cash Back Amount"
-msgstr ""
+msgstr "Ungültiger Cashback-Betrag"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:193
#, python-format
msgid "Invalid Check Digit"
-msgstr ""
+msgstr "Ungültige Prüfziffer"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:213
#, python-format
msgid "Invalid Check Type"
-msgstr ""
+msgstr "Ungültiger Checktyp"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:165
#, python-format
msgid "Invalid Command Format"
-msgstr ""
+msgstr "Ungültiges Befehlsformat"
#. module: pos_mercury
#. openerp-web
@@ -426,7 +433,7 @@ msgstr "Ungültiger Geburtstag"
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:210
#, python-format
msgid "Invalid Derived Key Data"
-msgstr ""
+msgstr "Ungültige abgeleitete Schlüsseldaten"
#. module: pos_mercury
#. openerp-web
@@ -447,28 +454,28 @@ msgstr "Ungültiges Ablaufdatum"
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:206
#, python-format
msgid "Invalid Gratuity Amount"
-msgstr ""
+msgstr "Ungültiger Vergütungsbetrag"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:220
#, python-format
msgid "Invalid MICR Input Type"
-msgstr ""
+msgstr "Ungültiger MICR-Eingangs-Typ"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:208
#, python-format
msgid "Invalid Magnetic Stripe Data"
-msgstr ""
+msgstr "Ungültige Magnetstreifendaten"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:199
#, python-format
msgid "Invalid Memo"
-msgstr ""
+msgstr "Ungültiges Memo"
#. module: pos_mercury
#. openerp-web
@@ -482,75 +489,75 @@ msgstr "Ungültige Händler-ID"
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:198
#, python-format
msgid "Invalid Operator ID"
-msgstr ""
+msgstr "Ungültige Operator-ID"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:209
#, python-format
msgid "Invalid PIN Block Data"
-msgstr ""
+msgstr "Ungültige PIN-Blockdaten"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:223
#, python-format
msgid "Invalid Pass Data"
-msgstr ""
+msgstr "Ungültige Passdaten"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:207
#, python-format
msgid "Invalid Purchase Amount"
-msgstr ""
+msgstr "Ungültiger Kaufbetrag"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:214
#, python-format
msgid "Invalid Routing Number"
-msgstr ""
+msgstr "Ungültige Bankleitzahl"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:222
#, python-format
msgid "Invalid Sequence Number"
-msgstr ""
+msgstr "Ungültige Sequenznummer"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:211
#, python-format
msgid "Invalid State Code"
-msgstr ""
+msgstr "Ungültiger Bundeslandcode"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:217
#, python-format
msgid "Invalid TStream Type"
-msgstr ""
+msgstr "Ungültiger TStream-Typ"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:215
#, python-format
msgid "Invalid TranCode"
-msgstr ""
+msgstr "Ungültiger TranCode"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:197
#, python-format
msgid "Invalid Transaction Type"
-msgstr ""
+msgstr "Ungültiger Transaktionstyp"
#. module: pos_mercury
#: model:ir.model.fields,help:pos_mercury.field_account_bank_statement_line_mercury_invoice_no
msgid "Invoice number from Mercury Pay"
-msgstr ""
+msgstr "Rechnungsnummer von Mercury Pay"
#. module: pos_mercury
#: model:ir.model,name:pos_mercury.model_account_journal
@@ -578,7 +585,7 @@ msgstr "Zuletzt aktualisiert am"
#. module: pos_mercury
#: model:ir.ui.view,arch_db:pos_mercury.mercury_transaction
msgid "MagneSafe"
-msgstr ""
+msgstr "MagneSafe"
#. module: pos_mercury
#: model:ir.model.fields,field_description:pos_mercury.field_pos_mercury_configuration_merchant_id
@@ -590,38 +597,38 @@ msgstr "Händler-ID"
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:194
#, python-format
msgid "Merchant ID Missing"
-msgstr ""
+msgstr "Händler-ID fehlt"
#. module: pos_mercury
#: model:ir.model.fields,field_description:pos_mercury.field_pos_mercury_configuration_merchant_pwd
msgid "Merchant Password"
-msgstr ""
+msgstr "Händlerpasswort"
#. module: pos_mercury
#: model:ir.actions.act_window,name:pos_mercury.action_configuration_form
#: model:ir.ui.menu,name:pos_mercury.menu_pos_pos_mercury_config
msgid "Mercury Configurations"
-msgstr ""
+msgstr "Mercury-Konfigurationen"
#. module: pos_mercury
#: model:ir.model.fields,field_description:pos_mercury.field_account_journal_pos_mercury_config_id
msgid "Mercury Credentials"
-msgstr ""
+msgstr "Mercury-Anmeldedaten"
#. module: pos_mercury
#: model:ir.model.fields,field_description:pos_mercury.field_account_bank_statement_line_mercury_invoice_no
msgid "Mercury invoice number"
-msgstr ""
+msgstr "Mercury-Rechnungsnummer"
#. module: pos_mercury
#: model:ir.model.fields,field_description:pos_mercury.field_account_bank_statement_line_mercury_record_no
msgid "Mercury record number"
-msgstr ""
+msgstr "Mercury-Datensatznummer"
#. module: pos_mercury
#: model:ir.model.fields,field_description:pos_mercury.field_account_bank_statement_line_mercury_ref_no
msgid "Mercury reference number"
-msgstr ""
+msgstr "Mercury-Referenznummer"
#. module: pos_mercury
#: model:ir.model.fields,field_description:pos_mercury.field_pos_mercury_configuration_name
@@ -631,33 +638,33 @@ msgstr "Name"
#. module: pos_mercury
#: model:ir.model.fields,help:pos_mercury.field_pos_mercury_configuration_name
msgid "Name of this Mercury configuration"
-msgstr ""
+msgstr "Name dieser Mercury-Konfiguration"
#. module: pos_mercury
#: code:addons/pos_mercury/models/pos_mercury_transaction.py:33
#, python-format
msgid "No Mercury configuration associated with the journal."
-msgstr ""
+msgstr "Keine Mercury-Konfiguration, die mit dem Journal verknüpft ist."
#. module: pos_mercury
#: code:addons/pos_mercury/models/pos_mercury_transaction.py:21
#, python-format
msgid "No opened point of sale session for user %s found"
-msgstr ""
+msgstr "Keine offene Point-of-Sale-Sitzung für Benutzer %s gefunden"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:328
#, python-format
msgid "No response from Mercury (Mercury down?)"
-msgstr ""
+msgstr "Keine Antwort von Mercury (Mercury außer Betrieb?)"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:330
#, python-format
msgid "No response from server (connected to network?)"
-msgstr ""
+msgstr "Keine Antwort vom Server (mit dem Netzwerk verbunden?)"
#. module: pos_mercury
#. openerp-web
@@ -665,40 +672,40 @@ msgstr ""
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:567
#, python-format
msgid "Odoo error while processing transaction."
-msgstr ""
+msgstr "Odoo-Fehler bei der Transaktionsabwicklung."
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:642
#, python-format
msgid "One credit card swipe already pending."
-msgstr ""
+msgstr "Ein Kreditkartenleser ausstehend."
#. module: pos_mercury
#: model:ir.ui.view,arch_db:pos_mercury.mercury_common
msgid "OneTime"
-msgstr ""
+msgstr "OneTime"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:460
#, python-format
msgid "Partially approved"
-msgstr ""
+msgstr "Teilweise genehmigt"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:175
#, python-format
msgid "Password Failed (Client / Server)"
-msgstr ""
+msgstr "Passwort fehlgeschlagen (Kunde / Server)"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:170
#, python-format
msgid "Password Failed – Disconnecting"
-msgstr ""
+msgstr "Passwort fehlgeschlagen – Trennen"
#. module: pos_mercury
#. openerp-web
@@ -712,30 +719,31 @@ msgstr "Passwort verifiziert"
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:176
#, python-format
msgid "Password failed (Challenge / Response)"
-msgstr ""
+msgstr "Passwort fehlgeschlagen (Zielvereinbarung / Antwort)"
#. module: pos_mercury
#: model:ir.model.fields,help:pos_mercury.field_pos_mercury_configuration_merchant_pwd
msgid ""
"Password of the merchant to authenticate him on the payment provider server"
msgstr ""
+"Händlerpasswort, um ihn auf dem Zahlungsanbieter-Server zu authentifizieren"
#. module: pos_mercury
#: model:ir.model.fields,help:pos_mercury.field_account_bank_statement_line_mercury_record_no
msgid "Payment record number from Mercury Pay"
-msgstr ""
+msgstr "Zahlungsdatensatznummer von Mercury-Pay"
#. module: pos_mercury
#: model:ir.model.fields,help:pos_mercury.field_account_bank_statement_line_mercury_ref_no
msgid "Payment reference number from Mercury Pay"
-msgstr ""
+msgstr "Zahlungs-Referenznummer von Mercury Pay"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:407
#, python-format
msgid "Please setup your Mercury merchant account."
-msgstr ""
+msgstr "Bitte richten Sie Ihr Mercury-Händlerkonto ein."
#. module: pos_mercury
#: model:ir.model,name:pos_mercury.model_pos_order
@@ -747,133 +755,133 @@ msgstr "Point Of Sale Verkäufe"
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:169
#, python-format
msgid "Queue Full"
-msgstr ""
+msgstr "Warteschlange voll"
#. module: pos_mercury
#: model:ir.ui.view,arch_db:pos_mercury.mercury_transaction
msgid "RecordNumberRequested"
-msgstr ""
+msgstr "RecordNumberRequested"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:173
#, python-format
msgid "Refused ‘Max Connections’"
-msgstr ""
+msgstr "Abgelehnte „Max Connections“"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:539
#, python-format
msgid "Reversal failed, sending VoidSale..."
-msgstr ""
+msgstr "Storno fehlgeschlagen, VoidSale wird gesendet …"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:581
#, python-format
msgid "Reversal succeeded"
-msgstr ""
+msgstr "Storno erfolgreich"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:542
#, python-format
msgid "Sending reversal..."
-msgstr ""
+msgstr "Storno wird gesendet …"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:185
#, python-format
msgid "Server Login Failed"
-msgstr ""
+msgstr "Server-Login fehlgeschlagen"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:154
#, python-format
msgid "Socket Connection Failed"
-msgstr ""
+msgstr "Socket-Verbindung fehlgeschlagen"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:153
#, python-format
msgid "Socket Creation Failed"
-msgstr ""
+msgstr "Socket-Erstellung fehlgeschlagen"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:151
#, python-format
msgid "Socket Error sending request"
-msgstr ""
+msgstr "Socket-Fehler beim Senden der Anfrage"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:152
#, python-format
msgid "Socket already open or in use"
-msgstr ""
+msgstr "Socket bereits geöffnet oder schon aktiv"
#. module: pos_mercury
#: model:ir.ui.view,arch_db:pos_mercury.mercury_transaction
msgid "Swiped"
-msgstr ""
+msgstr "Eingelesen"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:171
#, python-format
msgid "System Going Offline"
-msgstr ""
+msgstr "System geht offline"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:156
#, python-format
msgid "TCP/IP Failed to Initialize"
-msgstr ""
+msgstr "Initialisierung von TCP/IP fehlgeschlagen"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/xml/pos_mercury.xml:47
#, python-format
msgid "TO CARDHOLDER AGREEMENT"
-msgstr ""
+msgstr "FÜR KREDITKARTENVERTRAG"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:195
#, python-format
msgid "TStream Type Missing"
-msgstr ""
+msgstr "TStream-Typ fehlt"
#. module: pos_mercury
#: model:ir.model.fields,help:pos_mercury.field_account_bank_statement_line_mercury_card_brand
msgid "The brand of the payment card (e.g. Visa, AMEX, ...)"
-msgstr ""
+msgstr "Die Marke der Zahlungskarte (z.B. Visa, AMEX …)"
#. module: pos_mercury
#: model:ir.model.fields,help:pos_mercury.field_account_bank_statement_line_mercury_prefixed_card_number
msgid "The card number used for the payment."
-msgstr ""
+msgstr "Die für die Zahlung verwendete Kartennummer"
#. module: pos_mercury
#: model:ir.model.fields,help:pos_mercury.field_account_journal_pos_mercury_config_id
msgid "The configuration of Mercury used for this journal"
-msgstr ""
+msgstr "Die Konfiguration von Mercury, die für dieses Journal verwendet wird"
#. module: pos_mercury
#: model:ir.model.fields,help:pos_mercury.field_account_bank_statement_line_mercury_card_number
msgid "The last 4 numbers of the card used to pay"
-msgstr ""
+msgstr "Die letzten 4 Ziffern der für die Bezahlung verwendeten Karte"
#. module: pos_mercury
#: model:ir.model.fields,help:pos_mercury.field_account_bank_statement_line_mercury_card_owner_name
msgid "The name of the card owner"
-msgstr ""
+msgstr "Der Name des Karteninhabers"
#. module: pos_mercury
#. openerp-web
@@ -883,34 +891,37 @@ msgid ""
"This can be caused by a badly executed swipe or by not having your keyboard "
"layout set to US QWERTY (not US International)."
msgstr ""
+"Dies kann durch schlecht ausgeführtes Einlesen oder dadurch verursacht "
+"werden, dass Sie Ihr Tastatur-Layout nicht auf US QWERTY eingestellt haben "
+"(nicht US-international)."
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:181
#, python-format
msgid "Threaded Auth Started Expect Response"
-msgstr ""
+msgstr "Gruppierte Authorisierung hat Rückantworten gestartet"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:157
#, python-format
msgid "Time Out waiting for server response"
-msgstr ""
+msgstr "Timeout, auf Server-Antwort warten"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:163
#, python-format
msgid "Timeout error"
-msgstr ""
+msgstr "Timeout-Fehler"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:150
#, python-format
msgid "Timeout on Response"
-msgstr ""
+msgstr "Timeout bei der Antwort"
#. module: pos_mercury
#. openerp-web
@@ -925,6 +936,7 @@ msgstr "Transaktion freigegeben"
#, python-format
msgid "Unable to Parse Response from Global (Indistinguishable)"
msgstr ""
+"Das Parsen der Antwort von Global ist nicht möglich (nicht differenzierbar)"
#. module: pos_mercury
#. openerp-web
@@ -938,7 +950,7 @@ msgstr "Unbekannter Fehler"
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:191
#, python-format
msgid "Unrecognized Request Format"
-msgstr ""
+msgstr "Unbekanntes Antragsformat"
#. module: pos_mercury
#: model:ir.ui.view,arch_db:pos_mercury.view_pos_mercury_configuration_form
@@ -948,25 +960,29 @@ msgid ""
" just like on any other payment line. Whenever the payment line is set up, a card\n"
" can be swiped through the card reader device."
msgstr ""
+"Die Mercury-Integration im Point-of-Sale zu verwenden, ist einfach: Drücken Sie einfach die\n"
+" damit verbundene Zahlungsmethode. Danach kann der Betrag angepasst werden (z. B. für Cashback)\n"
+" wie auf jeder anderen Buchungszeile. Immer, wenn die Buchungszeile erstellt wurde, kann eine Karte\n"
+" durch das Kartenlesegerät gezogen werden."
#. module: pos_mercury
#: model:ir.ui.view,arch_db:pos_mercury.pos_config_view_form_inherit_pos_mercury
msgid "Vantiv Accounts"
-msgstr ""
+msgstr "Vantiv-Konten"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:589
#, python-format
msgid "VoidSale succeeded"
-msgstr ""
+msgstr "VoidSale erfolgreich"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/xml/pos_mercury.xml:17
#, python-format
msgid "WAITING FOR SWIPE"
-msgstr ""
+msgstr "AUF EINLESEN WARTEN"
#. module: pos_mercury
#: model:ir.ui.view,arch_db:pos_mercury.view_pos_mercury_configuration_form
@@ -974,20 +990,22 @@ msgid ""
"We currently support the MagTek Dynamag card reader device. It can be connected\n"
" directly to the Point Of Sale device or it can be connected to the POSBox."
msgstr ""
+"Derzeit unterstützen wir das MagTek Dynamag-Kartenlesegerät. Es kann direkt mit\n"
+" dem Point-of-Sale-Gerät oder mit der PoSBox verbunden werden."
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:189
#, python-format
msgid "Weak Encryption Request Not Supported"
-msgstr ""
+msgstr "Schwache Verschlüsselungsanfrage wird nicht unterstützt"
#. module: pos_mercury
#. openerp-web
#: code:addons/pos_mercury/static/src/js/pos_mercury.js:183
#, python-format
msgid "XML Parse Error"
-msgstr ""
+msgstr "XML-Parsefehler"
#. module: pos_mercury
#. openerp-web
@@ -1009,7 +1027,7 @@ msgstr "ir.autovacuum"
#. module: pos_mercury
#: model:ir.model,name:pos_mercury.model_pos_mercury_configuration
msgid "pos_mercury.configuration"
-msgstr ""
+msgstr "pos_mercury.configuration"
#. module: pos_mercury
#: model:ir.model,name:pos_mercury.model_pos_mercury_mercury_transaction
diff --git a/addons/pos_mercury/views/pos_mercury_transaction_templates.xml b/addons/pos_mercury/views/pos_mercury_transaction_templates.xml
index 0ac0f8edb75..3573672acb4 100644
--- a/addons/pos_mercury/views/pos_mercury_transaction_templates.xml
+++ b/addons/pos_mercury/views/pos_mercury_transaction_templates.xml
@@ -6,11 +6,11 @@
<TranType><t t-esc='transaction_type'/></TranType>
<TranCode><t t-esc='transaction_code'/></TranCode>
<InvoiceNo><t t-esc='invoice_no'/></InvoiceNo>
- <Frequency>OneTime</Frequency>
+ <Frequency t-translation="off">OneTime</Frequency>
</template>
<template id='mercury_transaction'>
- <TStream>
+ <TStream t-translation="off">
<Transaction>
<t t-call='pos_mercury.mercury_common'/>
<OperatorID><t t-esc='operator_id'/></OperatorID>
@@ -31,7 +31,7 @@
</template>
<template id='mercury_voidsale'>
- <TStream>
+ <TStream t-translation="off">
<Transaction>
<t t-call='pos_mercury.mercury_common'/>
<RefNo><t t-esc='ref_no'/></RefNo>
@@ -52,7 +52,7 @@
</template>
<template id='mercury_return'>
- <TStream>
+ <TStream t-translation="off">
<Transaction>
<t t-call='pos_mercury.mercury_common'/>
<OperatorID><t t-esc='operator_id'/></OperatorID>
diff --git a/addons/pos_restaurant/i18n/de.po b/addons/pos_restaurant/i18n/de.po
index 1f2374c1583..63e279cda68 100644
--- a/addons/pos_restaurant/i18n/de.po
+++ b/addons/pos_restaurant/i18n/de.po
@@ -61,7 +61,7 @@ msgstr ""
#. module: pos_restaurant
#: model:ir.ui.view,arch_db:pos_restaurant.pos_config_view_form_inherit_restaurant
msgid "Accept customer tips or convert their change to a tip"
-msgstr ""
+msgstr "Trinkgelder annehmen oder das Wechselgeld in Trinkgeld umwandeln"
#. module: pos_restaurant
#: model:ir.model.fields,field_description:pos_restaurant.field_restaurant_table_active
@@ -78,7 +78,7 @@ msgstr "Notiz hinzufügen"
#. module: pos_restaurant
#: model:ir.ui.view,arch_db:pos_restaurant.pos_config_view_form_inherit_restaurant
msgid "Add notes to orderlines"
-msgstr ""
+msgstr "Hinweise zur Bestellung hinzufügen"
#. module: pos_restaurant
#: model:ir.model.fields,help:pos_restaurant.field_pos_config_iface_orderline_notes
@@ -88,12 +88,12 @@ msgstr ""
#. module: pos_restaurant
#: model:ir.ui.view,arch_db:pos_restaurant.pos_config_view_form_inherit_restaurant
msgid "Allow to print bill before payment"
-msgstr ""
+msgstr "Rechnungsdruck vor der Zahlung zulassen"
#. module: pos_restaurant
#: model:ir.model.fields,help:pos_restaurant.field_pos_config_iface_printbill
msgid "Allows to print the Bill before payment."
-msgstr ""
+msgstr "Lässt den Rechnungsdruck vor der Zahlung zu."
#. module: pos_restaurant
#: model:ir.model.fields,help:pos_restaurant.field_restaurant_table_name
@@ -244,7 +244,7 @@ msgstr ""
#. module: pos_restaurant
#: model:ir.model.fields,help:pos_restaurant.field_pos_config_iface_splitbill
msgid "Enables Bill Splitting in the Point of Sale."
-msgstr ""
+msgstr "Ermöglicht eine Rechnungsaufteilung im Point-of-Sale."
#. module: pos_restaurant
#: model:ir.model.fields,field_description:pos_restaurant.field_restaurant_table_floor_id
@@ -265,7 +265,7 @@ msgstr "Tischplan"
#. module: pos_restaurant
#: model:ir.ui.view,arch_db:pos_restaurant.pos_config_view_form_inherit_restaurant
msgid "Floors"
-msgstr ""
+msgstr "Ebenen"
#. module: pos_restaurant
#. openerp-web
@@ -339,7 +339,7 @@ msgstr "Zuletzt aktualisiert am"
#. module: pos_restaurant
#: model:ir.ui.view,arch_db:pos_restaurant.pos_config_view_form_inherit_restaurant
msgid "Manage table orders"
-msgstr ""
+msgstr "Tabellenaufträge verwalten"
#. module: pos_restaurant
#. openerp-web
@@ -439,7 +439,7 @@ msgstr "Drucken"
#. module: pos_restaurant
#: model:ir.ui.view,arch_db:pos_restaurant.pos_config_view_form_inherit_restaurant
msgid "Print orders at the kitchen, at the bar, etc."
-msgstr ""
+msgstr "Bestellungen in der Küche, Bar etc. drucken"
#. module: pos_restaurant
#: model:ir.model.fields,field_description:pos_restaurant.field_restaurant_printer_product_categories_ids
@@ -526,7 +526,7 @@ msgstr "Aufteilen"
#. module: pos_restaurant
#: model:ir.ui.view,arch_db:pos_restaurant.pos_config_view_form_inherit_restaurant
msgid "Split total or order lines"
-msgstr ""
+msgstr "Gesamt- oder Auftragspositionen teilen"
#. module: pos_restaurant
#: selection:restaurant.table,shape:0
@@ -555,7 +555,7 @@ msgstr "Tabelle"
#. module: pos_restaurant
#: model:ir.model.fields,field_description:pos_restaurant.field_pos_config_is_table_management
msgid "Table Management"
-msgstr ""
+msgstr "Tabellenverwaltung"
#. module: pos_restaurant
#: model:ir.model.fields,field_description:pos_restaurant.field_restaurant_table_name
@@ -662,7 +662,7 @@ msgstr "Dieser Plan hat keine Tische, verwenden Sie die"
#. module: pos_restaurant
#: model:ir.ui.view,arch_db:pos_restaurant.pos_config_view_form_inherit_restaurant
msgid "This product is used as reference on customer receipts."
-msgstr ""
+msgstr "Dieses Produkt wird als Referenz auf Kundenquittungen verwendet."
#. module: pos_restaurant
#: model:ir.ui.view,arch_db:pos_restaurant.pos_config_view_form_inherit_restaurant
diff --git a/addons/pos_sale/i18n/de.po b/addons/pos_sale/i18n/de.po
index 58658bae7ae..0328c6412d3 100644
--- a/addons/pos_sale/i18n/de.po
+++ b/addons/pos_sale/i18n/de.po
@@ -13,13 +13,14 @@
# Malte Jansen <work@maltejansen.de>, 2017
# Jan Brodersen <4rmitxes@gmail.com>, 2017
# DE T1 <e2f8846@yahoo.com>, 2018
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:52+0000\n"
"PO-Revision-Date: 2017-09-20 09:52+0000\n"
-"Last-Translator: DE T1 <e2f8846@yahoo.com>, 2018\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -30,7 +31,7 @@ msgstr ""
#. module: pos_sale
#: model:ir.model,name:pos_sale.model_report_all_channels_sales
msgid "All sales orders grouped by sales channels"
-msgstr ""
+msgstr "Alle Verkaufsaufträge gruppiert nach Vertriebskanälen"
#. module: pos_sale
#: code:addons/pos_sale/models/crm_team.py:103
@@ -61,12 +62,12 @@ msgstr "Monat"
#. module: pos_sale
#: model:ir.model.fields,field_description:pos_sale.field_crm_team_pos_sessions_open_count
msgid "Open POS Sessions"
-msgstr ""
+msgstr "PoS-Sitzungen öffnen"
#. module: pos_sale
#: model:ir.actions.act_window,name:pos_sale.pos_session_action_from_crm_team
msgid "Open Sessions"
-msgstr ""
+msgstr "Sitzungen öffnen"
#. module: pos_sale
#: selection:crm.team,dashboard_graph_group_pos:0
@@ -95,7 +96,7 @@ msgstr "Vertriebskanal"
#: code:addons/pos_sale/models/crm_team.py:115
#, python-format
msgid "Sales: Untaxed Amount"
-msgstr ""
+msgstr "Verkauf: Nettobetrag"
#. module: pos_sale
#: selection:crm.team,dashboard_graph_group_pos:0
@@ -105,12 +106,12 @@ msgstr "Verkäufer"
#. module: pos_sale
#: model:ir.ui.view,arch_db:pos_sale.crm_team_salesteams_view_kanban_inherit_pos_sale
msgid "Session Running"
-msgstr ""
+msgstr "Sitzung läuft"
#. module: pos_sale
#: model:ir.model.fields,field_description:pos_sale.field_crm_team_pos_order_amount_total
msgid "Session Sale Amount"
-msgstr ""
+msgstr "Anzahl der Sitzungsverkäufe"
#. module: pos_sale
#: model:ir.ui.view,arch_db:pos_sale.crm_team_salesteams_view_kanban_inherit_pos_sale
diff --git a/addons/product/i18n/de.po b/addons/product/i18n/de.po
index 5ac6ff6f74f..6fefc6e830d 100644
--- a/addons/product/i18n/de.po
+++ b/addons/product/i18n/de.po
@@ -164,6 +164,9 @@ msgid ""
"This description will be copied to every Purchase Order, Receipt and Vendor "
"Bill/Credit Note."
msgstr ""
+"Eine Beschreibung des Produkts, die Sie Ihren Lieferanten mitteilen möchten."
+" Diese Beschreibung wird in jeden Kaufauftrag, jede Quittung und jede "
+"Lieferanten-Rechnung/-Gutschrift kopiert."
#. module: product
#: model:ir.model.fields,help:product.field_product_product_description
@@ -306,7 +309,7 @@ msgstr "Strichcode"
#. module: product
#: model:ir.model.fields,help:product.field_product_packaging_barcode
msgid "Barcode used for packaging identification."
-msgstr ""
+msgstr "Barcode wird für die Identifikation der Verpackung verwendet."
#. module: product
#: model:ir.model.fields,help:product.field_product_pricelist_item_base
@@ -316,6 +319,10 @@ msgid ""
"Cost Price : The base price will be the cost price.\n"
"Other Pricelist : Computation of the base price based on another Pricelist."
msgstr ""
+"Basispreis zur Berechnung.\n"
+"Listenpreis: Der Preisbasis entspricht dem Verkaufspreis/Listenpreis.\n"
+"Einstandspreis : Die Preisbasis ist der Einstandstandspreis.\n"
+"Andere Preisliste : Ermittlung der Preisbasis beruht auf anderer Preisliste."
#. module: product
#: model:ir.model.fields,help:product.field_product_product_list_price
@@ -446,7 +453,7 @@ msgstr "Farbkennzeichnung"
#. module: product
#: model:ir.ui.view,arch_db:product.res_config_settings_view_form
msgid "Common Product Catalog"
-msgstr ""
+msgstr "Gemeinsamer Produktkatalog"
#. module: product
#: model:ir.model,name:product.model_res_company
@@ -526,6 +533,9 @@ msgid ""
"in average/fifo. Also used as a base price for pricelists. Expressed in the "
"default unit of measure of the product."
msgstr ""
+"Kosten, die für die Berechnung des Standardpreises angesetzt werden und des "
+"ersten unter Durchschnitt/FIFO festgelegten Preises. Auch als Basispreis für"
+" Preislisten verwendet. Ausgedrückt in der Standard-Maßeinheit des Produkts."
#. module: product
#: model:ir.model.fields,help:product.field_product_template_standard_price
@@ -534,6 +544,9 @@ msgid ""
"in average/fifo. Also used as a base price for pricelists. Expressed in the "
"default unit of measure of the product. "
msgstr ""
+"Kosten, die für die Berechnung des Standardpreises angesetzt werden und des "
+"ersten unter Durchschnitt/FIFO festgelegten Preises. Auch als Basispreis für"
+" Preislisten verwendet. Ausgedrückt in der Standard-Maßeinheit des Produkts."
#. module: product
#: model:ir.model,name:product.model_res_country_group
@@ -616,7 +629,7 @@ msgstr "Tag(e)"
#: code:addons/product/models/res_company.py:59
#, python-format
msgid "Default %(currency)s pricelist for %(company)s"
-msgstr ""
+msgstr "Standard-Preisliste in %(currency) für %(company)"
#. module: product
#: model:ir.model.fields,help:product.field_product_product_uom_id
@@ -798,6 +811,7 @@ msgstr "Allgemeine Informationen"
#: model:ir.model.fields,help:product.field_product_template_packaging_ids
msgid "Gives the different ways to package the same product."
msgstr ""
+"Stellt verschiedene Möglichkeiten bereit, dasselbe Produkt zu verpacken."
#. module: product
#: model:ir.model.fields,help:product.field_product_product_sequence
@@ -814,7 +828,7 @@ msgstr "Global"
#: code:addons/product/models/product_template.py:30
#, python-format
msgid "Go to Internal Categories"
-msgstr ""
+msgstr "Interne Kategorien aufrufen"
#. module: product
#: model:ir.ui.view,arch_db:product.product_supplierinfo_search_view
@@ -832,6 +846,9 @@ msgid ""
"How many times this Unit of Measure is bigger than the reference Unit of "
"Measure in this category: 1 * (this unit) = ratio * (reference unit)"
msgstr ""
+"Wie viel größer oder kleiner ist diese Einheit im Vergleich zur "
+"Referenzeinheit in dieser Kategorie: 1 * (Referenz Einheit) = Faktor * "
+"(diese Einheit)"
#. module: product
#: model:ir.model.fields,help:product.field_product_uom_factor
@@ -839,6 +856,9 @@ msgid ""
"How much bigger or smaller this unit is compared to the reference Unit of "
"Measure for this category: 1 * (reference unit) = ratio * (this unit)"
msgstr ""
+"Wie viel größer oder kleiner ist diese Einheit im Vergleich zur "
+"Referenzeinheit in dieser Kategorie: 1 * (Referenz Einheit) = Faktor * "
+"(diese Einheit)"
#. module: product
#: model:ir.model.fields,field_description:product.field_product_attribute_id
@@ -865,6 +885,8 @@ msgstr "ID"
msgid ""
"If not set, the vendor price will apply to all variants of this products."
msgstr ""
+"Falls nicht anderweitig festgelegt, gilt der Lieferantenpreis für alle "
+"Varianten dieser Produkte."
#. module: product
#: model:ir.model.fields,help:product.field_product_pricelist_active
@@ -1229,12 +1251,12 @@ msgstr "Preisliste"
#. module: product
#: model:ir.model.fields,field_description:product.field_product_product_pricelist_item_ids
msgid "Pricelist Item"
-msgstr ""
+msgstr "Preisliste Einzelposition"
#. module: product
#: model:ir.model.fields,help:product.field_product_pricelist_item_applied_on
msgid "Pricelist Item applicable on selected option"
-msgstr ""
+msgstr "Preisliste Einzelposition ist für ausgewählte Option anwendbar"
#. module: product
#: model:ir.model.fields,field_description:product.field_product_pricelist_item_ids
@@ -1351,12 +1373,12 @@ msgstr "Produktname"
#: model:ir.model.fields,field_description:product.field_product_product_packaging_ids
#: model:ir.model.fields,field_description:product.field_product_template_packaging_ids
msgid "Product Packages"
-msgstr ""
+msgstr "Produktverpackungen"
#. module: product
#: model:ir.ui.view,arch_db:product.product_packaging_form_view
msgid "Product Packaging"
-msgstr ""
+msgstr "Produktverpackung"
#. module: product
#: model:ir.actions.act_window,name:product.action_packaging_view
@@ -1390,7 +1412,7 @@ msgstr "Produkteinheit"
#. module: product
#: model:ir.model,name:product.model_product_uom_categ
msgid "Product UoM Categories"
-msgstr ""
+msgstr "Kategorien für Maßeinheiten von Produkten"
#. module: product
#: model:ir.model.fields,field_description:product.field_product_supplierinfo_product_id
@@ -1740,6 +1762,8 @@ msgstr "Lagerprodukt"
msgid ""
"Technical field. Used for searching on pricelists, not stored in database."
msgstr ""
+"Technisches Feld. Verwendet für die Suche nach Preislisten, die nicht in der"
+" Datenbank gespeichert sind."
#. module: product
#: model:ir.ui.view,arch_db:product.product_pricelist_item_form_view
@@ -1785,6 +1809,8 @@ msgid ""
"The number of products under this category (Does not consider the children "
"categories)"
msgstr ""
+"Die Anzahl der Produkte in dieser Kategorie (untergeordnete Kategorien "
+"werden nicht berücksichtigt)"
#. module: product
#: code:addons/product/models/product_attribute.py:74
@@ -1827,7 +1853,7 @@ msgstr ""
#. module: product
#: sql_constraint:product.uom:0
msgid "The rounding precision must be greater than 0!"
-msgstr ""
+msgstr "Die Rundungsgenauigkeit muss größer als 0 sein!"
#. module: product
#: model:ir.model.fields,help:product.field_product_product_lst_price
@@ -1842,6 +1868,8 @@ msgstr ""
#: model:ir.model.fields,help:product.field_product_packaging_qty
msgid "The total number of products you can have per pallet or box."
msgstr ""
+"Die Gesamtzahl der Produkte, die Sie pro Palette oder Karton erhalten "
+"können."
#. module: product
#: model:ir.model.fields,help:product.field_product_product_volume
@@ -1933,6 +1961,8 @@ msgstr "Typ"
msgid ""
"Uncheck the active field to disable a unit of measure without deleting it."
msgstr ""
+"Heben Sie die Markierung des aktiven Felds auf, um eine Maßeinheit zu "
+"deaktivieren, ohne sie zu löschen."
#. module: product
#: model:product.uom.categ,name:product.product_uom_categ_unit
@@ -2018,7 +2048,7 @@ msgstr "Varianteninformation"
#. module: product
#: model:ir.model.fields,field_description:product.field_product_product_price_extra
msgid "Variant Price Extra"
-msgstr ""
+msgstr "Preisaufschlag für Variante"
#. module: product
#: model:ir.ui.view,arch_db:product.product_template_form_view
@@ -2029,7 +2059,7 @@ msgstr "Variantenpreise"
#: model:ir.model.fields,field_description:product.field_product_product_variant_seller_ids
#: model:ir.model.fields,field_description:product.field_product_template_variant_seller_ids
msgid "Variant Seller"
-msgstr ""
+msgstr "Verkäufer von Variante"
#. module: product
#: model:ir.actions.act_window,name:product.product_attribute_value_action
@@ -2120,18 +2150,20 @@ msgid ""
"You cannot define the decimal precision of 'Account' as greater than the "
"rounding factor of the company's main currency"
msgstr ""
+"Die Nachkommastellen des „Kontos“ dürfen nicht größer sein als der "
+"Rundungsfaktor für die Hauptwährung des Unternehmens."
#. module: product
#: code:addons/product/wizard/product_price_list.py:26
#, python-format
msgid "You have to set a logo or a layout for your company."
-msgstr ""
+msgstr "Sie müssen ein Logo oder ein Layout für Ihr Unternehmen festlegen."
#. module: product
#: code:addons/product/wizard/product_price_list.py:28
#, python-format
msgid "You have to set your reports's header and footer layout."
-msgstr ""
+msgstr "Sie müssen das Kopf- und Fußzeilenlayout Ihres Berichts festlegen."
#. module: product
#: model:ir.actions.act_window,help:product.product_uom_form_action
@@ -2139,6 +2171,8 @@ msgid ""
"You must define a conversion rate between several Units of\n"
" Measure within the same category."
msgstr ""
+"Sie müssen einen Umrechnungsfaktor für unterschiedliche Maßeinheiten\n"
+" der gleichen Kategorie festlegen."
#. module: product
#: model:ir.actions.act_window,help:product.product_normal_action
@@ -2158,6 +2192,9 @@ msgid ""
"You must define a product for everything you sell, whether it's a physical "
"product, a consumable or a service you offer to customers."
msgstr ""
+"Sie müssen ein Produkt für alles, was Sie verkaufen, definieren, ganz egal, "
+"ob es ein physisches Produkt, ein Verbrauchsartikel oder eine "
+"Dienstleistung, die Sie Kunden anbieten, ist."
#. module: product
#: code:addons/product/models/product_template.py:29
@@ -2166,6 +2203,8 @@ msgid ""
"You must define at least one product category in order to be able to create "
"products."
msgstr ""
+"Sie müssen mindestens eine Produktkategorie festlegen, um Produkte erstellen"
+" zu können."
#. module: product
#: model:product.uom,name:product.product_uom_cm
@@ -2190,7 +2229,7 @@ msgstr "z. B. Lampen"
#. module: product
#: model:ir.ui.view,arch_db:product.product_variant_easy_edit_view
msgid "e.g. Odoo Enterprise Subscription"
-msgstr ""
+msgstr "z. B. Odoo Enterprise-Abonnement"
#. module: product
#: model:ir.ui.view,arch_db:product.product_pricelist_view
diff --git a/addons/product/i18n/fr.po b/addons/product/i18n/fr.po
index 3b8d11f9956..3deaa88cf44 100644
--- a/addons/product/i18n/fr.po
+++ b/addons/product/i18n/fr.po
@@ -1811,6 +1811,8 @@ msgid ""
"The number of products under this category (Does not consider the children "
"categories)"
msgstr ""
+"Le nombre de produits dans cette catégorie (Ne tient pas compte des "
+"catégories enfants)"
#. module: product
#: code:addons/product/models/product_attribute.py:74
@@ -1853,7 +1855,7 @@ msgstr ""
#. module: product
#: sql_constraint:product.uom:0
msgid "The rounding precision must be greater than 0!"
-msgstr ""
+msgstr "L'arrondissement doit être supérieur à 0 !"
#. module: product
#: model:ir.model.fields,help:product.field_product_product_lst_price
@@ -1861,11 +1863,14 @@ msgid ""
"The sale price is managed from the product template. Click on the 'Variant "
"Prices' button to set the extra attribute prices."
msgstr ""
+"Le prix de vente est géré depuis le modèle de produit. Cliquez sur le bouton"
+" « Prix des variantes » pour définir les tarifs des attributs "
+"supplémentaires."
#. module: product
#: model:ir.model.fields,help:product.field_product_packaging_qty
msgid "The total number of products you can have per pallet or box."
-msgstr ""
+msgstr "Le nombre total de produits vous pouvez avoir par palette ou carton."
#. module: product
#: model:ir.model.fields,help:product.field_product_product_volume
@@ -2026,7 +2031,7 @@ msgstr "Valeurs"
#. module: product
#: model:ir.model.fields,field_description:product.field_product_supplierinfo_product_variant_count
msgid "Variant Count"
-msgstr ""
+msgstr "Nombre de variantes"
#. module: product
#: model:ir.model.fields,field_description:product.field_product_product_image_variant
@@ -2041,7 +2046,7 @@ msgstr "Information Variante"
#. module: product
#: model:ir.model.fields,field_description:product.field_product_product_price_extra
msgid "Variant Price Extra"
-msgstr ""
+msgstr "Prix supplémentaires des variantes"
#. module: product
#: model:ir.ui.view,arch_db:product.product_template_form_view
@@ -2052,7 +2057,7 @@ msgstr "Prix de la variante"
#: model:ir.model.fields,field_description:product.field_product_product_variant_seller_ids
#: model:ir.model.fields,field_description:product.field_product_template_variant_seller_ids
msgid "Variant Seller"
-msgstr ""
+msgstr "Vendeur des variantes"
#. module: product
#: model:ir.actions.act_window,name:product.product_attribute_value_action
@@ -2143,6 +2148,9 @@ msgid ""
"You cannot define the decimal precision of 'Account' as greater than the "
"rounding factor of the company's main currency"
msgstr ""
+"Pour la comptabilité, il n'est pas possible de choisir une précision "
+"décimale supérieure au facteur d'arrondi de la devise principale de la "
+"société"
#. module: product
#: code:addons/product/wizard/product_price_list.py:26
@@ -2164,6 +2172,8 @@ msgid ""
"You must define a conversion rate between several Units of\n"
" Measure within the same category."
msgstr ""
+"Vous devez définir un taux de conversion entre plusieurs unités de\n"
+" mesure au sein de la même catégorie."
#. module: product
#: model:ir.actions.act_window,help:product.product_normal_action
diff --git a/addons/product_expiry/i18n/de.po b/addons/product_expiry/i18n/de.po
index 0e55c50be45..ecec8c70914 100644
--- a/addons/product_expiry/i18n/de.po
+++ b/addons/product_expiry/i18n/de.po
@@ -67,6 +67,8 @@ msgid ""
"Date to determine the expired lots and serial numbers using the filter "
"\"Expiration Alerts\"."
msgstr ""
+"Datum, um die abgelaufenen Lose und Seriennummern mit dem Filter „Alerts“ "
+"(Alarme) zu bestimmen."
#. module: product_expiry
#: model:ir.ui.view,arch_db:product_expiry.view_move_form_expiry
@@ -82,7 +84,7 @@ msgstr "Verwendbar bis"
#. module: product_expiry
#: model:ir.ui.view,arch_db:product_expiry.search_product_lot_filter_inherit_product_expiry
msgid "Expiration alerts"
-msgstr ""
+msgstr "Ablaufalarme"
#. module: product_expiry
#: model:product.product,name:product_expiry.product_product_jambon
@@ -107,6 +109,8 @@ msgstr "Los/Serie"
msgid ""
"Number of days before an alert should be raised on the lot/serial number."
msgstr ""
+"Anzahl der Tage, bevor ein Alarm für die Los-/Seriennummer ausgelöst werden "
+"sollte."
#. module: product_expiry
#: model:ir.model.fields,help:product_expiry.field_product_product_life_time
@@ -115,6 +119,8 @@ msgid ""
"Number of days before the goods may become dangerous and must not be "
"consumed. It will be computed on the lot/serial number."
msgstr ""
+"Anzahl der Tage, bevor die Waren gefährlich werden könnten und nicht mehr "
+"verbraucht werden dürfen. Ist auf Los-/Seriennummer berechnet."
#. module: product_expiry
#: model:ir.model.fields,help:product_expiry.field_product_product_removal_time
@@ -123,6 +129,8 @@ msgid ""
"Number of days before the goods should be removed from the stock. It will be"
" computed on the lot/serial number."
msgstr ""
+"Anzahl der Tage, bevor die Waren aus dem Lager entfernt werden sollten. Ist "
+"auf Los-/Seriennummer berechnet."
#. module: product_expiry
#: model:ir.model.fields,help:product_expiry.field_product_product_use_time
@@ -131,6 +139,8 @@ msgid ""
"Number of days before the goods starts deteriorating, without being "
"dangerous yet. It will be computed on the lot/serial number."
msgstr ""
+"Anzahl der Tage, bevor die Haltbarkeit abläuft, ohne dass der Konsum nach "
+"Ablaufdatum gesundheitsschädlich ist. Ist auf Los-/Seriennummer berechnet."
#. module: product_expiry
#: model:ir.model.fields,field_description:product_expiry.field_product_product_alert_time
@@ -141,7 +151,7 @@ msgstr "Datum Ablaufwarnung"
#. module: product_expiry
#: model:ir.model.fields,field_description:product_expiry.field_stock_production_lot_product_expiry_alert
msgid "Product Expiry Alert"
-msgstr ""
+msgstr "Produktauslauf-Alarm"
#. module: product_expiry
#: model:ir.model.fields,field_description:product_expiry.field_product_product_life_time
@@ -180,7 +190,7 @@ msgstr "Datum der Vernichtung"
#. module: product_expiry
#: model:ir.model.fields,help:product_expiry.field_stock_production_lot_product_expiry_alert
msgid "The Alert Date has been reached."
-msgstr ""
+msgstr "Das Alarmdatum wurde erreicht."
#. module: product_expiry
#: model:ir.model.fields,help:product_expiry.field_stock_production_lot_life_date
diff --git a/addons/product_expiry/i18n/fr.po b/addons/product_expiry/i18n/fr.po
index 91512b758e3..0298459080b 100644
--- a/addons/product_expiry/i18n/fr.po
+++ b/addons/product_expiry/i18n/fr.po
@@ -3,17 +3,18 @@
# * product_expiry
#
# Translators:
-# Eloïse Stilmant <est@odoo.com>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
-# Nancy Bolognesi <nb@microcom.ca>, 2017
+# Martin Trigaux, 2016
+# Nancy Bolognesi <nb@microcom.ca>, 2016
# Richard Mathot <rim@odoo.com>, 2017
+# Eloïse Stilmant <est@odoo.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-02 11:26+0000\n"
"PO-Revision-Date: 2017-10-02 11:26+0000\n"
-"Last-Translator: Richard Mathot <rim@odoo.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -68,6 +69,8 @@ msgid ""
"Date to determine the expired lots and serial numbers using the filter "
"\"Expiration Alerts\"."
msgstr ""
+"Date servant à déterminer les lots et numéros de série expirés à l'aide du "
+"filtre « Alertes d'expiration »."
#. module: product_expiry
#: model:ir.ui.view,arch_db:product_expiry.view_move_form_expiry
@@ -83,7 +86,7 @@ msgstr "Date limite de consommation"
#. module: product_expiry
#: model:ir.ui.view,arch_db:product_expiry.search_product_lot_filter_inherit_product_expiry
msgid "Expiration alerts"
-msgstr ""
+msgstr "Alertes d'expiration"
#. module: product_expiry
#: model:product.product,name:product_expiry.product_product_jambon
@@ -108,6 +111,8 @@ msgstr "Lot/N° série"
msgid ""
"Number of days before an alert should be raised on the lot/serial number."
msgstr ""
+"Nombre de jours avant qu'une alerte ne se déclenche pour ce lot/numéro de "
+"série."
#. module: product_expiry
#: model:ir.model.fields,help:product_expiry.field_product_product_life_time
@@ -116,6 +121,8 @@ msgid ""
"Number of days before the goods may become dangerous and must not be "
"consumed. It will be computed on the lot/serial number."
msgstr ""
+"Nombre de jours avant que les marchandises ne deviennent dangereuses et non "
+"consommables. Elle sera calculée en fonction du lot/numéro de série."
#. module: product_expiry
#: model:ir.model.fields,help:product_expiry.field_product_product_removal_time
@@ -124,6 +131,8 @@ msgid ""
"Number of days before the goods should be removed from the stock. It will be"
" computed on the lot/serial number."
msgstr ""
+"Nombre de jours avant que les marchandises ne doivent être retirées du "
+"stock. Elle sera calculée en fonction du lot/numéro de série."
#. module: product_expiry
#: model:ir.model.fields,help:product_expiry.field_product_product_use_time
@@ -132,6 +141,9 @@ msgid ""
"Number of days before the goods starts deteriorating, without being "
"dangerous yet. It will be computed on the lot/serial number."
msgstr ""
+"Nombre de jours avant que les marchandises ne commencent à se détériorer, "
+"sans pour autant être dangereuses. Elle sera calculée en fonction du "
+"lot/numéro de série."
#. module: product_expiry
#: model:ir.model.fields,field_description:product_expiry.field_product_product_alert_time
@@ -142,7 +154,7 @@ msgstr "Délai avant alerte"
#. module: product_expiry
#: model:ir.model.fields,field_description:product_expiry.field_stock_production_lot_product_expiry_alert
msgid "Product Expiry Alert"
-msgstr ""
+msgstr "Alerte d'expiration de produit"
#. module: product_expiry
#: model:ir.model.fields,field_description:product_expiry.field_product_product_life_time
@@ -181,7 +193,7 @@ msgstr "Date de retrait"
#. module: product_expiry
#: model:ir.model.fields,help:product_expiry.field_stock_production_lot_product_expiry_alert
msgid "The Alert Date has been reached."
-msgstr ""
+msgstr "La date d'alerte a été atteinte."
#. module: product_expiry
#: model:ir.model.fields,help:product_expiry.field_stock_production_lot_life_date
diff --git a/addons/project/controllers/portal.py b/addons/project/controllers/portal.py
index 621113a385b..e847875f2d1 100644
--- a/addons/project/controllers/portal.py
+++ b/addons/project/controllers/portal.py
@@ -14,10 +14,12 @@ class CustomerPortal(CustomerPortal):
def _prepare_portal_layout_values(self):
values = super(CustomerPortal, self)._prepare_portal_layout_values()
- values.update({
- 'project_count': request.env['project.project'].search_count([('privacy_visibility', '=', 'portal')]),
- 'task_count': request.env['project.task'].search_count([('project_id.privacy_visibility', '=', 'portal')])
- })
+ Project = request.env['project.project']
+ Task = request.env['project.task']
+ # portal users can't view projects they don't follow
+ projects = Project.sudo().search([('privacy_visibility', '=', 'portal')])
+ values['project_count'] = Project.search_count([('id', 'in', projects.ids)])
+ values['task_count'] = Task.search_count([('project_id', 'in', projects.ids)])
return values
@http.route(['/my/projects', '/my/projects/page/<int:page>'], type='http', auth="user", website=True)
@@ -77,8 +79,6 @@ class CustomerPortal(CustomerPortal):
@http.route(['/my/tasks', '/my/tasks/page/<int:page>'], type='http', auth="user", website=True)
def portal_my_tasks(self, page=1, date_begin=None, date_end=None, sortby=None, filterby=None, search=None, search_in='content', **kw):
values = self._prepare_portal_layout_values()
- domain = [('project_id.privacy_visibility', '=', 'portal')]
-
searchbar_sortings = {
'date': {'label': _('Newest'), 'order': 'create_date desc'},
'name': {'label': _('Title'), 'order': 'name'},
@@ -96,7 +96,9 @@ class CustomerPortal(CustomerPortal):
'all': {'input': 'all', 'label': _('Search in All')},
}
# extends filterby criteria with project (criteria name is the project id)
- projects = request.env['project.project'].search([('privacy_visibility', '=', 'portal')])
+ # Note: portal users can't view projects they don't follow
+ projects = request.env['project.project'].sudo().search([('privacy_visibility', '=', 'portal')])
+ domain = [('project_id', 'in', projects.ids)]
for proj in projects:
searchbar_filters.update({
str(proj.id): {'label': proj.name, 'domain': [('project_id', '=', proj.id)]}
diff --git a/addons/project/i18n/de.po b/addons/project/i18n/de.po
index 1cb18146249..2669556088a 100644
--- a/addons/project/i18n/de.po
+++ b/addons/project/i18n/de.po
@@ -304,12 +304,12 @@ msgstr "# Aufgaben"
#. module: project
#: model:ir.model.fields,field_description:project.field_report_project_task_user_working_days_open
msgid "# Working Days to Assign"
-msgstr ""
+msgstr "# Zuzuweisende Arbeitstage"
#. module: project
#: model:ir.model.fields,field_description:project.field_report_project_task_user_working_days_close
msgid "# Working Days to Close"
-msgstr ""
+msgstr "# Abzuschließende Arbeitstage"
#. module: project
#: model:ir.model.fields,field_description:project.field_report_project_task_user_nbr
@@ -588,7 +588,7 @@ msgstr "Archiviert"
#. module: project
#: model:ir.ui.view,arch_db:project.view_task_form2
msgid "Assign to Me"
-msgstr ""
+msgstr "Mir zuweisen"
#. module: project
#: model:ir.model.fields,field_description:project.field_report_project_task_user_date_start
@@ -642,7 +642,7 @@ msgstr "Dateianhang"
#. module: project
#: model:ir.model.fields,help:project.field_project_task_attachment_ids
msgid "Attachment that don't come from message."
-msgstr ""
+msgstr "Anhang, der nicht von der Nachricht stammt."
#. module: project
#: code:addons/project/models/project.py:119
@@ -747,6 +747,9 @@ msgid ""
"Choosing a sub-tasks project will both enable sub-tasks and set their "
"default project (possibly the project itself)"
msgstr ""
+"Indem Sie ein Unteraufgaben-Projekt auswählen, werden Unteraufgaben "
+"aktiviert und deren Standard-Projekt festgelegt (eventuell das Projekt "
+"selbst)"
#. module: project
#. openerp-web
@@ -833,7 +836,7 @@ msgstr "Vertrag / Analyse Konto"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_displayed_image_id
msgid "Cover Image"
-msgstr ""
+msgstr "Titelbild"
#. module: project
#: model:ir.ui.view,arch_db:project.project_project_view_form_simplified
@@ -858,7 +861,7 @@ msgstr "Neues Projekt anlegen."
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_merge_wizard_create_new_task
msgid "Create a new task"
-msgstr ""
+msgstr "Eine neue Aufgabe erstellen"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_project_create_uid
@@ -900,12 +903,12 @@ msgstr "Währung"
#. module: project
#: model:ir.ui.view,arch_db:project.portal_my_tasks
msgid "Current stage of the task"
-msgstr ""
+msgstr "Aktueller Status der Aufgabe"
#. module: project
#: model:ir.ui.view,arch_db:project.portal_my_task
msgid "Current stage of this task"
-msgstr ""
+msgstr "Aktueller Status dieser Aufgabe"
#. module: project
#: model:ir.actions.act_window,help:project.project_task_action_activity
@@ -1101,6 +1104,8 @@ msgid ""
"Explanation text to help users using the star on tasks or issues in this "
"stage."
msgstr ""
+"Erklärungstext, um Nutzern dabei zu helfen, den Stern bei Aufgaben oder "
+"Problemen auf dieser Stufe zu verwenden."
#. module: project
#: model:ir.ui.view,arch_db:project.view_task_project_user_search
@@ -1177,7 +1182,7 @@ msgstr "Grün"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_type_legend_done
msgid "Green Kanban Label"
-msgstr ""
+msgstr "Grüne Kanban-Kennzeichnung"
#. module: project
#: selection:project.task,kanban_state:0
@@ -1187,7 +1192,7 @@ msgstr "Grau"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_type_legend_normal
msgid "Grey Kanban Label"
-msgstr ""
+msgstr "Graue Kanban-Kennzeichnung"
#. module: project
#: model:ir.ui.view,arch_db:project.view_project_project_filter
@@ -1470,6 +1475,8 @@ msgid ""
"Lets the company customize which Pad installation should be used to link to "
"new pads (for example: http://etherpad.com/)."
msgstr ""
+"Hier können Sie einstellen, welche Pad-Installation für neue Pads angewandt "
+"werden sollen (z. B.: http://ietherpad.com/)."
#. module: project
#: model:ir.model.fields,help:project.field_project_project_analytic_account_id
@@ -1491,12 +1498,12 @@ msgstr "Niedrig"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_attachment_ids
msgid "Main Attachments"
-msgstr ""
+msgstr "Hauptanhänge"
#. module: project
#: model:ir.ui.view,arch_db:project.res_config_settings_view_form
msgid "Manage your resources with Gantt charts"
-msgstr ""
+msgstr "Verwalten Sie Ihre Ressourcen mit Gantt-Diagrammen"
#. module: project
#: model:ir.ui.view,arch_db:project.view_project_project_filter
@@ -1512,17 +1519,17 @@ msgstr "Mitglieder"
#. module: project
#: model:ir.actions.act_window,name:project.project_task_actions_act_window_merge_tasks
msgid "Merge Selected Tasks"
-msgstr ""
+msgstr "Ausgewählte Aufgaben zusammenführen"
#. module: project
#: model:ir.ui.view,arch_db:project.project_task_merge_wizard_form
msgid "Merge Tasks"
-msgstr ""
+msgstr "Aufgaben zusammenführen"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_merge_wizard_target_task_id
msgid "Merge into an existing task"
-msgstr ""
+msgstr "In eine bestehende Aufgabe zusammenführen"
#. module: project
#: model:ir.ui.view,arch_db:project.view_task_search_form
@@ -1537,7 +1544,7 @@ msgstr "Meine Favoriten"
#. module: project
#: model:ir.ui.view,arch_db:project.view_task_search_form
msgid "My Followed Tasks"
-msgstr ""
+msgstr "Aufgaben, denen ich folge"
#. module: project
#: model:ir.actions.act_window,name:project.project_task_action_activity
@@ -1560,7 +1567,7 @@ msgstr "Name"
#. module: project
#: model:ir.ui.view,arch_db:project.edit_project
msgid "Name of the tasks :"
-msgstr ""
+msgstr "Name der Aufgaben:"
#. module: project
#: model:ir.ui.view,arch_db:project.view_task_project_user_search
@@ -1571,7 +1578,7 @@ msgstr "Neu"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_merge_wizard_target_task_name
msgid "New task name"
-msgstr ""
+msgstr "Neuer Aufgabenname"
#. module: project
#: code:addons/project/controllers/portal.py:30
@@ -1625,12 +1632,12 @@ msgstr ""
#. module: project
#: model:ir.model.fields,help:project.field_report_project_task_user_working_days_open
msgid "Number of Working Days to Open the task"
-msgstr ""
+msgstr "Tage bis Aufgabenstart"
#. module: project
#: model:ir.model.fields,help:project.field_report_project_task_user_working_days_close
msgid "Number of Working Days to close the task"
-msgstr ""
+msgstr "Tage bis Beendigung"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_project_doc_count
@@ -1741,7 +1748,7 @@ msgstr "Zugehörige Diskussion"
#: model:ir.ui.view,arch_db:project.view_task_form2
#, python-format
msgid "Parent Task"
-msgstr ""
+msgstr "Hauptaufgabe"
#. module: project
#: model:ir.model.fields,help:project.field_project_project_alias_parent_model_id
@@ -1871,7 +1878,7 @@ msgstr "Projektaufgaben"
#. module: project
#: model:ir.actions.server,name:project.ir_actions_server_project_sample
msgid "Project: Activate Sample Project"
-msgstr ""
+msgstr "Projekt: Beispielprojekt aktivieren"
#. module: project
#: model:ir.actions.server,name:project.ir_cron_rating_project_ir_actions_server
@@ -1965,7 +1972,7 @@ msgstr "Bewertungen von %s"
#: model:project.task.type,legend_done:project.project_stage_data_1
#: model:project.task.type,legend_done:project.project_stage_data_2
msgid "Ready for Next Stage"
-msgstr ""
+msgstr "Bereit für nächste Stufe"
#. module: project
#: selection:report.project.task.user,state:0
@@ -1980,7 +1987,7 @@ msgstr "Aufzeichnung Diskussion ID"
#. module: project
#: model:ir.ui.view,arch_db:project.view_task_kanban
msgid "Record's Colour"
-msgstr ""
+msgstr "Datensatzfarbe"
#. module: project
#: selection:project.task,kanban_state:0
@@ -1990,7 +1997,7 @@ msgstr "Rot"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_type_legend_blocked
msgid "Red Kanban Label"
-msgstr ""
+msgstr "Rote Kanban-Kennzeichnung"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_project_code
@@ -2052,7 +2059,7 @@ msgstr "Nachrichten durchsuchen"
#: code:addons/project/controllers/portal.py:95
#, python-format
msgid "Search in Stages"
-msgstr ""
+msgstr "Stufen durchsuchen"
#. module: project
#. openerp-web
@@ -2106,6 +2113,7 @@ msgstr "Alle Datensätze mit vor heute geplanten Aktionen anzeigen"
#: model:ir.ui.view,arch_db:project.res_config_settings_view_form
msgid "Split your tasks to organize your work into sub-milestones"
msgstr ""
+"Teilen Sie Ihre Aufgaben, um Ihre Arbeit in Untermeilensteile zu einzuteilen"
#. module: project
#: code:addons/project/controllers/portal.py:85
@@ -2152,7 +2160,7 @@ msgstr "Markiert"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_type_legend_priority
msgid "Starred Explanation"
-msgstr ""
+msgstr "Markierte Erklärung"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_project_date_start
@@ -2168,12 +2176,12 @@ msgstr "Startdatum"
#: model:ir.model.fields,field_description:project.field_project_project_subtask_project_id
#: model:ir.model.fields,field_description:project.field_project_task_subtask_project_id
msgid "Sub-task Project"
-msgstr ""
+msgstr "Unteraufgaben-Projekt"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_subtask_count
msgid "Sub-task count"
-msgstr ""
+msgstr "Anzahl Unteraufgaben"
#. module: project
#: model:ir.actions.act_window,name:project.project_task_action_sub_task
@@ -2181,7 +2189,7 @@ msgstr ""
#: model:ir.model.fields,field_description:project.field_res_config_settings_group_subtask_project
#: model:ir.ui.view,arch_db:project.view_task_form2
msgid "Sub-tasks"
-msgstr ""
+msgstr "Unteraufgaben"
#. module: project
#: sql_constraint:project.tags:0
@@ -2200,7 +2208,7 @@ msgstr "Stichwörter"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_merge_wizard_target_project_id
msgid "Target Project"
-msgstr ""
+msgstr "Zielprojekt"
#. module: project
#: model:ir.model,name:project.model_project_task
@@ -2214,7 +2222,7 @@ msgstr "Aufgabe"
#. module: project
#: model:ir.ui.view,arch_db:project.portal_my_task
msgid "Task -"
-msgstr ""
+msgstr "Aufgabe -"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_project_tasks
@@ -2345,17 +2353,17 @@ msgstr "Aufgaben nach Benutzer und Projekt"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_merge_wizard_task_ids
msgid "Tasks to Merge"
-msgstr ""
+msgstr "Zusammenzuführende Aufgaben"
#. module: project
#: model:ir.ui.view,arch_db:project.mail_template_task_merge
msgid "The following task has been merged into this one:"
-msgstr ""
+msgstr "Die folgende Aufgabe wurde in diese zusammengefasst:"
#. module: project
#: model:ir.ui.view,arch_db:project.mail_template_task_merge
msgid "The following tasks have been merged into this one:"
-msgstr ""
+msgstr "Die folgenden Aufgaben wurden in diese zusammengefasst:"
#. module: project
#: model:ir.model.fields,help:project.field_project_project_alias_model_id
@@ -2394,12 +2402,12 @@ msgstr ""
#. module: project
#: model:ir.ui.view,arch_db:project.portal_my_projects
msgid "There are no projects."
-msgstr ""
+msgstr "Es gibt keine Projekte."
#. module: project
#: model:ir.ui.view,arch_db:project.portal_my_tasks
msgid "There are no tasks."
-msgstr ""
+msgstr "Es gibt keine Aufgaben."
#. module: project
#. openerp-web
@@ -2419,6 +2427,8 @@ msgid ""
"These email addresses will be added to the CC field of all inbound\n"
" and outbound emails for this record before being sent. Separate multiple email addresses with a comma"
msgstr ""
+"Diese E-Mail-Adressen werden werden zum CC-Feld aller ein-\n"
+"  und ausgehenden E-Mails für diesen Datensatz vor dem Senden hinzugefügt. Mehrere E-Mail-Adressen mit einem Komma abtrennen"
#. module: project
#: model:ir.model.fields,help:project.field_project_task_email_from
@@ -2448,7 +2458,7 @@ msgstr ""
#. module: project
#: model:ir.ui.view,arch_db:project.mail_template_task_merge
msgid "This task has been merged into the following task:"
-msgstr ""
+msgstr "Diese Aufgabe wurde in der folgenden Aufgabe zusammengefasst:"
#. module: project
#. openerp-web
@@ -2477,7 +2487,7 @@ msgstr "Erwartete Bearbeitungszeit für Aufgaben"
#. module: project
#: model:ir.ui.view,arch_db:project.res_config_settings_view_form
msgid "Time Management"
-msgstr ""
+msgstr "Zeitmanagement"
#. module: project
#: model:ir.ui.view,arch_db:project.edit_project
@@ -2527,7 +2537,7 @@ msgstr "Kundenzufriedenheit für Aufgaben verfolgen"
#. module: project
#: model:ir.ui.view,arch_db:project.res_config_settings_view_form
msgid "Track time spent on projects and tasks"
-msgstr ""
+msgstr "Zeit für Projekte und Aufgaben aufzeichnen"
#. module: project
#: selection:project.project,rating_status_period:0
@@ -2572,7 +2582,7 @@ msgstr "Nutze Aufgaben als"
#. module: project
#: model:ir.ui.view,arch_db:project.res_config_settings_view_form
msgid "Use collaborative rich text pads on tasks"
-msgstr ""
+msgstr "Gemeinschaftliches umfassendes Textpad für Aufgaben verwenden"
#. module: project
#. openerp-web
@@ -2641,32 +2651,32 @@ msgstr "Arbeitszeit"
#. module: project
#: model:ir.ui.view,arch_db:project.view_task_form2
msgid "Working Time to Assign"
-msgstr ""
+msgstr "Zuzuweisende Arbeitszeit"
#. module: project
#: model:ir.ui.view,arch_db:project.view_task_form2
msgid "Working Time to Close"
-msgstr ""
+msgstr "Arbeitszeit bis Abschluss"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_working_days_open
msgid "Working days to assign"
-msgstr ""
+msgstr "Zuzuweisende Arbeitstage"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_working_days_close
msgid "Working days to close"
-msgstr ""
+msgstr "Arbeitstage bis Abschluss"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_working_hours_open
msgid "Working hours to assign"
-msgstr ""
+msgstr "Zuzuweisende Arbeitsstunden"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_working_hours_close
msgid "Working hours to close"
-msgstr ""
+msgstr "Arbeitsstunden bis Abschluss"
#. module: project
#: model:ir.filters,name:project.filter_task_report_workload
@@ -2719,6 +2729,9 @@ msgid ""
"The sub-task's project of the parent task's project should be this task's "
"project"
msgstr ""
+"Sie können keine übergeordnete Aufgabe definieren, wenn deren Projekt nicht "
+"korrekt konfiguriert ist. Das Projekt der Unteraufgabe des übergeordneten "
+"Projekts sollte das Projekt dieser Aufgabe sein"
#. module: project
#: code:addons/project/models/project.py:77
@@ -2759,7 +2772,7 @@ msgstr "oe_kanban_text_red"
#. module: project
#: model:ir.model,name:project.model_project_task_merge_wizard
msgid "project.task.merge.wizard"
-msgstr ""
+msgstr "project.task.merge.wizard"
#. module: project
#: model:ir.model,name:project.model_res_config_settings
diff --git a/addons/project/i18n/fr.po b/addons/project/i18n/fr.po
index d7bd70f825d..b8cfd2997b1 100644
--- a/addons/project/i18n/fr.po
+++ b/addons/project/i18n/fr.po
@@ -33,13 +33,14 @@
# fr trans <e2ftrans1@yahoo.com>, 2017
# Jérémy Donas <LeDistordu@users.noreply.github.com>, 2017
# e2f <projects@e2f.com>, 2018
+# fr trans <e2ffr05@hotmail.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-12-13 14:36+0000\n"
"PO-Revision-Date: 2017-12-13 14:36+0000\n"
-"Last-Translator: e2f <projects@e2f.com>, 2018\n"
+"Last-Translator: fr trans <e2ffr05@hotmail.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -309,12 +310,12 @@ msgstr "# Tâches"
#. module: project
#: model:ir.model.fields,field_description:project.field_report_project_task_user_working_days_open
msgid "# Working Days to Assign"
-msgstr ""
+msgstr "Nombre de jours ouvrés à attribuer"
#. module: project
#: model:ir.model.fields,field_description:project.field_report_project_task_user_working_days_close
msgid "# Working Days to Close"
-msgstr ""
+msgstr "Nombre de jours ouvrés à clôturer"
#. module: project
#: model:ir.model.fields,field_description:project.field_report_project_task_user_nbr
@@ -591,7 +592,7 @@ msgstr "Archivé"
#. module: project
#: model:ir.ui.view,arch_db:project.view_task_form2
msgid "Assign to Me"
-msgstr ""
+msgstr "Me l'assigner"
#. module: project
#: model:ir.model.fields,field_description:project.field_report_project_task_user_date_start
@@ -644,7 +645,7 @@ msgstr "Pièce jointe"
#. module: project
#: model:ir.model.fields,help:project.field_project_task_attachment_ids
msgid "Attachment that don't come from message."
-msgstr ""
+msgstr "Les pièces jointes ne provenant pas d'un message."
#. module: project
#: code:addons/project/models/project.py:119
@@ -749,6 +750,8 @@ msgid ""
"Choosing a sub-tasks project will both enable sub-tasks and set their "
"default project (possibly the project itself)"
msgstr ""
+"Choisir un projet à sous-tâches permet à la fois d'activer les sous-tâches "
+"et de définir leur projet par défaut (éventuellement le projet lui-même)"
#. module: project
#. openerp-web
@@ -1180,7 +1183,7 @@ msgstr "Vert"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_type_legend_done
msgid "Green Kanban Label"
-msgstr ""
+msgstr "Étiquette Kanban verte"
#. module: project
#: selection:project.task,kanban_state:0
@@ -1190,7 +1193,7 @@ msgstr "Gris"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_type_legend_normal
msgid "Grey Kanban Label"
-msgstr ""
+msgstr "Étiquette Kanban grise"
#. module: project
#: model:ir.ui.view,arch_db:project.view_project_project_filter
@@ -1472,6 +1475,8 @@ msgid ""
"Lets the company customize which Pad installation should be used to link to "
"new pads (for example: http://etherpad.com/)."
msgstr ""
+"Permet à l'entreprise de personnaliser l'installation du pad à utiliser pour"
+" créer des liens vers de nouveaux pads (exemple : http://etherpad.com/)."
#. module: project
#: model:ir.model.fields,help:project.field_project_project_analytic_account_id
@@ -1563,7 +1568,7 @@ msgstr "Nom"
#. module: project
#: model:ir.ui.view,arch_db:project.edit_project
msgid "Name of the tasks :"
-msgstr ""
+msgstr "Nom de la tâche :"
#. module: project
#: model:ir.ui.view,arch_db:project.view_task_project_user_search
@@ -1626,12 +1631,12 @@ msgstr "Maintenant que le projet est en place, <b>créez quelques tâches</b>."
#. module: project
#: model:ir.model.fields,help:project.field_report_project_task_user_working_days_open
msgid "Number of Working Days to Open the task"
-msgstr ""
+msgstr "Nombre de jours ouvrés pour ouvrir la tâche"
#. module: project
#: model:ir.model.fields,help:project.field_report_project_task_user_working_days_close
msgid "Number of Working Days to close the task"
-msgstr ""
+msgstr "Nombre de jours ouvrés pour clôturer la tâche"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_project_doc_count
@@ -1982,7 +1987,7 @@ msgstr "ID de l'enregistrement du fil"
#. module: project
#: model:ir.ui.view,arch_db:project.view_task_kanban
msgid "Record's Colour"
-msgstr ""
+msgstr "Couleur de l'enregistrement"
#. module: project
#: selection:project.task,kanban_state:0
@@ -1992,7 +1997,7 @@ msgstr "Rouge"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_type_legend_blocked
msgid "Red Kanban Label"
-msgstr ""
+msgstr "Indicateur Kanban rouge"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_project_code
@@ -2054,7 +2059,7 @@ msgstr "Rechercher dans Messages"
#: code:addons/project/controllers/portal.py:95
#, python-format
msgid "Search in Stages"
-msgstr ""
+msgstr "Rechercher dans Étapes"
#. module: project
#. openerp-web
@@ -2109,7 +2114,7 @@ msgstr ""
#. module: project
#: model:ir.ui.view,arch_db:project.res_config_settings_view_form
msgid "Split your tasks to organize your work into sub-milestones"
-msgstr ""
+msgstr "Divisez vos tâches pour organiser votre travail en sous-étapes"
#. module: project
#: code:addons/project/controllers/portal.py:85
@@ -2156,7 +2161,7 @@ msgstr "Favoris"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_type_legend_priority
msgid "Starred Explanation"
-msgstr ""
+msgstr "Explication des étoiles"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_project_date_start
@@ -2424,6 +2429,8 @@ msgid ""
"These email addresses will be added to the CC field of all inbound\n"
" and outbound emails for this record before being sent. Separate multiple email addresses with a comma"
msgstr ""
+"Ces adresses e-mail seront ajoutées au champ CC (Copie à) de tous les e-mails entrants\n"
+" et sortants pour cet enregistrement après leur envoi. Séparez les adresses multiples avec une virgule."
#. module: project
#: model:ir.model.fields,help:project.field_project_task_email_from
@@ -2580,7 +2587,7 @@ msgstr "Utilisez les tâches comme"
#. module: project
#: model:ir.ui.view,arch_db:project.res_config_settings_view_form
msgid "Use collaborative rich text pads on tasks"
-msgstr ""
+msgstr "Utiliser un pad collaboratif à texte riche sur les tâches"
#. module: project
#. openerp-web
@@ -2648,32 +2655,32 @@ msgstr "Temps de travail"
#. module: project
#: model:ir.ui.view,arch_db:project.view_task_form2
msgid "Working Time to Assign"
-msgstr ""
+msgstr "Temps de travail pour attribuer"
#. module: project
#: model:ir.ui.view,arch_db:project.view_task_form2
msgid "Working Time to Close"
-msgstr ""
+msgstr "Temps de travail pour clôturer"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_working_days_open
msgid "Working days to assign"
-msgstr ""
+msgstr "Jours de travail pour attribuer"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_working_days_close
msgid "Working days to close"
-msgstr ""
+msgstr "Jours de travail pour clôturer"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_working_hours_open
msgid "Working hours to assign"
-msgstr ""
+msgstr "Heures de travail pour attribuer"
#. module: project
#: model:ir.model.fields,field_description:project.field_project_task_working_hours_close
msgid "Working hours to close"
-msgstr ""
+msgstr "Heures ouvrées pour clôturer une tâche"
#. module: project
#: model:ir.filters,name:project.filter_task_report_workload
@@ -2726,6 +2733,9 @@ msgid ""
"The sub-task's project of the parent task's project should be this task's "
"project"
msgstr ""
+"Vous ne pouvez pas définir une tâche parente si le projet auquel elle "
+"appartient n'est pas correctement configuré. Le projet de la sous-tâche ou "
+"le projet de la tâche parente doit correspondre au projet de cette tâche."
#. module: project
#: code:addons/project/models/project.py:77
diff --git a/addons/project/i18n/zh_CN.po b/addons/project/i18n/zh_CN.po
index f8a1aabcc47..82854f41352 100644
--- a/addons/project/i18n/zh_CN.po
+++ b/addons/project/i18n/zh_CN.po
@@ -834,7 +834,7 @@ msgstr "任务的当前阶段"
#. module: project
#: model:ir.actions.act_window,help:project.project_task_action_activity
msgid "Currently there are not any activity scheduled."
-msgstr ""
+msgstr "目前,未计划任何活动。"
#. module: project
#: code:addons/project/models/project.py:897
@@ -1429,7 +1429,7 @@ msgstr ""
#. module: project
#: model:ir.actions.act_window,name:project.project_task_action_activity
msgid "My Next Activities"
-msgstr ""
+msgstr "我的下一个活动"
#. module: project
#: model:ir.ui.view,arch_db:project.view_task_search_form
diff --git a/addons/project/models/project.py b/addons/project/models/project.py
index 5554500b78f..5ef4dc9370a 100644
--- a/addons/project/models/project.py
+++ b/addons/project/models/project.py
@@ -610,16 +610,12 @@ class Task(models.Model):
@api.onchange('project_id')
def _onchange_project(self):
- default_partner_id = self.env.context.get('default_partner_id')
- default_partner = self.env['res.partner'].browse(default_partner_id) if default_partner_id else self.env['res.partner']
if self.project_id:
- if not self.parent_id and not self.partner_id:
- self.partner_id = self.project_id.partner_id or default_partner
+ if not self.parent_id and self.project_id.partner_id:
+ self.partner_id = self.project_id.partner_id
if self.project_id not in self.stage_id.project_ids:
self.stage_id = self.stage_find(self.project_id.id, [('fold', '=', False)])
else:
- if not self.parent_id:
- self.partner_id = default_partner
self.stage_id = False
@api.onchange('user_id')
diff --git a/addons/project_timesheet_holidays/i18n/fr.po b/addons/project_timesheet_holidays/i18n/fr.po
index 98c68e32f26..8293f55777f 100644
--- a/addons/project_timesheet_holidays/i18n/fr.po
+++ b/addons/project_timesheet_holidays/i18n/fr.po
@@ -4,15 +4,16 @@
#
# Translators:
# Olivier Lenoir <olivier.lenoir@free.fr>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
+# Martin Trigaux, 2017
# Xavier Belmere <Info@cartmeleon.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: Xavier Belmere <Info@cartmeleon.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -40,6 +41,8 @@ msgstr "Sociétés"
#: model:ir.model.fields,help:project_timesheet_holidays.field_res_config_settings_leave_timesheet_project_id
msgid "Default project value for timesheet generated from leave type."
msgstr ""
+"Valeur du projet par défaut pour la feuille de temps générée à partir du "
+"type de congés."
#. module: project_timesheet_holidays
#: code:addons/project_timesheet_holidays/models/hr_holidays.py:30
@@ -48,11 +51,13 @@ msgid ""
"For the leaves to generate timesheet, the internal project and task are "
"requried."
msgstr ""
+"Pour que le congé génère une feuille de temps, le projet interne et la tâche"
+" doivent être spécifiés."
#. module: project_timesheet_holidays
#: model:ir.model.fields,field_description:project_timesheet_holidays.field_hr_holidays_status_timesheet_generate
msgid "Generate Timesheet"
-msgstr ""
+msgstr "Générer une feuille de temps"
#. module: project_timesheet_holidays
#: model:ir.model.fields,help:project_timesheet_holidays.field_hr_holidays_status_timesheet_generate
@@ -60,6 +65,8 @@ msgid ""
"If checked, when validating a leave, timesheet will be generated in the "
"Vacation Project of the company."
msgstr ""
+"Si cette option est cochée, lors de la validation d'un congé, une feuille de"
+" temps sera générée dans le projet Vacances de l'entreprise."
#. module: project_timesheet_holidays
#: code:addons/project_timesheet_holidays/models/res_company.py:30
@@ -68,12 +75,12 @@ msgstr ""
#: model:ir.model.fields,field_description:project_timesheet_holidays.field_res_config_settings_leave_timesheet_project_id
#, python-format
msgid "Internal Project"
-msgstr ""
+msgstr "Projet interne"
#. module: project_timesheet_holidays
#: model:ir.model.fields,field_description:project_timesheet_holidays.field_hr_holidays_status_timesheet_task_id
msgid "Internal Task for timesheet"
-msgstr ""
+msgstr "Tâche interne pour la feuille de temps"
#. module: project_timesheet_holidays
#: model:ir.model,name:project_timesheet_holidays.model_hr_holidays
@@ -89,7 +96,7 @@ msgstr "Demande de congé"
#: model:ir.model.fields,field_description:project_timesheet_holidays.field_res_company_leave_timesheet_task_id
#: model:ir.model.fields,field_description:project_timesheet_holidays.field_res_config_settings_leave_timesheet_task_id
msgid "Leave Task"
-msgstr ""
+msgstr "Tâche Congé"
#. module: project_timesheet_holidays
#: model:ir.model,name:project_timesheet_holidays.model_hr_holidays_status
@@ -117,6 +124,8 @@ msgstr "Tâche"
msgid ""
"The project will contain the timesheet generated when a leave is validated."
msgstr ""
+"Le projet contiendra la feuille de temps générée lors de la validation d'un "
+"congé."
#. module: project_timesheet_holidays
#: model:ir.ui.view,arch_db:project_timesheet_holidays.hr_holiday_status_view_form_inherit
@@ -130,6 +139,8 @@ msgid ""
"You cannot delete timesheet lines attached to a leaves. Please cancel the "
"leaves instead."
msgstr ""
+"Vous ne pouvez pas supprimer une ligne de feuille de temps associée à un "
+"congé. Annulez plutôt le congé."
#. module: project_timesheet_holidays
#: model:ir.model,name:project_timesheet_holidays.model_res_config_settings
diff --git a/addons/purchase/i18n/fr.po b/addons/purchase/i18n/fr.po
index afd600b3d81..920b59466e4 100644
--- a/addons/purchase/i18n/fr.po
+++ b/addons/purchase/i18n/fr.po
@@ -4,16 +4,16 @@
#
# Translators:
# Xavier Belmere <Info@cartmeleon.com>, 2016
-# Martin Trigaux <mat@odoo.com>, 2016
+# Martin Trigaux, 2016
# Maxime Chambreuil <mchambreuil@ursainfosystems.com>, 2016
# Lucas Deliege <lud@odoo.com>, 2016
# Clo <clo@odoo.com>, 2016
# Lionel Sausin <ls@numerigraphe.com>, 2016
-# Fabrice Henrion <fhe@odoo.com>, 2016
+# Fabrice Henrion, 2016
# Alexandre Fayolle <alexandre.fayolle@camptocamp.com>, 2016
# Adriana Ierfino <adriana.ierfino@savoirfairelinux.com>, 2016
# Fabien Pinckaers <fp@openerp.com>, 2016
-# Florian Hatat <mininet@wanadoo.fr>, 2016
+# Florian Hatat, 2016
# Simon CARRIER <carrier.sim@gmail.com>, 2016
# Nancy Bolognesi <nb@microcom.ca>, 2016
# Melanie Bernard <mbe@odoo.com>, 2016
@@ -39,13 +39,14 @@
# fr rev <e2ffr02@hotmail.com>, 2017
# Bertrand LATOUR <divoir@gmail.com>, 2017
# fr rev <e2ffr04@hotmail.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-12-13 14:36+0000\n"
"PO-Revision-Date: 2017-12-13 14:36+0000\n"
-"Last-Translator: fr rev <e2ffr04@hotmail.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -466,6 +467,8 @@ msgid ""
"A sale order that generated this purchase order has been deleted. Check if "
"an action is needed."
msgstr ""
+"Un bon de commande à l'origine de cette commande a été supprimé. Vérifiez si"
+" une action doit être effectué."
#. module: purchase
#: model:ir.model.fields,help:purchase.field_purchase_order_line_product_type
@@ -1040,7 +1043,7 @@ msgstr "Est expédié"
#. module: purchase
#: model:ir.model.fields,field_description:purchase.field_res_config_settings_is_installed_sale
msgid "Is the Sale Module Installed"
-msgstr ""
+msgstr "Le module Vente est-il installé ?"
#. module: purchase
#: model:ir.model.fields,field_description:purchase.field_purchase_order___last_update
diff --git a/addons/purchase/models/account_invoice.py b/addons/purchase/models/account_invoice.py
index ef23444c32c..4847ddf11ee 100644
--- a/addons/purchase/models/account_invoice.py
+++ b/addons/purchase/models/account_invoice.py
@@ -192,13 +192,13 @@ class AccountInvoice(models.Model):
if child.type_tax_use != 'none':
tax_ids.append((4, child.id, None))
price_before = line.get('price', 0.0)
- line.update({'price': company_currency.round(valuation_price_unit * line['quantity'])})
+ line.update({'price': inv.currency_id.round(valuation_price_unit * line['quantity'])})
diff_res.append({
'type': 'src',
'name': i_line.name[:64],
- 'price_unit': company_currency.round(price_unit - valuation_price_unit),
+ 'price_unit': inv.currency_id.round(price_unit - valuation_price_unit),
'quantity': line['quantity'],
- 'price': company_currency.round(price_before - line.get('price', 0.0)),
+ 'price': inv.currency_id.round(price_before - line.get('price', 0.0)),
'account_id': acc,
'product_id': line['product_id'],
'uom_id': line['uom_id'],
diff --git a/addons/purchase/models/purchase.py b/addons/purchase/models/purchase.py
index 579886706d6..8d554fbd663 100644
--- a/addons/purchase/models/purchase.py
+++ b/addons/purchase/models/purchase.py
@@ -746,7 +746,7 @@ class PurchaseOrderLine(models.Model):
qty = 0.0
price_unit = self._get_stock_move_price_unit()
for move in self.move_ids.filtered(lambda x: x.state != 'cancel' and not x.location_dest_id.usage == "supplier"):
- qty += move.product_qty
+ qty += move.product_uom._compute_quantity(move.product_uom_qty, self.product_uom, rounding_method='HALF-UP')
template = {
'name': self.name or '',
'product_id': self.product_id.id,
@@ -770,7 +770,14 @@ class PurchaseOrderLine(models.Model):
}
diff_quantity = self.product_qty - qty
if float_compare(diff_quantity, 0.0, precision_rounding=self.product_uom.rounding) > 0:
- template['product_uom_qty'] = diff_quantity
+ quant_uom = self.product_id.uom_id
+ get_param = self.env['ir.config_parameter'].sudo().get_param
+ if self.product_uom.id != quant_uom.id and get_param('stock.propagate_uom') != '1':
+ product_qty = self.product_uom._compute_quantity(diff_quantity, quant_uom, rounding_method='HALF-UP')
+ template['product_uom'] = quant_uom.id
+ template['product_uom_qty'] = product_qty
+ else:
+ template['product_uom_qty'] = diff_quantity
res.append(template)
return res
diff --git a/addons/purchase/tests/test_create_picking.py b/addons/purchase/tests/test_create_picking.py
index b29e85b3825..9cdfe0fb4fd 100644
--- a/addons/purchase/tests/test_create_picking.py
+++ b/addons/purchase/tests/test_create_picking.py
@@ -174,3 +174,53 @@ class TestCreatePicking(common.TestProductCommon):
customer_move._action_assign()
self.assertEqual(customer_move.state, 'assigned', 'Reservation should work with the new quantity provided by the PO.')
+
+ def test_03_uom(self):
+ """ Buy a dozen of products stocked in units. Check that the quantities on the purchase order
+ lines as well as the received quantities are handled in dozen while the moves themselves
+ are handled in units. Edit the ordered quantities, check that the quantites are correctly
+ updated on the moves. Edit the ir.config_parameter to propagate the uom of the purchase order
+ lines to the moves and edit a last time the ordered quantities. Receive, check the quantities.
+ """
+ uom_unit = self.env.ref('product.product_uom_unit')
+ uom_dozen = self.env.ref('product.product_uom_dozen')
+
+ self.assertEqual(self.product_id_1.uom_po_id.id, uom_unit.id)
+
+ # buy a dozen
+ po = self.env['purchase.order'].create(self.po_vals)
+
+ po.order_line.product_qty = 1
+ po.order_line.product_uom = uom_dozen.id
+ po.button_confirm()
+
+ # the move should be 12 units
+ # note: move.product_qty = computed field, always in the uom of the quant
+ # move.product_uom_qty = stored field representing the initial demand in move.product_uom
+ move1 = po.picking_ids.move_lines[0]
+ self.assertEqual(move1.product_uom_qty, 12)
+ self.assertEqual(move1.product_uom.id, uom_unit.id)
+ self.assertEqual(move1.product_qty, 12)
+
+ # edit the so line, sell 2 dozen, the move should now be 24 units
+ po.order_line.product_qty = 2
+ self.assertEqual(move1.product_uom_qty, 24)
+ self.assertEqual(move1.product_uom.id, uom_unit.id)
+ self.assertEqual(move1.product_qty, 24)
+
+ # force the propagation of the uom, sell 3 dozen
+ self.env['ir.config_parameter'].sudo().set_param('stock.propagate_uom', '1')
+ po.order_line.product_qty = 3
+ move2 = po.picking_ids.move_lines.filtered(lambda m: m.product_uom.id == uom_dozen.id)
+ self.assertEqual(move2.product_uom_qty, 1)
+ self.assertEqual(move2.product_uom.id, uom_dozen.id)
+ self.assertEqual(move2.product_qty, 12)
+
+ # deliver everything
+ move1.quantity_done = 24
+ move2.quantity_done = 1
+ po.picking_ids.button_validate()
+
+ # check the delivered quantity
+ self.assertEqual(po.order_line.qty_received, 3.0)
+
diff --git a/addons/purchase/tests/test_stockvaluation.py b/addons/purchase/tests/test_stockvaluation.py
index 8e7c213d7cb..cb5e4b2040e 100644
--- a/addons/purchase/tests/test_stockvaluation.py
+++ b/addons/purchase/tests/test_stockvaluation.py
@@ -198,3 +198,76 @@ class TestStockValuation(TransactionCase):
self.assertAlmostEqual(move1.price_unit, price_unit_usd_new_rate, places=2)
self.assertAlmostEqual(self.product1.stock_value, price_unit_usd_new_rate * 10, delta=0.1)
+
+ def test_extra_move_fifo_1(self):
+ """ Check that the extra move when over processing a receipt is correctly merged back in
+ the original move.
+ """
+ self.product1.product_tmpl_id.cost_method = 'fifo'
+ po1 = self.env['purchase.order'].create({
+ 'partner_id': self.partner_id.id,
+ 'order_line': [
+ (0, 0, {
+ 'name': self.product1.name,
+ 'product_id': self.product1.id,
+ 'product_qty': 10.0,
+ 'product_uom': self.product1.uom_po_id.id,
+ 'price_unit': 100.0,
+ 'date_planned': datetime.today().strftime(DEFAULT_SERVER_DATETIME_FORMAT),
+ }),
+ ],
+ })
+ po1.button_confirm()
+
+ picking1 = po1.picking_ids[0]
+ move1 = picking1.move_lines[0]
+ move1.quantity_done = 15
+ res_dict = picking1.button_validate()
+ self.assertEqual(res_dict['res_model'], 'stock.overprocessed.transfer')
+ wizard = self.env[(res_dict.get('res_model'))].browse(res_dict.get('res_id'))
+ wizard.action_confirm()
+
+ # there should be only one move
+ self.assertEqual(len(picking1.move_lines), 1)
+ self.assertEqual(move1.price_unit, 100)
+ self.assertEqual(move1.product_qty, 15)
+ self.assertEqual(self.product1.stock_value, 1500)
+
+ def test_backorder_fifo_1(self):
+ """ Check that the backordered move when under processing a receipt correctly keep the
+ price unit of the original move.
+ """
+ self.product1.product_tmpl_id.cost_method = 'fifo'
+ po1 = self.env['purchase.order'].create({
+ 'partner_id': self.partner_id.id,
+ 'order_line': [
+ (0, 0, {
+ 'name': self.product1.name,
+ 'product_id': self.product1.id,
+ 'product_qty': 10.0,
+ 'product_uom': self.product1.uom_po_id.id,
+ 'price_unit': 100.0,
+ 'date_planned': datetime.today().strftime(DEFAULT_SERVER_DATETIME_FORMAT),
+ }),
+ ],
+ })
+ po1.button_confirm()
+
+ picking1 = po1.picking_ids[0]
+ move1 = picking1.move_lines[0]
+ move1.quantity_done = 5
+ res_dict = picking1.button_validate()
+ self.assertEqual(res_dict['res_model'], 'stock.backorder.confirmation')
+ wizard = self.env[(res_dict.get('res_model'))].browse(res_dict.get('res_id'))
+ wizard.process()
+
+ self.assertEqual(len(picking1.move_lines), 1)
+ self.assertEqual(move1.price_unit, 100)
+ self.assertEqual(move1.product_qty, 5)
+
+ picking2 = po1.picking_ids.filtered(lambda p: p.backorder_id)
+ move2 = picking2.move_lines[0]
+ self.assertEqual(len(picking2.move_lines), 1)
+ self.assertEqual(move2.price_unit, 100)
+ self.assertEqual(move2.product_qty, 5)
+
diff --git a/addons/purchase_requisition/i18n/fr.po b/addons/purchase_requisition/i18n/fr.po
index 749a9f927aa..c2c3e351403 100644
--- a/addons/purchase_requisition/i18n/fr.po
+++ b/addons/purchase_requisition/i18n/fr.po
@@ -4,10 +4,10 @@
#
# Translators:
# Xavier Belmere <Info@cartmeleon.com>, 2016
-# Martin Trigaux <mat@odoo.com>, 2016
+# Martin Trigaux, 2016
# Melanie Bernard <mbe@odoo.com>, 2016
# Maxime Chambreuil <mchambreuil@ursainfosystems.com>, 2016
-# Florian Hatat <mininet@wanadoo.fr>, 2016
+# Florian Hatat, 2016
# Miguel Vidali <mvidali129@gmail.com>, 2016
# Nancy Bolognesi <nb@microcom.ca>, 2016
# Lionel Sausin <ls@numerigraphe.com>, 2016
@@ -21,13 +21,14 @@
# Jérôme Tanché <jerome.tanche@ouest-dsi.fr>, 2017
# Eloïse Stilmant <est@odoo.com>, 2017
# lap.odoo <lap@odoo.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-12-13 14:37+0000\n"
"PO-Revision-Date: 2017-12-13 14:37+0000\n"
-"Last-Translator: lap.odoo <lap@odoo.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -98,24 +99,24 @@ msgstr "Date limite de l'accord"
#. module: purchase_requisition
#: model:ir.model.fields,field_description:purchase_requisition.field_purchase_requisition_name
msgid "Agreement Reference"
-msgstr ""
+msgstr "Référence du contrat"
#. module: purchase_requisition
#: model:ir.model.fields,field_description:purchase_requisition.field_purchase_requisition_type_exclusive
msgid "Agreement Selection Type"
-msgstr ""
+msgstr "Type de sélection du contrat"
#. module: purchase_requisition
#: model:ir.model.fields,field_description:purchase_requisition.field_purchase_requisition_type_id_10747
#: model:ir.model.fields,field_description:purchase_requisition.field_purchase_requisition_type_name
#: model:ir.ui.view,arch_db:purchase_requisition.view_purchase_requisition_type_form
msgid "Agreement Type"
-msgstr ""
+msgstr "Type de contrat"
#. module: purchase_requisition
#: model:ir.ui.view,arch_db:purchase_requisition.res_config_settings_view_form
msgid "Agreement Types"
-msgstr ""
+msgstr "Types de contrats"
#. module: purchase_requisition
#: model:ir.model.fields,field_description:purchase_requisition.field_purchase_requisition_account_analytic_id
@@ -131,7 +132,7 @@ msgstr "Sélection des offres"
#. module: purchase_requisition
#: model:purchase.requisition.type,name:purchase_requisition.type_single
msgid "Blanket Order"
-msgstr ""
+msgstr "Commande à livraison échelonnée"
#. module: purchase_requisition
#: model:ir.actions.report,name:purchase_requisition.action_report_purchase_requisitions
@@ -153,7 +154,7 @@ msgstr "Annulé"
#: code:addons/purchase_requisition/models/purchase_requisition.py:82
#, python-format
msgid "Cancelled by the agreement associated to this quotation."
-msgstr ""
+msgstr "Annulé par le contrat associé à ce devis."
#. module: purchase_requisition
#: model:ir.actions.act_window,help:purchase_requisition.action_purchase_requisition
@@ -199,7 +200,7 @@ msgstr "Créé le"
#. module: purchase_requisition
#: model:ir.ui.view,arch_db:purchase_requisition.view_purchase_requisition_type_form
msgid "Data for new quotations"
-msgstr ""
+msgstr "Données pour nouveaux devis"
#. module: purchase_requisition
#: model:ir.model.fields,field_description:purchase_requisition.field_purchase_requisition_schedule_date
@@ -221,7 +222,7 @@ msgstr "Nom affiché"
#. module: purchase_requisition
#: selection:purchase.requisition.type,line_copy:0
msgid "Do not create RfQ lines automatically"
-msgstr ""
+msgstr "Ne pas créer de lignes de demande de devis automatiquement"
#. module: purchase_requisition
#: model:ir.ui.view,arch_db:purchase_requisition.view_purchase_requisition_filter
@@ -233,7 +234,7 @@ msgstr "Fait"
#. module: purchase_requisition
#: model:ir.model.fields,field_description:purchase_requisition.field_purchase_requisition_line_move_dest_id
msgid "Downstream Move"
-msgstr ""
+msgstr "Mouvement en aval"
#. module: purchase_requisition
#: model:ir.ui.view,arch_db:purchase_requisition.view_purchase_requisition_filter
@@ -251,6 +252,8 @@ msgstr "Mois de fin"
msgid ""
"Example of purchase agreements include call for tenders and blanket orders."
msgstr ""
+"Les exemples de contrats d'achat comprennent les appels d'offres et les "
+"commandes à livraison échelonnée."
#. module: purchase_requisition
#: model:ir.actions.act_window,help:purchase_requisition.action_purchase_requisition
@@ -259,6 +262,9 @@ msgid ""
" (e.g. a year) and you order products within this agreement, benefiting\n"
" from the negociated prices."
msgstr ""
+"Dans le cas d'une commande à livraison échelonnée, vous pouvez enregistrer un contrat pour une période spécifique\n"
+" (par ex. un an) et commander les produits en vertu de ce contrat afin de bénéficier\n"
+" des prix négociés."
#. module: purchase_requisition
#: model:ir.ui.view,arch_db:purchase_requisition.view_purchase_requisition_filter
@@ -280,11 +286,15 @@ msgid ""
" been registered, you can review and compare them and you can\n"
" validate some and cancel others."
msgstr ""
+"Dans le cas d'un appel d'offres, vous pouvez enregistrer les produits que vous souhaitez acheter\n"
+" et générer des demandes de devis pour les fournisseurs. Une fois les offres\n"
+" enregistrées, vous pouvez les examiner et les comparer, puis en\n"
+" valider certaines et annuler les autres."
#. module: purchase_requisition
#: model:ir.ui.view,arch_db:purchase_requisition.view_purchase_requisition_filter
msgid "In negotiation"
-msgstr ""
+msgstr "En cours de négociation"
#. module: purchase_requisition
#: model:ir.model.fields,field_description:purchase_requisition.field_purchase_requisition___last_update
@@ -325,7 +335,7 @@ msgstr ""
#. module: purchase_requisition
#: model:ir.ui.view,arch_db:purchase_requisition.view_purchase_requisition_filter
msgid "New Agreements"
-msgstr ""
+msgstr "Nouveaux contrats"
#. module: purchase_requisition
#: model:ir.ui.view,arch_db:purchase_requisition.view_purchase_requisition_form
@@ -462,7 +472,7 @@ msgstr "Ligne de l'appel d'offre"
#. module: purchase_requisition
#: model:purchase.requisition.type,name:purchase_requisition.type_multi
msgid "Purchase Tender"
-msgstr ""
+msgstr "Appel d'offres"
#. module: purchase_requisition
#: model:ir.actions.act_window,name:purchase_requisition.act_res_partner_2_purchase_order
@@ -482,12 +492,12 @@ msgstr "Quantité"
#. module: purchase_requisition
#: model:ir.ui.view,arch_db:purchase_requisition.view_purchase_requisition_form
msgid "RFQs/Orders"
-msgstr ""
+msgstr "Demandes de devis/commandes"
#. module: purchase_requisition
#: model:ir.ui.view,arch_db:purchase_requisition.product_template_form_view_inherit
msgid "Reordering"
-msgstr ""
+msgstr "Réapprovisionnement"
#. module: purchase_requisition
#: model:ir.actions.act_window,name:purchase_requisition.action_purchase_requisition_to_so
@@ -522,7 +532,7 @@ msgstr "Date prévue"
#. module: purchase_requisition
#: model:ir.ui.view,arch_db:purchase_requisition.view_purchase_requisition_filter
msgid "Search Purchase Agreements"
-msgstr ""
+msgstr "Rechercher un contrat d'achat"
#. module: purchase_requisition
#: selection:purchase.requisition.type,exclusive:0
@@ -541,6 +551,9 @@ msgid ""
"\n"
" Select multiple RFQ: allows multiple purchase orders. On confirmation of a purchase order it does not cancel the remaining orders"
msgstr ""
+"Sélectionner une seule demande de devis (exclusive) : lorsqu'un bon de commande est confirmé, annuler les autres bons de commande.\n"
+"\n"
+" Sélectionner plusieurs demandes de devis : autoriser les demandes de devis multiples. Lorsqu'un bon de commande est confirmé, les autres bons ne sont pas annulés."
#. module: purchase_requisition
#: model:ir.model.fields,field_description:purchase_requisition.field_purchase_requisition_type_sequence
@@ -550,7 +563,7 @@ msgstr "Séquence"
#. module: purchase_requisition
#: selection:purchase.requisition.type,quantity_copy:0
msgid "Set quantities manually"
-msgstr ""
+msgstr "Définir les quantités manuellement"
#. module: purchase_requisition
#: model:ir.ui.view,arch_db:purchase_requisition.view_purchase_requisition_filter
@@ -598,12 +611,12 @@ msgstr "Prix unitaire"
#. module: purchase_requisition
#: selection:purchase.requisition.type,line_copy:0
msgid "Use lines of agreement"
-msgstr ""
+msgstr "Utiliser les lignes du contrat"
#. module: purchase_requisition
#: selection:purchase.requisition.type,quantity_copy:0
msgid "Use quantities of agreement"
-msgstr ""
+msgstr "Utiliser les quantités du contrat"
#. module: purchase_requisition
#: model:ir.ui.view,arch_db:purchase_requisition.view_purchase_requisition_form
@@ -625,6 +638,8 @@ msgstr "Entrepôt"
#, python-format
msgid "You cannot confirm call because there is no product line."
msgstr ""
+"Vous ne pouvez pas confirmer l'appel d'offres car il n'y a aucune ligne de "
+"produit."
#. module: purchase_requisition
#: code:addons/purchase_requisition/models/purchase_requisition.py:105
@@ -633,6 +648,8 @@ msgid ""
"You have to cancel or validate every RfQ before closing the purchase "
"requisition."
msgstr ""
+"Vous devez annuler ou valider chaque demande de devis avant de clôturer la "
+"demande d'achat."
#. module: purchase_requisition
#: model:ir.ui.view,arch_db:purchase_requisition.view_purchase_requisition_form
diff --git a/addons/repair/i18n/es.po b/addons/repair/i18n/es.po
index 9d4689d9ff2..fa12ae3c32e 100644
--- a/addons/repair/i18n/es.po
+++ b/addons/repair/i18n/es.po
@@ -48,7 +48,7 @@ msgstr "${(object.name or '').replace('/','_')}"
#. module: mrp_repair
#: model:mail.template,subject:mrp_repair.mail_template_mrp_repair_quotation
msgid "${object.partner_id.name} Repair Orders (Ref ${object.name or 'n/a' })"
-msgstr ""
+msgstr "${object.partner_id.name}"
#. module: mrp_repair
#: model:ir.ui.view,arch_db:mrp_repair.report_mrprepairorder
@@ -291,7 +291,7 @@ msgstr "Cliente"
#. module: mrp_repair
#: model:ir.model.fields,field_description:mrp_repair.field_mrp_repair_default_address_id
msgid "Default Address"
-msgstr ""
+msgstr "Dirección por defecto"
#. module: mrp_repair
#: model:ir.model.fields,field_description:mrp_repair.field_mrp_repair_address_id
@@ -591,7 +591,7 @@ msgstr "Empresa"
#: model:ir.model.fields,field_description:mrp_repair.field_mrp_repair_operations
#: model:ir.ui.view,arch_db:mrp_repair.view_repair_order_form
msgid "Parts"
-msgstr ""
+msgstr "Partes"
#. module: mrp_repair
#: model:ir.ui.view,arch_db:mrp_repair.report_mrprepairorder
@@ -611,7 +611,7 @@ msgstr "Tarifa de la empresa seleccionada"
#. module: mrp_repair
#: model:ir.ui.view,arch_db:mrp_repair.view_repair_order_form
msgid "Print Quotation"
-msgstr ""
+msgstr "Imprimir presupuesto"
#. module: mrp_repair
#: model:ir.model.fields,field_description:mrp_repair.field_mrp_repair_fee_product_id
@@ -810,7 +810,7 @@ msgstr ""
#. module: mrp_repair
#: model:ir.ui.view,arch_db:mrp_repair.view_repair_order_form
msgid "Send Quotation"
-msgstr ""
+msgstr "Enviar presupuesto"
#. module: mrp_repair
#: code:addons/mrp_repair/models/mrp_repair.py:540
diff --git a/addons/repair/views/repair_views.xml b/addons/repair/views/repair_views.xml
index 6a3fa0ca0a4..c0842efbe28 100644
--- a/addons/repair/views/repair_views.xml
+++ b/addons/repair/views/repair_views.xml
@@ -50,7 +50,7 @@
</h1>
<group>
<group>
- <field name="tracking" invisible="1"/>
+ <field name="tracking" invisible="1" attrs="{'readonly': 1}"/>
<field name="product_id" domain="[('type', 'in', ['product', 'consu'])]"/>
<label for="product_qty"/>
<div class="o_row">
@@ -115,7 +115,7 @@
<field name="product_uom_qty" string="Quantity"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="price_unit"/>
- <field name="tax_id" widget="many2many_tags"/>
+ <field name="tax_id" widget="many2many_tags" domain="[('type_tax_use','=','sale')]"/>
<field name="price_subtotal" widget="monetary"/>
</tree>
</field>
diff --git a/addons/resource/i18n/fr.po b/addons/resource/i18n/fr.po
index 78eb30206da..4045c7bfd7a 100644
--- a/addons/resource/i18n/fr.po
+++ b/addons/resource/i18n/fr.po
@@ -4,7 +4,7 @@
#
# Translators:
# Xavier Belmere <Info@cartmeleon.com>, 2016
-# Martin Trigaux <mat@odoo.com>, 2016
+# Martin Trigaux, 2016
# Olivier Lenoir <olivier.lenoir@free.fr>, 2016
# Lucas Deliege <lud@odoo.com>, 2016
# Nancy Bolognesi <nb@microcom.ca>, 2016
@@ -14,13 +14,14 @@
# Fabien Pinckaers <fp@openerp.com>, 2016
# Eloïse Stilmant <est@odoo.com>, 2017
# fr trans <e2ftrans1@yahoo.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: fr trans <e2ftrans1@yahoo.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -89,7 +90,7 @@ msgstr "Jour de la semaine"
#: model:ir.model.fields,field_description:resource.field_res_company_resource_calendar_id
#: model:ir.model.fields,field_description:resource.field_res_users_resource_calendar_id
msgid "Default Working Hours"
-msgstr ""
+msgstr "Heures de travail par défaut"
#. module: resource
#: model:ir.model.fields,help:resource.field_hr_employee_resource_calendar_id
@@ -160,7 +161,7 @@ msgstr "Vendredi Matin"
#: model:ir.model.fields,field_description:resource.field_resource_calendar_global_leave_ids
#: model:ir.ui.view,arch_db:resource.resource_calendar_form
msgid "Global Leaves"
-msgstr ""
+msgstr "Congés globaux"
#. module: resource
#: model:ir.ui.view,arch_db:resource.view_resource_calendar_leaves_search
@@ -334,7 +335,7 @@ msgstr "Congés de la ressource"
#. module: resource
#: model:ir.model,name:resource.model_resource_mixin
msgid "Resource Mixin"
-msgstr ""
+msgstr "Combinaison de ressources"
#. module: resource
#: model:ir.model.fields,field_description:resource.field_resource_resource_resource_type
@@ -428,13 +429,13 @@ msgstr "Dimanche"
#. module: resource
#: model:ir.model,name:resource.model_resource_test
msgid "Test Resource Model"
-msgstr ""
+msgstr "Tester le modèle de ressource"
#. module: resource
#: code:addons/resource/models/resource.py:689
#, python-format
msgid "The efficiency factor cannot be equal to 0."
-msgstr ""
+msgstr "Le facteur de rendement ne peut pas être égal à 0."
#. module: resource
#: model:ir.model.fields,help:resource.field_resource_resource_time_efficiency
@@ -471,7 +472,7 @@ msgstr "Jeudi Matin "
#. module: resource
#: sql_constraint:resource.resource:0
msgid "Time efficiency must be strictly positive"
-msgstr ""
+msgstr "Le rendement temporal doit être strictement positif."
#. module: resource
#: model:ir.model.fields,field_description:resource.field_resource_calendar_leaves_tz
@@ -484,6 +485,8 @@ msgid ""
"Timezone used when encoding the leave. It is used to correctlylocalize leave"
" hours when computing time intervals."
msgstr ""
+"Fuseau horaire utilisé lors de la saisie du congé. Permet de déterminer les "
+"heures de congé exactes lors du calcul des intervalles de temps."
#. module: resource
#: selection:resource.calendar.attendance,dayofweek:0
@@ -543,7 +546,7 @@ msgstr "Détail du travail"
#. module: resource
#: model:ir.ui.view,arch_db:resource.resource_calendar_form
msgid "Work Resources"
-msgstr ""
+msgstr "Ressources de travail"
#. module: resource
#: model:ir.model.fields,field_description:resource.field_resource_calendar_attendance_hour_from
@@ -570,7 +573,7 @@ msgstr "Heures de travail"
#: code:addons/resource/models/resource.py:60
#, python-format
msgid "Working Hours of %s"
-msgstr ""
+msgstr "Heures de travail de %s"
#. module: resource
#: model:ir.ui.view,arch_db:resource.view_resource_resource_search
diff --git a/addons/sale/i18n/de.po b/addons/sale/i18n/de.po
index 46801aa2931..9a2166cc52a 100644
--- a/addons/sale/i18n/de.po
+++ b/addons/sale/i18n/de.po
@@ -539,7 +539,7 @@ msgstr ""
#. module: sale
#: model:ir.model,name:sale.model_report_all_channels_sales
msgid "All sales orders grouped by sales channels"
-msgstr ""
+msgstr "Alle Verkaufsaufträge gruppiert nach Vertriebskanälen"
#. module: sale
#: model:ir.ui.view,arch_db:sale.res_config_settings_view_form
@@ -2469,12 +2469,12 @@ msgstr "Steuer anzeigen B2C"
#. module: sale
#: selection:res.config.settings,sale_show_tax:0
msgid "Tax-Excluded Prices"
-msgstr ""
+msgstr "Preise ohne Steuern"
#. module: sale
#: selection:res.config.settings,sale_show_tax:0
msgid "Tax-Included Prices"
-msgstr ""
+msgstr "Preise mit Steuern"
#. module: sale
#: model:ir.model.fields,field_description:sale.field_sale_order_amount_tax
diff --git a/addons/sale/i18n/fr.po b/addons/sale/i18n/fr.po
index cd54a31d92c..4f9e6b9abf6 100644
--- a/addons/sale/i18n/fr.po
+++ b/addons/sale/i18n/fr.po
@@ -38,13 +38,14 @@
# Bertrand LATOUR <divoir@gmail.com>, 2017
# fr rev <e2ffr02@hotmail.com>, 2017
# e2f <projects@e2f.com>, 2018
+# fr trans <e2ffr05@hotmail.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-12-13 14:37+0000\n"
"PO-Revision-Date: 2017-12-13 14:37+0000\n"
-"Last-Translator: e2f <projects@e2f.com>, 2018\n"
+"Last-Translator: fr trans <e2ffr05@hotmail.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -549,7 +550,7 @@ msgstr ""
#. module: sale
#: model:ir.ui.view,arch_db:sale.portal_order_page
msgid "Accept &amp; Sign"
-msgstr ""
+msgstr "Accepter et signer"
#. module: sale
#: model:ir.model.fields,help:sale.field_sale_advance_payment_inv_deposit_account_id
@@ -1658,7 +1659,7 @@ msgstr "Seul entier sera une valeur valide."
#: code:addons/sale/controllers/portal.py:209
#, python-format
msgid "Operation not allowed"
-msgstr ""
+msgstr "Opération non autorisée"
#. module: sale
#: model:ir.ui.view,arch_db:sale.portal_my_home_menu_sale
@@ -1805,7 +1806,7 @@ msgstr "Autres informations"
#. module: sale
#: model:ir.actions.report,name:sale.action_report_pro_forma_invoice
msgid "PRO-FORMA Invoice"
-msgstr ""
+msgstr "Facture pro-forma"
#. module: sale
#: model:ir.model.fields,field_description:sale.field_report_all_channels_sales_partner_id
@@ -2504,7 +2505,7 @@ msgstr "Signature"
#: code:addons/sale/controllers/portal.py:211
#, python-format
msgid "Signature is missing."
-msgstr ""
+msgstr "La signature est manquante."
#. module: sale
#: model:ir.ui.view,arch_db:sale.res_config_settings_view_form
@@ -2704,7 +2705,7 @@ msgstr ""
#: code:addons/sale/models/sale.py:430 code:addons/sale/models/sale.py:434
#, python-format
msgid "There is no invoiceable line."
-msgstr ""
+msgstr "Il n'y a aucune ligne à facturer."
#. module: sale
#: model:ir.ui.view,arch_db:sale.portal_order_error
diff --git a/addons/sale/models/analytic.py b/addons/sale/models/analytic.py
index 4eeebd2f4c6..c836f337c9e 100644
--- a/addons/sale/models/analytic.py
+++ b/addons/sale/models/analytic.py
@@ -27,8 +27,8 @@ class AccountAnalyticLine(models.Model):
def write(self, values):
result = super(AccountAnalyticLine, self).write(values)
if 'so_line' not in values: # allow to force a False value for so_line
- self.sudo().filtered(lambda aal: not aal.so_line and aal.product_id and aal.product_id.expense_policy != 'no')._sale_determine_order_line()
- return result
+ # only take the AAL from expense or vendor bill, meaning having a negative amount
+ self.sudo().filtered(lambda aal: not aal.so_line and aal.product_id and aal.product_id.expense_policy != 'no' and aal.amount <= 0)._sale_determine_order_line()
# ----------------------------------------------------------
# Vendor Bill / Expense : determine the Sale Order to reinvoice
diff --git a/addons/sale_crm/i18n/fr.po b/addons/sale_crm/i18n/fr.po
index ce9478e31d2..38ee48f28b0 100644
--- a/addons/sale_crm/i18n/fr.po
+++ b/addons/sale_crm/i18n/fr.po
@@ -44,7 +44,7 @@ msgstr "Facture"
#. module: sale_crm
#: model:ir.model.fields,field_description:sale_crm.field_res_users_target_sales_invoiced
msgid "Invoiced in Sales Orders Target"
-msgstr ""
+msgstr "Facturé dans l'objectif de bons de commande"
#. module: sale_crm
#: model:ir.model,name:sale_crm.model_crm_lead
@@ -104,7 +104,7 @@ msgstr "Devis"
#. module: sale_crm
#: model:ir.actions.act_window,name:sale_crm.sale_action_orders
msgid "Sale orders"
-msgstr ""
+msgstr "Bons de commande"
#. module: sale_crm
#: model:ir.model,name:sale_crm.model_crm_team
diff --git a/addons/sale_mrp/tests/test_sale_mrp_flow.py b/addons/sale_mrp/tests/test_sale_mrp_flow.py
index f6268534ef7..1152b7fffa3 100644
--- a/addons/sale_mrp/tests/test_sale_mrp_flow.py
+++ b/addons/sale_mrp/tests/test_sale_mrp_flow.py
@@ -166,8 +166,8 @@ class TestSaleMrpFlow(common.TransactionCase):
mnf_product_a = self.env['mrp.production'].search([('product_id', '=', product_a.id)])
self.assertTrue(mnf_product_a, 'Manufacturing order not created.')
- self.assertEqual(mnf_product_a.product_qty, 10, 'Wrong product quantity in manufacturing order.')
- self.assertEqual(mnf_product_a.product_uom_id, self.uom_dozen, 'Wrong unit of measure in manufacturing order.')
+ self.assertEqual(mnf_product_a.product_qty, 120, 'Wrong product quantity in manufacturing order.')
+ self.assertEqual(mnf_product_a.product_uom_id, self.uom_unit, 'Wrong unit of measure in manufacturing order.')
self.assertEqual(mnf_product_a.state, 'confirmed', 'Manufacturing order should be confirmed.')
# ------------------------------------------------------------------------------------------
diff --git a/addons/sale_payment/i18n/fr.po b/addons/sale_payment/i18n/fr.po
index d1f27525264..288c818acd0 100644
--- a/addons/sale_payment/i18n/fr.po
+++ b/addons/sale_payment/i18n/fr.po
@@ -108,7 +108,7 @@ msgstr "Paiement en attente"
#. module: sale_payment
#: model:ir.ui.view,arch_db:sale_payment.crm_team_salesteams_view_kanban_inherit_website_portal_sale
msgid "Awaiting Payments"
-msgstr ""
+msgstr "Paiements en attente"
#. module: sale_payment
#: code:addons/sale_payment/controllers/payment.py:52
diff --git a/addons/sale_stock/i18n/fr.po b/addons/sale_stock/i18n/fr.po
index 7dd0f57747b..96a5af81883 100644
--- a/addons/sale_stock/i18n/fr.po
+++ b/addons/sale_stock/i18n/fr.po
@@ -4,14 +4,14 @@
#
# Translators:
# Xavier Belmere <Info@cartmeleon.com>, 2016
-# Martin Trigaux <mat@odoo.com>, 2016
+# Martin Trigaux, 2016
# Fabien Pinckaers <fp@openerp.com>, 2016
# Simon CARRIER <carrier.sim@gmail.com>, 2016
# Leo Schmitt <inactive+lschmitt@transifex.com>, 2016
# Maxime Chambreuil <mchambreuil@ursainfosystems.com>, 2016
# Xavier Symons <xsy@openerp.com>, 2017
# Melanie Bernard <mbe@odoo.com>, 2017
-# Florian Hatat <mininet@wanadoo.fr>, 2017
+# Florian Hatat, 2017
# Sébastien Le Ray <sebastien-github@orniz.org>, 2017
# lap.odoo <lap@odoo.com>, 2017
# Maximilien Tantin <maximilien.tantin@horanet.com>, 2017
@@ -19,13 +19,14 @@
# Eloïse Stilmant <est@odoo.com>, 2017
# Lucas Deliege <lud@odoo.com>, 2017
# Olivier Lenoir <olivier.lenoir@free.fr>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-12-13 14:37+0000\n"
"PO-Revision-Date: 2017-12-13 14:37+0000\n"
-"Last-Translator: Olivier Lenoir <olivier.lenoir@free.fr>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -156,7 +157,7 @@ msgstr "Afficher les incotermes sur les ordres de vente et les factures liées"
#. module: sale_stock
#: model:ir.ui.view,arch_db:sale_stock.res_config_settings_view_form_sale
msgid "Display incoterms on orders &amp; invoices"
-msgstr ""
+msgstr "Afficher les incoterms sur les commandes et les factures"
#. module: sale_stock
#: model:res.groups,name:sale_stock.group_route_so_lines
@@ -219,6 +220,10 @@ msgid ""
"for delivery that many days earlier than the actual promised date, to cope "
"with unexpected delays in the supply chain."
msgstr ""
+"Marge d'erreur pour les dates annoncées aux clients. Permet de spécifier le "
+"décalage entre la date de livraison prévue et la date de livraison annoncée "
+"afin de faire face aux retards inattendus dans la chaîne "
+"d'approvisionnement."
#. module: sale_stock
#: model:ir.model.fields,help:sale_stock.field_res_company_security_lead
@@ -293,6 +298,11 @@ msgid ""
"or/and frequent stock-outs. By default, the scheduler runs automatically "
"every 24 hours."
msgstr ""
+"Il est conseillé de réserver les produits manuellement en créant des bons de"
+" livraison ou en exécutant le planificateur afin de mieux gérer les "
+"priorités en cas de longs délais clients ou de ruptures de stock fréquentes."
+" Par défaut, le planificateur s'exécute automatiquement toutes les 24 "
+"heures."
#. module: sale_stock
#: model:ir.model.fields,field_description:sale_stock.field_sale_order_line_route_id
@@ -302,12 +312,12 @@ msgstr "Route"
#. module: sale_stock
#: model:ir.ui.view,arch_db:sale_stock.res_config_settings_view_form_sale
msgid "Routes for Sales Order Lines"
-msgstr ""
+msgstr "Itinéraires pour les lignes de bon de commande"
#. module: sale_stock
#: model:ir.model.fields,field_description:sale_stock.field_stock_move_sale_line_id
msgid "Sale Line"
-msgstr ""
+msgstr "Ligne de vente"
#. module: sale_stock
#: model:ir.model.fields,field_description:sale_stock.field_procurement_group_sale_id
@@ -412,6 +422,11 @@ msgid ""
"available in sales orders, routes must have 'Sales Order Line' option "
"checked in their setup form."
msgstr ""
+"Permet d'imposer un itinéraire spécifique pour une ligne de bon de commande "
+"(p. ex. livraison directe, fabrication à la demande) en cas de circonstances"
+" inhabituelles. Pour qu'un itinéraire soit disponible dans les bons de "
+"commande, l'option « Ligne de bon de commande » doit être cochée dans son "
+"formulaire de configuration."
#. module: sale_stock
#: code:addons/sale_stock/models/sale_order.py:298
diff --git a/addons/sale_stock/models/sale_order.py b/addons/sale_stock/models/sale_order.py
index 8a2c383501a..6cb0f378202 100644
--- a/addons/sale_stock/models/sale_order.py
+++ b/addons/sale_stock/models/sale_order.py
@@ -306,7 +306,7 @@ class SaleOrderLine(models.Model):
continue
qty = 0.0
for move in line.move_ids.filtered(lambda r: r.state != 'cancel'):
- qty += move.product_qty
+ qty += move.product_uom._compute_quantity(move.product_uom_qty, line.product_uom, rounding_method='HALF-UP')
if float_compare(qty, line.product_uom_qty, precision_digits=precision) >= 0:
continue
@@ -331,8 +331,16 @@ class SaleOrderLine(models.Model):
values = line._prepare_procurement_values(group_id=group_id)
product_qty = line.product_uom_qty - qty
+
+ procurement_uom = line.product_uom
+ quant_uom = line.product_id.uom_id
+ get_param = self.env['ir.config_parameter'].sudo().get_param
+ if procurement_uom.id != quant_uom.id and get_param('stock.propagate_uom') != '1':
+ product_qty = line.product_uom._compute_quantity(product_qty, quant_uom, rounding_method='HALF-UP')
+ procurement_uom = quant_uom
+
try:
- self.env['procurement.group'].run(line.product_id, product_qty, line.product_uom, line.order_id.partner_shipping_id.property_stock_customer, line.name, line.order_id.name, values)
+ self.env['procurement.group'].run(line.product_id, product_qty, procurement_uom, line.order_id.partner_shipping_id.property_stock_customer, line.name, line.order_id.name, values)
except UserError as error:
errors.append(error.name)
if errors:
diff --git a/addons/sale_stock/tests/test_sale_stock.py b/addons/sale_stock/tests/test_sale_stock.py
index e349a838eeb..42c3ca84a98 100644
--- a/addons/sale_stock/tests/test_sale_stock.py
+++ b/addons/sale_stock/tests/test_sale_stock.py
@@ -246,8 +246,8 @@ class TestSaleStock(TestSale):
the new move lines.
"""
# sell two products
- item1 = self.products['prod_order']
- item2 = self.products['prod_del']
+ item1 = self.products['prod_order'] # consumable
+ item2 = self.products['prod_del'] # stockable
self.so = self.env['sale.order'].create({
'partner_id': self.partner.id,
@@ -259,6 +259,66 @@ class TestSaleStock(TestSale):
self.so.action_confirm()
# deliver them
+ # One of the move is for a consumable product, thus is assigned. The second one is for a
+ # stockable product, thus is unavailable. Hitting `button_validate` will first ask to
+ # process all the reserved quantities and, if the user chose to process, a second wizard
+ # will ask to create a backorder for the unavailable product.
+ self.assertEquals(len(self.so.picking_ids), 1)
+ res_dict = self.so.picking_ids[0].button_validate()
+ wizard = self.env[(res_dict.get('res_model'))].browse(res_dict.get('res_id'))
+ self.assertEqual(wizard._name, 'stock.immediate.transfer')
+ res_dict = wizard.process()
+ wizard = self.env[(res_dict.get('res_model'))].browse(res_dict.get('res_id'))
+ self.assertEqual(wizard._name, 'stock.backorder.confirmation')
+ wizard.process()
+
+ # Now, the original picking is done and there is a new one (the backorder).
+ self.assertEquals(len(self.so.picking_ids), 2)
+ for picking in self.so.picking_ids:
+ move = picking.move_lines
+ if picking.backorder_id:
+ self.assertEqual(move.product_id.id, item2.id)
+ self.assertEqual(move.state, 'confirmed')
+ else:
+ self.assertEqual(picking.move_lines.product_id.id, item1.id)
+ self.assertEqual(move.state, 'done')
+
+ # update the two original sale order lines
+ self.so.write({
+ 'order_line': [
+ (1, self.so.order_line[0].id, {'product_uom_qty': 2}),
+ (1, self.so.order_line[1].id, {'product_uom_qty': 2}),
+ ]
+ })
+ # a single picking should be created for the new delivery
+ self.assertEquals(len(self.so.picking_ids), 2)
+ backorder = self.so.picking_ids.filtered(lambda p: p.backorder_id)
+ self.assertEqual(len(backorder.move_lines), 2)
+ for backorder_move in backorder.move_lines:
+ if backorder_move.product_id.id == item1.id:
+ self.assertEqual(backorder_move.product_qty, 1)
+ elif backorder_move.product_id.id == item2.id:
+ self.assertEqual(backorder_move.product_qty, 2)
+
+ def test_05_create_picking_update_saleorderline(self):
+ """ Same test than test_04 but only with enough products in stock so that the reservation
+ is successful.
+ """
+ # sell two products
+ item1 = self.products['prod_order'] # consumable
+ item2 = self.products['prod_del'] # stockable
+
+ self.env['stock.quant']._update_available_quantity(item2, self.env.ref('stock.stock_location_stock'), 2)
+ self.so = self.env['sale.order'].create({
+ 'partner_id': self.partner.id,
+ 'order_line': [
+ (0, 0, {'name': item1.name, 'product_id': item1.id, 'product_uom_qty': 1, 'product_uom': item1.uom_id.id, 'price_unit': item1.list_price}),
+ (0, 0, {'name': item2.name, 'product_id': item2.id, 'product_uom_qty': 1, 'product_uom': item2.uom_id.id, 'price_unit': item2.list_price}),
+ ],
+ })
+ self.so.action_confirm()
+
+ # deliver them
self.assertEquals(len(self.so.picking_ids), 1)
self.so.picking_ids[0].force_assign()
res_dict = self.so.picking_ids[0].button_validate()
@@ -305,3 +365,61 @@ class TestSaleStock(TestSale):
self.assertEqual(len(so1.picking_ids), 2)
picking2 = so1.picking_ids.filtered(lambda p: p.state != 'cancel')
self.assertEqual(picking2.partner_id.id, partner2)
+
+ def test_06_uom(self):
+ """ Sell a dozen of products stocked in units. Check that the quantities on the sale order
+ lines as well as the delivered quantities are handled in dozen while the moves themselves
+ are handled in units. Edit the ordered quantities, check that the quantites are correctly
+ updated on the moves. Edit the ir.config_parameter to propagate the uom of the sale order
+ lines to the moves and edit a last time the ordered quantities. Deliver, check the
+ quantities.
+ """
+ uom_unit = self.env.ref('product.product_uom_unit')
+ uom_dozen = self.env.ref('product.product_uom_dozen')
+ item1 = self.products['prod_order']
+
+ self.assertEqual(item1.uom_id.id, uom_unit.id)
+
+ # sell a dozen
+ so1 = self.env['sale.order'].create({
+ 'partner_id': self.partner.id,
+ 'order_line': [(0, 0, {
+ 'name': item1.name,
+ 'product_id': item1.id,
+ 'product_uom_qty': 1,
+ 'product_uom': uom_dozen.id,
+ 'price_unit': item1.list_price,
+ })],
+ })
+ so1.action_confirm()
+
+ # the move should be 12 units
+ # note: move.product_qty = computed field, always in the uom of the quant
+ # move.product_uom_qty = stored field representing the initial demand in move.product_uom
+ move1 = so1.picking_ids.move_lines[0]
+ self.assertEqual(move1.product_uom_qty, 12)
+ self.assertEqual(move1.product_uom.id, uom_unit.id)
+ self.assertEqual(move1.product_qty, 12)
+
+ # edit the so line, sell 2 dozen, the move should now be 24 units
+ so1.order_line.product_uom_qty = 2
+ self.assertEqual(move1.product_uom_qty, 24)
+ self.assertEqual(move1.product_uom.id, uom_unit.id)
+ self.assertEqual(move1.product_qty, 24)
+
+ # force the propagation of the uom, sell 3 dozen
+ self.env['ir.config_parameter'].sudo().set_param('stock.propagate_uom', '1')
+ so1.order_line.product_uom_qty = 3
+ move2 = so1.picking_ids.move_lines.filtered(lambda m: m.product_uom.id == uom_dozen.id)
+ self.assertEqual(move2.product_uom_qty, 1)
+ self.assertEqual(move2.product_uom.id, uom_dozen.id)
+ self.assertEqual(move2.product_qty, 12)
+
+ # deliver everything
+ move1.quantity_done = 24
+ move2.quantity_done = 1
+ so1.picking_ids.button_validate()
+
+ # check the delivered quantity
+ self.assertEqual(so1.order_line.qty_delivered, 3.0)
+
diff --git a/addons/sale_timesheet/i18n/fr.po b/addons/sale_timesheet/i18n/fr.po
index 0a8c566dd71..51803873341 100644
--- a/addons/sale_timesheet/i18n/fr.po
+++ b/addons/sale_timesheet/i18n/fr.po
@@ -5,7 +5,7 @@
# Translators:
# Xavier Belmere <Info@cartmeleon.com>, 2016
# Leo Schmitt <inactive+lschmitt@transifex.com>, 2016
-# Martin Trigaux <mat@odoo.com>, 2016
+# Martin Trigaux, 2016
# Clo <clo@odoo.com>, 2016
# Nancy Bolognesi <nb@microcom.ca>, 2016
# Olivier Lenoir <olivier.lenoir@free.fr>, 2016
@@ -15,20 +15,21 @@
# e2f_fr_t5 <e2f_fr_t5@outlook.com>, 2017
# fr trans <e2ffr05@hotmail.com>, 2017
# fr trans <e2ftrans1@yahoo.com>, 2017
-# Florian Hatat <mininet@wanadoo.fr>, 2017
+# Florian Hatat, 2017
# fr rev <e2ffr02@hotmail.com>, 2017
# Bertrand LATOUR <divoir@gmail.com>, 2017
# Jérôme Tanché <jerome.tanche@ouest-dsi.fr>, 2017
# Maxime Chambreuil <mchambreuil@ursainfosystems.com>, 2017
# leemannd <denis.leemann@camptocamp.com>, 2017
# Xavier Symons <xsy@openerp.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-02 11:26+0000\n"
"PO-Revision-Date: 2017-10-02 11:26+0000\n"
-"Last-Translator: Xavier Symons <xsy@openerp.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -203,7 +204,7 @@ msgstr "Facturée"
#. module: sale_timesheet
#: model:ir.model.fields,field_description:sale_timesheet.field_sale_order_line_is_service
msgid "Is a Service"
-msgstr ""
+msgstr "est un service"
#. module: sale_timesheet
#: model:ir.ui.view,arch_db:sale_timesheet.product_template_search_view_sale_timesheet
diff --git a/addons/sale_timesheet/models/product.py b/addons/sale_timesheet/models/product.py
index 7bfb705f348..53e674f5a8e 100644
--- a/addons/sale_timesheet/models/product.py
+++ b/addons/sale_timesheet/models/product.py
@@ -39,7 +39,7 @@ class ProductTemplate(models.Model):
def _inverse_service_policy(self):
for product in self:
policy = product.service_policy
- if not policy:
+ if not policy and not product.invoice_policy =='delivery':
product.invoice_policy = 'order'
product.service_type = 'manual'
elif policy == 'ordered_timesheet':
diff --git a/addons/sales_team/i18n/fr.po b/addons/sales_team/i18n/fr.po
index 2c70e71bb0d..fdcc3c32a9f 100644
--- a/addons/sales_team/i18n/fr.po
+++ b/addons/sales_team/i18n/fr.po
@@ -159,7 +159,7 @@ msgstr "Bouton du tableau de bord"
#. module: sales_team
#: model:ir.model.fields,field_description:sales_team.field_crm_team_dashboard_graph_data
msgid "Dashboard Graph Data"
-msgstr ""
+msgstr "Données du graphique du tableau de bord"
#. module: sales_team
#: selection:crm.team,dashboard_graph_group:0
@@ -179,13 +179,15 @@ msgstr "Europe"
#. module: sales_team
#: model:ir.model.fields,field_description:sales_team.field_crm_team_favorite_user_ids
msgid "Favorite Members"
-msgstr ""
+msgstr "Membres favoris"
#. module: sales_team
#: model:ir.model.fields,help:sales_team.field_crm_team_is_favorite
msgid ""
"Favorite teams to display them in the dashboard and access them easily."
msgstr ""
+"Équipes favorites à afficher sur le tableau de bord pour y accéder "
+"facilement."
#. module: sales_team
#: model:ir.ui.view,arch_db:sales_team.crm_team_view_form
@@ -230,6 +232,8 @@ msgid ""
"If set, this sales channel will be used for sales and assignations related "
"to this partner"
msgstr ""
+"Si défini, ce réseau de distribution sera utilisé pour les ventes et les "
+"attributions associées à ce partenaire"
#. module: sales_team
#: model:ir.model.fields,help:sales_team.field_crm_team_active
@@ -237,6 +241,8 @@ msgid ""
"If the active field is set to false, it will allow you to hide the sales "
"channel without removing it."
msgstr ""
+"Si le champ actif est défini sur False, vous pourrez masquer le réseau de "
+"distribution sans le supprimer."
#. module: sales_team
#: selection:crm.team,dashboard_graph_model:0
@@ -297,7 +303,7 @@ msgstr "Mes favoris"
#: code:addons/sales_team/models/crm_team.py:255
#, python-format
msgid "Not Defined"
-msgstr ""
+msgstr "Non défini"
#. module: sales_team
#: selection:crm.team,dashboard_graph_model:0
@@ -336,6 +342,9 @@ msgid ""
"Sales Channel the user is member of. Used to compute the members of a sales "
"channel through the inverse one2many"
msgstr ""
+"Réseau de distribution dont l'utilisateur est membre. Utilisé pour obtenir "
+"la liste des membres d'un réseau de distribution via un champ one2many "
+"inverse."
#. module: sales_team
#: model:ir.actions.act_window,name:sales_team.crm_team_salesteams_act
@@ -371,7 +380,7 @@ msgstr "Configuration"
#. module: sales_team
#: model:ir.model.fields,field_description:sales_team.field_crm_team_is_favorite
msgid "Show on dashboard"
-msgstr ""
+msgstr "Afficher sur le tableau de bord"
#. module: sales_team
#: model:ir.ui.view,arch_db:sales_team.crm_team_salesteams_search
@@ -394,11 +403,13 @@ msgid ""
"The email address put in the 'Reply-To' of all emails sent by Odoo about "
"cases in this sales channel"
msgstr ""
+"L'adresse e-mail insérée dans le champ « Répondre à » de tous les e-mails "
+"envoyés par Odoo à propos de cas"
#. module: sales_team
#: model:ir.model.fields,help:sales_team.field_crm_team_dashboard_graph_model
msgid "The graph this channel will display in the Dashboard.\n"
-msgstr ""
+msgstr "Le graphique que ce canal affichera sur le tableau de bord.\n"
#. module: sales_team
#: model:ir.model.fields,help:sales_team.field_crm_team_dashboard_graph_period
@@ -409,13 +420,14 @@ msgstr ""
#. module: sales_team
#: model:ir.model.fields,help:sales_team.field_crm_team_dashboard_graph_type
msgid "The type of graph this channel will display in the dashboard."
-msgstr ""
+msgstr "Le type de graphique que ce canal affichera sur le tableau de bord."
#. module: sales_team
#: model:ir.model.fields,help:sales_team.field_crm_team_team_type
msgid ""
"The type of this channel, it will define the resources this channel uses."
msgstr ""
+"Le type de ce canal. Il définira les ressources utilisées par ce canal."
#. module: sales_team
#: model:ir.model.fields,field_description:sales_team.field_crm_team_dashboard_graph_type
@@ -427,7 +439,7 @@ msgstr "Type"
#: code:addons/sales_team/models/crm_team.py:173
#, python-format
msgid "Undefined graph model for Sales Channel: %s"
-msgstr ""
+msgstr "Modèle graphique non défini pour le canal de vente : %s"
#. module: sales_team
#: model:ir.actions.act_window,help:sales_team.crm_team_salesteams_act
diff --git a/addons/sales_team/models/crm_team.py b/addons/sales_team/models/crm_team.py
index cf95b66a7e2..4542116c47c 100644
--- a/addons/sales_team/models/crm_team.py
+++ b/addons/sales_team/models/crm_team.py
@@ -232,7 +232,7 @@ class CrmTeam(models.Model):
values[index][y_field] = data_item.get('y_value')
elif self.dashboard_graph_group == 'week':
- weeks_in_start_year = int(date(start_date.year, 12, 31).isocalendar()[1])
+ weeks_in_start_year = int(date(start_date.year, 12, 28).isocalendar()[1]) # This date is always in the last week of ISO years
for week in range(0, (end_date.isocalendar()[1] - start_date.isocalendar()[1]) % weeks_in_start_year + 1):
short_name = get_week_name(start_date + relativedelta(days=7 * week), locale)
values.append({x_field: short_name, y_field: 0})
diff --git a/addons/sms/i18n/fr.po b/addons/sms/i18n/fr.po
index 76dfc00d57b..3d47adeb0d5 100644
--- a/addons/sms/i18n/fr.po
+++ b/addons/sms/i18n/fr.po
@@ -3,18 +3,19 @@
# * sms
#
# Translators:
+# Florian Hatat, 2017
# Eloïse Stilmant <est@odoo.com>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
+# Martin Trigaux, 2017
+# Bertrand LATOUR <divoir@gmail.com>, 2017
# Olivier Lenoir <olivier.lenoir@free.fr>, 2017
-# Xavier Belmere <Info@cartmeleon.com>, 2017
-# Florian Hatat <mininet@wanadoo.fr>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-10 11:35+0000\n"
"PO-Revision-Date: 2017-10-10 11:35+0000\n"
-"Last-Translator: Florian Hatat <mininet@wanadoo.fr>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -63,7 +64,7 @@ msgstr "ID"
#: code:addons/sms/models/mail_thread.py:53
#, python-format
msgid "Insufficient credit, unable to send SMS message: %s"
-msgstr ""
+msgstr "Impossible d'envoyer le SMS car vous n'avez pas assez de crédit : %s"
#. module: sms
#: model:ir.model.fields,field_description:sms.field_sms_api___last_update
@@ -90,13 +91,14 @@ msgstr "Message"
#: code:addons/sms/wizard/send_sms.py:48
#, python-format
msgid "Missing mobile number for %s."
-msgstr ""
+msgstr "Numéro de mobile manquant pour %s."
#. module: sms
#: code:addons/sms/models/mail_thread.py:55
#, python-format
msgid "No mobile number defined, unable to send SMS message: %s"
msgstr ""
+"Impossible d'envoyer le SMS car aucun numéro de mobile n'a été indiqué : %s"
#. module: sms
#: model:ir.model.fields,field_description:sms.field_sms_send_sms_recipients
@@ -107,7 +109,7 @@ msgstr "Destinataires"
#: code:addons/sms/models/mail_thread.py:48
#, python-format
msgid "SMS message sent: %s"
-msgstr ""
+msgstr "SMS envoyé : %s"
#. module: sms
#: model:ir.ui.view,arch_db:sms.send_sms_view_form
@@ -118,17 +120,17 @@ msgstr "Envoyer"
#: model:ir.actions.act_window,name:sms.send_sms_action
#: model:ir.actions.act_window,name:sms.send_sms_form_action
msgid "Send SMS"
-msgstr ""
+msgstr "Envoyer le SMS"
#. module: sms
#: model:ir.ui.view,arch_db:sms.send_sms_view_form
msgid "Send an SMS"
-msgstr ""
+msgstr "Envoyer un SMS"
#. module: sms
#: model:ir.model,name:sms.model_sms_api
msgid "sms.api"
-msgstr ""
+msgstr "sms.api"
#. module: sms
#: model:ir.model,name:sms.model_sms_send_sms
diff --git a/addons/stock/i18n/de.po b/addons/stock/i18n/de.po
index bc3110ae352..dd7920b55a6 100644
--- a/addons/stock/i18n/de.po
+++ b/addons/stock/i18n/de.po
@@ -72,6 +72,12 @@ msgid ""
" * Done: has been processed, can't be modified or cancelled anymore.\n"
" * Cancelled: has been cancelled, can't be confirmed anymore."
msgstr ""
+"* Entwurf: Noch nicht bestätigt und wird erst geplant, wenn bestätigt.\n"
+" * Warten auf anderen Vorgang: Warten auf Verarbeiten einer anderen Buchung, bevor Vorgang automatisch verfügbar wird (z. B. bei Kundeneinzelfertigungs-Arbeitsabläufen).\n"
+" *Warten: Wenn das Senden nicht möglich ist, da die benötigten Produkte nicht reserviert werden konnten\n"
+" * Fertig: Produkte sind reserviert und können versendet werden. Wenn die Auslieferungsbedingungen „Sobald wie möglich“ gelten, geschieht dies, sobald alles reserviert ist.\n"
+" * Fertig: wurde verarbeitet, kann nicht mehr geändert oder storniert werden.\n"
+" * Storniert: wurde storniert, kann nicht mehr bestätigt werden."
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_move_picking_form
@@ -118,6 +124,11 @@ msgid ""
"* Production: Virtual counterpart location for production operations: this location consumes the raw material and produces finished products\n"
"* Transit Location: Counterpart location that should be used in inter-company or inter-warehouses operations"
msgstr ""
+"* Lagerort des Lieferanten: Virtueller Ort, der den Lagerort (Quelle) für Produkte repräsentiert, die von Lieferanten stammen\n"
+"* Ansicht: Virtueller Ort, der zur Erstellung von hierarchischen Strukturen für Ihr Lager erstellt wird und die untergeordneten Standorte aggregiert: kann nicht direkt Produkte enthalten\n"
+"* Interner Standort: Physische Standorte innerhalb Ihrer Lager,\n"
+"* Kunden-Standort: Virtueller Ort, der den Zielort für Produkte repräsentiert, die an Ihre Kunden gesendet werden\n"
+"* Bestandsschwund: "
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_warn_insufficient_qty_form_view
@@ -313,12 +324,15 @@ msgstr "Ein Paket"
#, python-format
msgid "A done move line should never have a reserved quantity."
msgstr ""
+"Eine Zeile für eine getätigte Buchung darf keine reservierte Menge "
+"enthalten."
#. module: stock
#: code:addons/stock/models/stock_quant.py:76
#, python-format
msgid "A serial number should only be linked to a single product."
msgstr ""
+"Eine Seriennummer sollte nur mit einem einzelnen Produkt verknüpft sein."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_move_product_type
@@ -361,6 +375,8 @@ msgid ""
"Add and customize route operations to process product moves in your warehouse(s): e.g. unload > quality control > stock for incoming products, pick > pack > ship for outgoing products. \n"
" You can also set putaway strategies on warehouse locations in order to send incoming products into specific child locations straight away (e.g. specific bins, racks)."
msgstr ""
+"Fügen Sie Routengänge zu und passen Sie die Routen auf, um Produktbewegungen in Ihrem Lager(s) zu verarbeiten, um Produkt-Fertigungen zu verarbeiten, z. B. Extrahieren Sie über die Qualitätskontrolle > Lager für eingehende Produkte, Pickel > Pack > Versand für anspruchsvolle Produkte. \n"
+" Sie können auch Strategien für Lagerorten festlegen, um die eingehenden Produkte in konkrete Kindergärten zu schicken (z. B. spezielle Mülle, Sracks)."
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
@@ -371,6 +387,9 @@ msgid ""
"strategies on warehouse locations in order to send incoming products into "
"specific child locations straight away (e.g. specific bins, racks)."
msgstr ""
+"Sie können außerdem Entnahme-Strategien für Lagerorte festlegen, um die "
+"eingehenden Produkte direkt an untergeordnete Lagerorte zu senden (z. B. "
+"spezielle Schränke und Staufächer)."
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_picking_form
@@ -443,6 +462,8 @@ msgstr "Alle Rücklieferungen"
#, python-format
msgid "An incoming date cannot be set to an untracked product."
msgstr ""
+"Ein eingehendes Datum kann nicht für ein nicht verfolgtes Produkt festgelegt"
+" werden."
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_location_route_form_view
@@ -487,11 +508,13 @@ msgid ""
"Are you sure you want to confirm this operation? This may lead to "
"inconsistencies in your inventory."
msgstr ""
+"Sind Sie sicher, dass Sie diesen Vorgang bestätigen möchten? Dies kann zu "
+"Inkonsistenzen in Ihrem Bestand führen."
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_overprocessed_transfer
msgid "Are you sure you want to validate this picking?"
-msgstr ""
+msgstr "Sind Sie sicher, dass Sie diese Kommissionierung bestätigen möchten?"
#. module: stock
#: selection:stock.picking,move_type:0
@@ -511,7 +534,7 @@ msgstr "Zugewiesene Buchungen"
#. module: stock
#: selection:stock.quantity.history,compute_at_date:0
msgid "At a Specific Date"
-msgstr ""
+msgstr "Zu einem bestimmten Datum"
#. module: stock
#: model:ir.ui.menu,name:stock.menu_variants_action
@@ -696,22 +719,22 @@ msgstr ""
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_CIP
msgid "CARRIAGE AND INSURANCE PAID TO"
-msgstr ""
+msgstr "FRACHT UND VERSICHERUNG BEZAHLT AN"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_CPT
msgid "CARRIAGE PAID TO"
-msgstr ""
+msgstr "FRACHT BEZAHLT AN"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_CFR
msgid "COST AND FREIGHT"
-msgstr ""
+msgstr "KOSTEN UND FRACHT"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_CIF
msgid "COST, INSURANCE AND FREIGHT"
-msgstr ""
+msgstr "KOSTEN, VERSICHERUNG UND FRACHT"
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_picking_calendar
@@ -787,12 +810,12 @@ msgstr "Ändere Menge"
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
msgid "Change must be higher than"
-msgstr ""
+msgstr "Änderung muss größer sein als"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_move_line_move_id
msgid "Change to a better name"
-msgstr ""
+msgstr "Zu einem besseren Namen ändern"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_picking_form
@@ -802,7 +825,7 @@ msgstr "Verfügbarkeit prüfen"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_picking_has_packages
msgid "Check the existence of destination packages on move lines"
-msgstr ""
+msgstr "Überprüfen Sie die Existenz von Bestimmungsorten Buchungszeilen"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_picking_move_line_exist
@@ -834,13 +857,15 @@ msgstr "Geprüfte Menge"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_quantity_history_date
msgid "Choose a date to get the inventory at that date"
-msgstr ""
+msgstr "Wählen Sie ein Datum, um den Bestand an diesem Tag zu erhalten"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_quantity_history_compute_at_date
msgid ""
"Choose to analyze the current inventory or from a specific date in the past."
msgstr ""
+"Wählen Sie die aktuelle Bestandsanalyse oder ein spezifisches Datum in der "
+"Vergangenheit."
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_stock_quantity_history
@@ -888,7 +913,7 @@ msgstr "Route durch Klick hinzufügen."
#. module: stock
#: model:ir.actions.act_window,help:stock.stock_picking_type_action
msgid "Click to create a new operation type."
-msgstr ""
+msgstr "Klicken Sie zum Erstellen eines neuen Vorgangstyps."
#. module: stock
#: model:ir.actions.act_window,help:stock.stock_move_action
@@ -1024,7 +1049,7 @@ msgstr "Gebuchte Lieferungen"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_res_config_settings_group_stock_tracking_owner
msgid "Consignment"
-msgstr ""
+msgstr "Sendung"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_line_consume_line_ids
@@ -1065,37 +1090,37 @@ msgstr ""
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_count_picking
msgid "Count Picking"
-msgstr ""
+msgstr "Zählern"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_count_picking_backorders
msgid "Count Picking Backorders"
-msgstr ""
+msgstr "Zählersammler"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_count_picking_draft
msgid "Count Picking Draft"
-msgstr ""
+msgstr "Zählungsentwurf"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_count_picking_late
msgid "Count Picking Late"
-msgstr ""
+msgstr "Verspätete Zählung"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_count_picking_ready
msgid "Count Picking Ready"
-msgstr ""
+msgstr "Zählbereit"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_count_picking_waiting
msgid "Count Picking Waiting"
-msgstr ""
+msgstr "Warten auf Zählung"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_template_property_form
msgid "Counterpart Locations"
-msgstr ""
+msgstr "Ansprechpartneradressen"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_backorder_confirmation
@@ -1248,17 +1273,17 @@ msgstr "Kumulierte Menge"
#. module: stock
#: selection:stock.quantity.history,compute_at_date:0
msgid "Current Inventory"
-msgstr ""
+msgstr "Aktueller Bestand"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_quant_package_current_picking_id
msgid "Current Picking"
-msgstr ""
+msgstr "Aktuelle Kommissionierung"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_quant_package_current_picking_move_line_ids
msgid "Current Picking Move Line"
-msgstr ""
+msgstr "Buchungszeile für aktuelle Kommissionierung"
#. module: stock
#: model:ir.actions.act_window,name:stock.location_open_quants
@@ -1315,42 +1340,42 @@ msgstr "Kunden"
#: model:ir.ui.view,arch_db:stock.report_stock_body_print
#: model:ir.ui.view,arch_db:stock.report_stock_inventory
msgid "DATE"
-msgstr ""
+msgstr "Datum"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_DAF
msgid "DELIVERED AT FRONTIER"
-msgstr ""
+msgstr "GELIEFERT GRENZE"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_DAP
msgid "DELIVERED AT PLACE"
-msgstr ""
+msgstr "GELIEFERT BENANNTER ORT"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_DAT
msgid "DELIVERED AT TERMINAL"
-msgstr ""
+msgstr "GELIEFERT TERMINAL"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_DDP
msgid "DELIVERED DUTY PAID"
-msgstr ""
+msgstr "GELIEFERT VERZOLLT"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_DDU
msgid "DELIVERED DUTY UNPAID"
-msgstr ""
+msgstr "GELIEFERT UNVERZOLLT"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_DEQ
msgid "DELIVERED EX QUAY"
-msgstr ""
+msgstr "GELIEFERT AB KAI"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_DES
msgid "DELIVERED EX SHIP"
-msgstr ""
+msgstr "GELIEFERT AB SCHIFF"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_res_config_settings_module_delivery_dhl
@@ -1573,7 +1598,7 @@ msgstr "Beschreibung für Wareneingang"
#: model:ir.model.fields,field_description:stock.field_product_product_description_pickingout
#: model:ir.model.fields,field_description:stock.field_product_template_description_pickingout
msgid "Description on Delivery Orders"
-msgstr ""
+msgstr "Beschreibung auf Auslieferungsaufträgen"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_product_product_description_picking
@@ -1585,7 +1610,7 @@ msgstr "Beschreibung der Kommisionierung"
#: model:ir.model.fields,field_description:stock.field_product_product_description_pickingin
#: model:ir.model.fields,field_description:stock.field_product_template_description_pickingin
msgid "Description on Receptions"
-msgstr ""
+msgstr "Beschreibung auf Wareneingängen"
#. module: stock
#: model:ir.ui.view,arch_db:stock.report_picking
@@ -1608,13 +1633,13 @@ msgstr "Lagerort (Ziel)"
#. module: stock
#: model:ir.ui.view,arch_db:stock.message_body
msgid "Destination Location:"
-msgstr ""
+msgstr "Zielort:"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_move_dest_ids
#: model:ir.ui.view,arch_db:stock.view_move_form
msgid "Destination Moves"
-msgstr ""
+msgstr "Zielbuchungen"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_line_result_package_id
@@ -1625,7 +1650,7 @@ msgstr "Zielverpackung"
#. module: stock
#: model:ir.ui.view,arch_db:stock.message_body
msgid "Destination Package :"
-msgstr ""
+msgstr "Zielverpackung:"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_route_ids
@@ -1637,7 +1662,7 @@ msgstr "Routenziel"
#: model:ir.ui.view,arch_db:stock.view_picking_form
#, python-format
msgid "Detailed Operations"
-msgstr ""
+msgstr "Detailliere Vorgänge"
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_location_path_form
@@ -1647,7 +1672,7 @@ msgstr "Details"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_show_details_visible
msgid "Details Visible"
-msgstr ""
+msgstr "Sichtbare Details"
#. module: stock
#: model:ir.model.fields,help:stock.field_procurement_rule_procure_method
@@ -1729,14 +1754,14 @@ msgstr "Erfolgte Lieferungen nach Datum"
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
msgid "Don’t propagate scheduling changes through chains of operations"
-msgstr ""
+msgstr "Übertragen Sie Planungsänderungen nicht über Vorgangsketten hinweg"
#. module: stock
#. openerp-web
#: code:addons/stock/static/src/xml/stock_traceability_report_line.xml:78
#, python-format
msgid "Downstream Traceability"
-msgstr ""
+msgstr "Nachgeschaltete Lieferverfolgung:"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_picking_internal_search
@@ -1753,7 +1778,7 @@ msgstr "Entwurf Lieferung"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_EXW
msgid "EX WORKS"
-msgstr ""
+msgstr "AB WERK"
#. module: stock
#. openerp-web
@@ -1813,17 +1838,17 @@ msgstr "FIFO, LIFO"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_FAS
msgid "FREE ALONGSIDE SHIP"
-msgstr ""
+msgstr "FREI LÄNGSSEITE SCHIFF"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_FCA
msgid "FREE CARRIER"
-msgstr ""
+msgstr "FREI FRACHTFÜHRER"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_FOB
msgid "FREE ON BOARD"
-msgstr ""
+msgstr "FREI AN BORD"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_res_config_settings_module_delivery_fedex
@@ -1896,7 +1921,7 @@ msgstr "Von"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_line_from_loc
msgid "From Loc"
-msgstr ""
+msgstr "Von Lagerort"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_show_reserved_availability
@@ -1947,11 +1972,12 @@ msgstr "Zukünftige Zugänge"
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
msgid "Get a full traceability from vendors to customers"
msgstr ""
+"Erhalten Sie eine vollständige Rückverfolgbarkeit von Lieferanten zu Kunden"
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
msgid "Get informative or blocking warnings on partners"
-msgstr ""
+msgstr "Erhalten Sie informative oder blockierende Warnungen für Partner"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_fixed_putaway_strat_sequence
@@ -2003,7 +2029,7 @@ msgstr "Muss verpackt werden"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_has_packages
msgid "Has Packages"
-msgstr ""
+msgstr "Enthält Pakete"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_has_scrap_move
@@ -2157,6 +2183,9 @@ msgid ""
"If the picking is unlocked you can edit initial demand (for a draft picking)"
" or done quantities (for a done picking)."
msgstr ""
+"Wenn die Kommissionierung freigeschaltet ist, können Sie die erste Anfrage "
+"(für einen Kommissionierungs-Entwurf) oder entnommene Mengen (für eine "
+"getätigte Kommissionierung) bearbeiten."
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_location_path_filter
@@ -2170,6 +2199,8 @@ msgid ""
"If this checkbox is ticked, Odoo will show which products are reserved "
"(lot/serial number, source location, source package)."
msgstr ""
+"Wenn dieses Kontrollkästchen angekreuzt ist, zeigt Odoo an, welche Produkte "
+"reserviert sind (Los-/Seriennummer, Quellort, Verpackungsquelle)."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_move_show_operations
@@ -2179,6 +2210,9 @@ msgid ""
" operations. If not, the picking lines will represent an aggregate of "
"detailed stock operations."
msgstr ""
+"Wird dieses Kontrollkästchen angekreuzt ist, stellen die Kommissionier-"
+"Zeilen detaillierte Bestandsvorgänge dar. Falls nicht, stellen die "
+"Kommissionier-Zeilen ein Aggregat detaillierter Bestandsvorgänge dar."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_picking_type_use_create_lots
@@ -2197,6 +2231,9 @@ msgid ""
"can also decide to not put lots in this operation type. This means it will "
"create stock with no lot or not put a restriction on the lot taken. "
msgstr ""
+"Wenn das aktiviert ist, können Sie die Los- und Seriennummern auswählen. Sie"
+" können sich auch dafür entscheiden, bei dieser Vorgangsart keine Losnummer"
+" zu verwenden. "
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_move_backorder_id
@@ -2397,19 +2434,19 @@ msgstr ""
#: code:addons/stock/models/product.py:240
#, python-format
msgid "Invalid domain left operand %s"
-msgstr ""
+msgstr "Ungültiger linker Domain-Operand %s"
#. module: stock
#: code:addons/stock/models/product.py:242
#, python-format
msgid "Invalid domain operator %s"
-msgstr ""
+msgstr "Ungültiger Domain-Betreiber %s"
#. module: stock
#: code:addons/stock/models/product.py:244
#, python-format
msgid "Invalid domain right operand %s"
-msgstr ""
+msgstr "Ungültiger rechter Domain-Operand %s"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_inventory_location_id
@@ -2491,7 +2528,7 @@ msgstr "Lagerbestandspos."
#. module: stock
#: model:ir.actions.act_window,name:stock.action_inventory_line_tree
msgid "Inventory Lines"
-msgstr ""
+msgstr "Bestandszeilen"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_product_product_property_stock_inventory
@@ -2512,7 +2549,7 @@ msgstr "Lagerschwund"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_inventory_filter
msgid "Inventory Product"
-msgstr ""
+msgstr "Lagerprodukt"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_inventory_name
@@ -2523,7 +2560,7 @@ msgstr "Inventurauftrag"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_stock_quantity_history
msgid "Inventory Report"
-msgstr ""
+msgstr "Lagerbericht"
#. module: stock
#: model:ir.model,name:stock.model_stock_location_route
@@ -2582,12 +2619,12 @@ msgstr "Lagerort für Ausschuss ?"
#: model:ir.model.fields,field_description:stock.field_stock_move_is_initial_demand_editable
#: model:ir.model.fields,field_description:stock.field_stock_move_line_is_initial_demand_editable
msgid "Is initial demand editable"
-msgstr ""
+msgstr "Ist erste Anfrage editierbar"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_is_quantity_done_editable
msgid "Is quantity done editable"
-msgstr ""
+msgstr "Ist die getätigte Menge editierbar"
#. module: stock
#: code:addons/stock/models/stock_quant.py:254
@@ -2595,6 +2632,8 @@ msgstr ""
msgid ""
"It is not possible to reserve more products of %s than you have in stock."
msgstr ""
+"Es ist nicht möglich, mehr Produkte von %s zu reservieren als im Lager "
+"vorhanden sind."
#. module: stock
#: code:addons/stock/models/stock_quant.py:256
@@ -2602,6 +2641,8 @@ msgstr ""
msgid ""
"It is not possible to unreserve more products of %s than you have in stock."
msgstr ""
+"Es ist nicht möglich, die Reservierung für mehr Produkte von %s aufzuheben "
+"als im Lager vorhanden sind."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_move_product_packaging
@@ -2619,13 +2660,13 @@ msgstr "Auslieferung wird als Teillieferung oder Komplettlieferung festgelegt"
#: model:ir.ui.view,arch_db:stock.report_stock_body_print
#: model:ir.ui.view,arch_db:stock.report_stock_inventory
msgid "LOCATION"
-msgstr ""
+msgstr "LAGERORT"
#. module: stock
#: model:ir.ui.view,arch_db:stock.report_stock_body_print
#: model:ir.ui.view,arch_db:stock.report_stock_inventory
msgid "LOT/SERIAL NUMBER"
-msgstr ""
+msgstr "LOS-/SERIENNUMMER"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_last_done_picking
@@ -2800,7 +2841,7 @@ msgstr "Verknüpfte Buchungen"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_inventory_form
msgid "List view of lines"
-msgstr ""
+msgstr "Listenansicht aller Zeilen"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_location_form
@@ -2913,7 +2954,7 @@ msgstr "Los/Serie"
#. module: stock
#: model:ir.ui.view,arch_db:stock.message_body
msgid "Lot/Serial :"
-msgstr ""
+msgstr "Los-/Seriennummer:"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_change_product_qty_lot_id
@@ -2940,12 +2981,12 @@ msgstr "Inventur Los/Seriennummer "
#. module: stock
#: model:ir.model.fields,field_description:stock.field_res_config_settings_group_stock_production_lot
msgid "Lots & Serial Numbers"
-msgstr ""
+msgstr "Los- und Seriennummern"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_line_lots_visible
msgid "Lots Visible"
-msgstr ""
+msgstr "Los sichtbar"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_production_lot_form
@@ -2996,12 +3037,12 @@ msgstr "Verwalten Sie Lose / Seriennummern"
#. module: stock
#: model:res.groups,name:stock.group_stock_multi_locations
msgid "Manage Multiple Stock Locations"
-msgstr ""
+msgstr "Mehrere Lagerorte verwalten"
#. module: stock
#: model:res.groups,name:stock.group_stock_multi_warehouses
msgid "Manage Multiple Warehouses"
-msgstr ""
+msgstr "Mehrere Läger verwalten"
#. module: stock
#: model:res.groups,name:stock.group_tracking_lot
@@ -3124,7 +3165,7 @@ msgstr "Buchungssatz"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_stock_move_operations
msgid "Move Detail"
-msgstr ""
+msgstr "Buchungsdetail"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_picking_type_entire_packs
@@ -3146,7 +3187,7 @@ msgstr "Buchungszeile"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_move_line_nosuggest_ids
msgid "Move Line Nosuggest"
-msgstr ""
+msgstr "Buchungszeile kein Vorschlag"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_move_line_form
@@ -3197,12 +3238,12 @@ msgstr ""
#. module: stock
#: model:ir.model.fields,field_description:stock.field_res_config_settings_group_stock_adv_location
msgid "Multi-Step Routes"
-msgstr ""
+msgstr "Mehrstufige Routen"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_res_config_settings_group_stock_multi_warehouses
msgid "Multi-Warehouses"
-msgstr ""
+msgstr "Mehrere Lager"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_picking_internal_search
@@ -3237,7 +3278,7 @@ msgstr "Neu"
#: code:addons/stock/models/stock_picking.py:597
#, python-format
msgid "New Move:"
-msgstr ""
+msgstr "Neue Buchung:"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_change_product_qty_new_quantity
@@ -3263,7 +3304,7 @@ msgstr "Keine Nachricht"
#: model:ir.model.fields,field_description:stock.field_res_config_settings_propagation_minimum_delta
#: model:ir.model.fields,field_description:stock.field_res_config_settings_use_propagation_minimum_delta
msgid "No Rescheduling Propagation"
-msgstr ""
+msgstr "Keine Übertragung von Umplanungen"
#. module: stock
#: selection:product.template,tracking:0
@@ -3279,7 +3320,7 @@ msgstr "Rückstandsmengen nicht erlaubt"
#. module: stock
#: model:ir.ui.view,arch_db:stock.report_stock_inventory
msgid "No operation made on this lot."
-msgstr ""
+msgstr "Kein Vorgang wurde an diesem Los ausgeführt."
#. module: stock
#: code:addons/stock/models/procurement.py:185
@@ -3287,6 +3328,8 @@ msgstr ""
msgid ""
"No procurement rule found. Please verify the configuration of your routes"
msgstr ""
+"Keine Beschaffungsregel gefunden. Überprüfen Sie die Konfiguration Ihrer "
+"Routen"
#. module: stock
#: code:addons/stock/wizard/stock_picking_return.py:55
@@ -3303,7 +3346,7 @@ msgstr ""
#: code:addons/stock/models/procurement.py:67
#, python-format
msgid "No source location defined on procurement rule: %s!"
-msgstr ""
+msgstr "Kein Quellort in Beschaffungsregel definiert: %s!"
#. module: stock
#: selection:stock.move,priority:0 selection:stock.picking,priority:0
@@ -3416,11 +3459,13 @@ msgid ""
"Operation Type determines the way the picking should be shown in the view, "
"reports, ..."
msgstr ""
+"Der Vorgangstyp bestimmt, wie die Kommissionierung in der Ansicht und in "
+"Berichten angezeigt werden sollte ..."
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_return_picking_type_id
msgid "Operation Type for Returns"
-msgstr ""
+msgstr "Vorgangstyp für Retouren"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_picking_type_form
@@ -3433,7 +3478,7 @@ msgstr "Vorgangstypen"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_name
msgid "Operation Types Name"
-msgstr ""
+msgstr "Vorgangstyp-Name"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_move_line_ids
@@ -3494,7 +3539,7 @@ msgstr "Bestellte Menge"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_move_search
msgid "Orders processed today or scheduled for today"
-msgstr ""
+msgstr "Aufträge, die heute bearbeitet werden oder für heute geplant sind"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_move_form
@@ -3505,7 +3550,7 @@ msgstr "Herkunft"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_move_form
msgid "Origin Moves"
-msgstr ""
+msgstr "Ursprüngliche Buchung"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_origin_returned_move_id
@@ -3515,7 +3560,7 @@ msgstr "Ursprüngliche Retoure"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_return_picking_original_location_id
msgid "Original Location"
-msgstr ""
+msgstr "Ursprünglicher Lagerort"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_move_orig_ids
@@ -3554,7 +3599,7 @@ msgstr "Versandlager"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_overprocessed_transfer_overprocessed_product_name
msgid "Overprocessed Product Name"
-msgstr ""
+msgstr "Name überbearbeitetes Produkt"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_inventory_line_partner_id
@@ -3577,7 +3622,7 @@ msgstr "Eigentümer "
#. module: stock
#: model:ir.ui.view,arch_db:stock.message_body
msgid "Owner :"
-msgstr ""
+msgstr "Eigentümer:"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_location_partner_id
@@ -3600,13 +3645,13 @@ msgstr "Anzahl"
#: code:addons/stock/static/src/xml/stock_traceability_report_backend.xml:6
#, python-format
msgid "PRINT"
-msgstr ""
+msgstr "Drucken"
#. module: stock
#: model:ir.ui.view,arch_db:stock.report_stock_body_print
#: model:ir.ui.view,arch_db:stock.report_stock_inventory
msgid "PRODUCT"
-msgstr ""
+msgstr "Produkt"
#. module: stock
#: code:addons/stock/models/stock_warehouse.py:216
@@ -3824,7 +3869,7 @@ msgstr "Picklisten"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_stock_quant_form
msgid "Picking Moves"
-msgstr ""
+msgstr "Kommissionierbuchungen"
#. module: stock
#: model:ir.actions.report,name:stock.action_report_picking
@@ -3864,19 +3909,20 @@ msgstr "Pivot"
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_picking_type_kanban
msgid "Planned Transfer"
-msgstr ""
+msgstr "Geplante Übertragung"
#. module: stock
#: code:addons/stock/models/stock_picking.py:649
#, python-format
msgid "Please add some lines to move"
-msgstr ""
+msgstr "Fügen Sie einige Zeilen zu Buchung hinzu"
#. module: stock
#: code:addons/stock/models/stock_picking.py:823
#, python-format
msgid "Please process some quantities to put in the pack first!"
msgstr ""
+"Bearbeiten Sie zuerst die Menge, die in das Paket gepackt werden soll."
#. module: stock
#: code:addons/stock/wizard/stock_picking_return.py:126
@@ -3887,7 +3933,7 @@ msgstr "Bitte spezifizieren Sie wenigstens eine Menge ungleich 0"
#. module: stock
#: model:ir.ui.view,arch_db:stock.quant_search_view
msgid "Positive Stock"
-msgstr ""
+msgstr "Positive Bilanz"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_product_packaging
@@ -3897,7 +3943,7 @@ msgstr "Bevorzugte Verpackung"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_move_route_ids
msgid "Preferred route"
-msgstr ""
+msgstr "Bevorzugte Route"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_picking_form
@@ -3933,12 +3979,12 @@ msgstr "Schnelleres Arbeiten mit Barcodes "
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
msgid "Process picking in batch per worker"
-msgstr ""
+msgstr "Kommissionierung im Batch pro Mitarbeiter verarbeiten"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_overprocessed_transfer
msgid "Processed more than initial demand"
-msgstr ""
+msgstr "Mehr als erste Anfrage bearbeitet"
#. module: stock
#: selection:stock.location,usage:0
@@ -4118,11 +4164,13 @@ msgid ""
"Product this lot/serial number contains. You cannot change it anymore if it "
"has already been moved."
msgstr ""
+"Produkt, das diese Los-/Seriennummer enthält. Sie können das Produkt nicht "
+"mehr ändern, wenn es bereits gebucht wurde."
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_has_tracking
msgid "Product with Tracking"
-msgstr ""
+msgstr "Produkt mit Tracking"
#. module: stock
#: model:stock.location,name:stock.location_production
@@ -4211,6 +4259,8 @@ msgstr "Produktentnahme Strategie"
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
msgid "Put your products in packs (e.g. parcels, boxes) and track them"
msgstr ""
+"Packen Sie Ihre Produkte in Verpackungen (z. B. Pakete, Kisten) und "
+"verfolgen Sie sie"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_putaway
@@ -4221,7 +4271,7 @@ msgstr "Entnahme"
#: model:ir.ui.view,arch_db:stock.report_stock_body_print
#: model:ir.ui.view,arch_db:stock.report_stock_inventory
msgid "QUANTITY"
-msgstr ""
+msgstr "Menge"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_warehouse_orderpoint_qty_multiple
@@ -4251,7 +4301,7 @@ msgstr "Qualitätskontrolle"
#: model:ir.model.fields,field_description:stock.field_stock_warn_insufficient_qty_scrap_quant_ids
#: model:ir.model.fields,field_description:stock.field_stock_warn_insufficient_qty_unbuild_quant_ids
msgid "Quant"
-msgstr ""
+msgstr "Menge"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_report_stock_forecast_quantity
@@ -4268,7 +4318,7 @@ msgstr "Menge"
#. module: stock
#: model:ir.ui.view,arch_db:stock.message_body
msgid "Quantity :"
-msgstr ""
+msgstr "Menge:"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_quantity_done
@@ -4307,7 +4357,7 @@ msgstr "Menge darf nicht negativ sein"
#: code:addons/stock/models/stock_move.py:611
#, python-format
msgid "Quantity decreased!"
-msgstr ""
+msgstr "Menge verringert!"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_move_availability
@@ -4327,6 +4377,10 @@ msgid ""
"In a context with a single Warehouse, this includes goods arriving to the Stock Location of this Warehouse, or any of its children.\n"
"Otherwise, this includes goods arriving to any Stock Location with 'internal' type."
msgstr ""
+"Menge der geplanten eingehenden Produkte.\n"
+"In einem Kontext mit einem einzigen Lagerort umfasst dies die Waren, die an diesem Lagerort oder untergeordneten Lagern ankommen.\n"
+"In einem Kontext mit einem einzigen Lager, umfasst dies Ware, die am Lagerort dieses Lagers oder untergeordneten Lagern ankommen.\n"
+"Andernfalls umfasst dies Waren, die an einem Lagerort mit „internem“ Typ ankommen."
#. module: stock
#: model:ir.model.fields,help:stock.field_product_product_outgoing_qty
@@ -4336,6 +4390,10 @@ msgid ""
"In a context with a single Warehouse, this includes goods leaving the Stock Location of this Warehouse, or any of its children.\n"
"Otherwise, this includes goods leaving any Stock Location with 'internal' type."
msgstr ""
+"Menge der geplanten ausgehenden Produkte.\n"
+"In einem Kontext mit einem einzigen Lagerort umfasst dies die Waren, die diesen Lagerort oder das untergeordnete Lager verlassen.\n"
+"In einem Kontext mit einem einzigen Lager umfasst dies die Waren, die den Lagerort dieses Lagers oder das untergeordnete Lager verlassen.\n"
+"Andernfalls umfasst dies die Waren, die einen Lagerort mit „internem“ Typ verlassen."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_quant_quantity
@@ -4350,6 +4408,7 @@ msgid ""
"Quantity of reserved products in this quant, in the default unit of measure "
"of the product"
msgstr ""
+"Menge der reservierten Produkte, in der Standard-Maßeinheit des Produkts"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_move_reserved_availability
@@ -4369,16 +4428,18 @@ msgstr "Quants"
#, python-format
msgid "Quants cannot be created for consumables or services."
msgstr ""
+"Mengen können nicht für Verbrauchsgüter oder Dienstleistungen erstellt "
+"werden."
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_rate_picking_backorders
msgid "Rate Picking Backorders"
-msgstr ""
+msgstr "Gebühren für die Kommissionierung von Lieferrückständen"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_rate_picking_late
msgid "Rate Picking Late"
-msgstr ""
+msgstr "Gebühren für die späte Kommissionierung"
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_picking_type_kanban
@@ -4398,7 +4459,7 @@ msgstr "Tatsächlicher Bestand"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_line_product_qty
msgid "Real Reserved Quantity"
-msgstr ""
+msgstr "Tatsächliche reservierte Menge"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_warehouse_reception_route_id
@@ -4479,7 +4540,7 @@ msgstr "Belegreferenz"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_picking_form
msgid "Register lots, packs, location"
-msgstr ""
+msgstr "Registrieren von Losnummern, Paketen, Lagerorten"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_picking_internal_search
@@ -4507,13 +4568,13 @@ msgstr "Diese Entnahmestrategie %s ist noch nicht implementiert."
#: model:ir.model.fields,field_description:stock.field_product_product_reordering_max_qty
#: model:ir.model.fields,field_description:stock.field_product_template_reordering_max_qty
msgid "Reordering Max Qty"
-msgstr ""
+msgstr "Maximale Nachbestellmenge"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_product_product_reordering_min_qty
#: model:ir.model.fields,field_description:stock.field_product_template_reordering_min_qty
msgid "Reordering Min Qty"
-msgstr ""
+msgstr "Minimale Nachbestellmenge"
#. module: stock
#: model:ir.actions.act_window,name:stock.act_stock_warehouse_2_stock_warehouse_orderpoint
@@ -4544,6 +4605,8 @@ msgid ""
"Rescheduling applies to any chain of operations (e.g. Make To Order, Pick Pack Ship). In the case of MTO sales, a vendor delay (updated incoming date) impacts the expected delivery date to the customer. \n"
" This option allows to not propagate the rescheduling if the change is not critical."
msgstr ""
+"Die Umplanung bezieht sich auf jede Vorgangskette (z. B. Kundeneinzelfertigung, Pick + Pack + Ship). Im Falle von MTO-Verkäufen wirkt sich eine Verzögerung seitens des Lieferanten (aktualisiertes Eingangsdatum) auf das erwartete Lieferdatum an den Kunden aus. \n"
+" Diese Option ermöglicht es, die Umplanung nicht zu übertragen, wenn die Änderung nicht kritisch ist."
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
@@ -4553,6 +4616,12 @@ msgid ""
" impacts the expected delivery date to the customer. This option allows to "
"not propagate the rescheduling if the change is not critical."
msgstr ""
+"Die Umplanung bezieht sich auf jede Vorgangskette (z. B. "
+"Kundeneinzelfertigung, Pick + Pack + Ship). Im Falle von MTO-Verkäufen wirkt"
+" sich eine Verzögerung seitens des Lieferanten (aktualisiertes "
+"Eingangsdatum) auf das erwartete Lieferdatum an den Kunden aus. Diese Option"
+" ermöglicht es, die Umplanung nicht zu übertragen, wenn die Änderung nicht "
+"kritisch ist."
#. module: stock
#: model:ir.model.fields,field_description:stock.field_res_config_settings_module_procurement_jit
@@ -4562,7 +4631,7 @@ msgstr "Reservierung"
#. module: stock
#: model:ir.ui.view,arch_db:stock.quant_search_view
msgid "Reservations"
-msgstr ""
+msgstr "Reservierungen"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_line_product_uom_qty
@@ -4575,7 +4644,7 @@ msgstr "Reserviert"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_quant_reserved_quantity
msgid "Reserved Quantity"
-msgstr ""
+msgstr "Reservierte Menge"
#. module: stock
#: model:ir.model.fields,help:stock.field_res_config_settings_module_procurement_jit
@@ -4584,6 +4653,9 @@ msgid ""
"is advised to better manage priorities in case of long customer lead times "
"or/and frequent stock-outs."
msgstr ""
+"Es empfiehlt sich, in Lieferaufträgen Produkte manuell zu reservieren oder "
+"den Zeitplaner auszuführen, um die Prioritäten im Falle von langen "
+"Auslieferungszeiten oder häufigen Engpässen besser im Blick zu behalten."
#. module: stock
#: model:ir.model.fields,field_description:stock.field_product_product_responsible_id
@@ -4604,7 +4676,7 @@ msgstr "Beschaffungsläger"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_stock_quantity_history
msgid "Retrieve the Inventory Quantities"
-msgstr ""
+msgstr "Abruf der Bestandsmenge"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_picking_form
@@ -4626,7 +4698,7 @@ msgstr "Rücklieferschein"
#: code:addons/stock/wizard/stock_picking_return.py:97
#, python-format
msgid "Return of %s"
-msgstr ""
+msgstr "Retoure von %s"
#. module: stock
#: code:addons/stock/wizard/stock_picking_return.py:147
@@ -4803,7 +4875,7 @@ msgstr "Ausschuss suchen"
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_location_path_filter
msgid "Search Stock Location Paths"
-msgstr ""
+msgstr "Lagerort-Pfade durchsuchen"
#. module: stock
#: code:addons/stock/models/stock_inventory.py:108
@@ -4888,12 +4960,12 @@ msgstr "Zu belieferndes Lager"
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
msgid "Set Putaway Strategies on Locations"
-msgstr ""
+msgstr "Entnahme-Strategien für Lagerorte festlegen"
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
msgid "Set Warehouse Routes"
-msgstr ""
+msgstr "Lagerrouten festlegen"
#. module: stock
#: model:ir.model.fields,help:stock.field_product_category_removal_strategy_id
@@ -4907,17 +4979,18 @@ msgstr ""
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
msgid "Set expiration dates on lots &amp; serial numbers"
-msgstr ""
+msgstr "Verfallsdaten auf Los- und Seriennummern festlegen"
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
msgid "Set owner on stored products"
-msgstr ""
+msgstr "Eigentümer für gelagerte Produkte festlegen"
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
msgid "Set product attributes (e.g. color, size) to manage variants"
msgstr ""
+"Produktattribute (z. B. Farbe, Größe) festlegen, um Varianten zu verwalten"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_inventory_form
@@ -4988,7 +5061,7 @@ msgstr "Kurzname für das Lager"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_show_check_availability
msgid "Show Check Availability"
-msgstr ""
+msgstr "„Verfügbarkeit prüfen“ anzeigen"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_show_operations
@@ -4999,17 +5072,17 @@ msgstr ""
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_show_lots_text
msgid "Show Lots Text"
-msgstr ""
+msgstr "Los-Text anzeigen"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_show_mark_as_todo
msgid "Show Mark As Todo"
-msgstr ""
+msgstr "„Als zu erledigen markieren“ anzeigen"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_show_operations
msgid "Show Operations"
-msgstr ""
+msgstr "Vorgänge anzeigen"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_show_reserved
@@ -5019,7 +5092,7 @@ msgstr "Reservierte anzeigen"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_show_validate
msgid "Show Validate"
-msgstr ""
+msgstr "Validierung anzeigen"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_picking_internal_search
@@ -5055,7 +5128,7 @@ msgstr "Lagerort (Quelle)"
#. module: stock
#: model:ir.ui.view,arch_db:stock.message_body
msgid "Source Location:"
-msgstr ""
+msgstr "Quellort:"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_line_package_id
@@ -5066,7 +5139,7 @@ msgstr "Verpackungsquelle"
#. module: stock
#: model:ir.ui.view,arch_db:stock.message_body
msgid "Source Package :"
-msgstr ""
+msgstr "Verpackungsquelle:"
#. module: stock
#: model:ir.model.fields,help:stock.field_procurement_rule_location_src_id
@@ -5099,6 +5172,8 @@ msgstr ""
msgid ""
"Specify Product Category to focus your inventory on a particular Category."
msgstr ""
+"Produktkategorie angeben, um Ihren Lagerbestand auf eine bestimmte Kategorie"
+" zu konzentrieren."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_inventory_product_id
@@ -5219,12 +5294,12 @@ msgstr "Lagerpackauftrag"
#: model:ir.model.fields,field_description:stock.field_product_product_stock_quant_ids
#: model:ir.ui.view,arch_db:stock.stock_quant_view_graph
msgid "Stock Quant"
-msgstr ""
+msgstr "Bestandsmenge"
#. module: stock
#: model:ir.model,name:stock.model_stock_quantity_history
msgid "Stock Quantity History"
-msgstr ""
+msgstr "Verlauf Bestandsmenge"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_move_search
@@ -5260,6 +5335,8 @@ msgid ""
"Store products in specific locations of your warehouse (e.g. bins, racks) "
"and to track inventory accordingly."
msgstr ""
+"Lagern Sie Produkte an bestimmten Orten in Ihrem Lager (z. B. in speziellen "
+"Schränken und Staufächern) und verfolgen Sie den Bestand entsprechend."
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_location_route_supplied_wh_id
@@ -5311,6 +5388,8 @@ msgid ""
"Technical field used to compute whether the check availability button should"
" be shown."
msgstr ""
+"Technisches Feld, über das bestimmt wird, ob die Schaltfläche „Verfügbarkeit"
+" prüfen“ angezeigt werden soll."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_picking_show_mark_as_todo
@@ -5318,11 +5397,15 @@ msgid ""
"Technical field used to compute whether the mark as todo button should be "
"shown."
msgstr ""
+"Technisches Feld, über das bestimmt wird, ob die Schaltfläche „Als zu "
+"erledigen markieren“ angezeigt werden soll."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_picking_show_validate
msgid "Technical field used to compute whether the validate should be shown."
msgstr ""
+"Technisches Feld, über das bestimmt wird, ob die Schaltfläche „Validieren“ "
+"angezeigt werden soll."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_move_restrict_partner_id
@@ -5349,22 +5432,23 @@ msgstr ""
#: model:ir.model.fields,help:stock.field_stock_move_line_produce_line_ids
msgid "Technical link to see which line was produced with this. "
msgstr ""
+"Technische Verknüpfung, um anzuzeigen, welche Zeile hierüber erstellt wurde."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_move_line_consume_line_ids
msgid "Technical link to see who consumed what. "
-msgstr ""
+msgstr "Technische Verknüpfung, um anzuzeigen, wer was verbraucht hat."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_move_product_tmpl_id
msgid "Technical: used in views"
-msgstr ""
+msgstr "Technisch: für Ansichten verwendet."
#. module: stock
#: model:ir.model.fields,help:stock.field_product_product_stock_move_ids
#: model:ir.model.fields,help:stock.field_product_product_stock_quant_ids
msgid "Technical: used to compute quantities."
-msgstr ""
+msgstr "Technisch: zur Berechnung von Mengen verwendet."
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_change_product_qty_product_tmpl_id
@@ -5378,6 +5462,9 @@ msgid ""
"one.With 'Automatic No Step Added', the location is replaced in the original"
" move."
msgstr ""
+"Der Wert „Manueller Vorgang“ erzeugt eine Lagerbuchung nach der aktuellen. "
+"Über die Option „Automatische Erstellung Lieferauftrag ohne Beleg“ wird der "
+"Lagerort im ursprünglichen Vorgang ersetzt."
#. module: stock
#: code:addons/stock/models/stock_move.py:1065
@@ -5408,6 +5495,8 @@ msgstr "Die Kombination aus Seriennummer und Produkt muss eindeutig sein!"
#: model:ir.model.fields,help:stock.field_stock_warehouse_company_id
msgid "The company is automatically set from your user preferences."
msgstr ""
+"Das Unternehmen wird automatisch über Ihre Benutzereinstellungen "
+"eingestellt."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_inventory_date
@@ -5439,6 +5528,15 @@ msgid ""
"point. That way, it is always known where we need to go and that is why they"
" are preferred over push rules."
msgstr ""
+"Die Nachfrage, die durch eine Beschaffung z. B. aus einem Verkaufsauftrag, "
+"einer Neubestellungsregel oder einer anderen Buchung repräsentiert wird, "
+"muss durch eine Beschaffungsregel gelöst werden. Abhängig von der Aktion in "
+"der Beschaffungsregel wird dadurch eine Bestellung, ein Fertigungsauftrag "
+"oder eine andere Buchung ausgelöst. Auf diese Weise erstellen wir in "
+"umgekehrter Reihenfolge Ketten vom Endpunkt mit der ursprünglichen Nachfrage"
+" bis zum Ausgangspunkt. Auf diese Weise ist immer bekannt, was der nächste "
+"Schritt ist, und daher wird diese Vorgehensweise gegenüber Push-Regeln "
+"bevorzugt."
#. module: stock
#: model:ir.ui.view,arch_db:stock.product_category_form_view_inherit
@@ -5457,7 +5555,7 @@ msgstr "Der Name eines Lagers muss innerhalb eines Unternehmens klar sein"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_location_path_location_dest_id
msgid "The new location where the goods need to go"
-msgstr ""
+msgstr "Der neue Ort, an den die Waren geliefert werden müssen"
#. module: stock
#: model:ir.model,name:stock.model_stock_picking_type
@@ -5472,6 +5570,10 @@ msgid ""
" On the operation type you could e.g. specify if packing is needed by default,\n"
" if it should show the customer."
msgstr ""
+"Mit Hilfe dieses Systems können typische Liefervorgänge angelegt und genauer"
+" spezifiziert werden. Handelt es sich z.B. um einen Liefervorgang an Kunden,"
+" der für den Kunden sichtbar sein soll sein oder ob eine bestimmte "
+"Verpackung erforderlich ist."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_quant_package_id
@@ -5484,6 +5586,8 @@ msgid ""
"The parent location that includes this location. Example : The 'Dispatch "
"Zone' is the 'Gate 1' parent location."
msgstr ""
+"Der übergeordnete Lagerort, der diesen Lagerort enthält. Beispiel: Die "
+"„Versandzone“ ist der übergeordnete Ort von „Tor 1“."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_warehouse_orderpoint_qty_multiple
@@ -5502,7 +5606,7 @@ msgstr "Die Beschaffungsregel, welche diese Lagerbuchung erstellt hat"
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_warn_insufficient_qty_form_view
msgid "The product"
-msgstr ""
+msgstr "Das Produkt"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_move_push_rule_id
@@ -5589,6 +5693,10 @@ msgid ""
"routes put another location. If it is empty, it will check for the customer "
"location on the partner. "
msgstr ""
+"Wenn Sie manuell über diesen Vorgangstyp eine Abholung erstellen, ist dies "
+"der Standard-Zielort. Es ist jedoch möglich, diesen zu ändern oder in den "
+"Routen einen anderen Ort anzugeben. Wenn das Feld leer ist, wird nach dem "
+"Kunden-Standort des Partners gesucht."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_picking_type_default_location_src_id
@@ -5598,6 +5706,10 @@ msgid ""
"put another location. If it is empty, it will check for the supplier "
"location on the partner. "
msgstr ""
+"Wenn Sie manuell über diesen Vorgangstyp eine Abholung erstellen, ist dies "
+"der Standard-Quellort. Es ist jedoch möglich, diesen zu ändern oder in den "
+"Routen einen anderen Ort anzugeben. Wenn das Feld leer ist, wird nach dem "
+"Lieferanten-Standort des Partners gesucht."
#. module: stock
#: model:ir.actions.act_window,help:stock.action_production_lot_form
@@ -5605,11 +5717,13 @@ msgid ""
"This is the list of all the production lots you recorded. When\n"
" you select a lot, you can get the traceability of the products contained in lot."
msgstr ""
+"Dies ist die Liste aller Produktionslose, die Sie aufgezeichnet haben. Wenn\n"
+" Sie ein Los auswählen, können Sie die in diesem Los enthaltenen Produkte rückverfolgen."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_location_path_picking_type_id
msgid "This is the operation type that will be put on the stock moves"
-msgstr ""
+msgstr "Dies ist der Vorgangstyp, der auf alle Lagerbuchungen angewandt wird"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_quant_owner_id
@@ -5639,6 +5753,8 @@ msgstr ""
msgid ""
"This location's usage cannot be changed to view as it contains products."
msgstr ""
+"Die Nutzung dieses Lagerorts kann nicht in Betracht gezogen werden, da "
+"Produkte enthalten sind."
#. module: stock
#: model:ir.actions.act_window,help:stock.stock_move_action
@@ -5655,7 +5771,7 @@ msgstr ""
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_template_property_form
msgid "This note will show up on delivery orders."
-msgstr ""
+msgstr "Dieser Hinweis wird auf Auslieferungsaufträgen angezeigt."
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_template_property_form
@@ -5692,11 +5808,13 @@ msgid ""
"This rule can be applied when a move is confirmed that has this location as "
"destination location"
msgstr ""
+"Diese Regel kann angewendet werden, wenn eine Buchung bestätigt wird, für "
+"die dieser Ort als Zielort gilt."
#. module: stock
#: model:ir.ui.view,arch_db:stock.report_delivery_document
msgid "This shipment is a backorder of"
-msgstr ""
+msgstr "Diese Lieferung fällt in einen Lieferrückstand von"
#. module: stock
#: model:ir.model.fields,help:stock.field_res_partner_property_stock_customer
@@ -5756,7 +5874,7 @@ msgstr "Zu erledigen"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_line_to_loc
msgid "To Loc"
-msgstr ""
+msgstr "An Ort"
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_picking_type_kanban
@@ -5794,7 +5912,7 @@ msgstr "Lieferverfolgung"
#. module: stock
#: model:ir.ui.view,arch_db:stock.report_stock_body_print
msgid "Traceability Report"
-msgstr ""
+msgstr "Rückverfolgbarkeits-Bericht"
#. module: stock
#: model:ir.model.fields,help:stock.field_res_config_settings_module_product_expiry
@@ -5802,6 +5920,8 @@ msgid ""
"Track following dates on lots & serial numbers: best before, removal, end of life, alert. \n"
" Such dates are set automatically at lot/serial number creation based on values set on the product (in days)."
msgstr ""
+"Verfolgen Sie die folgenden Daten auf Los- und Seriennummern: Mindestens haltbar bis, Entnahme, Verwendbar bis, Warnung. \n"
+" Diese Daten werden automatisch bei der Erstellung von Los-/Seriennummern erstellt basierend auf für das Produkt festgelegten Werten (in Tagen)."
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
@@ -5810,11 +5930,13 @@ msgid ""
" life, alert. Such dates are set automatically at lot/serial number creation"
" based on values set on the product (in days)."
msgstr ""
+"Verfolgen Sie folgende Daten auf Los- und Seriennummern verfolgen: am "
+"besten, Abschaffung, Schluss, warnen. "
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
msgid "Track product location in your warehouse"
-msgstr ""
+msgstr "Verfolgen Sie den Produkt-Lagerort in Ihrem Lager"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_product_product_tracking
@@ -5912,7 +6034,7 @@ msgstr "Mengeneinheit"
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
msgid "Units Of Measure"
-msgstr ""
+msgstr "Mengeneinheiten"
#. module: stock
#: model:ir.ui.menu,name:stock.menu_stock_unit_measure_stock
@@ -5974,13 +6096,13 @@ msgstr "ME"
#. module: stock
#: model:ir.ui.menu,name:stock.menu_stock_uom_categ_form_action
msgid "UoM Categories"
-msgstr ""
+msgstr "ME-Kategorien"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_picking_form
#: model:ir.ui.view,arch_db:stock.view_production_lot_form
msgid "Up/Down Traceability"
-msgstr ""
+msgstr "Herkunftssicherung und Rückverfolgbarkeit"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_view_change_product_quantity
@@ -6002,7 +6124,7 @@ msgstr "Lagerbestand korrigieren"
#: model:ir.ui.view,arch_db:stock.report_stock_inventory
#, python-format
msgid "Upstream Traceability"
-msgstr ""
+msgstr "Herkunftssicherung"
#. module: stock
#: selection:stock.move,priority:0 selection:stock.picking,priority:0
@@ -6017,7 +6139,7 @@ msgstr "Benutze vorhandene Los/Seriennummer"
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
msgid "Use your own routes and putaway strategies"
-msgstr ""
+msgstr "Verwenden Sie eigene Routen und Entnahme-Strategien"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_picking_type_sequence
@@ -6220,6 +6342,8 @@ msgid ""
"finished product manual manufacturing order. In other cases, it is important"
" to use pull rules where you know where you are going based on a demand."
msgstr ""
+"Wenn eine Buchung an einen Ort vorgesehen ist, erzeugt die Push-Regel "
+"automatisch eine Buchung zum darauffolgenden Ort. "
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_location_route_warehouse_selectable
@@ -6229,11 +6353,15 @@ msgid ""
" can be overridden by the routes on the Product/Product Categories or by the"
" Preferred Routes on the Procurement"
msgstr ""
+"Wenn ein Lager für diese Route ausgewählt wurde, sollte diese Route als "
+"Standard-Route angesehen werden, wenn Produkte dieses Lager durchlaufen. "
+"Dieses Verhalten kann durch die Routen unter Produkt/Produktkategorien oder "
+"durch die bevorzugten Routen in der Beschaffung überschrieben werden"
#. module: stock
#: selection:stock.picking,move_type:0
msgid "When all products are ready"
-msgstr ""
+msgstr "Wenn alle Produkte bereit sind"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_location_route_product_selectable
@@ -6241,6 +6369,8 @@ msgid ""
"When checked, the route will be selectable in the Inventory tab of the "
"Product form. It will take priority over the Warehouse route. "
msgstr ""
+"Wenn diese Option aktiviert ist, kann die Route über das Bestand-Tab im "
+"Produktformular ausgewählt werden. Sie hat dann Vorrang über die Lagerroute."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_location_route_product_categ_selectable
@@ -6248,6 +6378,8 @@ msgid ""
"When checked, the route will be selectable on the Product Category. It will"
" take priority over the Warehouse route. "
msgstr ""
+"Wenn diese Option aktiviert ist, kann die Route über die Produktkategorie "
+"ausgewählt werden. Sie hat dann Priorität über die Lagerroute."
#. module: stock
#: model:ir.model.fields,help:stock.field_product_putaway_fixed_location_ids
@@ -6263,6 +6395,9 @@ msgid ""
"When the picking is not done this allows changing the initial demand. When "
"the picking is done this allows changing the done quantities."
msgstr ""
+"Wenn die Kommissionierung nicht erfolgt, kann die ursprüngliche Nachfrage "
+"geändert werden. Wenn die Kommissionierung vorgenommen wird, können Sie die "
+"entnommenen Mengen ändern."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_warehouse_orderpoint_product_min_qty
@@ -6310,6 +6445,7 @@ msgstr ""
#: model:ir.model.fields,field_description:stock.field_stock_move_additional
msgid "Whether the move was added after the picking's confirmation"
msgstr ""
+"Ob die Buchung nach der Bestätigung der Kommissionierung hinzugefügt wurde"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_return_picking_line_wizard_id
@@ -6320,7 +6456,7 @@ msgstr "Assistent"
#: code:addons/stock/models/stock_production_lot.py:37
#, python-format
msgid "You are not allowed to create a lot for this picking type"
-msgstr ""
+msgstr "Sie dürfen für diesen Kommissionier-Typ kein Los erstellen"
#. module: stock
#: code:addons/stock/models/stock_move.py:636
@@ -6332,6 +6468,11 @@ msgid ""
"valuate your stock or change its rounding precision to a smaller value "
"(example: 0.00001)."
msgstr ""
+"Sie verwenden eine kleinere Maßeinheit als die für die Lagerung Ihres "
+"Produkts verwendete. Dies kann zu einem Rundungsproblem bei reservierten "
+"Mengen führen! Sie sollten die kleinstmögliche Maßeinheit verwenden, um "
+"Ihren Bestand zu bewerten, oder die Rundungsgenauigkeit auf einen kleineren "
+"Wert ändern (Beispiel: 0,00001)."
#. module: stock
#: model:ir.actions.act_window,help:stock.action_routes_form
@@ -6382,6 +6523,9 @@ msgid ""
"You can either do it immediately or mark it as Todo for future processing. "
"Use your scanner to validate the transferred quantity quicker."
msgstr ""
+"Sie können es entweder sofort tun oder als „Zu erledigen“ für die zukünftige"
+" Verarbeitung markieren. Verwenden Sie Ihren Scanner, um die übertragene "
+"Menge schneller zu validieren."
#. module: stock
#: code:addons/stock/models/product.py:511
@@ -6391,6 +6535,9 @@ msgid ""
"stock move. If you need to change the type, you should first unreserve the "
"stock move."
msgstr ""
+"Sie können den Typ eines Produkts nicht ändern, das derzeit in einer "
+"Lagerbuchung reserviert ist. Wenn Sie den Typ ändern müssen, sollten Sie "
+"zunächst die Reservierung für die Lagerbuchung aufheben."
#. module: stock
#: code:addons/stock/models/product.py:502
@@ -6411,18 +6558,20 @@ msgid ""
"You can not delete product moves if the picking is done. You can only "
"correct the done quantities."
msgstr ""
+"Sie können keine Produktbuchungen löschen, wenn die Kommissionierung "
+"stattfindet. Sie können nur die entnommenen Mengen korrigieren."
#. module: stock
#: code:addons/stock/models/stock_move_line.py:116
#, python-format
msgid "You can not enter negative quantities!"
-msgstr ""
+msgstr "Sie können keine negativen Mengen eingeben!"
#. module: stock
#: code:addons/stock/models/stock_inventory.py:398
#, python-format
msgid "You can only adjust stockable products."
-msgstr ""
+msgstr "Sie können nur lagerfähige Produkte anpassen."
#. module: stock
#: code:addons/stock/models/stock_move.py:1073
@@ -6435,6 +6584,8 @@ msgstr "Sie können lediglich Lieferungen im Entwurf Status löschen."
#, python-format
msgid "You can only process 1.0 %s for products with unique serial number."
msgstr ""
+"Sie können nur 1,0 %s für Produkte mit einer eindeutigen Seriennummer "
+"verarbeiten."
#. module: stock
#: code:addons/stock/models/stock_move.py:936
@@ -6446,7 +6597,7 @@ msgstr "Sie können keine Lagerbuchung stornieren, die bereits gebucht ist."
#: code:addons/stock/models/stock_scrap.py:71
#, python-format
msgid "You cannot delete a scrap which is done."
-msgstr ""
+msgstr "Sie können keinen Ausschuss löschen, der bearbeitet wird."
#. module: stock
#: code:addons/stock/models/stock_inventory.py:386
@@ -6457,6 +6608,10 @@ msgid ""
"Please first validatethe first inventory adjustement with this product "
"before creating another one."
msgstr ""
+"Für dasselbe Produkt (%s), denselben Ort (%s), das gleiche Paket, denselben "
+"Besitzer und das gleiche Los können nicht zwei Bestandsanpassungen den "
+"Status „In Bearbeitung“ innehaben. Bestätigen Sie zunächst die erste "
+"Bestandsanpassung für dieses Produkt, bevor Sie eine weitere erstellen."
#. module: stock
#: code:addons/stock/models/stock_inventory.py:159
@@ -6489,6 +6644,8 @@ msgid ""
"You cannot take products from or deliver products to a location of type "
"\"view\"."
msgstr ""
+"Sie können keine Produkte von einem Lagerort vom Typ „Ansicht“ entnehmen "
+"bzw. an einen solchen Lagerort liefern."
#. module: stock
#: code:addons/stock/models/stock_move_line.py:152
@@ -6498,6 +6655,8 @@ msgid ""
"You cannot use the same serial number twice. Please correct the serial "
"numbers encoded."
msgstr ""
+"Sie können dieselbe Seriennummer nicht zweimal verwenden. Korrigieren Sie "
+"die codierten Seriennummern."
#. module: stock
#: code:addons/stock/models/stock_picking.py:672
@@ -6506,12 +6665,16 @@ msgid ""
"You cannot validate a transfer if you have not processed any quantity for "
"%s."
msgstr ""
+"Sie können keine Übertragung validieren, wenn Sie keine Menge für %s "
+"bearbeitet haben."
#. module: stock
#: code:addons/stock/models/stock_picking.py:656
#, python-format
msgid "You cannot validate a transfer if you have not processed any quantity."
msgstr ""
+"Sie können keine Übertragung validieren, wenn Sie keine Menge bearbeitet "
+"haben."
#. module: stock
#: model:ir.ui.view,arch_db:stock.report_picking
@@ -6519,6 +6682,9 @@ msgid ""
"You do not have any products reserved for this picking. Please click the 'Reserve' button\n"
" to check if products are available."
msgstr ""
+"Sie haben keine Produkte für diese Kommissionierung reserviert. Klicken Sie "
+"auf die Schaltfläche „Reservieren“, um zu prüfen, ob Produkte verfügbar "
+"sind."
#. module: stock
#: code:addons/stock/models/stock_move_line.py:132
@@ -6527,6 +6693,8 @@ msgid ""
"You have already assigned this serial number to this product. Please correct"
" the serial numbers encoded."
msgstr ""
+"Sie haben diese Seriennummer bereits diesem Produkt zugewiesen. Korrigieren "
+"Sie die codierten Seriennummern."
#. module: stock
#: code:addons/stock/wizard/stock_picking_return.py:106
@@ -6547,6 +6715,8 @@ msgid ""
"You have processed more than what was initially\n"
" planned for the product"
msgstr ""
+"Sie haben mehr verarbeitet als das, was ursprünglich\n"
+" für das Produkt geplant war"
#. module: stock
#: code:addons/stock/models/product.py:304
@@ -6555,6 +6725,8 @@ msgid ""
"You have products in stock that have no lot number. You can assign serial "
"numbers by doing an inventory. "
msgstr ""
+"Sie haben Produkte im Lager, die keine Los-Nummer aufweisen. Sie können "
+"Seriennummern zuweisen, indem Sie eine Inventur durchführen."
#. module: stock
#: code:addons/stock/models/stock_warehouse.py:795
@@ -6570,7 +6742,7 @@ msgstr ""
#: code:addons/stock/models/stock_location.py:98
#, python-format
msgid "You have to set a name for this location."
-msgstr ""
+msgstr "Sie müssen einen Namen für diesen Lagerort festlegen."
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_immediate_transfer
@@ -6595,20 +6767,21 @@ msgstr "Sie dürfen zu gegebener Zeit nur eine Kommissionierung zurückgeben."
#: code:addons/stock/models/stock_inventory.py:22
#, python-format
msgid "You must define a warehouse for the company: %s."
-msgstr ""
+msgstr "Sie müssen ein Lager für das Unternehmen festlegen: %s."
#. module: stock
#: code:addons/stock/models/stock_move_line.py:387
#: code:addons/stock/models/stock_picking.py:670
#, python-format
msgid "You need to supply a lot/serial number for %s."
-msgstr ""
+msgstr "Sie müssen eine Los-/Seriennummer für %s angeben."
#. module: stock
#: code:addons/stock/models/stock_move.py:1047
#, python-format
msgid "You should not put the contents of a package in different locations."
msgstr ""
+"Sie sollten für den Inhalt eines Pakets nicht verschiedene Orte festlegen."
#. module: stock
#: code:addons/stock/models/product.py:369
@@ -6618,6 +6791,8 @@ msgid ""
"You still have some active reordering rules on this product. Please archive "
"or delete them first."
msgstr ""
+"Für dieses Produkt sind Nachbestellungsregeln aktiviert. Archivieren Sie "
+"diese oder löschen Sie sie."
#. module: stock
#: code:addons/stock/models/stock_move.py:318
@@ -6662,7 +6837,7 @@ msgstr "Tage"
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
msgid "days to be propagated"
-msgstr ""
+msgstr "Tage für die Übertragung"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_inventory_form
@@ -6688,12 +6863,12 @@ msgstr "z.B. PO0032"
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_warn_insufficient_qty_form_view
msgid "in"
-msgstr ""
+msgstr "in"
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_warn_insufficient_qty_form_view
msgid "is not available in sufficient quantity"
-msgstr ""
+msgstr "ist nicht in ausreichender Menge verfügbar"
#. module: stock
#: model:ir.model,name:stock.model_report_stock_forecast
@@ -6713,7 +6888,7 @@ msgstr "Lagerbeständige Einlagerungsstrategie"
#. module: stock
#: model:ir.model,name:stock.model_stock_overprocessed_transfer
msgid "stock.overprocessed.transfer"
-msgstr ""
+msgstr "stock.overprocessed.transfer"
#. module: stock
#: model:ir.model,name:stock.model_stock_return_picking_line
@@ -6733,12 +6908,12 @@ msgstr "stock.traceability.report"
#. module: stock
#: model:ir.model,name:stock.model_stock_warn_insufficient_qty
msgid "stock.warn.insufficient.qty"
-msgstr ""
+msgstr "stock.warn.insufficient.qty"
#. module: stock
#: model:ir.model,name:stock.model_stock_warn_insufficient_qty_scrap
msgid "stock.warn.insufficient.qty.scrap"
-msgstr ""
+msgstr "stock.warn.insufficient.qty.scrap"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_picking_form
diff --git a/addons/stock/i18n/fr.po b/addons/stock/i18n/fr.po
index 881f7059d4f..07a1377d940 100644
--- a/addons/stock/i18n/fr.po
+++ b/addons/stock/i18n/fr.po
@@ -79,6 +79,10 @@ msgid ""
" * Done: has been processed, can't be modified or cancelled anymore.\n"
" * Cancelled: has been cancelled, can't be confirmed anymore."
msgstr ""
+"* Brouillon : non confirmé et ne sera pas planifié avant d'avoir été confirmé.\n"
+" * En attente d'une autre opération : un autre mouvement doit avoir lieu avant qu'il ne devienne automatiquement disponible (p. ex. dans un flux de fabrication à la demande).\n"
+" * En attente : non prêt à être envoyé car les produits nécessaires n'ont pas pu être réservés.\n"
+" * Prêt : les produits sont réservés et prêts à être envoyés. "
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_move_picking_form
@@ -107,6 +111,11 @@ msgid ""
"* Available: When products are reserved, it is set to 'Available'.\n"
"* Done: When the shipment is processed, the state is 'Done'."
msgstr ""
+"* Nouveau : lorsque le mouvement de stock a été créé mais n'est pas encore confirmé.\n"
+"* En attente d'un autre mouvement : cet état signifie qu'un mouvement est en attente d'un autre mouvement, par exemple dans le cas d'un flux à enchaînements.\n"
+"* En attente de disponibilité : cet état signifie que l'approvisionnement ne peut pas se faire directement. Il est peut-être nécessaire d'exécuter le planificateur ou de fabriquer un composant, par exemple.\n"
+"* Disponible : lorsqu'un produit est réservé, son état passe à « Disponible ».\n"
+"* Terminé : lorsque l'envoi a été traité, son état passe à « Terminé »"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_location_usage
@@ -120,6 +129,14 @@ msgid ""
"* Production: Virtual counterpart location for production operations: this location consumes the raw material and produces finished products\n"
"* Transit Location: Counterpart location that should be used in inter-company or inter-warehouses operations"
msgstr ""
+"* Emplacement fournisseur : un emplacement virtuel qui correspond à l'emplacement d'origine des produits issus de vos fournisseurs\n"
+"* Vue : emplacement virtuel utilisé pour créer des structures hiérarchiques pour votre entrepôt, en agrégeant ses emplacements enfants ; ne peut pas directement contenir de produits.\n"
+"* Emplacement interne : l'emplacement physique dans votre entrepôt.\n"
+"* Emplacement client : un emplacement virtuel qui correspond à l'emplacement de destination des produits envoyés à vos clients.\n"
+"* Perte d'inventaire : emplacement virtuel servant de contrepartie pour les opérations d'inventaire utilisées pour corriger les niveaux de stock (inventaires physiques)\n"
+"* Approvisionnement : emplacement virtuel servant de contrepartie temporaire pour les opérations d'approvisionnement lorsque la source (fournisseur ou fabrication) n'est pas encore connue. Cet emplacement doit être vide une fois que le planificateur d'approvisionnement a fini de s'exécuter.\n"
+"* Fabrication : emplacement de contrepartie virtuel pour les opérations de fabrication. Cet emplacement consomme des matières premières et fabrique des produits finis.\n"
+"* Emplacement de transit : emplacement de contrepartie à utiliser pour les opérations inter-entreprises et inter-entrepôts."
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_warn_insufficient_qty_form_view
@@ -315,12 +332,14 @@ msgstr "Un colis"
#, python-format
msgid "A done move line should never have a reserved quantity."
msgstr ""
+"Une ligne de mouvement terminé ne doit jamais comporter de quantité "
+"réservée."
#. module: stock
#: code:addons/stock/models/stock_quant.py:76
#, python-format
msgid "A serial number should only be linked to a single product."
-msgstr ""
+msgstr "Un numéro de série ne doit être associé qu'à un seul produit."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_move_product_type
@@ -363,6 +382,8 @@ msgid ""
"Add and customize route operations to process product moves in your warehouse(s): e.g. unload > quality control > stock for incoming products, pick > pack > ship for outgoing products. \n"
" You can also set putaway strategies on warehouse locations in order to send incoming products into specific child locations straight away (e.g. specific bins, racks)."
msgstr ""
+"Ajoutez et personnalisez des opérations de transit pour traiter les mouvements de produits dans vos entrepôts. Exemple : déchargement > contrôle qualité > mise en stock pour les produits entrants, et préparation > emballage > envoi pour les produits sortants. \n"
+" Vous pouvez également définir des stratégies de rangement pour vos entrepôts afin d'envoyer directement les produits entrants à des emplacements enfants spécifiques (p. ex. un bac ou une étagère spécifique)."
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
@@ -373,6 +394,13 @@ msgid ""
"strategies on warehouse locations in order to send incoming products into "
"specific child locations straight away (e.g. specific bins, racks)."
msgstr ""
+"Ajoutez et personnalisez des opérations de transit pour traiter les "
+"mouvements de produits dans vos entrepôts. Exemple : déchargement > contrôle"
+" qualité> mise en stock pour les produits entrants, et préparation > "
+"emballage > envoi pour les produits sortants. Vous pouvez également définir "
+"des stratégies de rangement pour vos entrepôts afin d'envoyer directement "
+"les produits entrants à des emplacements enfants spécifiques (p. un bac ou "
+"une étagère spécifique)."
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_picking_form
@@ -445,6 +473,7 @@ msgstr "Tous les mouvements de retour"
#, python-format
msgid "An incoming date cannot be set to an untracked product."
msgstr ""
+"Une date ultérieure ne peut pas être définie pour un produit non suivi."
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_location_route_form_view
@@ -495,7 +524,7 @@ msgstr ""
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_overprocessed_transfer
msgid "Are you sure you want to validate this picking?"
-msgstr ""
+msgstr "Voulez-vous vraiment valider cette préparation ?"
#. module: stock
#: selection:stock.picking,move_type:0
@@ -622,7 +651,7 @@ msgstr "Lecteur de code-barres"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_res_config_settings_module_stock_picking_batch
msgid "Batch Pickings"
-msgstr ""
+msgstr "Préparations en lot"
#. module: stock
#: selection:res.partner,picking_warn:0
@@ -675,6 +704,12 @@ msgid ""
"stock) to gather products. If we want to chain moves and have this one to "
"wait for the previous,this second option should be chosen."
msgstr ""
+"Par défaut, le système retire les produits du stock de l'emplacement "
+"d'origine et attend passivement leur disponibilité. Il est également "
+"possible de créer directement un approvisionnement à l'emplacement d'origine"
+" (sans tenir compte du stock actuel) pour acheminer les produits. Si vous "
+"souhaitez effectuer plusieurs mouvements à la suite en faisant en sorte que "
+"chaque mouvement attende la fin du précédent, choisissez la deuxième option."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_location_active
@@ -695,22 +730,22 @@ msgstr ""
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_CIP
msgid "CARRIAGE AND INSURANCE PAID TO"
-msgstr ""
+msgstr "TRANSPORT ET ASSURANCE PAYÉS À"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_CPT
msgid "CARRIAGE PAID TO"
-msgstr ""
+msgstr "TRANSPORT PAYÉ À"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_CFR
msgid "COST AND FREIGHT"
-msgstr ""
+msgstr "COÛT ET FRET"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_CIF
msgid "COST, INSURANCE AND FREIGHT"
-msgstr ""
+msgstr "COÛT, ASSURANCE ET FRET"
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_picking_calendar
@@ -784,12 +819,12 @@ msgstr "Changer la quantité d'articles"
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
msgid "Change must be higher than"
-msgstr ""
+msgstr "La modification doit être supérieure à"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_move_line_move_id
msgid "Change to a better name"
-msgstr ""
+msgstr "Choisir un meilleur nom"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_picking_form
@@ -800,11 +835,12 @@ msgstr "Vérifier la disponibilité"
#: model:ir.model.fields,help:stock.field_stock_picking_has_packages
msgid "Check the existence of destination packages on move lines"
msgstr ""
+"Vérifier l'existence de colis de destination sur des lignes de mouvement"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_picking_move_line_exist
msgid "Check the existence of pack operation on the picking"
-msgstr ""
+msgstr "Vérifier l'existence d'une opération d'emballage sur la préparation"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_location_return_location
@@ -830,7 +866,7 @@ msgstr "Quantité vérifiée"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_quantity_history_date
msgid "Choose a date to get the inventory at that date"
-msgstr ""
+msgstr "Choisir une date de récupération de l'inventaire"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_quantity_history_compute_at_date
@@ -1022,12 +1058,12 @@ msgstr "Mouvements confirmés"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_res_config_settings_group_stock_tracking_owner
msgid "Consignment"
-msgstr ""
+msgstr "Consignation"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_line_consume_line_ids
msgid "Consume Line"
-msgstr ""
+msgstr "Utiliser la ligne"
#. module: stock
#: model:ir.model,name:stock.model_res_partner
@@ -1062,37 +1098,37 @@ msgstr ""
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_count_picking
msgid "Count Picking"
-msgstr ""
+msgstr "Compter les préparations"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_count_picking_backorders
msgid "Count Picking Backorders"
-msgstr ""
+msgstr "Compter les préparations en retard"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_count_picking_draft
msgid "Count Picking Draft"
-msgstr ""
+msgstr "Compter les préparations à l'état de brouillon"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_count_picking_late
msgid "Count Picking Late"
-msgstr ""
+msgstr "Compter les préparations en retard"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_count_picking_ready
msgid "Count Picking Ready"
-msgstr ""
+msgstr "Compter les préparations prêtes"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_count_picking_waiting
msgid "Count Picking Waiting"
-msgstr ""
+msgstr "Compter les préparations"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_template_property_form
msgid "Counterpart Locations"
-msgstr ""
+msgstr "Emplacements de contrepartie"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_backorder_confirmation
@@ -1249,12 +1285,12 @@ msgstr "Inventaire actuel"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_quant_package_current_picking_id
msgid "Current Picking"
-msgstr ""
+msgstr "Préparation actuelle"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_quant_package_current_picking_move_line_ids
msgid "Current Picking Move Line"
-msgstr ""
+msgstr "Ligne de mouvement de la préparation actuelle"
#. module: stock
#: model:ir.actions.act_window,name:stock.location_open_quants
@@ -1317,37 +1353,37 @@ msgstr "DATE"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_DAF
msgid "DELIVERED AT FRONTIER"
-msgstr ""
+msgstr "RENDU FRONTIÈRE"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_DAP
msgid "DELIVERED AT PLACE"
-msgstr ""
+msgstr "RENDU AU LIEU DE DESTINATION"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_DAT
msgid "DELIVERED AT TERMINAL"
-msgstr ""
+msgstr "RENDU AU TERMINAL"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_DDP
msgid "DELIVERED DUTY PAID"
-msgstr ""
+msgstr "RENDU DROITS ACQUITTÉS"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_DDU
msgid "DELIVERED DUTY UNPAID"
-msgstr ""
+msgstr "RENDU DROITS NON ACQUITTÉS"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_DEQ
msgid "DELIVERED EX QUAY"
-msgstr ""
+msgstr "RENDU À QUAI"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_DES
msgid "DELIVERED EX SHIP"
-msgstr ""
+msgstr "RENDU EX SHIP"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_res_config_settings_module_delivery_dhl
@@ -1445,6 +1481,12 @@ msgid ""
" the stock operations like the manufacturing orders\n"
" consumptions, inventories, etc."
msgstr ""
+"Définissez vos emplacements de façon à ce qu'ils reflètent la structure de votre entrepôt et de votre\n"
+" organisation. Odoo est capable de gérer des emplacements physiques\n"
+" (entrepôts, étagères, bacs, etc.), des emplacements de partenaire (clients,\n"
+" fournisseurs) ainsi que des emplacements virtuels. Ces derniers servent de contrepartie aux\n"
+" opérations de stock, telles que les ordres de fabrication,\n"
+" la consommation, les inventaires, etc."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_location_putaway_strategy_id
@@ -1549,23 +1591,23 @@ msgstr "Description"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_template_property_form
msgid "Description for Delivery Orders"
-msgstr ""
+msgstr "Description pour les bons de livraison"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_template_property_form
msgid "Description for Internal Transfers"
-msgstr ""
+msgstr "Description pour les transferts internes"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_template_property_form
msgid "Description for Receptions"
-msgstr ""
+msgstr "Description pour les réceptions"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_product_product_description_pickingout
#: model:ir.model.fields,field_description:stock.field_product_template_description_pickingout
msgid "Description on Delivery Orders"
-msgstr ""
+msgstr "Description pour les bons de livraison"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_product_product_description_picking
@@ -1577,7 +1619,7 @@ msgstr "Description du prélèvement"
#: model:ir.model.fields,field_description:stock.field_product_product_description_pickingin
#: model:ir.model.fields,field_description:stock.field_product_template_description_pickingin
msgid "Description on Receptions"
-msgstr ""
+msgstr "Description pour les réceptions"
#. module: stock
#: model:ir.ui.view,arch_db:stock.report_picking
@@ -1600,13 +1642,13 @@ msgstr "Emplacement de destination"
#. module: stock
#: model:ir.ui.view,arch_db:stock.message_body
msgid "Destination Location:"
-msgstr ""
+msgstr "Emplacement de destination :"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_move_dest_ids
#: model:ir.ui.view,arch_db:stock.view_move_form
msgid "Destination Moves"
-msgstr ""
+msgstr "Mouvements de destination"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_line_result_package_id
@@ -1617,7 +1659,7 @@ msgstr "Colis de destination"
#. module: stock
#: model:ir.ui.view,arch_db:stock.message_body
msgid "Destination Package :"
-msgstr ""
+msgstr "Colis de destination :"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_route_ids
@@ -1629,7 +1671,7 @@ msgstr "Route de destination"
#: model:ir.ui.view,arch_db:stock.view_picking_form
#, python-format
msgid "Detailed Operations"
-msgstr ""
+msgstr "Opérations détaillées"
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_location_path_form
@@ -1639,7 +1681,7 @@ msgstr "Détails"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_show_details_visible
msgid "Details Visible"
-msgstr ""
+msgstr "Détails visibles"
#. module: stock
#: model:ir.model.fields,help:stock.field_procurement_rule_procure_method
@@ -1722,6 +1764,8 @@ msgstr "Transferts terminés par date"
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
msgid "Don’t propagate scheduling changes through chains of operations"
msgstr ""
+"Ne pas propager les modifications de planification à travers les chaînes "
+"d'opérations"
#. module: stock
#. openerp-web
@@ -1745,7 +1789,7 @@ msgstr "Mouvements en brouillon"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_EXW
msgid "EX WORKS"
-msgstr ""
+msgstr "DÉPART USINE"
#. module: stock
#. openerp-web
@@ -1805,17 +1849,17 @@ msgstr "FIFO, LIFO..."
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_FAS
msgid "FREE ALONGSIDE SHIP"
-msgstr ""
+msgstr "FRANCO LE LONG DU NAVIRE"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_FCA
msgid "FREE CARRIER"
-msgstr ""
+msgstr "FRANCO TRANSPORTEUR"
#. module: stock
#: model:stock.incoterms,name:stock.incoterm_FOB
msgid "FREE ON BOARD"
-msgstr ""
+msgstr "FRANCO À BORD"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_res_config_settings_module_delivery_fedex
@@ -1887,12 +1931,12 @@ msgstr "De"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_line_from_loc
msgid "From Loc"
-msgstr ""
+msgstr "De l'emplacement"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_show_reserved_availability
msgid "From Supplier"
-msgstr ""
+msgstr "Du fournisseur"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_location_complete_name
@@ -1997,7 +2041,7 @@ msgstr "A des Opérations de Colisage"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_has_packages
msgid "Has Packages"
-msgstr ""
+msgstr "Possède des colis"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_has_scrap_move
@@ -2019,6 +2063,12 @@ msgid ""
" the purchase order reference. Then you can confirm all products\n"
" received using the buttons on the right of each line."
msgstr ""
+"Permet de recevoir les produits individuellement, quel que soit\n"
+" l'ordre dans lequel ils ont été achetés ou préparés. Vous trouverez\n"
+" la liste de tous les produits que vous attendez de recevoir. Après avoir reçu\n"
+" une commande, vous pouvez filtrer les produits en fonction du nom du fournisseur ou\n"
+" de la référence du bon de commande. Ensuite, vous pouvez confirmer tous les produits\n"
+" reçus à l'aide des boutons situés à droite de chaque ligne."
#. module: stock
#: model:ir.model.fields,field_description:stock.field_procurement_group_id
@@ -2142,6 +2192,9 @@ msgid ""
"If the picking is unlocked you can edit initial demand (for a draft picking)"
" or done quantities (for a done picking)."
msgstr ""
+"Si la préparation est déverrouillée, vous pouvez modifier la demande "
+"initiale (si la préparation est à l'état de brouillon) ou les quantités "
+"terminées (si la préparation est terminée)."
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_location_path_filter
@@ -2164,6 +2217,9 @@ msgid ""
" operations. If not, the picking lines will represent an aggregate of "
"detailed stock operations."
msgstr ""
+"Si cette case est cochée, les lignes de préparation contiendront les "
+"opérations de stock détaillées. Si ce n'est pas le cas, les lignes de "
+"préparation contiendront une synthèse des opérations de stock détaillées."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_picking_type_use_create_lots
@@ -2171,6 +2227,9 @@ msgid ""
"If this is checked only, it will suppose you want to create new Lots/Serial "
"Numbers, so you can provide them in a text field. "
msgstr ""
+"Si cette case est cochée, le système considèrera que vous souhaitez créer "
+"des numéros de lot/série et vous permettra donc de les saisir dans un champ "
+"de texte."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_picking_type_use_existing_lots
@@ -2250,7 +2309,7 @@ msgstr "Type d'entrée"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_inventory_exhausted
msgid "Include Exhausted Products"
-msgstr ""
+msgstr "Inclure les produits épuisés"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_product_product_incoming_qty
@@ -2376,24 +2435,26 @@ msgid ""
"Internal reference number in case it differs from the manufacturer's "
"lot/serial number"
msgstr ""
+"Référence interne, dans le cas où celle-ci est différente du numéro de lot "
+"ou de série du fabricant."
#. module: stock
#: code:addons/stock/models/product.py:240
#, python-format
msgid "Invalid domain left operand %s"
-msgstr ""
+msgstr "Opérande gauche du domaine non valide : %s"
#. module: stock
#: code:addons/stock/models/product.py:242
#, python-format
msgid "Invalid domain operator %s"
-msgstr ""
+msgstr "Opérateur du domaine non valide : %s"
#. module: stock
#: code:addons/stock/models/product.py:244
#, python-format
msgid "Invalid domain right operand %s"
-msgstr ""
+msgstr "Opérande droit du domaine non valide : %s"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_inventory_location_id
@@ -2475,7 +2536,7 @@ msgstr "Ligne d'inventaire"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_inventory_line_tree
msgid "Inventory Lines"
-msgstr ""
+msgstr "Lignes d'inventaire"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_product_product_property_stock_inventory
@@ -2496,7 +2557,7 @@ msgstr "Perte d'inventaire"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_inventory_filter
msgid "Inventory Product"
-msgstr ""
+msgstr "Produit d'inventaire"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_inventory_name
@@ -2566,12 +2627,12 @@ msgstr "Est un emplacement de rebut ?"
#: model:ir.model.fields,field_description:stock.field_stock_move_is_initial_demand_editable
#: model:ir.model.fields,field_description:stock.field_stock_move_line_is_initial_demand_editable
msgid "Is initial demand editable"
-msgstr ""
+msgstr "La demande initiale est-elle modifiable ?"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_is_quantity_done_editable
msgid "Is quantity done editable"
-msgstr ""
+msgstr "La quantité terminée est-elle modifiable ?"
#. module: stock
#: code:addons/stock/models/stock_quant.py:254
@@ -2579,6 +2640,8 @@ msgstr ""
msgid ""
"It is not possible to reserve more products of %s than you have in stock."
msgstr ""
+"La quantité de produits de %s réservés ne peut pas être supérieure à la "
+"quantité en stock."
#. module: stock
#: code:addons/stock/models/stock_quant.py:256
@@ -2586,6 +2649,8 @@ msgstr ""
msgid ""
"It is not possible to unreserve more products of %s than you have in stock."
msgstr ""
+"La quantité de produits de %s débloqués ne peut pas être supérieure à la "
+"quantité en stock."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_move_product_packaging
@@ -2606,13 +2671,13 @@ msgstr ""
#: model:ir.ui.view,arch_db:stock.report_stock_body_print
#: model:ir.ui.view,arch_db:stock.report_stock_inventory
msgid "LOCATION"
-msgstr ""
+msgstr "localisation"
#. module: stock
#: model:ir.ui.view,arch_db:stock.report_stock_body_print
#: model:ir.ui.view,arch_db:stock.report_stock_inventory
msgid "LOT/SERIAL NUMBER"
-msgstr ""
+msgstr "Lot/numéro de série"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_last_done_picking
@@ -2785,7 +2850,7 @@ msgstr "Mouvements liés"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_inventory_form
msgid "List view of lines"
-msgstr ""
+msgstr "Lignes en vue Liste"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_location_form
@@ -2898,7 +2963,7 @@ msgstr "Lot/N° série"
#. module: stock
#: model:ir.ui.view,arch_db:stock.message_body
msgid "Lot/Serial :"
-msgstr ""
+msgstr "Lot/série :"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_change_product_qty_lot_id
@@ -2920,7 +2985,7 @@ msgstr "Lot/numéro de série"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_inventory_tree
msgid "Lot/Serial Number Inventory"
-msgstr ""
+msgstr "Inventaire des numéros de lot/série"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_res_config_settings_group_stock_production_lot
@@ -2930,7 +2995,7 @@ msgstr "Lots & Numéros de série"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_line_lots_visible
msgid "Lots Visible"
-msgstr ""
+msgstr "Lots visibles"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_production_lot_form
@@ -2939,13 +3004,13 @@ msgstr ""
#: model:ir.ui.view,arch_db:stock.view_production_lot_form_simple
#: model:ir.ui.view,arch_db:stock.view_production_lot_tree
msgid "Lots/Serial Numbers"
-msgstr ""
+msgstr "Numéros de lots/séries"
#. module: stock
#: code:addons/stock/models/stock_warehouse.py:541
#, python-format
msgid "MTO"
-msgstr ""
+msgstr "Production à la demande"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_warehouse_mto_pull_id
@@ -3111,7 +3176,7 @@ msgstr "Mouvement"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_stock_move_operations
msgid "Move Detail"
-msgstr ""
+msgstr "Détails du mouvement"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_picking_type_entire_packs
@@ -3133,7 +3198,7 @@ msgstr "Ligne d'écriture"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_move_line_nosuggest_ids
msgid "Move Line Nosuggest"
-msgstr ""
+msgstr "Ligne de mouvement sans suggestion"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_move_line_form
@@ -3225,7 +3290,7 @@ msgstr "Nouveau"
#: code:addons/stock/models/stock_picking.py:597
#, python-format
msgid "New Move:"
-msgstr ""
+msgstr "Nouveau mouvement :"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_change_product_qty_new_quantity
@@ -3251,7 +3316,7 @@ msgstr "Aucun Message"
#: model:ir.model.fields,field_description:stock.field_res_config_settings_propagation_minimum_delta
#: model:ir.model.fields,field_description:stock.field_res_config_settings_use_propagation_minimum_delta
msgid "No Rescheduling Propagation"
-msgstr ""
+msgstr "Ne pas propager la replanification"
#. module: stock
#: selection:product.template,tracking:0
@@ -3274,7 +3339,7 @@ msgstr "Aucune opération faite sur ce lot"
#, python-format
msgid ""
"No procurement rule found. Please verify the configuration of your routes"
-msgstr ""
+msgstr "Vérifiez la configuration de vos itinéraires"
#. module: stock
#: code:addons/stock/wizard/stock_picking_return.py:55
@@ -3291,6 +3356,8 @@ msgstr ""
#, python-format
msgid "No source location defined on procurement rule: %s!"
msgstr ""
+"Aucun emplacement d'origine n'est défini dans la règle d'approvisionnement :"
+" %s"
#. module: stock
#: selection:stock.move,priority:0 selection:stock.picking,priority:0
@@ -3496,7 +3563,7 @@ msgstr "Origine"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_move_form
msgid "Origin Moves"
-msgstr ""
+msgstr "Mouvements d'origine"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_origin_returned_move_id
@@ -3545,7 +3612,7 @@ msgstr "Emplacement de sortie"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_overprocessed_transfer_overprocessed_product_name
msgid "Overprocessed Product Name"
-msgstr ""
+msgstr "Nom du produit sur-traité"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_inventory_line_partner_id
@@ -3814,7 +3881,7 @@ msgstr "Listes de préparation"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_stock_quant_form
msgid "Picking Moves"
-msgstr ""
+msgstr "Mouvements de préparation"
#. module: stock
#: model:ir.actions.report,name:stock.action_report_picking
@@ -3860,7 +3927,7 @@ msgstr "Transfert planifié"
#: code:addons/stock/models/stock_picking.py:649
#, python-format
msgid "Please add some lines to move"
-msgstr ""
+msgstr "Ajoutez des lignes à déplacer"
#. module: stock
#: code:addons/stock/models/stock_picking.py:823
@@ -3928,7 +3995,7 @@ msgstr "Traiter les préparations par lots par travailleur"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_overprocessed_transfer
msgid "Processed more than initial demand"
-msgstr ""
+msgstr "Traitement supérieur à la demande initiale"
#. module: stock
#: selection:stock.location,usage:0
@@ -3987,7 +4054,7 @@ msgstr "Approvisionnements"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_line_produce_line_ids
msgid "Produce Line"
-msgstr ""
+msgstr "Ligne de fabrication"
#. module: stock
#: code:addons/stock/models/product.py:347
@@ -4108,6 +4175,8 @@ msgid ""
"Product this lot/serial number contains. You cannot change it anymore if it "
"has already been moved."
msgstr ""
+"Produit contenu dans ce numéro de lot/série. Vous ne pouvez plus le modifier"
+" s'il a déjà été déplacé."
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_has_tracking
@@ -4201,6 +4270,7 @@ msgstr "Stratégie de rangement"
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
msgid "Put your products in packs (e.g. parcels, boxes) and track them"
msgstr ""
+"Emballez vos produits (p. ex. dans des colis ou des boîtes) et suivez-les"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_putaway
@@ -4297,7 +4367,7 @@ msgstr "La quantité ne peut pas être négative."
#: code:addons/stock/models/stock_move.py:611
#, python-format
msgid "Quantity decreased!"
-msgstr ""
+msgstr "Quantité diminuée."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_move_availability
@@ -4317,6 +4387,10 @@ msgid ""
"In a context with a single Warehouse, this includes goods arriving to the Stock Location of this Warehouse, or any of its children.\n"
"Otherwise, this includes goods arriving to any Stock Location with 'internal' type."
msgstr ""
+"La quantité de produits entrants prévue.\n"
+"Dans le cas d'un emplacement de stock unique, il s'agit des marchandises arrivant à cet emplacement ou à l'un de ses enfants.\n"
+"Dans le cas d'un entrepôt unique, il s'agit des marchandises arrivant à l'emplacement de stock de cet entrepôt ou à l'un de ses enfants.\n"
+"Autrement, il s'agit des marchandises arrivant à n'importe quel emplacement de stock de type « interne »."
#. module: stock
#: model:ir.model.fields,help:stock.field_product_product_outgoing_qty
@@ -4326,6 +4400,10 @@ msgid ""
"In a context with a single Warehouse, this includes goods leaving the Stock Location of this Warehouse, or any of its children.\n"
"Otherwise, this includes goods leaving any Stock Location with 'internal' type."
msgstr ""
+"La quantité de produits sortants prévue.\n"
+"Dans le cas d'un emplacement de stock unique, il s'agit des marchandises quittant cet emplacement ou l'un de ses enfants.\n"
+"Dans le cas d'un entrepôt unique, il s'agit des marchandises quittant l'emplacement de stock de cet entrepôt ou l'un de ses enfants.\n"
+"Autrement, il s'agit des marchandises quittant n'importe quel emplacement de stock de type « interne »."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_quant_quantity
@@ -4342,6 +4420,8 @@ msgid ""
"Quantity of reserved products in this quant, in the default unit of measure "
"of the product"
msgstr ""
+"La quantité de produits réservés dans ce quant, dans l'unité de mesure par "
+"défaut du produit"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_move_reserved_availability
@@ -4361,16 +4441,18 @@ msgstr "Quants"
#, python-format
msgid "Quants cannot be created for consumables or services."
msgstr ""
+"Impossible de créer des quants pour des produits consommables ou des "
+"services."
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_rate_picking_backorders
msgid "Rate Picking Backorders"
-msgstr ""
+msgstr "Pourcentage de préparations en attente d'approvisionnement"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_rate_picking_late
msgid "Rate Picking Late"
-msgstr ""
+msgstr "Taux de préparations en retard"
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_picking_type_kanban
@@ -4390,7 +4472,7 @@ msgstr "Quantité réelle"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_line_product_qty
msgid "Real Reserved Quantity"
-msgstr ""
+msgstr "Quantité réservée relle"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_warehouse_reception_route_id
@@ -4471,7 +4553,7 @@ msgstr "Référence du document"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_picking_form
msgid "Register lots, packs, location"
-msgstr ""
+msgstr "Enregistrer des lots, emballages, emplacements"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_picking_internal_search
@@ -4499,13 +4581,13 @@ msgstr "La stratégie d'enlèvement %s n'est pas implémentée."
#: model:ir.model.fields,field_description:stock.field_product_product_reordering_max_qty
#: model:ir.model.fields,field_description:stock.field_product_template_reordering_max_qty
msgid "Reordering Max Qty"
-msgstr ""
+msgstr "Qté de réapprovisionnement max."
#. module: stock
#: model:ir.model.fields,field_description:stock.field_product_product_reordering_min_qty
#: model:ir.model.fields,field_description:stock.field_product_template_reordering_min_qty
msgid "Reordering Min Qty"
-msgstr ""
+msgstr "Qté de réapprovisionnement min."
#. module: stock
#: model:ir.actions.act_window,name:stock.act_stock_warehouse_2_stock_warehouse_orderpoint
@@ -4536,6 +4618,8 @@ msgid ""
"Rescheduling applies to any chain of operations (e.g. Make To Order, Pick Pack Ship). In the case of MTO sales, a vendor delay (updated incoming date) impacts the expected delivery date to the customer. \n"
" This option allows to not propagate the rescheduling if the change is not critical."
msgstr ""
+"Un report vaut pour n'importe quelle chaîne d'opérations (p. ex. fabrication à la demande ou préparation + emballage + envoi). Dans le cas d'une vente avec fabrication à la demande, un retard fournisseur (date d'arrivée modifiée) affecte la date de livraison au client prévue.\n"
+" Cette option permet de ne pas propager le report si le changement de date n'est pas important."
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
@@ -4545,6 +4629,11 @@ msgid ""
" impacts the expected delivery date to the customer. This option allows to "
"not propagate the rescheduling if the change is not critical."
msgstr ""
+"Un report vaut pour n'importe quelle chaîne d'opérations (p. ex. fabrication"
+" à la demande ou préparation + emballage + envoi). Dans le cas d'une vente "
+"avec fabrication à la demande, un retard fournisseur (date d'arrivée "
+"modifiée) affecte la date de livraison au client prévue. Cette option permet"
+" de ne pas propager le report si le changement de date n'est pas important."
#. module: stock
#: model:ir.model.fields,field_description:stock.field_res_config_settings_module_procurement_jit
@@ -4576,6 +4665,9 @@ msgid ""
"is advised to better manage priorities in case of long customer lead times "
"or/and frequent stock-outs."
msgstr ""
+"Il est conseillé de réserver les produits manuellement en créant des bons de"
+" livraison ou en exécutant le planificateur afin de mieux gérer les "
+"priorités en cas de longs délais clients ou de ruptures de stock fréquentes."
#. module: stock
#: model:ir.model.fields,field_description:stock.field_product_product_responsible_id
@@ -4596,7 +4688,7 @@ msgstr "Entrepôts de réapprovisionnement"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_stock_quantity_history
msgid "Retrieve the Inventory Quantities"
-msgstr ""
+msgstr "Récupérer les quantités d'inventaire"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_picking_form
@@ -4618,7 +4710,7 @@ msgstr "Retour de marchandise"
#: code:addons/stock/wizard/stock_picking_return.py:97
#, python-format
msgid "Return of %s"
-msgstr ""
+msgstr "Retour de %s"
#. module: stock
#: code:addons/stock/wizard/stock_picking_return.py:147
@@ -4780,7 +4872,7 @@ msgstr "Rechercher un inventaire"
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_inventory_line_search
msgid "Search Inventory Lines"
-msgstr ""
+msgstr "Rechercher une ligne d'inventaire"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_procurement_rule_filter
@@ -4847,7 +4939,7 @@ msgstr " Séquence d'entrée"
#: code:addons/stock/models/stock_warehouse.py:689
#, python-format
msgid "Sequence internal"
-msgstr ""
+msgstr "Séquence interne"
#. module: stock
#: code:addons/stock/models/stock_warehouse.py:686
@@ -4859,13 +4951,13 @@ msgstr " Séquence de sortie"
#: code:addons/stock/models/stock_warehouse.py:687
#, python-format
msgid "Sequence packing"
-msgstr ""
+msgstr "Séquence de colisage"
#. module: stock
#: code:addons/stock/models/stock_warehouse.py:688
#, python-format
msgid "Sequence picking"
-msgstr ""
+msgstr "Séquence de préparation"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_inventory_line_prodlot_name
@@ -4880,7 +4972,7 @@ msgstr "Entrepôt servi"
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
msgid "Set Putaway Strategies on Locations"
-msgstr ""
+msgstr "Définir une stratégie de rangement pour un emplacement"
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
@@ -4968,6 +5060,11 @@ msgid ""
" labels and request carrier picking at your warehouse to ship to the "
"customer. Apply shipping connector from delivery methods."
msgstr ""
+"Les connecteurs d'envoi permettent de calculer les frais d'expédition "
+"précis, d'imprimer des étiquettes d'expédition et de demander la "
+"récupération du colis à l'entrepôt par le fournisseur pour l'envoyer au "
+"client. Pour appliquer un connecteur d'envoi, accédez aux modes de "
+"livraison."
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_warehouse_code
@@ -4982,38 +5079,38 @@ msgstr "Nom court utilisé pour identifier votre entrpôt"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_show_check_availability
msgid "Show Check Availability"
-msgstr ""
+msgstr "Afficher Vérifier la disponibilité"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_show_operations
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_show_operations
msgid "Show Detailed Operations"
-msgstr ""
+msgstr "Afficher Opérations détaillées"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_show_lots_text
msgid "Show Lots Text"
-msgstr ""
+msgstr "Afficher Texte des lots"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_show_mark_as_todo
msgid "Show Mark As Todo"
-msgstr ""
+msgstr "Afficher Ajouter aux tâches à faire"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_show_operations
msgid "Show Operations"
-msgstr ""
+msgstr "Afficher Opérations"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_type_show_reserved
msgid "Show Reserved"
-msgstr ""
+msgstr "Afficher Réservé"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking_show_validate
msgid "Show Validate"
-msgstr ""
+msgstr "Afficher Valider"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_picking_internal_search
@@ -5051,7 +5148,7 @@ msgstr "Emplacement d'origine"
#. module: stock
#: model:ir.ui.view,arch_db:stock.message_body
msgid "Source Location:"
-msgstr ""
+msgstr "Emplacement d'origine :"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_line_package_id
@@ -5062,7 +5159,7 @@ msgstr "Colis source"
#. module: stock
#: model:ir.ui.view,arch_db:stock.message_body
msgid "Source Package :"
-msgstr ""
+msgstr "Colis d'origine :"
#. module: stock
#: model:ir.model.fields,help:stock.field_procurement_rule_location_src_id
@@ -5094,6 +5191,8 @@ msgstr "Spécifiez le colis afin de filtrer votre inventaire sur ce critère"
msgid ""
"Specify Product Category to focus your inventory on a particular Category."
msgstr ""
+"Indiquez une catégorie de produits pour que votre inventaire se concentre "
+"sur une catégorie spécifique."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_inventory_product_id
@@ -5196,7 +5295,7 @@ msgstr "Stock disponible"
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_scrap_form_view
msgid "Stock Operation"
-msgstr ""
+msgstr "Opération de stock"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_picking_tree_all
@@ -5214,12 +5313,12 @@ msgstr "Colisage"
#: model:ir.model.fields,field_description:stock.field_product_product_stock_quant_ids
#: model:ir.ui.view,arch_db:stock.stock_quant_view_graph
msgid "Stock Quant"
-msgstr ""
+msgstr "Quant de stock"
#. module: stock
#: model:ir.model,name:stock.model_stock_quantity_history
msgid "Stock Quantity History"
-msgstr ""
+msgstr "Historique des quantités de stock"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_move_search
@@ -5244,7 +5343,7 @@ msgstr "Stockable"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_res_config_settings_group_stock_multi_locations
msgid "Storage Locations"
-msgstr ""
+msgstr "Emplacements de stockage"
#. module: stock
#: model:ir.model.fields,help:stock.field_res_config_settings_group_stock_multi_locations
@@ -5305,6 +5404,8 @@ msgid ""
"Technical field used to compute whether the check availability button should"
" be shown."
msgstr ""
+"Champ technique indiquant si le bouton Vérifier la disponibilité doit être "
+"affiché ou non."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_picking_show_mark_as_todo
@@ -5312,11 +5413,14 @@ msgid ""
"Technical field used to compute whether the mark as todo button should be "
"shown."
msgstr ""
+"Champ technique indiquant si le bouton Ajouter aux tâches à faire doit être "
+"affiché ou non."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_picking_show_validate
msgid "Technical field used to compute whether the validate should be shown."
msgstr ""
+"Champ technique indiquant si le bouton Valider doit être affiché ou non."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_move_restrict_partner_id
@@ -5343,6 +5447,7 @@ msgstr ""
#: model:ir.model.fields,help:stock.field_stock_move_line_produce_line_ids
msgid "Technical link to see which line was produced with this. "
msgstr ""
+"Lien technique permettant de déterminer la ligne associée à cet élément."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_move_line_consume_line_ids
@@ -5352,13 +5457,13 @@ msgstr ""
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_move_product_tmpl_id
msgid "Technical: used in views"
-msgstr ""
+msgstr "Technique : utilisé dans les vues."
#. module: stock
#: model:ir.model.fields,help:stock.field_product_product_stock_move_ids
#: model:ir.model.fields,help:stock.field_product_product_stock_quant_ids
msgid "Technical: used to compute quantities."
-msgstr ""
+msgstr "Technique : utilisé pour calculer les quantités."
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_change_product_qty_product_tmpl_id
@@ -5372,6 +5477,9 @@ msgid ""
"one.With 'Automatic No Step Added', the location is replaced in the original"
" move."
msgstr ""
+"La valeur « Opération manuelle » permet de créer un mouvement de stock après"
+" le mouvement actuel. Si « Mouvement automatique sans ajout d'étape » est "
+"sélectionné, l'emplacement sera remplacé lors du mouvement initial."
#. module: stock
#: code:addons/stock/models/stock_move.py:1065
@@ -5434,6 +5542,15 @@ msgid ""
"point. That way, it is always known where we need to go and that is why they"
" are preferred over push rules."
msgstr ""
+"La demande représentée par un approvisionnement (p. ex. issu d'un bon de "
+"commande, d'une règle de commande ou d'un autre mouvement) doit être résolue"
+" en appliquant une règle de réapprovisionnement. Selon l'action définie par "
+"la règle de réapprovisionnement, cela déclenche la création d'un bon de "
+"commande, d'un ordre de fabrication ou d'un autre mouvement. Il nous est "
+"ainsi possible de créer des chaînes inversées en partant de l'étape finale "
+"avec la demande initiale et en terminant par le point de départ. De cette "
+"manière, nous savons toujours quelle est la prochaine étape. C'est la raison"
+" pour laquelle nous préférons cette solution aux règles de flux poussé."
#. module: stock
#: model:ir.ui.view,arch_db:stock.product_category_form_view_inherit
@@ -5483,6 +5600,8 @@ msgid ""
"The parent location that includes this location. Example : The 'Dispatch "
"Zone' is the 'Gate 1' parent location."
msgstr ""
+"L'emplacement parent qui comprend cet emplacement. Par exemple, la « Zone "
+"d'expédition » est l'emplacement parent de la « Porte 1 »."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_warehouse_orderpoint_qty_multiple
@@ -5612,6 +5731,8 @@ msgid ""
"This is the list of all the production lots you recorded. When\n"
" you select a lot, you can get the traceability of the products contained in lot."
msgstr ""
+"Voici la liste de tous les lots de fabrication que vous avez enregistrés. En\n"
+" sélectionnant un lot, vous pouvez consulter l'historique des produits contenus dans le lot."
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_location_path_picking_type_id
@@ -5648,6 +5769,8 @@ msgstr ""
msgid ""
"This location's usage cannot be changed to view as it contains products."
msgstr ""
+"L'utilisation de cet emplacement ne peut pas être définie sur Vue car il "
+"contient des produits."
#. module: stock
#: model:ir.actions.act_window,help:stock.stock_move_action
@@ -5663,7 +5786,7 @@ msgstr ""
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_template_property_form
msgid "This note will show up on delivery orders."
-msgstr ""
+msgstr "Cette note apparaîtra sur les bons de livraison."
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_template_property_form
@@ -5709,7 +5832,7 @@ msgstr ""
#. module: stock
#: model:ir.ui.view,arch_db:stock.report_delivery_document
msgid "This shipment is a backorder of"
-msgstr ""
+msgstr "Cet envoi est un reliquat de"
#. module: stock
#: model:ir.model.fields,help:stock.field_res_partner_property_stock_customer
@@ -5771,7 +5894,7 @@ msgstr "À faire"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move_line_to_loc
msgid "To Loc"
-msgstr ""
+msgstr "Vers l'emplacement"
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_picking_type_kanban
@@ -5817,6 +5940,8 @@ msgid ""
"Track following dates on lots & serial numbers: best before, removal, end of life, alert. \n"
" Such dates are set automatically at lot/serial number creation based on values set on the product (in days)."
msgstr ""
+"Les dates suivantes peuvent être suivies via les numéros de lot et de série : à consommer de préférence avant, date de retrait, date de péremption et date d'alerte. \n"
+" Ces dates sont définies automatiquement lors de la création du numéro de lot/série en fonction de valeurs spécifiées pour chaque produit (en jours)."
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
@@ -5825,6 +5950,11 @@ msgid ""
" life, alert. Such dates are set automatically at lot/serial number creation"
" based on values set on the product (in days)."
msgstr ""
+"Les dates suivantes peuvent être suivies via les numéros de lot et de série "
+": à consommer de préférence avant, date de retrait, date de péremption et "
+"date d'alerte. Ces dates sont définies automatiquement lors de la création "
+"du numéro de lot/série en fonction de valeurs spécifiées pour chaque produit"
+" (en jours)."
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
@@ -5892,7 +6022,7 @@ msgstr ""
#: model:ir.model.fields,help:stock.field_stock_inventory_line_prodlot_name
#: model:ir.model.fields,help:stock.field_stock_production_lot_name
msgid "Unique Lot/Serial Number"
-msgstr ""
+msgstr "Numéro de lot/série unique"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_move_picking_form
@@ -5990,7 +6120,7 @@ msgstr "UdM"
#. module: stock
#: model:ir.ui.menu,name:stock.menu_stock_uom_categ_form_action
msgid "UoM Categories"
-msgstr ""
+msgstr "Catégories UdM"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_picking_form
@@ -6033,7 +6163,7 @@ msgstr "Utiliser les numéros de lot/série existants"
#. module: stock
#: model:ir.ui.view,arch_db:stock.res_config_settings_view_form
msgid "Use your own routes and putaway strategies"
-msgstr ""
+msgstr "Utilisez vos propres itinéraires et stratégies de rangement"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_picking_type_sequence
@@ -6064,7 +6194,7 @@ msgstr "Validé"
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_change_product_qty_product_variant_count
msgid "Variant Count"
-msgstr ""
+msgstr "Nombre de variantes"
#. module: stock
#: model:ir.ui.view,arch_db:stock.view_location_search
@@ -6236,6 +6366,12 @@ msgid ""
"finished product manual manufacturing order. In other cases, it is important"
" to use pull rules where you know where you are going based on a demand."
msgstr ""
+"Lorsqu'un mouvement vers un emplacement est prévu, la règle de flux poussé "
+"crée automatiquement un mouvement vers un autre emplacement ensuite. "
+"Généralement, cette étape est uniquement nécessaire lorsque vous créez des "
+"opérations manuelles, telles qu'un bon de commande manuel à 2/3 étapes ou un"
+" ordre de fabrication manuel à 2/3 étapes pour un produit fini. Dans "
+"d'autres cas, il est important d'utiliser des règles d'approvisionnement"
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_location_route_warehouse_selectable
@@ -6436,12 +6572,14 @@ msgid ""
"You can not delete product moves if the picking is done. You can only "
"correct the done quantities."
msgstr ""
+"Vous ne pouvez pas supprimer un mouvement de produit si la préparation est "
+"terminée. Vous pouvez uniquement corriger les quantités terminées."
#. module: stock
#: code:addons/stock/models/stock_move_line.py:116
#, python-format
msgid "You can not enter negative quantities!"
-msgstr ""
+msgstr "Vous ne pouvez pas saisir une quantité négative."
#. module: stock
#: code:addons/stock/models/stock_inventory.py:398
@@ -6727,7 +6865,7 @@ msgstr "dans"
#. module: stock
#: model:ir.ui.view,arch_db:stock.stock_warn_insufficient_qty_form_view
msgid "is not available in sufficient quantity"
-msgstr ""
+msgstr "n'est pas disponible en quantité suffisante"
#. module: stock
#: model:ir.model,name:stock.model_report_stock_forecast
@@ -6747,7 +6885,7 @@ msgstr "stock.fixed.putaway.strat"
#. module: stock
#: model:ir.model,name:stock.model_stock_overprocessed_transfer
msgid "stock.overprocessed.transfer"
-msgstr ""
+msgstr "stock.overprocessed.transfer"
#. module: stock
#: model:ir.model,name:stock.model_stock_return_picking_line
@@ -6767,7 +6905,7 @@ msgstr "stock.traceability.report"
#. module: stock
#: model:ir.model,name:stock.model_stock_warn_insufficient_qty
msgid "stock.warn.insufficient.qty"
-msgstr ""
+msgstr "stock.warn.insufficient.qty"
#. module: stock
#: model:ir.model,name:stock.model_stock_warn_insufficient_qty_scrap
diff --git a/addons/stock/models/product.py b/addons/stock/models/product.py
index cee713fb796..786dc3b3a56 100644
--- a/addons/stock/models/product.py
+++ b/addons/stock/models/product.py
@@ -365,8 +365,14 @@ class Product(models.Model):
def write(self, values):
res = super(Product, self).write(values)
- if 'active' in values and not values['active'] and self.mapped('orderpoint_ids').filtered(lambda r: r.active):
- raise UserError(_('You still have some active reordering rules on this product. Please archive or delete them first.'))
+ if 'active' in values and not values['active']:
+ products = self.mapped('orderpoint_ids').filtered(lambda r: r.active).mapped('product_id')
+ if products:
+ msg = _('You still have some active reordering rules on this product. Please archive or delete them first.')
+ msg += '\n\n'
+ for product in products:
+ msg += '- %s \n' % product.display_name
+ raise UserError(msg)
return res
class ProductTemplate(models.Model):
diff --git a/addons/stock/models/stock_move.py b/addons/stock/models/stock_move.py
index b68c907c795..17e7a6c8b93 100644
--- a/addons/stock/models/stock_move.py
+++ b/addons/stock/models/stock_move.py
@@ -959,7 +959,8 @@ class StockMove(models.Model):
def _prepare_extra_move_vals(self, qty):
vals = {
'product_uom_qty': qty,
- 'picking_id': self.picking_id.id
+ 'picking_id': self.picking_id.id,
+ 'price_unit': self.price_unit,
}
return vals
@@ -1087,6 +1088,7 @@ class StockMove(models.Model):
'move_dest_ids': [(4, x.id) for x in self.move_dest_ids if x.state not in ('done', 'cancel')],
'move_orig_ids': [(4, x.id) for x in self.move_orig_ids],
'origin_returned_move_id': self.origin_returned_move_id.id,
+ 'price_unit': self.price_unit,
}
return vals
diff --git a/addons/stock/models/stock_picking.py b/addons/stock/models/stock_picking.py
index e999d7ca237..d00b2575c61 100644
--- a/addons/stock/models/stock_picking.py
+++ b/addons/stock/models/stock_picking.py
@@ -8,7 +8,7 @@ import time
from itertools import groupby
from odoo import api, fields, models, _
from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT
-from odoo.tools.float_utils import float_compare, float_round
+from odoo.tools.float_utils import float_compare, float_is_zero, float_round
from odoo.exceptions import UserError
from odoo.addons.stock.models.stock_move import PROCUREMENT_PRIORITIES
from operator import itemgetter
@@ -443,7 +443,7 @@ class Picking(models.Model):
for picking in self:
if self._context.get('planned_picking') and picking.state == 'draft':
picking.show_validate = False
- elif picking.state not in ('draft', 'confirmed', 'assigned') or not picking.is_locked:
+ elif picking.state not in ('draft', 'waiting', 'confirmed', 'assigned') or not picking.is_locked:
picking.show_validate = False
else:
picking.show_validate = True
@@ -594,8 +594,7 @@ class Picking(models.Model):
@return: True
"""
# TDE FIXME: remove decorator when migration the remaining
- # TDE FIXME: draft -> automatically done, if waiting ?? CLEAR ME
- todo_moves = self.mapped('move_lines').filtered(lambda self: self.state in ['draft', 'partially_available', 'assigned', 'confirmed'])
+ todo_moves = self.mapped('move_lines').filtered(lambda self: self.state in ['draft', 'waiting', 'partially_available', 'assigned', 'confirmed'])
# Check if there are ops not linked to moves yet
for pick in self:
# # Explode manually added packages
@@ -684,10 +683,10 @@ class Picking(models.Model):
# If no lots when needed, raise error
picking_type = self.picking_type_id
- no_quantities_done = all(line.qty_done == 0.0 for line in self.move_line_ids)
- no_initial_demand = all(move.product_uom_qty == 0.0 for move in self.move_lines)
- if no_initial_demand and no_quantities_done:
- raise UserError(_('You cannot validate a transfer if you have not processed any quantity.'))
+ no_quantities_done = all(float_is_zero(move_line.qty_done, precision_rounding=move_line.product_uom_id.rounding) for move_line in self.move_line_ids)
+ no_reserved_quantities = all(float_is_zero(move_line.product_qty, precision_rounding=move_line.product_uom_id.rounding) for move_line in self.move_line_ids)
+ if no_reserved_quantities and no_quantities_done:
+ raise UserError(_('You cannot validate a transfer if you have not processed any quantity. You should rather cancel the transfer.'))
if picking_type.use_create_lots or picking_type.use_existing_lots:
lines_to_check = self.move_line_ids
@@ -989,7 +988,7 @@ class Picking(models.Model):
def _put_in_pack(self):
package = False
- for pick in self:
+ for pick in self.filtered(lambda p: p.state not in ('done', 'cancel')):
operations = pick.move_line_ids.filtered(lambda o: o.qty_done > 0 and not o.result_package_id)
operation_ids = self.env['stock.move.line']
if operations:
diff --git a/addons/stock/models/stock_production_lot.py b/addons/stock/models/stock_production_lot.py
index 06cc2917502..4fc1092839d 100644
--- a/addons/stock/models/stock_production_lot.py
+++ b/addons/stock/models/stock_production_lot.py
@@ -42,17 +42,3 @@ class ProductionLot(models.Model):
# We only care for the quants in internal or transit locations.
quants = self.quant_ids.filtered(lambda q: q.location_id.usage in ['internal', 'transit'])
self.product_qty = sum(quants.mapped('quantity'))
-
- @api.multi
- def action_traceability(self):
- move_ids = self.mapped('quant_ids').mapped('history_ids').ids
- if not move_ids:
- return False
- return {
- 'domain': [('id', 'in', move_ids)],
- 'name': _('Traceability'),
- 'view_mode': 'tree,form',
- 'view_type': 'form',
- 'context': {'tree_view_ref': 'stock.view_move_tree'},
- 'res_model': 'stock.move',
- 'type': 'ir.actions.act_window'}
diff --git a/addons/stock/tests/test_move.py b/addons/stock/tests/test_move.py
index dfa9fc1f8f7..609bf0aa334 100644
--- a/addons/stock/tests/test_move.py
+++ b/addons/stock/tests/test_move.py
@@ -2356,19 +2356,18 @@ class StockMove(TransactionCase):
self.assertEqual(self.env['stock.quant']._get_available_quantity(self.product3, self.stock_location, lot_id=lot2, package_id=package1), 1.0)
def test_immediate_validate_1(self):
- """ Create a picking and simulates validate button effect.
- Move line quantity should be set to their reservation quantity automatically
+ """ In a picking with a single available move, clicking on validate without filling any
+ quantities should open a wizard asking to process all the reservation (so, the whole move).
"""
- owner = self.env['res.partner'].create({'name': 'Jean'})
+ partner = self.env['res.partner'].create({'name': 'Jean'})
picking = self.env['stock.picking'].create({
'location_id': self.supplier_location.id,
'location_dest_id': self.stock_location.id,
- 'partner_id': owner.id,
+ 'partner_id': partner.id,
'picking_type_id': self.env.ref('stock.picking_type_in').id,
})
- # move from shelf1
self.env['stock.move'].create({
- 'name': 'test_edit_moveline_1',
+ 'name': 'test_immediate_validate_1',
'location_id': self.supplier_location.id,
'location_dest_id': self.stock_location.id,
'picking_id': picking.id,
@@ -2379,29 +2378,28 @@ class StockMove(TransactionCase):
picking.action_confirm()
picking.action_assign()
res_dict = picking.button_validate()
+ self.assertEqual(res_dict.get('res_model'), 'stock.immediate.transfer')
wizard = self.env[(res_dict.get('res_model'))].browse(res_dict.get('res_id'))
wizard.process()
-
self.assertEqual(self.env['stock.quant']._get_available_quantity(self.product1, self.stock_location), 10.0)
def test_immediate_validate_2(self):
- """ Create a picking and simulates validate button effect.
- Move line quantity should be set to their reservation quantity automatically.
- If the Initial demand quantity is greater than the available quantity. It should only
- set the quantity done to the available(reserved) quantity and create a backorder with the
- remaining quantity.
+ """ In a picking with a single partially available move, clicking on validate without
+ filling any quantities should open a wizard asking to process all the reservation (so, only
+ a part of the initial demand). Validating this wizard should open another one asking for
+ the creation of a backorder. If the backorder is created, it should contain the quantities
+ not processed.
"""
- owner = self.env['res.partner'].create({'name': 'Jean'})
+ partner = self.env['res.partner'].create({'name': 'Jean'})
self.env['stock.quant']._update_available_quantity(self.product1, self.stock_location, 5.0)
picking = self.env['stock.picking'].create({
'location_id': self.stock_location.id,
'location_dest_id': self.customer_location.id,
- 'partner_id': owner.id,
+ 'partner_id': partner.id,
'picking_type_id': self.env.ref('stock.picking_type_out').id,
})
- # move from shelf1
self.env['stock.move'].create({
- 'name': 'test_edit_moveline_1',
+ 'name': 'test_immediate_validate_2',
'location_id': self.stock_location.id,
'location_dest_id': self.customer_location.id,
'picking_id': picking.id,
@@ -2411,67 +2409,96 @@ class StockMove(TransactionCase):
})
picking.action_confirm()
picking.action_assign()
+ # Only 5 products are reserved on the move of 10, click on `button_validate`.
res_dict = picking.button_validate()
+ self.assertEqual(res_dict.get('res_model'), 'stock.immediate.transfer')
wizard = self.env[(res_dict.get('res_model'))].browse(res_dict.get('res_id'))
res_dict_for_back_order = wizard.process()
+ self.assertEqual(res_dict_for_back_order.get('res_model'), 'stock.backorder.confirmation')
backorder_wizard = self.env[(res_dict_for_back_order.get('res_model'))].browse(res_dict_for_back_order.get('res_id'))
+ # Chose to create a backorder.
backorder_wizard.process()
- self.assertEqual(len(picking.move_lines.move_line_ids), 1)
+ # Only 5 products should be processed on the initial move.
+ self.assertEqual(picking.move_lines.state, 'done')
self.assertEqual(picking.move_lines.quantity_done, 5.0)
- self.assertEqual(picking.move_lines.move_line_ids.qty_done, 5.0)
self.assertEqual(self.env['stock.quant']._get_available_quantity(self.product1, self.stock_location), 0.0)
self.assertEqual(len(self.env['stock.quant']._gather(self.product1, self.stock_location)), 0.0)
+ # The backoder should contain a move for the other 5 produts.
backorder = self.env['stock.picking'].search([('backorder_id', '=', picking.id)])
self.assertEqual(len(backorder), 1.0)
self.assertEqual(backorder.move_lines.product_uom_qty, 5.0)
def test_immediate_validate_3(self):
- """ Create a picking and simulates validate button effect.
- In case of a force assign it should ignore the reserved quantity and set
- the quantity done to the initial demand. It should also create the move line.
- """
- owner = self.env['res.partner'].create({'name': 'Jean'})
+ """ In a picking with two moves, one partially available and one unavailable, clicking
+ on validate without filling any quantities should open a wizard asking to process all the
+ reservation (so, only a part of one of the moves). Validating this wizard should open
+ another one asking for the creation of a backorder. If the backorder is created, it should
+ contain the quantities not processed.
+ """
+ product5 = self.env['product.product'].create({
+ 'name': 'Product 5',
+ 'type': 'product',
+ 'categ_id': self.env.ref('product.product_category_all').id,
+ })
+
+ self.env['stock.quant']._update_available_quantity(self.product1, self.stock_location, 1)
+
picking = self.env['stock.picking'].create({
'location_id': self.stock_location.id,
- 'location_dest_id': self.customer_location.id,
- 'partner_id': owner.id,
- 'picking_type_id': self.env.ref('stock.picking_type_out').id,
+ 'location_dest_id': self.pack_location.id,
+ 'picking_type_id': self.env.ref('stock.picking_type_internal').id,
})
- # move from shelf1
- self.env['stock.move'].create({
- 'name': 'test_edit_moveline_1',
+ product1_move = self.env['stock.move'].create({
+ 'name': 'product1_move',
'location_id': self.stock_location.id,
- 'location_dest_id': self.customer_location.id,
+ 'location_dest_id': self.pack_location.id,
'picking_id': picking.id,
'product_id': self.product1.id,
'product_uom': self.uom_unit.id,
- 'product_uom_qty': 10.0,
+ 'product_uom_qty': 100,
+ })
+ product5_move = self.env['stock.move'].create({
+ 'name': 'product3_move',
+ 'location_id': self.stock_location.id,
+ 'location_dest_id': self.pack_location.id,
+ 'picking_id': picking.id,
+ 'product_id': product5.id,
+ 'product_uom': self.uom_unit.id,
+ 'product_uom_qty': 100,
})
picking.action_confirm()
- picking.force_assign()
- res_dict = picking.button_validate()
- wizard = self.env[(res_dict.get('res_model'))].browse(res_dict.get('res_id'))
+ picking.action_assign()
+
+ # product1_move should be partially available (1/100), product5_move should be totally
+ # unavailable (0/100)
+ self.assertEqual(product1_move.state, 'partially_available')
+ self.assertEqual(product5_move.state, 'confirmed')
+
+ action = picking.button_validate()
+ self.assertEqual(action.get('res_model'), 'stock.immediate.transfer')
+ wizard = self.env[(action.get('res_model'))].browse(action.get('res_id'))
+ action = wizard.process()
+ self.assertTrue(isinstance(action, dict), 'Should open backorder wizard')
+ self.assertEqual(action.get('res_model'), 'stock.backorder.confirmation')
+ wizard = self.env[(action.get('res_model'))].browse(action.get('res_id'))
wizard.process()
+ backorder = self.env['stock.picking'].search([('backorder_id', '=', picking.id)])
+ self.assertEqual(len(backorder), 1.0)
- self.assertEqual(picking.move_lines.quantity_done, 10.0)
- # Check move_lines data
- self.assertEqual(len(picking.move_lines.move_line_ids), 1)
- self.assertEqual(picking.move_lines.move_line_ids.qty_done, 10.0)
- self.assertEqual(picking.move_lines.move_line_ids.product_qty, 0.0)
- # Check quants data
- self.assertEqual(self.env['stock.quant']._get_available_quantity(self.product1, self.stock_location), 0.0)
- self.assertEqual(self.env['stock.quant']._get_available_quantity(self.product1, self.stock_location, allow_negative=True), -10.0)
- self.assertEqual(len(self.env['stock.quant']._gather(self.product1, self.stock_location)), 1.0)
+ # The backorder should contain 99 product1 and 100 product5.
+ for backorder_move in backorder.move_lines:
+ if backorder_move.product_id.id == self.product1.id:
+ self.assertEqual(backorder_move.product_qty, 99)
+ elif backorder_move.product_id.id == product5.id:
+ self.assertEqual(backorder_move.product_qty, 100)
def test_immediate_validate_4(self):
- """ Create a picking and simulates validate button effect.
- If the product is tracked by lot. The user should set the lot
- and the quantity done himself before validate. Otherwise it should
- return a UserError.
+ """ In a picking with a single available tracked by lot move, clicking on validate without
+ filling any quantities should open an UserError.
"""
- owner = self.env['res.partner'].create({'name': 'Jean'})
+ partner = self.env['res.partner'].create({'name': 'Jean'})
lot1 = self.env['stock.production.lot'].create({
'name': 'lot1',
'product_id': self.product3.id,
@@ -2480,12 +2507,12 @@ class StockMove(TransactionCase):
picking = self.env['stock.picking'].create({
'location_id': self.stock_location.id,
'location_dest_id': self.customer_location.id,
- 'partner_id': owner.id,
+ 'partner_id': partner.id,
'picking_type_id': self.env.ref('stock.picking_type_out').id,
})
# move from shelf1
self.env['stock.move'].create({
- 'name': 'test_edit_moveline_1',
+ 'name': 'test_immediate_validate_4',
'location_id': self.stock_location.id,
'location_dest_id': self.customer_location.id,
'picking_id': picking.id,
@@ -2495,10 +2522,11 @@ class StockMove(TransactionCase):
})
picking.action_confirm()
picking.action_assign()
+ # No quantites/lot filled, it should raise.
with self.assertRaises(UserError):
picking.button_validate()
picking.move_lines.move_line_ids[0].qty_done = 5.0
- # We do not need to catch wizard since everything is already defined and the action_done will be processed immediately
+ # All the information are present (lots and quantities), the wizard won't be opened.
picking.button_validate()
self.assertEqual(picking.move_lines.quantity_done, 5.0)
@@ -2535,9 +2563,9 @@ class StockMove(TransactionCase):
return picking
def test_immediate_validate_5(self):
- """ Create a picking and simulates validate button effect.
- Test that tracked products can be received without specifying a serial
- number when the picking type is configured that way.
+ """ In a receipt with a single tracked by serial numbers move, clicking on validate without
+ filling any quantities nor lot should open an UserError except if the picking type is
+ configured to allow otherwise.
"""
picking_type_id = self.env.ref('stock.picking_type_in')
product_id = self.product2
@@ -2555,23 +2583,17 @@ class StockMove(TransactionCase):
self.assertEqual(picking.state, 'done')
def test_immediate_validate_6(self):
- """ Create a picking and simulates validate button effect.
- This tests three cases:
- - if a user has processed no quantities and at least one product is tracked,
- he should specify lots
- - if a user has processed some quantities then it's ok because a backorder
- will be created for the ones not filled in
- - if a user overprocesses a move he will be asked to confirm if this is ok
+ """ In a receipt picking with two moves, one tracked and one untracked, clicking on
+ validate without filling any quantities should displays an UserError as long as no quantity
+ done and lot_name is set on the tracked move. Now if the user validates the picking, the
+ wizard telling the user all reserved quantities will be processed will NOT be opened. This
+ wizard is only opene if no quantities were filled. So validating the picking at this state
+ will open another wizard asking for the creation of a backorder. Now, if the user processed
+ on the second move more than the reservation, a wizard will ask him to confirm.
"""
picking_type = self.env.ref('stock.picking_type_in')
picking_type.use_create_lots = True
picking_type.use_existing_lots = False
- lot1 = self.env['stock.production.lot'].create({
- 'name': 'lot1',
- 'product_id': self.product3.id,
- })
- self.env['stock.quant']._update_available_quantity(self.product1, self.stock_location, 1)
- self.env['stock.quant']._update_available_quantity(self.product3, self.stock_location, 1, lot_id=lot1)
picking = self.env['stock.picking'].create({
'location_id': self.supplier_location.id,
'location_dest_id': self.stock_location.id,
@@ -2597,16 +2619,15 @@ class StockMove(TransactionCase):
})
picking.action_confirm()
picking.action_assign()
+
with self.assertRaises(UserError):
picking.button_validate()
-
product3_move.move_line_ids[0].qty_done = 1
- # should still complain about lots because no lot_{name,id} was set
with self.assertRaises(UserError):
picking.button_validate()
-
product3_move.move_line_ids[0].lot_name = '271828'
action = picking.button_validate() # should open backorder wizard
+
self.assertTrue(isinstance(action, dict), 'Should open backorder wizard')
self.assertEqual(action.get('res_model'), 'stock.backorder.confirmation')
@@ -2615,6 +2636,33 @@ class StockMove(TransactionCase):
self.assertTrue(isinstance(action, dict), 'Should open overprocessing wizard')
self.assertEqual(action.get('res_model'), 'stock.overprocessed.transfer')
+ def test_immediate_validate_7(self):
+ """ In a picking with a single unavailable move, clicking on validate without filling any
+ quantities should display an UserError telling the user he cannot process a picking without
+ any processed quantity.
+ """
+ partner = self.env['res.partner'].create({'name': 'Jean'})
+ picking = self.env['stock.picking'].create({
+ 'location_id': self.stock_location.id,
+ 'location_dest_id': self.customer_location.id,
+ 'partner_id': partner.id,
+ 'picking_type_id': self.env.ref('stock.picking_type_out').id,
+ })
+ self.env['stock.move'].create({
+ 'name': 'test_immediate_validate_2',
+ 'location_id': self.stock_location.id,
+ 'location_dest_id': self.customer_location.id,
+ 'picking_id': picking.id,
+ 'product_id': self.product1.id,
+ 'product_uom': self.uom_unit.id,
+ 'product_uom_qty': 10.0,
+ })
+ picking.action_confirm()
+ picking.action_assign()
+ # No products are reserved on the move of 10, click on `button_validate`.
+ with self.assertRaises(UserError):
+ picking.button_validate()
+
def test_set_quantity_done_1(self):
move1 = self.env['stock.move'].create({
'name': 'test_set_quantity_done_1',
diff --git a/addons/stock/wizard/stock_immediate_transfer.py b/addons/stock/wizard/stock_immediate_transfer.py
index e137f5ad85d..66a652ac795 100644
--- a/addons/stock/wizard/stock_immediate_transfer.py
+++ b/addons/stock/wizard/stock_immediate_transfer.py
@@ -23,11 +23,8 @@ class StockImmediateTransfer(models.TransientModel):
if picking.state != 'assigned':
raise UserError(_("Could not reserve all requested products. Please use the \'Mark as Todo\' button to handle the reservation manually."))
for move in picking.move_lines:
- if move.move_line_ids:
- for move_line in move.move_line_ids:
- move_line.qty_done = move_line.product_uom_qty
- else:
- move.quantity_done = move.product_uom_qty
+ for move_line in move.move_line_ids:
+ move_line.qty_done = move_line.product_uom_qty
if picking._check_backorder():
pick_to_backorder |= picking
continue
diff --git a/addons/stock_account/i18n/de.po b/addons/stock_account/i18n/de.po
index c469c79b45b..d75a0af57a7 100644
--- a/addons/stock_account/i18n/de.po
+++ b/addons/stock_account/i18n/de.po
@@ -3,26 +3,27 @@
# * stock_account
#
# Translators:
-# Martin Trigaux <mat@odoo.com>, 2017
-# Wolfgang Taferner <wolfgang.transifex@service.wt-io-it.at>, 2017
+# Martin Trigaux, 2017
+# Wolfgang Taferner, 2017
# darenkster <inactive+darenkster@transifex.com>, 2017
# Bülent Tiknas <btiknas@googlemail.com>, 2017
# Ermin Trevisan <trevi@twanda.com>, 2017
# Malte Jansen <work@maltejansen.de>, 2017
# JackTheHunter <Maximilian.N98@gmail.com>, 2017
# Tina Rittmüller <tr@ife.de>, 2017
-# Niki Waibel <niki.waibel@gmail.com>, 2017
+# Niki Waibel, 2017
# Henry Mineehen <info@mineehen.de>, 2017
-# Andi <flimflam@salasar.de>, 2017
+# Andi, 2017
# Anja Funk <anja.funk@afimage.de>, 2017
# Philipp Hug <philipp@hug.cx>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-30 13:11+0000\n"
"PO-Revision-Date: 2017-11-30 13:11+0000\n"
-"Last-Translator: Philipp Hug <philipp@hug.cx>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -38,7 +39,7 @@ msgstr "Buchungssatz"
#. module: stock_account
#: model:ir.model.fields,field_description:stock_account.field_stock_move_account_move_ids
msgid "Account Move"
-msgstr ""
+msgstr "Kontobuchung"
#. module: stock_account
#: model:ir.ui.view,arch_db:stock_account.view_category_property_form
@@ -62,17 +63,19 @@ msgid ""
"Affect landed costs on receipt operations and split them among products to "
"update their cost price."
msgstr ""
+"Einstandskosten auf Wareneingangsabwicklung anwenden und auf Produkte "
+"aufteilen, um die Kosten zu aktualisieren."
#. module: stock_account
#: selection:product.category,property_valuation:0
msgid "Automated"
-msgstr ""
+msgstr "Automatisch"
#. module: stock_account
#: selection:product.category,property_cost_method:0
#: selection:product.template,property_cost_method:0
msgid "Average Cost (AVCO)"
-msgstr ""
+msgstr "Durchschnittskosten (AVCO)"
#. module: stock_account
#: model:ir.ui.view,arch_db:stock_account.view_change_standard_price
@@ -121,6 +124,9 @@ msgid ""
"Changing your cost method is an important change that will impact your "
"inventory valuation. Are you sure you want to make that change?"
msgstr ""
+"Das Ändern der Kostenmethode ist eine wichtige Änderung, die sich auf Ihre "
+"Lagerbewertung auswirkt. Sind Sie sicher, dass Sie diese Änderung vornehmen "
+"möchten?"
#. module: stock_account
#: model:ir.model.fields,help:stock_account.field_stock_inventory_accounting_date
@@ -156,12 +162,12 @@ msgstr "Kosten"
#: model:ir.model.fields,field_description:stock_account.field_product_product_cost_method
#: model:ir.model.fields,field_description:stock_account.field_product_template_cost_method
msgid "Cost Method"
-msgstr ""
+msgstr "Kostenmethode"
#. module: stock_account
#: model:ir.ui.view,arch_db:stock_account.res_config_settings_view_form
msgid "Costing"
-msgstr ""
+msgstr "Kosten"
#. module: stock_account
#: model:ir.model.fields,field_description:stock_account.field_product_category_property_cost_method
@@ -199,7 +205,7 @@ msgstr "Anzeigename"
#: selection:product.category,property_cost_method:0
#: selection:product.template,property_cost_method:0
msgid "First In First Out (FIFO)"
-msgstr ""
+msgstr "First In – First Out (FIFO)"
#. module: stock_account
#: model:ir.model.fields,field_description:stock_account.field_stock_inventory_accounting_date
@@ -224,7 +230,7 @@ msgstr ""
#. module: stock_account
#: model:ir.actions.act_window,help:stock_account.product_valuation_action
msgid "If there are products, you will see its name and valuation."
-msgstr ""
+msgstr "Wenn es Produkte gibt, werden Sie den Namen und die Bewertung sehen."
#. module: stock_account
#: model:ir.ui.view,arch_db:stock_account.res_config_settings_view_form
@@ -294,6 +300,8 @@ msgid ""
"Manual: The accounting entries to value the inventory are not posted automatically.\n"
" Automated: An accounting entry is automatically created to value the inventory when a product enters or leaves the company."
msgstr ""
+"Manuell: Die Buchungen zur Bewertung des Lagerbestands werden nicht automatisch gebucht.\n"
+" Automatisch: Eine Buchung wird automatisch erstellt, um den Lagerbestand zu bewerten, wenn ein Produkt im Unternehmen ankommt oder das Unternehmen verlässt."
#. module: stock_account
#: model:ir.model.fields,help:stock_account.field_product_category_property_valuation
@@ -358,7 +366,7 @@ msgstr "Produktvorlage"
#. module: stock_account
#: model:ir.actions.act_window,name:stock_account.product_valuation_action
msgid "Product Valuation"
-msgstr ""
+msgstr "Produktbewertung"
#. module: stock_account
#: model:ir.ui.view,arch_db:stock_account.view_move_tree_valuation
@@ -368,7 +376,7 @@ msgstr "Menge"
#. module: stock_account
#: model:ir.ui.view,arch_db:stock_account.product_valuation_tree
msgid "Quantity on Hand"
-msgstr ""
+msgstr "Bestandsmenge"
#. module: stock_account
#: model:ir.ui.view,arch_db:stock_account.view_move_tree_valuation
@@ -383,7 +391,7 @@ msgstr "Restmenge"
#. module: stock_account
#: model:ir.model.fields,field_description:stock_account.field_stock_move_remaining_value
msgid "Remaining Value"
-msgstr ""
+msgstr "Verbleibender Wert"
#. module: stock_account
#: model:ir.model,name:stock_account.model_stock_return_picking
@@ -393,7 +401,7 @@ msgstr "Rücklieferschein"
#. module: stock_account
#: model:ir.ui.view,arch_db:stock_account.product_variant_easy_edit_view_inherit
msgid "Set standard cost"
-msgstr ""
+msgstr "Standard-Kosten festlegen"
#. module: stock_account
#: selection:product.category,property_cost_method:0
@@ -406,7 +414,7 @@ msgstr "Standardpreis"
#: code:addons/stock_account/models/product.py:150
#, python-format
msgid "Standard Price changed - %s"
-msgstr ""
+msgstr "Standardpreis geändert - %s"
#. module: stock_account
#: model:ir.model.fields,help:stock_account.field_product_product_property_cost_method
@@ -416,6 +424,9 @@ msgid ""
" Average Cost (AVCO): The products are valued at weighted average cost.\n"
" First In First Out (FIFO): The products are valued supposing those that enter the company first will also leave it first."
msgstr ""
+"Standardpreis: Die Produkte werden nach für das Produkt definierten Standard-Kosten berechnet.\n"
+" Durchschnittskosten (AVCO): Die Produkte werden zu gewichteten Durchschnittskosten berechnet.\n"
+" First In – First Out (FIFO): Die Produkte werden unter der Annahme bewertet, dass die Produkte, die zuerst im Unternehmen ankommen, auch zuerst das Unternehmen verlassen."
#. module: stock_account
#: model:ir.model.fields,help:stock_account.field_product_category_property_cost_method
@@ -425,6 +436,9 @@ msgid ""
" First In First Out (FIFO): The products are valued supposing those that enter the company first will also leave it first.\n"
" "
msgstr ""
+"Standardpreis: Die Produkte werden nach für das Produkt definierten Standard-Kosten berechnet.\n"
+" Durchschnittskosten (AVCO): Die Produkte werden zu gewichteten Durchschnittskosten berechnet.\n"
+" First In – First Out (FIFO): Die Produkte werden unter der Annahme bewertet, dass die Produkte, die zuerst im Unternehmen ankommen, auch zuerst das Unternehmen verlassen.\n"
#. module: stock_account
#: model:ir.model.fields,field_description:stock_account.field_product_category_property_stock_account_input_categ_id
@@ -483,7 +497,7 @@ msgstr "Lagerbewertungskonto (Ausgehend)"
#. module: stock_account
#: model:ir.actions.server,name:stock_account.action_stock_account_valuation_report
msgid "Stock Valuation Report"
-msgstr ""
+msgstr "Lagerbewertungsbericht"
#. module: stock_account
#: model:ir.model,name:stock_account.model_account_chart_template
@@ -497,6 +511,8 @@ msgid ""
"The cost of %s is currently equal to 0. Change the cost or the configuration"
" of your product to avoid an incorrect valuation."
msgstr ""
+"Die Kosten von %s entsprechen derzeit 0. Ändern Sie die Kosten oder "
+"Konfiguration Ihres Produktes, um eine fehlerhafte Bewertung zu vermeiden."
#. module: stock_account
#: code:addons/stock_account/models/stock.py:309
@@ -505,6 +521,8 @@ msgid ""
"The move lines are not in a consistent state: some are entering and other "
"are leaving the company. "
msgstr ""
+"Die Buchungszeilen weisen keinen konsistenten Status auf: Einige erfassen "
+"den Eingang und andere das Verlassen des Unternehmens."
#. module: stock_account
#: code:addons/stock_account/models/stock.py:320
@@ -514,6 +532,9 @@ msgid ""
"intercompany in a single step while they should go through the intercompany "
"transit location."
msgstr ""
+"Die Buchungszeilen weisen keinen konsistenten Status auf: Sie führen einen "
+"konzerninternen Vorgang in einem einzelnen Schritt aus, während sie das "
+"konzerninterne Umschlaglager durchlaufen müssten."
#. module: stock_account
#: code:addons/stock_account/models/stock.py:318
@@ -522,12 +543,14 @@ msgid ""
"The move lines are not in a consistent states: they do not share the same "
"origin or destination company."
msgstr ""
+"Die Buchungszeilen weisen keinen konsistenten Status auf: Sie spiegeln nicht"
+" dasselbe Ursprungs- oder Ziel-Unternehmen wider."
#. module: stock_account
#: model:ir.model.fields,field_description:stock_account.field_stock_move_to_refund
#: model:ir.model.fields,field_description:stock_account.field_stock_return_picking_line_to_refund
msgid "To Refund (update SO/PO)"
-msgstr ""
+msgstr "Zur Erstattung (Verkaufsauftrag/Bestellung aktualisieren)"
#. module: stock_account
#: model:ir.ui.view,arch_db:stock_account.product_valuation_tree
@@ -541,6 +564,8 @@ msgid ""
"Trigger a decrease of the delivered/received quantity in the associated Sale"
" Order/Purchase Order"
msgstr ""
+"Auslösen einer Minderung der gelieferten/erhaltenen Menge im zugehörigen "
+"Verkaufsauftrag/in der zugehörigen Bestellung"
#. module: stock_account
#: model:ir.ui.view,arch_db:stock_account.view_move_tree_valuation
@@ -550,7 +575,7 @@ msgstr "Mengeneinheit"
#. module: stock_account
#: model:ir.ui.view,arch_db:stock_account.view_template_property_form
msgid "Update Cost"
-msgstr ""
+msgstr "Kosten aktualisieren"
#. module: stock_account
#: model:ir.model.fields,help:stock_account.field_stock_location_valuation_in_account_id
diff --git a/addons/stock_account/models/account_invoice.py b/addons/stock_account/models/account_invoice.py
index 9547c0625e7..8614fde2f6f 100644
--- a/addons/stock_account/models/account_invoice.py
+++ b/addons/stock_account/models/account_invoice.py
@@ -30,13 +30,13 @@ class AccountInvoice(models.Model):
company_currency = inv.company_id.currency_id
price_unit = i_line._get_anglo_saxon_price_unit()
if inv.currency_id != company_currency:
- currency_id = inv.currency_id.id
+ currency = inv.currency_id
amount_currency = i_line._get_price(company_currency, price_unit)
else:
- currency_id = False
+ currency = False
amount_currency = False
- return self.env['product.product']._anglo_saxon_sale_move_lines(i_line.name, i_line.product_id, i_line.uom_id, i_line.quantity, price_unit, currency=currency_id, amount_currency=amount_currency, fiscal_position=inv.fiscal_position_id, account_analytic=i_line.account_analytic_id, analytic_tags=i_line.analytic_tag_ids)
+ return self.env['product.product']._anglo_saxon_sale_move_lines(i_line.name, i_line.product_id, i_line.uom_id, i_line.quantity, price_unit, currency=currency, amount_currency=amount_currency, fiscal_position=inv.fiscal_position_id, account_analytic=i_line.account_analytic_id, analytic_tags=i_line.analytic_tag_ids)
class AccountInvoiceLine(models.Model):
diff --git a/addons/stock_account/models/product.py b/addons/stock_account/models/product.py
index 93bc4c980ae..098e976fc7e 100644
--- a/addons/stock_account/models/product.py
+++ b/addons/stock_account/models/product.py
@@ -234,7 +234,7 @@ class ProductProduct(models.Model):
'product_id': product.id,
'uom_id': uom.id,
'account_analytic_id': account_analytic and account_analytic.id,
- 'analytic_tag_ids': analytic_tags and analytic_tag.ids and [(6, 0, analytic_tag.ids)] or False,
+ 'analytic_tag_ids': analytic_tags and analytic_tags.ids and [(6, 0, analytic_tags.ids)] or False,
},
{
@@ -259,7 +259,7 @@ class ProductProduct(models.Model):
price = self.standard_price
if not uom or self.uom_id.id == uom.id:
return price
- return self.uom_id._compute_price(self.uom_id.id, price, to_uom_id=uom.id)
+ return self.uom_id._compute_price(price, uom)
class ProductCategory(models.Model):
diff --git a/addons/stock_dropshipping/i18n/fr.po b/addons/stock_dropshipping/i18n/fr.po
index b17f0dab2f9..ecac018fa71 100644
--- a/addons/stock_dropshipping/i18n/fr.po
+++ b/addons/stock_dropshipping/i18n/fr.po
@@ -3,16 +3,17 @@
# * stock_dropshipping
#
# Translators:
-# Maxime Chambreuil <mchambreuil@ursainfosystems.com>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
-# Adriana Ierfino <adriana.ierfino@savoirfairelinux.com>, 2017
+# Maxime Chambreuil <mchambreuil@ursainfosystems.com>, 2016
+# Adriana Ierfino <adriana.ierfino@savoirfairelinux.com>, 2016
+# Martin Trigaux, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: Adriana Ierfino <adriana.ierfino@savoirfairelinux.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -43,7 +44,7 @@ msgstr "Ligne de commande d'achat"
#. module: stock_dropshipping
#: model:ir.model.fields,field_description:stock_dropshipping.field_purchase_order_line_sale_line_id
msgid "Sale Line"
-msgstr ""
+msgstr "Ligne de vente"
#. module: stock_dropshipping
#: model:procurement.rule,name:stock_dropshipping.procurement_rule_drop_shipping
diff --git a/addons/stock_picking_batch/i18n/de.po b/addons/stock_picking_batch/i18n/de.po
index c6b611da010..e1271893173 100644
--- a/addons/stock_picking_batch/i18n/de.po
+++ b/addons/stock_picking_batch/i18n/de.po
@@ -3,25 +3,27 @@
# * stock_picking_batch
#
# Translators:
-# Wolfgang Taferner <wolfgang.transifex@service.wt-io-it.at>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
+# Wolfgang Taferner, 2017
+# Martin Trigaux, 2017
+# Andi, 2017
# Tina Rittmüller <tr@ife.de>, 2017
-# Niki Waibel <niki.waibel@gmail.com>, 2017
+# Niki Waibel, 2017
+# Silvan Wyden <silvan.wyden@braintec-group.com>, 2017
# Christian Körner <fipes.de@gmail.com>, 2017
-# Renzo Meister <info@jamotion.ch>, 2017
+# Renzo Meister, 2017
+# Bülent Tiknas <btiknas@googlemail.com>, 2017
# Henry Mineehen <info@mineehen.de>, 2017
# Ermin Trevisan <trevi@twanda.com>, 2017
# darenkster <inactive+darenkster@transifex.com>, 2017
-# Silvan Wyden <silvan.wyden@braintec-group.com>, 2017
-# Bülent Tiknas <btiknas@googlemail.com>, 2017
-# Andi <flimflam@salasar.de>, 2017
+# e2f <projects@e2f.com>, 2018
+# Katharina Moritz <kmo@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-02 11:26+0000\n"
"PO-Revision-Date: 2017-10-02 11:26+0000\n"
-"Last-Translator: Andi <flimflam@salasar.de>, 2017\n"
+"Last-Translator: Katharina Moritz <kmo@e2f.com>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -32,7 +34,7 @@ msgstr ""
#. module: stock_picking_batch
#: model:ir.model,name:stock_picking_batch.model_stock_picking_to_batch
msgid "Add pickings to a batch picking"
-msgstr ""
+msgstr "Kommissionierungen zu Batch-Kommissionierung hinzufügen"
#. module: stock_picking_batch
#: model:ir.ui.view,arch_db:stock_picking_batch.stock_picking_to_batch_form
@@ -44,12 +46,12 @@ msgstr "Pickings zum Stapel "
#: model:ir.actions.act_window,name:stock_picking_batch.stock_picking_to_batch_action_stock_picking
#: model:ir.ui.view,arch_db:stock_picking_batch.stock_picking_to_batch_form
msgid "Add to Batch"
-msgstr ""
+msgstr "Zum Batch hinzufügen"
#. module: stock_picking_batch
#: model:ir.ui.view,arch_db:stock_picking_batch.view_picking_internal_search_inherit_stock_picking_batch
msgid "Batch"
-msgstr ""
+msgstr "Batch"
#. module: stock_picking_batch
#: code:addons/stock_picking_batch/models/stock_picking_batch.py:64
@@ -59,12 +61,12 @@ msgstr ""
#: model:ir.ui.view,arch_db:stock_picking_batch.stock_picking_batch_filter
#, python-format
msgid "Batch Picking"
-msgstr ""
+msgstr "Batch-Kommissionierung"
#. module: stock_picking_batch
#: model:ir.model.fields,field_description:stock_picking_batch.field_stock_picking_batch_name
msgid "Batch Picking Name"
-msgstr ""
+msgstr "Name für Batch-Kommissionierung"
#. module: stock_picking_batch
#: model:ir.actions.act_window,name:stock_picking_batch.stock_picking_batch_action
@@ -80,7 +82,7 @@ msgstr "Stapel-Pickings nicht beendet"
#. module: stock_picking_batch
#: model:ir.model.fields,help:stock_picking_batch.field_stock_picking_batch_id_8938
msgid "Batch associated to this picking"
-msgstr ""
+msgstr "Batch, das dieser Kommissionierung zugeordnet ist"
#. module: stock_picking_batch
#: model:ir.ui.view,arch_db:stock_picking_batch.stock_picking_batch_form
@@ -101,7 +103,7 @@ msgstr "Abgebrochen"
#. module: stock_picking_batch
#: model:ir.actions.act_window,help:stock_picking_batch.stock_picking_batch_action
msgid "Click to create a Batch Picking."
-msgstr ""
+msgstr "Klicken Sie hier, um eine Batch-Kommissionierung zu erstellen."
#. module: stock_picking_batch
#: model:ir.ui.view,arch_db:stock_picking_batch.stock_picking_batch_form
@@ -210,12 +212,12 @@ msgstr "Zuletzt aktualisiert am"
#. module: stock_picking_batch
#: model:ir.model.fields,help:stock_picking_batch.field_stock_picking_batch_picking_ids
msgid "List of picking associated to this batch"
-msgstr ""
+msgstr "Kommissionierliste, die diesem Batch zugeordnet ist"
#. module: stock_picking_batch
#: model:ir.model.fields,help:stock_picking_batch.field_stock_picking_batch_name
msgid "Name of the batch picking"
-msgstr ""
+msgstr "Name der Batch-Kommissionierung"
#. module: stock_picking_batch
#: code:addons/stock_picking_batch/models/stock_picking_batch.py:52
@@ -226,17 +228,17 @@ msgstr "Nichts zu drucken!"
#. module: stock_picking_batch
#: model:ir.model.fields,help:stock_picking_batch.field_stock_picking_batch_user_id
msgid "Person responsible for this batch picking"
-msgstr ""
+msgstr "Verantwortliche Person für diese Batch-Kommissionierung"
#. module: stock_picking_batch
#: model:ir.model.fields,field_description:stock_picking_batch.field_stock_immediate_transfer_pick_to_backorder_ids
msgid "Pick To Backorder"
-msgstr ""
+msgstr "Kommissionierung von Lieferrückständen"
#. module: stock_picking_batch
#: model:ir.model.fields,help:stock_picking_batch.field_stock_immediate_transfer_pick_to_backorder_ids
msgid "Picking to backorder"
-msgstr ""
+msgstr "Kommissionierung von Lieferrückständen"
#. module: stock_picking_batch
#: model:ir.model.fields,field_description:stock_picking_batch.field_stock_picking_batch_picking_ids
@@ -262,12 +264,12 @@ msgstr "Laufend"
#. module: stock_picking_batch
#: model:ir.ui.view,arch_db:stock_picking_batch.stock_picking_batch_filter
msgid "Search Batch Picking"
-msgstr ""
+msgstr "Batch-Kommissionierung durchsuchen"
#. module: stock_picking_batch
#: model:ir.ui.view,arch_db:stock_picking_batch.stock_picking_to_batch_form
msgid "Select a batch"
-msgstr ""
+msgstr "Batch auswählen"
#. module: stock_picking_batch
#: code:addons/stock_picking_batch/models/stock_picking_batch.py:59
@@ -276,6 +278,8 @@ msgid ""
"Some pickings are still waiting for goods. Please check or force their "
"availability before setting this batch to done."
msgstr ""
+"Einige Kommissionierungen warten noch auf Waren. Prüfen oder erzwingen Sie "
+"die Verfügbarkeit, bevor Sie diesen Batch als erledigt markieren."
#. module: stock_picking_batch
#: code:addons/stock_picking_batch/models/stock_picking_batch.py:77
@@ -284,6 +288,8 @@ msgid ""
"Some products require lots/serial numbers, so you need to specify those "
"first!"
msgstr ""
+"Einige Produkte erfordern eine Los-/Seriennummer, daher müssen Sie diese "
+"erst angeben."
#. module: stock_picking_batch
#: model:product.product,name:stock_picking_batch.product_product_dry_specu
@@ -313,7 +319,7 @@ msgstr "Bundesland"
#: model:ir.ui.view,arch_db:stock_picking_batch.stock_picking_batch_form
#: model:ir.ui.view,arch_db:stock_picking_batch.stock_picking_batch_tree
msgid "Stock Batch Picking"
-msgstr ""
+msgstr "Lager-Batch-Kommissionierung"
#. module: stock_picking_batch
#: model:ir.actions.act_window,help:stock_picking_batch.stock_picking_batch_action
@@ -323,6 +329,10 @@ msgid ""
" It may also be useful to assign jobs (one person = one batch) or\n"
" help the timing management of operations (tasks to be done at 1pm)."
msgstr ""
+"Ziel einer Stapel-Kommissionierung ist es, Vorgänge zu gruppieren, die möglicherweise\n"
+" gleichzeitig erledigt werden müssen, um die Effizienz zu steigern.\n"
+" Es kann auch nützlich sein, Aufgaben zuzuweisen (eine Person = ein Stapel) oder\n"
+" das Zeit-Management von Vorgängen festzulegen (Aufgaben, die um 13:00 Uhr erledigt werden müssen)."
#. module: stock_picking_batch
#: model:ir.model,name:stock_picking_batch.model_stock_picking
diff --git a/addons/stock_picking_batch/i18n/fr.po b/addons/stock_picking_batch/i18n/fr.po
index 12bd5af8c10..79e7279f694 100644
--- a/addons/stock_picking_batch/i18n/fr.po
+++ b/addons/stock_picking_batch/i18n/fr.po
@@ -6,11 +6,11 @@
# Xavier Belmere <Info@cartmeleon.com>, 2017
# Adriana Ierfino <adriana.ierfino@savoirfairelinux.com>, 2017
# Bertrand LATOUR <divoir@gmail.com>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
+# Martin Trigaux, 2017
# Eloïse Stilmant <est@odoo.com>, 2017
# Melanie Bernard <mbe@odoo.com>, 2017
# Micky Jault <micky037@hotmail.fr>, 2017
-# Florian Hatat <mininet@wanadoo.fr>, 2017
+# Florian Hatat, 2017
# Lionel Sausin <ls@numerigraphe.com>, 2017
# Maxime Chambreuil <mchambreuil@ursainfosystems.com>, 2017
# Olivier Lenoir <olivier.lenoir@free.fr>, 2017
@@ -18,13 +18,14 @@
# Leo Schmitt <inactive+lschmitt@transifex.com>, 2017
# Miguel Vidali <mvidali129@gmail.com>, 2017
# Richard Mathot <rim@odoo.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-02 11:26+0000\n"
"PO-Revision-Date: 2017-10-02 11:26+0000\n"
-"Last-Translator: Richard Mathot <rim@odoo.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -73,7 +74,7 @@ msgstr ""
#: model:ir.actions.act_window,name:stock_picking_batch.stock_picking_batch_action
#: model:ir.ui.menu,name:stock_picking_batch.stock_picking_batch_menu
msgid "Batch Pickings"
-msgstr ""
+msgstr "Préparations en lot"
#. module: stock_picking_batch
#: model:ir.ui.view,arch_db:stock_picking_batch.stock_picking_batch_filter
diff --git a/addons/survey/i18n/de.po b/addons/survey/i18n/de.po
index bba82bd3967..029347e8d5e 100644
--- a/addons/survey/i18n/de.po
+++ b/addons/survey/i18n/de.po
@@ -262,11 +262,14 @@ msgid ""
"Add a list of email of recipients (will not be converted into contacts). "
"Separated by commas, semicolons or newline..."
msgstr ""
+"Fügen Sie eine Liste der Empfänger-E-Mail-Adressen hinzu (werden nicht in "
+"Kontakte umgewandelt). Getrennt durch Kommata, Strichpunkte oder einen "
+"Zeilenumbruch ..."
#. module: survey
#: model:ir.ui.view,arch_db:survey.survey_email_compose_message
msgid "Add existing contacts..."
-msgstr ""
+msgstr "Bestehende Kontakte hinzufügen …"
#. module: survey
#: model:ir.ui.view,arch_db:survey.survey_question_form
@@ -494,6 +497,8 @@ msgid ""
"Deadline to which the invitation to respond for this survey is valid. If the"
" field is empty, the invitation is still valid."
msgstr ""
+"Frist, wie lange die Einladung zur Beantwortung dieser Umfrage gilt. Wenn "
+"das Feld leer ist, ist die Einladung noch gültig."
#. module: survey
#: model:ir.model.fields,field_description:survey.field_survey_mail_compose_message_date_deadline
@@ -528,6 +533,8 @@ msgid ""
"Design easily your survey, send invitations to answer by email and analyse "
"answers."
msgstr ""
+"Entwerfen Sie einfach Ihre Umfrage, versenden Sie per E-Mail Einladungen zur"
+" Beantwortung und analysieren Sie Antworten."
#. module: survey
#: model:ir.model.fields,field_description:survey.field_survey_question_display_mode
@@ -676,7 +683,7 @@ msgstr "In Bearbeitung"
#: code:addons/survey/wizard/survey_email_compose_message.py:68
#, python-format
msgid "Incorrect Email Address: %s"
-msgstr ""
+msgstr "Falsche E-Mail-Adresse: %s"
#. module: survey
#: model:ir.model.fields,field_description:survey.field_survey_question_validation_email
@@ -691,7 +698,7 @@ msgstr "Einladungen verschickt"
#. module: survey
#: model:ir.model.fields,field_description:survey.field_survey_survey_is_closed
msgid "Is closed"
-msgstr ""
+msgstr "Geschlossen"
#. module: survey
#: model:ir.model.fields,field_description:survey.field_survey_survey_designed
@@ -1084,7 +1091,7 @@ msgstr "Frage"
#. module: survey
#: model:ir.model.fields,field_description:survey.field_survey_label_question_id_2
msgid "Question 2"
-msgstr ""
+msgstr "Frage 2"
#. module: survey
#: model:ir.model.fields,field_description:survey.field_survey_question_question
@@ -1109,7 +1116,7 @@ msgstr "Fragestellungen"
#. module: survey
#: model:ir.model.fields,field_description:survey.field_survey_survey_quizz_mode
msgid "Quizz Mode"
-msgstr ""
+msgstr "Quizz-Modus"
#. module: survey
#: selection:survey.question,display_mode:0
@@ -1214,7 +1221,7 @@ msgstr "Senden"
#. module: survey
#: model:ir.ui.view,arch_db:survey.survey_user_input_form
msgid "Send Invitation Again"
-msgstr ""
+msgstr "Einladung erneut senden"
#. module: survey
#: selection:survey.mail.compose.message,public:0
@@ -1430,7 +1437,7 @@ msgstr "Umfrageseite"
#. module: survey
#: model:ir.actions.server,name:survey.survey_action_server_clean_test_answers
msgid "Survey: Clean test answers"
-msgstr ""
+msgstr "Umfrage: Saubere Test-Antworten"
#. module: survey
#: model:ir.actions.act_window,name:survey.action_survey_form
@@ -1448,7 +1455,7 @@ msgstr "Testbetrieb"
#. module: survey
#: model:ir.model.fields,field_description:survey.field_survey_user_input_test_entry
msgid "Test Entry"
-msgstr ""
+msgstr "Testeintrag"
#. module: survey
#: model:ir.ui.view,arch_db:survey.survey_form
@@ -1514,7 +1521,7 @@ msgstr "Diese Antwort muss eine E-Mail-Adresse sein"
#: code:addons/survey/tests/test_survey.py:107
#, python-format
msgid "This is not a date"
-msgstr ""
+msgstr "Dies ist kein Datum"
#. module: survey
#: code:addons/survey/models/survey.py:565
@@ -1529,6 +1536,9 @@ msgid ""
"This list of emails of recipients will not be converted in contacts. "
"Emails must be separated by commas, semicolons or newline."
msgstr ""
+"Diese Liste der Empfänger-E-Mail-Adressen wird nicht in Kontakte "
+"umgewandelt. E-Mail-Adressen müssen durch Kommata, Strichpunkte oder "
+"Zeilenumbrüche getrennt sein."
#. module: survey
#: model:ir.model.fields,help:survey.field_survey_survey_thank_you_message
@@ -1590,7 +1600,7 @@ msgstr "Antworttypen"
#. module: survey
#: model:ir.ui.view,arch_db:survey.survey_survey_view_search
msgid "Upcoming Activities"
-msgstr ""
+msgstr "Anstehende Aktivitäten"
#. module: survey
#: model:ir.ui.view,arch_db:survey.survey_email_compose_message
@@ -1602,6 +1612,8 @@ msgstr "Benutze Vorlage"
msgid ""
"Use this field to add additional explanations about your question"
msgstr ""
+"Verwenden Sie dieses Feld, um zusätzliche Erläuterungen zu Ihrer Frage "
+"hinzuzufügen."
#. module: survey
#: model:res.groups,name:survey.group_survey_user
@@ -1663,7 +1675,7 @@ msgstr "Eingabeprüfung"
#. module: survey
#: model:ir.model.fields,field_description:survey.field_survey_question_validation_error_msg
msgid "Validation Error message"
-msgstr ""
+msgstr "Meldung Validierungsfehler"
#. module: survey
#: model:ir.ui.view,arch_db:survey.survey_user_input_form
@@ -1694,6 +1706,9 @@ msgid ""
"feedback, recruitment interviews, employee's periodical evaluations, "
"marketing campaigns, etc."
msgstr ""
+"Sie können Umfragen für verschiedene Zwecke erstellen: Kunden-Meinung, "
+"Feedback zu Dienstleistungen, Einstellungsgespräche, regelmäßige Bewertung "
+"von Mitarbeitern, Marketingkampagnen usw."
#. module: survey
#: model:ir.ui.view,arch_db:survey.survey_email_compose_message
@@ -1724,7 +1739,7 @@ msgstr "Sie haben folgende Punktzahl erreicht"
#. module: survey
#: model:ir.ui.view,arch_db:survey.survey_question_form
msgid "ans"
-msgstr ""
+msgstr "ans"
#. module: survey
#: model:ir.model,name:survey.model_ir_autovacuum
diff --git a/addons/survey/i18n/zh_CN.po b/addons/survey/i18n/zh_CN.po
index 363d2773ee3..662b8fac6ae 100644
--- a/addons/survey/i18n/zh_CN.po
+++ b/addons/survey/i18n/zh_CN.po
@@ -322,7 +322,7 @@ msgstr "附件"
msgid ""
"Attachments are linked to a document through model / res_id and to the "
"message through this field."
-msgstr ""
+msgstr "附件是通过模型 / res_id 连接到文档中并通过该字段链接到消息上。"
#. module: survey
#: model:ir.ui.view,arch_db:survey.back
diff --git a/addons/theme_default/i18n/de.po b/addons/theme_default/i18n/de.po
index 4e14fc6ee8b..fdcef821e20 100644
--- a/addons/theme_default/i18n/de.po
+++ b/addons/theme_default/i18n/de.po
@@ -5,17 +5,18 @@
# Translators:
# Thorsten Vocks <thorsten.vocks@openbig.org>, 2017
# Ermin Trevisan <trevi@twanda.com>, 2017
-# Wolfgang Taferner <wolfgang.transifex@service.wt-io-it.at>, 2017
+# Wolfgang Taferner, 2017
# Rudolf Schnapka <rs@techno-flex.de>, 2017
# darenkster <inactive+darenkster@transifex.com>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
+# Martin Trigaux, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-08-25 09:00+0000\n"
"PO-Revision-Date: 2015-08-25 09:00+0000\n"
-"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -49,7 +50,7 @@ msgstr "Amethyst"
#. module: theme_default
#: model:ir.ui.view,arch_db:theme_default.customize_modal
msgid "BOXED"
-msgstr ""
+msgstr "BEGRENZTE BREITE"
#. module: theme_default
#: model:ir.ui.view,arch_db:theme_default.customize_modal
@@ -74,12 +75,12 @@ msgstr "Emerald"
#. module: theme_default
#: model:ir.ui.view,arch_db:theme_default.customize_modal
msgid "FONTS COMBINATIONS"
-msgstr ""
+msgstr "SCHRIFTARTEN-KOMBINATIONEN"
#. module: theme_default
#: model:ir.ui.view,arch_db:theme_default.customize_modal
msgid "FULL WIDTH"
-msgstr ""
+msgstr "VOLLE BREITE"
#. module: theme_default
#: model:ir.ui.view,arch_db:theme_default.customize_modal
@@ -89,12 +90,12 @@ msgstr "Gold"
#. module: theme_default
#: model:ir.ui.view,arch_db:theme_default.customize_modal
msgid "LAYOUT"
-msgstr ""
+msgstr "LAYOUT"
#. module: theme_default
#: model:ir.ui.view,arch_db:theme_default.customize_modal
msgid "MAIN COLOR"
-msgstr ""
+msgstr "HAUPTFARBE"
#. module: theme_default
#: model:ir.ui.view,arch_db:theme_default.customize_modal
diff --git a/addons/utm/i18n/de.po b/addons/utm/i18n/de.po
index 4b4a98c2ada..92b779f397d 100644
--- a/addons/utm/i18n/de.po
+++ b/addons/utm/i18n/de.po
@@ -8,18 +8,19 @@
# jonas <jonas.hillebrecht@bklynsoap.com>, 2017
# Thorsten Vocks <thorsten.vocks@openbig.org>, 2017
# Tina Rittmüller <tr@ife.de>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
-# Niki Waibel <niki.waibel@gmail.com>, 2017
+# Martin Trigaux, 2017
+# Niki Waibel, 2017
# Henry Mineehen <info@mineehen.de>, 2017
# darenkster <inactive+darenkster@transifex.com>, 2017
-# Wolfgang Taferner <wolfgang.transifex@service.wt-io-it.at>, 2017
+# Wolfgang Taferner, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:53+0000\n"
"PO-Revision-Date: 2017-09-20 09:53+0000\n"
-"Last-Translator: Wolfgang Taferner <wolfgang.transifex@service.wt-io-it.at>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -231,6 +232,8 @@ msgid ""
"This is a name that helps you keep track of your different campaign efforts,"
" e.g. Fall_Drive, Christmas_Special"
msgstr ""
+"Diese Bezeichnung hilft Ihnen bei der Analyse Ihres Kampagnenerfolgs, z. B.:"
+" Herbstangebot, Weihnachtsangebot"
#. module: utm
#: model:ir.model.fields,help:utm.field_account_invoice_medium_id
@@ -241,6 +244,8 @@ msgstr ""
#: model:ir.model.fields,help:utm.field_utm_mixin_medium_id
msgid "This is the method of delivery, e.g. Postcard, Email, or Banner Ad"
msgstr ""
+"Dies ist die Kommunikationsmethode: z. B. Postkarte, E-Mail oder "
+"Bannerwerbung"
#. module: utm
#: model:ir.model.fields,help:utm.field_account_invoice_source_id
diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py
index 7fcc5d870eb..6af25b7eaa0 100644
--- a/addons/web/controllers/main.py
+++ b/addons/web/controllers/main.py
@@ -1382,7 +1382,7 @@ class ExportFormat(object):
model, fields, ids, domain, import_compat = \
operator.itemgetter('model', 'fields', 'ids', 'domain', 'import_compat')(params)
- Model = request.env[model].with_context(**params.get('context', {}))
+ Model = request.env[model].with_context(import_compat=import_compat, **params.get('context', {}))
records = Model.browse(ids) or Model.search(domain, offset=0, limit=False, order=False)
if not Model._is_an_ordinary_table():
diff --git a/addons/web/i18n/de.po b/addons/web/i18n/de.po
index e5a7ba5c1ab..4a29a04a37b 100644
--- a/addons/web/i18n/de.po
+++ b/addons/web/i18n/de.po
@@ -26,13 +26,14 @@
# AppleMentalist <felix.schnatbaum@gmail.com>, 2017
# DE T1 <e2f8846@yahoo.com>, 2017
# e2f <projects@e2f.com>, 2018
+# Till Stone <benzi95@web.de>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-12-13 14:37+0000\n"
"PO-Revision-Date: 2017-12-13 14:37+0000\n"
-"Last-Translator: e2f <projects@e2f.com>, 2018\n"
+"Last-Translator: Till Stone <benzi95@web.de>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -59,7 +60,7 @@ msgstr " [Ich]"
#: code:addons/web/static/src/js/chrome/search_filters.js:226
#, python-format
msgid " and "
-msgstr ""
+msgstr "und"
#. module: web
#. openerp-web
@@ -89,7 +90,7 @@ msgstr "Ansicht konnte nicht geladen werden"
#: code:addons/web/static/src/xml/base.xml:612
#, python-format
msgid "# Code editor"
-msgstr ""
+msgstr "# Code-Editor"
#. module: web
#. openerp-web
@@ -162,6 +163,9 @@ msgid ""
" &lt;body class=\"ie9\"&gt;\n"
" &lt;![endif]--&gt;"
msgstr ""
+"<!--[if lt IE 10]>\n"
+" <body class=\"ie9\">\n"
+" <![endif]-->"
#. module: web
#: model:ir.ui.view,arch_db:web.minimal_layout
@@ -210,7 +214,7 @@ msgstr "'%s' ist kein gültiger Integer-Wert"
#: code:addons/web/static/src/js/fields/field_utils.js:483
#, python-format
msgid "'%s' is not a correct monetary field"
-msgstr ""
+msgstr "„%s“ ist kein korrektes Währungsfeld"
#. module: web
#. openerp-web
@@ -240,7 +244,7 @@ msgstr "(keine Bezeichnung)"
#: code:addons/web/static/src/js/fields/field_utils.js:239
#, python-format
msgid "1 record"
-msgstr ""
+msgstr "1 Datensatz"
#. module: web
#: model:ir.ui.view,arch_db:web.menu_secondary
@@ -260,20 +264,23 @@ msgid ""
"A popup window with your report was blocked. You may need to change your "
"browser settings to allow popup windows for this page."
msgstr ""
+"Ein Popup-Fenster mit Ihrem Bericht wurde blockiert. Sie müssen "
+"möglicherweise Ihre Browsereinstellungen ändern, um Popup-Fenster für diese "
+"Seite zu erlauben."
#. module: web
#. openerp-web
#: code:addons/web/static/src/xml/base.xml:589
#, python-format
msgid "ALL"
-msgstr ""
+msgstr "ALLE"
#. module: web
#. openerp-web
#: code:addons/web/static/src/xml/base.xml:590
#, python-format
msgid "ANY"
-msgstr ""
+msgstr "JEDER"
#. module: web
#. openerp-web
@@ -294,7 +301,7 @@ msgstr "Zugriffsfehler"
#: code:addons/web/static/src/xml/base.xml:1313
#, python-format
msgid "Access to all Enterprise Apps"
-msgstr ""
+msgstr "Zugang zu allen Enterprise-Apps"
#. module: web
#. openerp-web
@@ -322,7 +329,7 @@ msgstr "Aktivieren"
#: code:addons/web/static/src/xml/base.xml:231
#, python-format
msgid "Activate Assets Debugging"
-msgstr ""
+msgstr "Assets Debugging aktivieren"
#. module: web
#. openerp-web
@@ -376,7 +383,7 @@ msgstr "Benutzerdefinierte Gruppe hinzufügen"
#: code:addons/web/static/src/xml/base.xml:597
#, python-format
msgid "Add filter"
-msgstr ""
+msgstr "Filter hinzufügen"
#. module: web
#. openerp-web
@@ -465,6 +472,8 @@ msgid ""
"An unknown CORS error occured. The error probably originates from a "
"JavaScript file served from a different origin."
msgstr ""
+"Ein unbekannter CORS-Fehler ist aufgetreten. Der Fehler geht wahrscheinlich "
+"auf eine JavaScript-Datei zurück, die von einem anderen Ursprung stammt."
#. module: web
#. openerp-web
@@ -561,13 +570,15 @@ msgid ""
"Binary fields can not be exported to Excel unless their content is "
"base64-encoded. That does not seem to be the case for %s."
msgstr ""
+"Binäre Felder können nur in Excel exportiert werden, wenn deren Inhalt "
+"Base64-codiert ist. Dies scheint für %s nicht der Fall zu sein."
#. module: web
#. openerp-web
#: code:addons/web/static/src/xml/base.xml:1317
#, python-format
msgid "Bugfixes guarantee"
-msgstr ""
+msgstr "Garantie für Fehlerkorrekturen"
#. module: web
#. openerp-web
@@ -624,7 +635,7 @@ msgstr "Abbrechen"
#: code:addons/web/static/src/js/views/graph/graph_renderer.js:68
#, python-format
msgid "Cannot render chart with mode : "
-msgstr ""
+msgstr "Diagramm kann nicht gerendert werden mit dem Modus:"
#. module: web
#. openerp-web
@@ -924,7 +935,7 @@ msgstr "Verwerfen"
#: code:addons/web/static/src/js/widgets/data_export.js:336
#, python-format
msgid "Do you really want to delete this export template?"
-msgstr ""
+msgstr "Möchten Sie diese Export-Vorlage wirklich löschen?"
#. module: web
#. openerp-web
@@ -1014,7 +1025,7 @@ msgstr "Spalte bearbeiten"
#: code:addons/web/static/src/xml/base.xml:565
#, python-format
msgid "Edit Domain"
-msgstr ""
+msgstr "Domain bearbeiten"
#. module: web
#. openerp-web
@@ -1028,7 +1039,7 @@ msgstr "Bearbeite Suchansicht"
#: code:addons/web/static/src/xml/kanban.xml:22
#, python-format
msgid "Edit Stage"
-msgstr ""
+msgstr "Stufe bearbeiten"
#. module: web
#: model:ir.ui.view,arch_db:web.login
@@ -1068,7 +1079,7 @@ msgstr "Alle Kalender"
#: code:addons/web/static/src/js/views/calendar/calendar_model.js:511
#, python-format
msgid "Everything"
-msgstr ""
+msgstr "Alles"
#. module: web
#. openerp-web
@@ -1110,7 +1121,7 @@ msgstr "In Datei exportieren"
#: code:addons/web/static/src/xml/base.xml:1138
#, python-format
msgid "Export Type :"
-msgstr ""
+msgstr "Export-Typ:"
#. module: web
#. openerp-web
@@ -1223,7 +1234,7 @@ msgstr "Filter"
#: code:addons/web/static/src/xml/base.xml:503
#, python-format
msgid "Flip axis"
-msgstr ""
+msgstr "Achse spiegeln"
#. module: web
#. openerp-web
@@ -1241,6 +1252,9 @@ msgid ""
"\n"
"Tip: try to flip axis, filter further or reduce the number of measures."
msgstr ""
+"Für die Excel-Kompatibilität können Daten nicht exportiert werden, wenn mehr als 256 Spalten vorhanden sind.\n"
+"\n"
+"Tipp: Versuchen Sie, die Achse zu spiegeln, filtern Sie weiter oder reduzieren Sie die Anzahl an Werten."
#. module: web
#. openerp-web
@@ -1254,7 +1268,7 @@ msgstr "Formular"
#: code:addons/web/static/src/xml/base.xml:1310
#, python-format
msgid "Get this feature and much more with Odoo Enterprise!"
-msgstr ""
+msgstr "Erhalten Sie diese Funktion und viel mehr mit Odoo Enterprise!"
#. module: web
#. openerp-web
@@ -1302,7 +1316,7 @@ msgstr ""
#: code:addons/web/static/src/js/core/dialog.js:250
#, python-format
msgid "I am sure about this."
-msgstr ""
+msgstr "Ich bin mir diesbezüglich sicher."
#. module: web
#. openerp-web
@@ -1348,13 +1362,15 @@ msgid ""
"Invalid database name. Only alphanumerical characters, underscore, hyphen "
"and dot are allowed."
msgstr ""
+"Ungültiger Datenbankname. Nur alphanumerische Zeichen, Unterstriche, "
+"Bindestriche und Punkte sind zulässig."
#. module: web
#. openerp-web
#: code:addons/web/static/src/xml/base.xml:563
#, python-format
msgid "Invalid domain"
-msgstr ""
+msgstr "Ungültige Domain"
#. module: web
#. openerp-web
@@ -1362,21 +1378,21 @@ msgstr ""
#: code:addons/web/static/src/xml/base.xml:694
#, python-format
msgid "Invalid field chain"
-msgstr ""
+msgstr "Ungültige Feldkette"
#. module: web
#. openerp-web
#: code:addons/web/static/src/js/views/graph/graph_renderer.js:67
#, python-format
msgid "Invalid mode for chart"
-msgstr ""
+msgstr "Ungültiger Modus für Diagramm"
#. module: web
#. openerp-web
#: code:addons/web/static/src/js/widgets/debug_manager.js:208
#, python-format
msgid "JS Mobile Tests"
-msgstr ""
+msgstr "JS Mobile-Tests"
#. module: web
#. openerp-web
@@ -1504,21 +1520,21 @@ msgstr "Filter verwalten"
#: code:addons/web/static/src/xml/base.xml:596
#, python-format
msgid "Match"
-msgstr ""
+msgstr "Zuordnen"
#. module: web
#. openerp-web
#: code:addons/web/static/src/xml/base.xml:603
#, python-format
msgid "Match records with"
-msgstr ""
+msgstr "Datensätze zuordnen zu"
#. module: web
#. openerp-web
#: code:addons/web/static/src/xml/base.xml:601
#, python-format
msgid "Match records with the following rule:"
-msgstr ""
+msgstr "Datensätze folgender Regel zuordnen:"
#. module: web
#. openerp-web
@@ -1689,6 +1705,9 @@ msgid ""
"No data available for this pivot table. Try to add some records, or make sure\n"
" that there is at least one measure and no active filter in the search bar."
msgstr ""
+"Keine Daten für die Pivot-Tabelle vorhanden. Füge einen Eintrag hinzu oder "
+"stelle sicher, dass mindestens ein Maßstab vorhanden ist und keine Filter in"
+" der Suchleiste aktiv sind."
#. module: web
#. openerp-web
@@ -1709,14 +1728,14 @@ msgstr "Es liegen keine Daten zur Anzeige vor"
#: code:addons/web/static/src/js/widgets/debug_manager.js:367
#, python-format
msgid "No metadata available"
-msgstr ""
+msgstr "Keine Metadaten verfügbar"
#. module: web
#. openerp-web
#: code:addons/web/static/src/js/fields/field_utils.js:237
#, python-format
msgid "No records"
-msgstr ""
+msgstr "Keine Datensätze"
#. module: web
#. openerp-web
@@ -1768,7 +1787,7 @@ msgstr "Die Odoo Apps sind demnächst Online"
#: code:addons/web/static/src/js/services/crash_manager.js:156
#, python-format
msgid "Odoo Client Error"
-msgstr ""
+msgstr "Odoo-Client-Fehler"
#. module: web
#. openerp-web
@@ -1937,6 +1956,8 @@ msgid ""
"Pie chart cannot display all zero numbers.. Try to change your domain to "
"display positive results"
msgstr ""
+"Tortendiagramm kann nicht alle Null-Zahlen anzeigen. Versuchen Sie, Ihre "
+"Domain zu ändern, um positive Ergebnisse anzuzeigen"
#. module: web
#. openerp-web
@@ -1946,6 +1967,8 @@ msgid ""
"Pie chart cannot mix positive and negative numbers. Try to change your "
"domain to only display positive results"
msgstr ""
+"Tortendiagramm kann keine positiven und negativen Zahlen mischen. Versuchen "
+"Sie, Ihre Domain zu ändern, um nur positive Ergebnisse anzuzeigen"
#. module: web
#. openerp-web
@@ -1959,7 +1982,7 @@ msgstr "Pivot"
#: code:addons/web/static/src/js/views/list/list_renderer.js:327
#, python-format
msgid "Please click on the \"save\" button first"
-msgstr ""
+msgstr "Klicken Sie zuerst auf die Schaltfläche „Speichern“"
#. module: web
#. openerp-web
@@ -2014,6 +2037,8 @@ msgstr ""
msgid ""
"Please use the copy button to report the error to your support service."
msgstr ""
+"Verwenden Sie die Kopier-Schaltfläche, um den Fehler an Ihren Support-Dienst"
+" zu melden."
#. module: web
#: model:ir.ui.view,arch_db:web.menu_secondary
@@ -2069,7 +2094,7 @@ msgstr ""
#: code:addons/web/static/src/js/widgets/model_field_selector.js:455
#, python-format
msgid "Relation not allowed"
-msgstr ""
+msgstr "Beziehung nicht zulässig"
#. module: web
#. openerp-web
@@ -2097,7 +2122,7 @@ msgstr "Alle löschen"
#: code:addons/web/static/src/js/fields/basic_fields.js:1576
#, python-format
msgid "Remove from Favorites"
-msgstr ""
+msgstr "Aus Favoriten entfernen"
#. module: web
#. openerp-web
@@ -2125,21 +2150,21 @@ msgstr "Wiederherstellen"
#: code:addons/web/static/src/xml/kanban.xml:27
#, python-format
msgid "Restore Records"
-msgstr ""
+msgstr "Datensätze wiederherstellen"
#. module: web
#. openerp-web
#: code:addons/web/static/src/xml/base.xml:223
#, python-format
msgid "Run JS Mobile Tests"
-msgstr ""
+msgstr "JS Mobile-Tests ausführen"
#. module: web
#. openerp-web
#: code:addons/web/static/src/xml/base.xml:222
#, python-format
msgid "Run JS Tests"
-msgstr ""
+msgstr "JS-Tests ausführen"
#. module: web
#. openerp-web
@@ -2265,7 +2290,7 @@ msgstr "<i class=\"fa fa-database\"/> auswählen"
#: code:addons/web/static/src/xml/base.xml:567
#, python-format
msgid "Select a model to add a filter."
-msgstr ""
+msgstr "Wählen Sie ein Modell, um einen Filter hinzuzufügen."
#. module: web
#. openerp-web
@@ -2327,7 +2352,7 @@ msgstr "Größe:"
#: code:addons/web/controllers/main.py:1113
#, python-format
msgid "Something horrible happened"
-msgstr ""
+msgstr "Etwas Dummes ist passiert"
#. module: web
#. openerp-web
@@ -2418,7 +2443,7 @@ msgstr "Tel.:"
#: code:addons/web/static/src/js/widgets/domain_selector.js:567
#, python-format
msgid "The domain you entered is not properly formed"
-msgstr ""
+msgstr "Die von Ihnen eingegebene Domain weist keine ordnungsgemäße Form auf."
#. module: web
#. openerp-web
@@ -2428,6 +2453,9 @@ msgid ""
"The field chain is not valid. Did you maybe use a non-existing field name or"
" followed a non-relational field?"
msgstr ""
+"Die Feldkette ist ungültig. Haben Sie möglicherweise einen nicht "
+"existierenden Feldnamen verwendet oder sind Sie einem nicht-relationalen "
+"Feld gefolgt?"
#. module: web
#. openerp-web
@@ -2466,6 +2494,8 @@ msgid ""
"The record has been modified, your changes will be discarded. Do you want to"
" proceed?"
msgstr ""
+"Der Datensatz wurde geändert und Ihre Änderungen werden verworfen. Möchten "
+"Sie fortfahren?"
#. module: web
#. openerp-web
@@ -2492,6 +2522,9 @@ msgid ""
"There are too many rows (%s rows, limit: 65535) to export as Excel 97-2003 "
"(.xls) format. Consider splitting the export."
msgstr ""
+"Zu viele Zeilen (%s Zeilen, Grenzwert: 65535) sind zum Export ins Excel "
+"97-2003 (.xls)-Format vorhanden. Überlegen Sie sich, ob Sie den Export "
+"aufteilen möchten."
#. module: web
#. openerp-web
@@ -2505,7 +2538,7 @@ msgstr "Beim Hochladen Ihrer Datei gab es ein Problem"
#: code:addons/web/static/src/js/widgets/domain_selector.js:459
#, python-format
msgid "This domain is not supported."
-msgstr ""
+msgstr "Diese Domain wird nicht unterstützt."
#. module: web
#. openerp-web
@@ -2544,6 +2577,9 @@ msgid ""
"Timezone Mismatch : The timezone of your browser doesn't match the selected "
"one. The time in Odoo is displayed according to your field timezone."
msgstr ""
+"Zeitzonen-Diskrepanz: Die Zeitzone Ihres Browsers stimmt nicht mit der "
+"ausgewählten Zeitzone überein. Die Zeit in Odoo wird entsprechend Ihrem "
+"Zeitzonen-Feld angezeigt."
#. module: web
#. openerp-web
@@ -2564,7 +2600,7 @@ msgstr "Heute"
#: code:addons/web/static/src/xml/base.xml:227
#, python-format
msgid "Toggle Timelines"
-msgstr ""
+msgstr "Zeitachsen umschalten"
#. module: web
#. openerp-web
@@ -2640,7 +2676,7 @@ msgstr "Undefiniert"
#: code:addons/web/static/src/js/chrome/abstract_web_client.js:187
#, python-format
msgid "Unknown CORS error"
-msgstr ""
+msgstr "Unbekannter CORS-Fehler"
#. module: web
#. openerp-web
@@ -2675,7 +2711,7 @@ msgstr "Jetzt aktualisieren"
#: code:addons/web/static/src/xml/base.xml:1316
#, python-format
msgid "Upgrade to future versions"
-msgstr ""
+msgstr "Upgraden auf künftige Versionen"
#. module: web
#. openerp-web
@@ -2749,7 +2785,7 @@ msgstr "Warnung"
#. module: web
#: model:ir.ui.view,arch_db:web.benchmark_suite
msgid "Web Benchmarks"
-msgstr ""
+msgstr "Web-Benchmarks"
#. module: web
#: model:ir.ui.view,arch_db:web.qunit_mobile_suite
@@ -2759,7 +2795,7 @@ msgstr ""
#. module: web
#: model:ir.ui.view,arch_db:web.qunit_suite
msgid "Web Tests"
-msgstr ""
+msgstr "Web-Tests"
#. module: web
#: model:ir.ui.view,arch_db:web.external_layout_boxed
@@ -2787,7 +2823,7 @@ msgstr "Woche "
#: code:addons/web/static/src/js/widgets/rainbow_man.js:45
#, python-format
msgid "Well Done!"
-msgstr ""
+msgstr "Gut gemacht!"
#. module: web
#. openerp-web
@@ -2800,7 +2836,7 @@ msgstr "Widget:"
#: code:addons/web/controllers/main.py:487
#, python-format
msgid "Wrong login/password"
-msgstr ""
+msgstr "Falsche Anmeldedaten/falsches Passwort"
#. module: web
#. openerp-web
@@ -2853,6 +2889,7 @@ msgstr ""
#, python-format
msgid "You cannot follow relations for this field chain construction"
msgstr ""
+"Bei dieser Feldketten-Konstruktion können Sie keinen Relationen folgen"
#. module: web
#: code:addons/web/controllers/main.py:787
@@ -3011,7 +3048,7 @@ msgstr "ist größer oder gleich als"
#: code:addons/web/static/src/js/widgets/domain_selector.js:25
#, python-format
msgid "in"
-msgstr ""
+msgstr "in"
#. module: web
#: model:ir.model,name:web.model_ir_qweb_field_image
@@ -3033,14 +3070,14 @@ msgstr "ist"
#: code:addons/web/static/src/js/chrome/search_filters.js:183
#, python-format
msgid "is after"
-msgstr ""
+msgstr "ist nach"
#. module: web
#. openerp-web
#: code:addons/web/static/src/js/chrome/search_filters.js:184
#, python-format
msgid "is before"
-msgstr ""
+msgstr "ist vor"
#. module: web
#. openerp-web
@@ -3120,7 +3157,7 @@ msgstr "ist wahr"
#: code:addons/web/static/src/js/core/utils.js:111
#, python-format
msgid "kMGTPE"
-msgstr ""
+msgstr "kMGTPE"
#. module: web
#. openerp-web
@@ -3151,7 +3188,7 @@ msgstr "kleiner oder gleich"
#: code:addons/web/static/src/xml/base.xml:686
#, python-format
msgid "not"
-msgstr ""
+msgstr "nicht"
#. module: web
#. openerp-web
@@ -3172,35 +3209,35 @@ msgstr "ungültige Nummer"
#: code:addons/web/static/src/js/widgets/domain_selector.js:24
#, python-format
msgid "not contains"
-msgstr ""
+msgstr "enthält nicht"
#. module: web
#. openerp-web
#: code:addons/web/static/src/js/widgets/domain_selector.js:26
#, python-format
msgid "not in"
-msgstr ""
+msgstr "nicht in"
#. module: web
#. openerp-web
#: code:addons/web/static/src/js/widgets/domain_selector.js:658
#, python-format
msgid "not set (false)"
-msgstr ""
+msgstr "nicht festgelegt (falsch)"
#. module: web
#. openerp-web
#: code:addons/web/static/src/xml/base.xml:605
#, python-format
msgid "of the following rules:"
-msgstr ""
+msgstr "der folgenden Regeln:"
#. module: web
#. openerp-web
#: code:addons/web/static/src/xml/base.xml:620
#, python-format
msgid "of:"
-msgstr ""
+msgstr "von:"
#. module: web
#. openerp-web
@@ -3215,7 +3252,7 @@ msgstr "oder"
#: code:addons/web/static/src/js/widgets/domain_selector.js:29
#, python-format
msgid "parent of"
-msgstr ""
+msgstr "übergeordnetes Element von"
#. module: web
#. openerp-web
@@ -3236,11 +3273,11 @@ msgstr "verbleibend)"
#: code:addons/web/static/src/xml/base.xml:686
#, python-format
msgid "set"
-msgstr ""
+msgstr "festgelegt"
#. module: web
#. openerp-web
#: code:addons/web/static/src/js/widgets/domain_selector.js:658
#, python-format
msgid "set (true)"
-msgstr ""
+msgstr "festgelegt (wahr)"
diff --git a/addons/web/static/src/js/core/domain.js b/addons/web/static/src/js/core/domain.js
index 75aaf0105ed..8ce570b8605 100644
--- a/addons/web/static/src/js/core/domain.js
+++ b/addons/web/static/src/js/core/domain.js
@@ -240,7 +240,7 @@ var Domain = collections.Tree.extend({
*/
stringToArray: function (domain, evalContext) {
if (!_.isString(domain)) return _.clone(domain);
- return pyeval.eval("domain", domain || "[]", evalContext);
+ return pyeval.eval("domain", domain ? domain.replace(/%%/g, '%') : "[]", evalContext);
},
/**
* Makes implicit "&" operators explicit in the given JS prefix-array
diff --git a/addons/web/static/src/js/core/utils.js b/addons/web/static/src/js/core/utils.js
index 1bdd9e70a69..251cd2b508c 100644
--- a/addons/web/static/src/js/core/utils.js
+++ b/addons/web/static/src/js/core/utils.js
@@ -392,6 +392,23 @@ var utils = {
array[i2] = elem1;
array[i1] = elem2;
},
+
+ /**
+ * @param {string} value
+ * @param {boolean} allow_mailto
+ * @returns boolean
+ */
+ is_email: function (value, allow_mailto) {
+ // http://stackoverflow.com/questions/46155/validate-email-address-in-javascript
+ var re;
+ if (allow_mailto) {
+ re = /^(mailto:)?(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
+ } else {
+ re = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
+ }
+ return re.test(value);
+ },
+
/**
* @param {any} str
* @param {any} elseValues
diff --git a/addons/web/static/src/js/views/basic/basic_controller.js b/addons/web/static/src/js/views/basic/basic_controller.js
index 2ddadfb0027..bc82710905b 100644
--- a/addons/web/static/src/js/views/basic/basic_controller.js
+++ b/addons/web/static/src/js/views/basic/basic_controller.js
@@ -335,7 +335,9 @@ var BasicController = AbstractController.extend(FieldManagerMixin, {
}
self.model.discardChanges(recordID);
if (self.model.isNew(recordID)) {
- self._abandonRecord(recordID);
+ if (self.model.canBeAbandoned(recordID)) {
+ self._abandonRecord(recordID);
+ }
return;
}
return self._confirmSave(recordID);
diff --git a/addons/web/static/src/js/views/basic/basic_model.js b/addons/web/static/src/js/views/basic/basic_model.js
index 119adaacec4..2042c2d1ce5 100644
--- a/addons/web/static/src/js/views/basic/basic_model.js
+++ b/addons/web/static/src/js/views/basic/basic_model.js
@@ -478,6 +478,30 @@ var BasicModel = AbstractModel.extend({
return _t("New");
},
/**
+ * Returns true if a record can be abandoned from a list datapoint.
+ *
+ * A record cannot be abandonned if it has been registered as "added"
+ * in the parent's savepoint, otherwise it can be abandonned.
+ *
+ * This is useful when discarding changes on this record, as it means that
+ * we must keep the record even if some fields are invalids (e.g. required
+ * field is empty).
+ *
+ * @param {string} id id for a local resource
+ * @returns {boolean}
+ */
+ canBeAbandoned: function (id) {
+ var data = this.localData[id];
+ var parent = this.localData[data.parentID];
+ var abandonable = true;
+ if (parent) {
+ abandonable = !_.some(parent._savePoint, function (entry) {
+ return entry.operation === 'ADD' && entry.id === id;
+ });
+ }
+ return abandonable;
+ },
+ /**
* Returns true if a record is dirty. A record is considered dirty if it has
* some unsaved changes, marked by the _isDirty property on the record or
* one of its subrecords.
@@ -1428,25 +1452,23 @@ var BasicModel = AbstractModel.extend({
defs.push(self._applyOnChange(command[2], rec));
} else if (command[0] === 4) {
// LINK TO
- rec = self.localData[list._cache[command[1]]];
- if (rec) {
- // modifications done on a record are discarded if
- // the onchange uses a LINK TO
- self.discardChanges(rec.id);
- }
- // the dataPoint id will be set when the record will be
- // fetched (for now, this dataPoint may not exist yet)
- list._changes.push({
- operation: 'ADD',
- id: rec ? rec.id : null,
- resID: command[1],
- });
+ linkRecord(list, command[1]);
} else if (command[0] === 5) {
// DELETE ALL
list._changes = [{operation: 'REMOVE_ALL'}];
+ } else if (command[0] === 6) {
+ list._changes = [{operation: 'REMOVE_ALL'}];
+ _.each(command[2], function (resID) {
+ linkRecord(list, resID);
+ });
}
});
- defs.push(self._readUngroupedList(list));
+ var def = self._readUngroupedList(list).then(function () {
+ var x2ManysDef = self._fetchX2ManysBatched(list);
+ var referencesDef = self._fetchReferencesBatched(list);
+ return $.when(x2ManysDef, referencesDef);
+ });
+ defs.push(def);
} else {
var newValue = self._parseServerValue(field, val);
if (newValue !== oldValue) {
@@ -1455,6 +1477,25 @@ var BasicModel = AbstractModel.extend({
}
});
return $.when.apply($, defs);
+
+ // inner function that adds a record (based on its res_id) to a list
+ // dataPoint (used for onchanges that return commands 4 (LINK TO) or
+ // commands 6 (REPLACE WITH))
+ function linkRecord (list, resID) {
+ rec = self.localData[list._cache[resID]];
+ if (rec) {
+ // modifications done on a record are discarded if the onchange
+ // uses a LINK TO or a REPLACE WITH
+ self.discardChanges(rec.id);
+ }
+ // the dataPoint id will be set when the record will be fetched (for
+ // now, this dataPoint may not exist yet)
+ list._changes.push({
+ operation: 'ADD',
+ id: rec ? rec.id : null,
+ resID: resID,
+ });
+ }
},
/**
* When an operation is applied to a x2many field, the field widgets
@@ -1952,7 +1993,9 @@ var BasicModel = AbstractModel.extend({
_.each(list.data, function (dataPoint) {
var record = self.localData[dataPoint];
var value = record.data[fieldName];
- if (value) {
+ // if the reference field has already been fetched, the value is a
+ // datapoint ID, and in this case there's nothing to do
+ if (value && !self.localData[value]) {
var model = value.split(',')[0];
var resID = value.split(',')[1];
if (!(model in toFetch)) {
diff --git a/addons/web/static/src/js/views/kanban/kanban_model.js b/addons/web/static/src/js/views/kanban/kanban_model.js
index ba6b2ce3dbd..676dfdfac86 100644
--- a/addons/web/static/src/js/views/kanban/kanban_model.js
+++ b/addons/web/static/src/js/views/kanban/kanban_model.js
@@ -74,7 +74,6 @@ var KanbanModel = BasicModel.extend({
domain: parent.domain.concat([[groupBy,"=",result[0]]]),
fields: parent.fields,
fieldsInfo: parent.fieldsInfo,
- groupedBy: parent.groupedBy,
isOpen: true,
limit: parent.limit,
parentID: parent.id,
diff --git a/addons/web/static/src/js/views/list/list_editable_renderer.js b/addons/web/static/src/js/views/list/list_editable_renderer.js
index 91a914be8df..8155862dbb4 100644
--- a/addons/web/static/src/js/views/list/list_editable_renderer.js
+++ b/addons/web/static/src/js/views/list/list_editable_renderer.js
@@ -58,8 +58,13 @@ ListRenderer.include({
* @returns {Deferred}
*/
start: function () {
- if (this._isEditable()) {
- this.$el.css({height: '100%'});
+ // deliberately use the 'editable' attribute instead of '_isEditable'
+ // function, because the groupBy must not be taken into account to
+ // enable the '_onWindowClicked' handler (otherwise, an editable grouped
+ // list which is reloaded without groupBy wouldn't have this handler
+ // bound, and edited rows couldn't be left by clicking outside the list)
+ if (this.editable) {
+ this.$el.css({height: '100%'}); // seems useless: to remove in master
core.bus.on('click', this, this._onWindowClicked.bind(this));
}
return this._super();
diff --git a/addons/web/static/tests/fields/relational_fields_tests.js b/addons/web/static/tests/fields/relational_fields_tests.js
index ecedd4c5bc5..2e40d7cc5ec 100644
--- a/addons/web/static/tests/fields/relational_fields_tests.js
+++ b/addons/web/static/tests/fields/relational_fields_tests.js
@@ -1154,6 +1154,60 @@ QUnit.module('relational_fields', {
form.destroy();
});
+ QUnit.test('list in form: discard newly added element with empty required field', function (assert) {
+ // This test simulates discarding a record that has been created with
+ // one of its required field that is empty. When we discard the changes
+ // on this empty field, it should not assume that this record should be
+ // abandonned, since it has been added (even though it is a new record).
+ assert.expect(6);
+
+ var form = createView({
+ View: FormView,
+ model: 'partner',
+ data: this.data,
+ arch: '<form>' +
+ '<sheet>' +
+ '<field name="p">' +
+ '<tree editable="bottom">' +
+ '<field name="display_name"/>' +
+ '<field name="trululu" required="1"/>' +
+ '</tree>' +
+ '</field>' +
+ '</sheet>' +
+ '</form>',
+ mockRPC: function (route, args) {
+ if (args.method === 'default_get') {
+ return $.when({p: [[0, 0, {display_name: 'new record', trululu: false}]]});
+ }
+ return this._super.apply(this, arguments);
+ },
+ });
+
+ assert.strictEqual($('tr.o_data_row').length, 1,
+ "should have created the new record in the o2m");
+
+ var requiredElement = $('td.o_data_cell.o_required_modifier');
+ assert.strictEqual(requiredElement.length, 1,
+ "should have a required field on this record");
+ assert.strictEqual(requiredElement.text(), "",
+ "should have empty string in the required field on this record");
+
+ requiredElement.click();
+ // discard by clicking on body
+ $('body').click();
+
+ assert.strictEqual($('tr.o_data_row').length, 1,
+ "should still have the record in the o2m");
+
+ // update selector of required field element
+ requiredElement = $('td.o_data_cell.o_required_modifier');
+ assert.strictEqual(requiredElement.length, 1,
+ "should still have the required field on this record");
+ assert.strictEqual(requiredElement.text(), "",
+ "should still have empty string in the required field on this record");
+ form.destroy();
+ });
+
QUnit.test('list in form: default_get with x2many create', function (assert) {
assert.expect(5);
@@ -2853,6 +2907,163 @@ QUnit.module('relational_fields', {
form.destroy();
});
+ QUnit.test('onchange returning a command 6 for an x2many', function (assert) {
+ assert.expect(2);
+
+ this.data.partner.onchanges = {
+ foo: function (obj) {
+ obj.turtles = [[6, false, [1, 2, 3]]];
+ },
+ };
+
+ var form = createView({
+ View: FormView,
+ model: 'partner',
+ data: this.data,
+ arch:'<form>' +
+ '<field name="foo"/>' +
+ '<field name="turtles">' +
+ '<tree>' +
+ '<field name="turtle_foo"/>' +
+ '</tree>' +
+ '</field>' +
+ '</form>',
+ res_id: 1,
+ viewOptions: {
+ mode: 'edit',
+ },
+ });
+
+ assert.strictEqual(form.$('.o_data_row').length, 1,
+ "there should be one record in the relation");
+
+ // change the value of foo to trigger the onchange
+ form.$('.o_field_widget[name=foo]').val('some value').trigger('input');
+
+ assert.strictEqual(form.$('.o_data_row').length, 3,
+ "there should be three records in the relation");
+
+ form.destroy();
+ });
+
+ QUnit.test('x2many fields inside x2manys are fetched after an onchange', function (assert) {
+ assert.expect(6);
+
+ this.data.turtle.records[0].partner_ids = [1];
+ this.data.partner.onchanges = {
+ foo: function (obj) {
+ obj.turtles = [[5], [4, 1], [4, 2], [4, 3]];
+ },
+ };
+
+ var checkRPC = false;
+ var form = createView({
+ View: FormView,
+ model: 'partner',
+ data: this.data,
+ arch:'<form>' +
+ '<sheet>' +
+ '<group>' +
+ '<field name="foo"/>' +
+ '<field name="turtles">' +
+ '<tree>' +
+ '<field name="turtle_foo"/>' +
+ '<field name="partner_ids" widget="many2many_tags"/>' +
+ '</tree>' +
+ '</field>' +
+ '</group>' +
+ '</sheet>' +
+ '</form>',
+ mockRPC: function (route, args) {
+ if (checkRPC && args.method === 'read' && args.model === 'partner') {
+ assert.deepEqual(args.args[1], ['display_name'],
+ "should only read the display_name for the m2m tags");
+ assert.deepEqual(args.args[0], [1],
+ "should only read the display_name of the unknown record");
+ }
+ return this._super.apply(this, arguments);
+ },
+ res_id: 1,
+ viewOptions: {
+ mode: 'edit',
+ },
+ });
+
+ assert.strictEqual(form.$('.o_data_row').length, 1,
+ "there should be one record in the relation");
+ assert.strictEqual(form.$('.o_data_row .o_field_widget[name=partner_ids]').text().replace(/\s/g, ''),
+ 'secondrecordaaa', "many2many_tags should be correctly displayed");
+
+ // change the value of foo to trigger the onchange
+ checkRPC = true; // enable flag to check read RPC for the m2m field
+ form.$('.o_field_widget[name=foo]').val('some value').trigger('input');
+
+ assert.strictEqual(form.$('.o_data_row').length, 3,
+ "there should be three records in the relation");
+ assert.strictEqual(form.$('.o_data_row:first .o_field_widget[name=partner_ids]').text().trim(),
+ 'first record', "many2many_tags should be correctly displayed");
+
+ form.destroy();
+ });
+
+ QUnit.test('reference fields inside x2manys are fetched after an onchange', function (assert) {
+ assert.expect(5);
+
+ this.data.turtle.records[1].turtle_ref = 'product,41';
+ this.data.partner.onchanges = {
+ foo: function (obj) {
+ obj.turtles = [[5], [4, 1], [4, 2], [4, 3]];
+ },
+ };
+
+ var checkRPC = false;
+ var form = createView({
+ View: FormView,
+ model: 'partner',
+ data: this.data,
+ arch:'<form>' +
+ '<sheet>' +
+ '<group>' +
+ '<field name="foo"/>' +
+ '<field name="turtles">' +
+ '<tree>' +
+ '<field name="turtle_foo"/>' +
+ '<field name="turtle_ref" class="ref_field"/>' +
+ '</tree>' +
+ '</field>' +
+ '</group>' +
+ '</sheet>' +
+ '</form>',
+ mockRPC: function (route, args) {
+ if (checkRPC && args.method === 'name_get') {
+ assert.deepEqual(args.args[0], [37],
+ "should only fetch the name_get of the unknown record");
+ }
+ return this._super.apply(this, arguments);
+ },
+ res_id: 1,
+ viewOptions: {
+ mode: 'edit',
+ },
+ });
+
+ assert.strictEqual(form.$('.o_data_row').length, 1,
+ "there should be one record in the relation");
+ assert.strictEqual(form.$('.ref_field').text().trim(), 'xpad',
+ "reference field should be correctly displayed");
+
+ // change the value of foo to trigger the onchange
+ checkRPC = true; // enable flag to check read RPC for reference field
+ form.$('.o_field_widget[name=foo]').val('some value').trigger('input');
+
+ assert.strictEqual(form.$('.o_data_row').length, 3,
+ "there should be three records in the relation");
+ assert.strictEqual(form.$('.ref_field').text().trim(), 'xpadxphone',
+ "reference fields should be correctly displayed");
+
+ form.destroy();
+ });
+
QUnit.test('embedded one2many with handle widget with minimum setValue calls', function (assert) {
var done = assert.async();
assert.expect(20);
diff --git a/addons/web/static/tests/views/kanban_tests.js b/addons/web/static/tests/views/kanban_tests.js
index a399ffb5876..12ffe1ae3d2 100644
--- a/addons/web/static/tests/views/kanban_tests.js
+++ b/addons/web/static/tests/views/kanban_tests.js
@@ -2767,6 +2767,62 @@ QUnit.module('Views', {
kanban.destroy();
});
+ QUnit.test('archive new kanban column', function (assert) {
+ assert.expect(15);
+
+ this.data.partner.fields.active = {string: 'Active', type: 'char', default: true};
+
+ var kanban = createView({
+ View: KanbanView,
+ model: 'partner',
+ data: this.data,
+ arch: '<kanban>' +
+ '<field name="product_id"/>' +
+ '<templates><t t-name="kanban-box">' +
+ '<div><field name="foo"/></div>' +
+ '</t></templates>' +
+ '</kanban>',
+ groupBy: ['product_id'],
+ mockRPC: function (route) {
+ assert.step(route);
+ return this._super.apply(this, arguments);
+ },
+ });
+ var rpcs = ['/web/dataset/call_kw/partner/read_group', '/web/dataset/search_read', '/web/dataset/search_read'];
+ assert.strictEqual(kanban.$('.o_kanban_group').length, 2,
+ "there should be 2 columns");
+
+ // create a column
+ kanban.$('.o_column_quick_create').click();
+ kanban.$('.o_column_quick_create input').val('new colum');
+ kanban.$('.o_column_quick_create button.o_kanban_add').click();
+ rpcs.push('/web/dataset/call_kw/product/name_create');
+ assert.verifySteps(rpcs);
+
+ // add a record inside
+ kanban.$('.o_kanban_group:eq(2) .o_kanban_quick_add i').click();
+ var $quickCreate = kanban.$('.o_kanban_group:eq(2) .o_kanban_quick_create');
+ $quickCreate.find('input').val('new record');
+ $quickCreate.find('button.o_kanban_add').click();
+ assert.strictEqual(kanban.$('.o_kanban_group').length, 3,
+ "there should be 3 columns");
+ rpcs.push('/web/dataset/call_kw/partner/name_create');
+ rpcs.push('/web/dataset/call_kw/partner/read');
+ assert.verifySteps(rpcs);
+
+ var $newColumn = kanban.$('.o_kanban_group:eq(2)');
+ assert.strictEqual($newColumn.find('.o_kanban_record').length, 1,
+ "there should be 1 record in the new column");
+ $newColumn.find('.o_column_archive').click();
+ assert.strictEqual($newColumn.find('.o_kanban_record').length, 0,
+ "there should not be partners anymore");
+ rpcs.push('/web/dataset/call_kw/partner/write');
+ rpcs.push('/web/dataset/search_read');
+ assert.verifySteps(rpcs, "a search_read should be done after archiving the records");
+
+ kanban.destroy();
+ });
+
QUnit.test('load more records in column', function (assert) {
assert.expect(12);
diff --git a/addons/web/static/tests/views/list_tests.js b/addons/web/static/tests/views/list_tests.js
index 6f49bd3cba2..e322f35abb4 100644
--- a/addons/web/static/tests/views/list_tests.js
+++ b/addons/web/static/tests/views/list_tests.js
@@ -2750,10 +2750,13 @@ QUnit.module('Views', {
list.destroy();
});
- QUnit.test('grouped list are not editable', function (assert) {
+ QUnit.test('grouped list are not editable (ungrouped first)', function (assert) {
// Editable grouped list views are not supported, so the purpose of this
// test is to check that when a list view is grouped, its editable
// attribute is ignored
+ // In this test, the view isn't grouped at the beginning, so it is first
+ // editable, and then it is reloaded with a groupBy and is no longer
+ // editable
assert.expect(5);
var list = createView({
@@ -2789,6 +2792,59 @@ QUnit.module('Views', {
list.destroy();
});
+ QUnit.test('grouped list are not editable (grouped first)', function (assert) {
+ // Editable grouped list views are not supported, so the purpose of this
+ // test is to check that when a list view is grouped, its editable
+ // attribute is ignored
+ // In this test, the view is grouped at the beginning, so it isn't
+ // editable, and then it is reloaded with no groupBy and becomes editable
+ assert.expect(6);
+
+ var list = createView({
+ View: ListView,
+ model: 'foo',
+ data: this.data,
+ arch: '<tree editable="top"><field name="foo"/><field name="bar"/></tree>',
+ intercepts: {
+ switch_view: function (event) {
+ var resID = event.data.res_id || false;
+ assert.step('switch view ' + event.data.view_type + ' ' + resID);
+ },
+ },
+ groupBy: ['bar'],
+ });
+
+ // the view being grouped, it is not editable, so clicking on a record
+ // should open the form view
+ list.$('.o_group_header:first').click(); // open first group
+ list.$('.o_data_cell:first').click();
+
+ // for the same reason, clicking on 'Create' should open the form view
+ list.$buttons.find('.o_list_button_add').click();
+
+ assert.verifySteps(['switch view form 1', 'switch view form false'],
+ "two switch view to form should have been requested");
+
+ // reload without groupBy
+ list.reload({groupBy: []});
+
+ // as the view is no longer grouped, it is editable, so clicking on a
+ // row should switch it in edition
+ list.$('.o_data_cell:first').click();
+
+ assert.verifySteps(['switch view form 1', 'switch view form false'],
+ "no more switch view should have been requested");
+ assert.strictEqual(list.$('.o_selected_row').length, 1,
+ "a row should be in edition");
+
+ // clicking on the body should leave the edition
+ $('body').click();
+ assert.strictEqual(list.$('.o_selected_row').length, 0,
+ "the row should no longer be in edition");
+
+ list.destroy();
+ });
+
QUnit.test('field values are escaped', function (assert) {
assert.expect(1);
var value = '<script>throw Error();</script>';
diff --git a/addons/web_diagram/i18n/de.po b/addons/web_diagram/i18n/de.po
index 7b95d485a4c..8eac3a629c2 100644
--- a/addons/web_diagram/i18n/de.po
+++ b/addons/web_diagram/i18n/de.po
@@ -3,16 +3,17 @@
# * web_diagram
#
# Translators:
-# Martin Trigaux <mat@odoo.com>, 2017
+# Martin Trigaux, 2017
# darenkster <inactive+darenkster@transifex.com>, 2017
# Anja Funk <anja.funk@afimage.de>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:54+0000\n"
"PO-Revision-Date: 2017-09-20 09:54+0000\n"
-"Last-Translator: Anja Funk <anja.funk@afimage.de>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -36,13 +37,15 @@ msgid ""
"Are you sure you want to remove this node ? This will remove its connected "
"transitions as well."
msgstr ""
+"Wollen Sie diesen Knoten wirklich entfernen? Dadurch werden alle zugehörigen"
+" Verbindungen ebenfalls entfernt."
#. module: web_diagram
#. openerp-web
#: code:addons/web_diagram/static/src/js/diagram_controller.js:172
#, python-format
msgid "Are you sure you want to remove this transition?"
-msgstr ""
+msgstr "Sind Sie sicher, dass Sie diese Verbindung entfernen wollen?"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_editor/static/src/js/widgets/ace.js b/addons/web_editor/static/src/js/widgets/ace.js
index 1b8996beaa5..1057958f983 100644
--- a/addons/web_editor/static/src/js/widgets/ace.js
+++ b/addons/web_editor/static/src/js/widgets/ace.js
@@ -58,6 +58,10 @@ function checkXML(xml) {
* @returns {string} formatted xml
*/
function formatXML(xml) {
+ // do nothing if an inline script is present to avoid breaking it
+ if (/<script(?: [^>]*)?>[^<][\s\S]*<\/script>/i.test(xml)) {
+ return xml;
+ }
return window.vkbeautify.xml(xml, 4);
}
/**
diff --git a/addons/web_editor/static/src/js/widgets/widgets.js b/addons/web_editor/static/src/js/widgets/widgets.js
index c9659e04eab..f7c738f1c2c 100644
--- a/addons/web_editor/static/src/js/widgets/widgets.js
+++ b/addons/web_editor/static/src/js/widgets/widgets.js
@@ -5,6 +5,7 @@ var base = require('web_editor.base');
var core = require('web.core');
var Dialog = require('web.Dialog');
var Widget = require('web.Widget');
+var utils = require('web.utils');
var weContext = require("web_editor.context");
var QWeb = core.qweb;
@@ -1531,5 +1532,9 @@ return {
AltDialog: AltDialog,
MediaDialog: MediaDialog,
LinkDialog: LinkDialog,
+ click_event: click_event,
+ fontIconsDialog: fontIconsDialog,
+ ImageDialog: ImageDialog,
+ VideoDialog: VideoDialog,
};
});
diff --git a/addons/web_tour/i18n/fr.po b/addons/web_tour/i18n/fr.po
index 946bf53eca4..17bbb52c9f4 100644
--- a/addons/web_tour/i18n/fr.po
+++ b/addons/web_tour/i18n/fr.po
@@ -4,18 +4,19 @@
#
# Translators:
# Xavier Belmere <Info@cartmeleon.com>, 2016
-# Martin Trigaux <mat@odoo.com>, 2016
+# Martin Trigaux, 2016
# invitu <contact@invitu.com>, 2016
# Fabien Pinckaers <fp@openerp.com>, 2016
# Richard Mathot <rim@odoo.com>, 2017
# Eloïse Stilmant <est@odoo.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:54+0000\n"
"PO-Revision-Date: 2017-09-20 09:54+0000\n"
-"Last-Translator: Eloïse Stilmant <est@odoo.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -93,7 +94,7 @@ msgstr "Ignorer la visite"
#: code:addons/web_tour/static/src/xml/debug_manager.xml:11
#, python-format
msgid "Start Tour"
-msgstr ""
+msgstr "Démarrer la visite"
#. module: web_tour
#: model:ir.ui.view,arch_db:web_tour.edit_tour_search
diff --git a/addons/website/i18n/es.po b/addons/website/i18n/es.po
index f2122399e0d..2106ff44f42 100644
--- a/addons/website/i18n/es.po
+++ b/addons/website/i18n/es.po
@@ -2842,7 +2842,7 @@ msgstr "TRADUCIR"
#: code:addons/website/static/src/xml/website.facebook_page.xml:14
#, python-format
msgid "Tabs"
-msgstr ""
+msgstr "Etiquetas"
#. module: website
#: model:ir.ui.view,arch_db:website.show_website_info
diff --git a/addons/website/models/website.py b/addons/website/models/website.py
index b2c2c9bbe7c..1f758bf7086 100644
--- a/addons/website/models/website.py
+++ b/addons/website/models/website.py
@@ -520,7 +520,7 @@ class Website(models.Model):
if not force:
domain += [('website_indexed', '=', True)]
#is_visible
- domain += [('website_published', '=', True), '|', ('date_publish', '!=', False), ('date_publish', '>', fields.Datetime.now())]
+ domain += [('website_published', '=', True), '|', ('date_publish', '=', False), ('date_publish', '<=', fields.Datetime.now())]
if query_string:
domain += [('url', 'like', query_string)]
@@ -875,12 +875,12 @@ class Menu(models.Model):
replace_id(mid, new_menu.id)
for menu in data['data']:
menu_id = self.browse(menu['id'])
- if menu_id.page_id:
- menu_id.page_id.write({'url': menu['url']})
# if the url match a website.page, set the m2o relation
page = self.env['website.page'].search([('url', '=', menu['url'])], limit=1)
if page:
menu['page_id'] = page.id
+ elif menu_id.page_id:
+ menu_id.page_id.write({'url': menu['url']})
menu_id.write(menu)
return True
diff --git a/addons/website/views/website_templates.xml b/addons/website/views/website_templates.xml
index 4438e4a0f67..6548090abc5 100644
--- a/addons/website/views/website_templates.xml
+++ b/addons/website/views/website_templates.xml
@@ -117,13 +117,16 @@
</xpath>
<xpath expr="//t[@t-set='head_website']" position="replace">
<t t-set="head_website">
+ <meta name="generator" content="Odoo"/>
+
<meta t-if="main_object and 'website_indexed' in main_object
and not main_object.website_indexed" name="robots" content="noindex"/>
- <meta name="description" t-att-content="main_object and 'website_meta_description' in main_object
+ <t t-set="meta_description" t-value="main_object and 'website_meta_description' in main_object
and main_object.website_meta_description or website_meta_description"/>
- <meta name="keywords" t-att-content="main_object and 'website_meta_keywords' in main_object
+ <t t-set="meta_keywords" t-value="main_object and 'website_meta_keywords' in main_object
and main_object.website_meta_keywords or website_meta_keywords"/>
- <meta name="generator" content="Odoo"/>
+ <meta t-if="meta_description" name="description" t-att-content="meta_description"/>
+ <meta t-if="meta_keywords" name="keywords" t-att-content="meta_keywords"/>
<!-- OpenGraph tags for Facebook sharing -->
<meta property="og:title" t-att-content="additional_title" />
diff --git a/addons/website_blog/i18n/fr.po b/addons/website_blog/i18n/fr.po
index e9ef8786b25..d76ddc8c2c3 100644
--- a/addons/website_blog/i18n/fr.po
+++ b/addons/website_blog/i18n/fr.po
@@ -22,13 +22,14 @@
# Eloïse Stilmant <est@odoo.com>, 2017
# e2f <projects@e2f.com>, 2018
# fr trans <e2ftrans1@yahoo.com>, 2018
+# fr rev <e2ffr02@hotmail.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-24 09:00+0000\n"
"PO-Revision-Date: 2017-10-24 09:00+0000\n"
-"Last-Translator: fr trans <e2ftrans1@yahoo.com>, 2018\n"
+"Last-Translator: fr rev <e2ffr02@hotmail.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -43,6 +44,9 @@ msgid ""
" It will now be the turn of the big players to catch up to\n"
" the superior technologies of the SME.\""
msgstr ""
+"« La technologie de pointe est enfin à la portée du grand public.\n"
+" C'est maintenant au tour des acteurs majeurs de rattraper la \n"
+" supériorité technologique des PME. »"
#. module: website_blog
#: model:blog.post,content:website_blog.blog_post_2
diff --git a/addons/website_crm_partner_assign/i18n/de.po b/addons/website_crm_partner_assign/i18n/de.po
index 034bb1f11d5..e68ca0593af 100644
--- a/addons/website_crm_partner_assign/i18n/de.po
+++ b/addons/website_crm_partner_assign/i18n/de.po
@@ -21,13 +21,14 @@
# Henry Mineehen <info@mineehen.de>, 2017
# Malte Jansen <work@maltejansen.de>, 2017
# e2f <projects@e2f.com>, 2018
+# Katharina Moritz <kmo@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-02 11:26+0000\n"
"PO-Revision-Date: 2017-10-02 11:26+0000\n"
-"Last-Translator: e2f <projects@e2f.com>, 2018\n"
+"Last-Translator: Katharina Moritz <kmo@e2f.com>, 2018\n"
"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -120,7 +121,7 @@ msgstr "&amp;times;"
#. module: website_crm_partner_assign
#: model:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_lead
msgid "<i class=\"fa fa-file-text-o\"/> I'm interested"
-msgstr ""
+msgstr "<i class=\"fa fa-file-text-o\"/> Ich bin interessiert"
#. module: website_crm_partner_assign
#: model:ir.ui.view,arch_db:website_crm_partner_assign.portal_my_lead
diff --git a/addons/website_event/i18n/fr.po b/addons/website_event/i18n/fr.po
index a97f5831097..66924cdd458 100644
--- a/addons/website_event/i18n/fr.po
+++ b/addons/website_event/i18n/fr.po
@@ -9,13 +9,14 @@
# Martin Trigaux, 2017
# Eloïse Stilmant <est@odoo.com>, 2017
# e2f <projects@e2f.com>, 2018
+# fr trans <e2ftrans1@yahoo.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:54+0000\n"
"PO-Revision-Date: 2017-09-20 09:54+0000\n"
-"Last-Translator: e2f <projects@e2f.com>, 2018\n"
+"Last-Translator: fr trans <e2ftrans1@yahoo.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -192,6 +193,8 @@ msgid ""
"Check this option to have menus for your event on the\n"
" website: registrations, schedule, map, ..."
msgstr ""
+"Activez cette option pour obtenir des menus pour votre événement sur le\n"
+" site Web : inscriptions, calendrier, carte, …"
#. module: website_event
#. openerp-web
@@ -254,7 +257,7 @@ msgstr "Menu dédié"
#. module: website_event
#: model:ir.model.fields,field_description:website_event.field_event_type_website_menu
msgid "Display a dedicated menu on Website"
-msgstr ""
+msgstr "Afficher un menu dédié sur le site Web"
#. module: website_event
#. openerp-web
diff --git a/addons/website_event/models/event.py b/addons/website_event/models/event.py
index d8d3f03f802..cf5c2bbd872 100644
--- a/addons/website_event/models/event.py
+++ b/addons/website_event/models/event.py
@@ -22,7 +22,7 @@ class Event(models.Model):
website_menu = fields.Boolean('Dedicated Menu',
help="Creates menus Introduction, Location and Register on the page "
" of the event on the website.", copy=False)
- menu_id = fields.Many2one('website.menu', 'Event Menu')
+ menu_id = fields.Many2one('website.menu', 'Event Menu', copy=False)
def _compute_is_participating(self):
# we don't allow public user to see participating label
diff --git a/addons/website_event_questions/i18n/fr.po b/addons/website_event_questions/i18n/fr.po
index 44967525c90..6b07430cb13 100644
--- a/addons/website_event_questions/i18n/fr.po
+++ b/addons/website_event_questions/i18n/fr.po
@@ -202,6 +202,8 @@ msgstr "Question"
#, python-format
msgid "Question should belong to either event category or event but not both"
msgstr ""
+"La question doit appartenir à une catégorie d'événement ou à un événement, "
+"mais pas aux deux"
#. module: website_event_questions
#: model:ir.model.fields,field_description:website_event_questions.field_event_event_question_ids
@@ -222,7 +224,7 @@ msgstr "Analyse des questions"
#. module: website_event_questions
#: model:ir.model.fields,field_description:website_event_questions.field_event_type_use_questions
msgid "Questions to Attendees"
-msgstr ""
+msgstr "Questions aux participants"
#. module: website_event_questions
#: model:ir.model.fields,field_description:website_event_questions.field_event_question_report_attendee_id
diff --git a/addons/website_form/i18n/es.po b/addons/website_form/i18n/es.po
index 9aa02c8aa59..dc357a13664 100644
--- a/addons/website_form/i18n/es.po
+++ b/addons/website_form/i18n/es.po
@@ -3,18 +3,19 @@
# * website_form
#
# Translators:
-# David Perez <david@closemarketing.es>, 2017
-# Antonio Trueba <atgayol@gmail.com>, 2017
-# Luis M. Ontalba <luis.martinez@tecnativa.com>, 2017
-# David Casas <info@informaticacoslada.com>, 2017
-# Inigo Zuluaga <inigo_zuluaga@yahoo.es>, 2017
+# David Perez <david@closemarketing.es>, 2016
+# Antonio Trueba, 2016
+# Martin Trigaux, 2016
+# David Casas <info@informaticacoslada.com>, 2016
+# Inigo Zuluaga <inigo_zuluaga@yahoo.es>, 2016
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:54+0000\n"
"PO-Revision-Date: 2017-09-20 09:54+0000\n"
-"Last-Translator: Inigo Zuluaga <inigo_zuluaga@yahoo.es>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -128,6 +129,8 @@ msgstr "Por favor, rellena el formulario correctamente."
msgid ""
"Specify the field which will contain meta and custom form fields datas."
msgstr ""
+"Especifique el campo que contendrá metadatos y datos de campos de "
+"formularios personalizados."
#. module: website_form
#. openerp-web
diff --git a/addons/website_forum/controllers/main.py b/addons/website_forum/controllers/main.py
index 94043cdb0b0..ac84166d528 100644
--- a/addons/website_forum/controllers/main.py
+++ b/addons/website_forum/controllers/main.py
@@ -225,9 +225,9 @@ class WebsiteForum(http.Controller):
@http.route('/forum/get_url_title', type='json', auth="user", methods=['POST'], website=True)
def get_url_title(self, **kwargs):
try:
- req = requests.get(kwargs.get('url'), stream=True)
+ req = requests.get(kwargs.get('url'))
req.raise_for_status()
- arch = lxml.html.parse(req.raw)
+ arch = lxml.html.fromstring(req.content)
return arch.find(".//title").text
except IOError:
return False
diff --git a/addons/website_forum/i18n/es.po b/addons/website_forum/i18n/es.po
index eb94d64f2d2..61485f3cb9a 100644
--- a/addons/website_forum/i18n/es.po
+++ b/addons/website_forum/i18n/es.po
@@ -146,6 +146,8 @@ msgid ""
"(Un)archiving a forum automatically (un)archives its posts. Do you want to "
"proceed?"
msgstr ""
+"Al (des)archivar un foro, sus publicaciones se (des)archivan "
+"automáticamente. ¿Desea continuar?"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.view_forum_post_form
@@ -153,6 +155,8 @@ msgid ""
"(Un)archiving a post automatically (un)archives its answers. Do you want to "
"proceed?"
msgstr ""
+"Al (des)archivar una publicación, sus respuestas se (des)archivan "
+"automáticamente. ¿Desea continuar?"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.view_forum_forum_form
@@ -445,13 +449,13 @@ msgstr "<span> por <span>"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.forum_post_template_new_answer
msgid "A new answer on"
-msgstr ""
+msgstr "Una nueva respuesta en"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.forum_post_template_new_question
#: model:ir.ui.view,arch_db:website_forum.forum_post_template_validation
msgid "A new question"
-msgstr ""
+msgstr "Una nueva pregunta"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.tag
@@ -460,6 +464,9 @@ msgid ""
" similar questions. Using the right tags makes it easier for\n"
" others to find and answer your question. (Hover the mouse to follow/unfollow tag(s))"
msgstr ""
+"Una etiqueta es un rótulo que categoriza su pregunta\n"
+" con otras preguntas similares. El uso de las etiquetas adecuadas facilita\n"
+" que otros usuarios encuentren y contesten a su pregunta. (Pase el puntero por encima para seguir/dejar de seguir etiquetas)"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.header
@@ -773,7 +780,7 @@ msgstr "Golpeado"
#: code:addons/website_forum/static/src/xml/website_forum_share_templates.xml:34
#, python-format
msgid "By sharing you answer, you will get additional"
-msgstr ""
+msgstr "Si comparte su respuesta, obtendrá más"
#. module: website_forum
#: model:ir.model.fields,field_description:website_forum.field_forum_post_can_accept
@@ -937,7 +944,7 @@ msgstr "Cerrar"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.close_post
msgid "Close Post"
-msgstr ""
+msgstr "Cerrar publicación"
#. module: website_forum
#: model:ir.model.fields,field_description:website_forum.field_forum_forum_karma_close_all
@@ -952,7 +959,7 @@ msgstr "Cerrar publicaciones propias"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.close_post
msgid "Close post"
-msgstr ""
+msgstr "Cerrar publicación"
#. module: website_forum
#: model:ir.model.fields,field_description:website_forum.field_forum_post_closed_uid
@@ -1043,12 +1050,12 @@ msgstr "Convertir todas las respuestas a comentarios y viceversa"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.post_answers
msgid "Convert as a comment"
-msgstr ""
+msgstr "Convertir en comentario"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.post_comment
msgid "Convert as an answer"
-msgstr ""
+msgstr "Convertir en respuesta"
#. module: website_forum
#: model:ir.model.fields,field_description:website_forum.field_forum_post_karma_accept
@@ -1088,7 +1095,7 @@ msgstr "Fecha de Creación"
#. module: website_forum
#: model:ir.model.fields,field_description:website_forum.field_forum_forum_karma_tag_create
msgid "Create new tags"
-msgstr ""
+msgstr "Crear nuevas etiquetas"
#. module: website_forum
#: model:gamification.badge,description:website_forum.badge_32
@@ -1228,7 +1235,7 @@ msgstr "Editar su respuesta previa"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.user_detail_full
msgid "Edit Your Profile"
-msgstr ""
+msgstr "Editar perfil"
#. module: website_forum
#: model:ir.model.fields,field_description:website_forum.field_forum_forum_karma_edit_all
@@ -1286,7 +1293,7 @@ msgstr "Informado"
#: code:addons/website_forum/static/src/js/website_tour_forum.js:19
#, python-format
msgid "Enter a name for your new forum."
-msgstr ""
+msgstr "Ingrese un nombre para su nuevo foro."
#. module: website_forum
#: model:gamification.badge,name:website_forum.badge_q_3
@@ -1362,7 +1369,7 @@ msgstr "Primer voto positivo"
#: model:ir.ui.view,arch_db:website_forum.post_answers
#: model:ir.ui.view,arch_db:website_forum.post_description_full
msgid "Flag"
-msgstr ""
+msgstr "Señalización"
#. module: website_forum
#: model:ir.model.fields,field_description:website_forum.field_forum_forum_karma_flag
@@ -1578,6 +1585,9 @@ msgid ""
"'remaining hours' field computed on tasks?, How to configure TPS and TVQ's "
"canadian taxes?"
msgstr ""
+"¿Cómo se puede crear un inventario físico con fecha anterior? ¿Cómo se "
+"computa el campo \"horas restantes\" en las tareas? ¿Cómo se configuran los "
+"impuestos canadienses TPS y TVQ?"
#. module: website_forum
#: model:ir.model.fields,field_description:website_forum.field_forum_forum_id
@@ -1655,6 +1665,8 @@ msgid ""
"Inventory Date Problem, Task remaining hours, Can you help solve solve my "
"tax computation problem in Canada?"
msgstr ""
+"Problema con fecha de inventario, horas restantes en tareas, ¿podrían "
+"ayudarme con el cálculo de impuestos canadienses?"
#. module: website_forum
#: model:ir.model.fields,field_description:website_forum.field_forum_post_user_favourite
@@ -1781,7 +1793,7 @@ msgstr "Vínculos"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.close_post
msgid "Mark as offensive"
-msgstr ""
+msgstr "Señalar como ofensivo"
#. module: website_forum
#: model:ir.model.fields,field_description:website_forum.field_forum_forum_karma_moderate
@@ -1820,6 +1832,8 @@ msgstr "Más votadas"
msgid ""
"Move this question to the top of the list by sharing it on social networks."
msgstr ""
+"Coloque esta pregunta en la parte superior de la lista con solo compartirla "
+"en redes sociales."
#. module: website_forum
#: model:ir.model.fields,field_description:website_forum.field_forum_post_user_vote
@@ -1905,13 +1919,13 @@ msgstr "No se puede votar un post propio"
#: code:addons/website_forum/models/forum.py:932
#, python-format
msgid "Not enough karma to create a new Tag"
-msgstr ""
+msgstr "Karma insuficiente para crear una nueva etiqueta"
#. module: website_forum
#: code:addons/website_forum/models/forum.py:489
#, python-format
msgid "Not enough karma to retag."
-msgstr ""
+msgstr "Karma insuficiente para cambiar etiqueta."
#. module: website_forum
#: model:gamification.badge,name:website_forum.badge_q_2
@@ -1953,7 +1967,7 @@ msgstr "Ofensivo"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.close_post
msgid "Offensive Post"
-msgstr ""
+msgstr "Publicación ofensiva"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.post_answers
@@ -2204,7 +2218,7 @@ msgstr "Pregunta establecida como favorita por 5 usuarios"
#: code:addons/website_forum/controllers/main.py:335
#, python-format
msgid "Question should not be empty."
-msgstr ""
+msgstr "El campo de la pregunta no debe quedar vacío."
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.header
@@ -2248,7 +2262,7 @@ msgstr "Re: %s"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.post_description_full
msgid "Reactivate"
-msgstr ""
+msgstr "Reactivar"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.header
@@ -2306,7 +2320,7 @@ msgstr "Cálculo de relevancia"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.post_description_full
msgid "Reopen"
-msgstr ""
+msgstr "Reabrir"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.post_answers
@@ -2356,12 +2370,12 @@ msgstr "Segundo parámetro relevante"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.forum_post_template_new_answer
msgid "See post"
-msgstr ""
+msgstr "Ver publicación"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.forum_post_template_new_question
msgid "See question"
-msgstr ""
+msgstr "Ver pregunta"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.header
@@ -2433,7 +2447,7 @@ msgstr "Contador de insignias de plata"
#: code:addons/website_forum/static/src/js/website_forum.js:26
#, python-format
msgid "Sorry you must be logged in to perform this action"
-msgstr ""
+msgstr "Lo sentimos, debe iniciar sesión para realizar esta acción"
#. module: website_forum
#. openerp-web
@@ -2716,7 +2730,7 @@ msgstr ""
#. module: website_forum
#: model:ir.model.fields,field_description:website_forum.field_forum_post_vote_count
msgid "Total Votes"
-msgstr ""
+msgstr "Votos totales"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.header
@@ -2824,7 +2838,7 @@ msgstr ""
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.forum_post_template_validation
msgid "Validate question"
-msgstr ""
+msgstr "Validar pregunta"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.display_post_question_block
@@ -2861,7 +2875,7 @@ msgstr "Esperando validación"
#. module: website_forum
#: model:ir.model.fields,field_description:website_forum.field_res_users_forum_waiting_posts_count
msgid "Waiting post"
-msgstr ""
+msgstr "Esperando publicación"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.new_link
@@ -2949,7 +2963,7 @@ msgstr ""
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.post_answer
msgid "You cannot post an empty answer"
-msgstr ""
+msgstr "No puede publicar una respuesta vacía."
#. module: website_forum
#: model:forum.forum,faq:website_forum.forum_help
@@ -3131,16 +3145,18 @@ msgid ""
"has been posted and require your validation. Click here to access the "
"question :"
msgstr ""
+"ha sido publicada y requiere su validación. Haga clic aquí para acceder a la"
+" pregunta:"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.forum_post_template_new_answer
msgid "has been posted. Click here to access the post :"
-msgstr ""
+msgstr "ha sido publicada. Haga clic aquí para acceder a la publicación:"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.forum_post_template_new_question
msgid "has been posted. Click here to access the question :"
-msgstr ""
+msgstr "ha sido publicada. Haga clic aquí para acceder a la pregunta:"
#. module: website_forum
#. openerp-web
diff --git a/addons/website_forum/i18n/fr.po b/addons/website_forum/i18n/fr.po
index df926d3a563..1be74a5cca9 100644
--- a/addons/website_forum/i18n/fr.po
+++ b/addons/website_forum/i18n/fr.po
@@ -33,13 +33,15 @@
# Eloïse Stilmant <est@odoo.com>, 2017
# Micky Jault <micky037@hotmail.fr>, 2017
# e2f <projects@e2f.com>, 2018
+# fr trans <e2ftrans1@yahoo.com>, 2018
+# fr rev <e2ffr02@hotmail.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-24 09:00+0000\n"
"PO-Revision-Date: 2017-10-24 09:00+0000\n"
-"Last-Translator: e2f <projects@e2f.com>, 2018\n"
+"Last-Translator: fr rev <e2ffr02@hotmail.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -161,6 +163,8 @@ msgid ""
"(Un)archiving a post automatically (un)archives its answers. Do you want to "
"proceed?"
msgstr ""
+"(Dés)archiver un message (dés)archive automatiquement ses réponses. Voulez-"
+"vous continuer ?"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.view_forum_forum_form
@@ -466,6 +470,9 @@ msgid ""
" similar questions. Using the right tags makes it easier for\n"
" others to find and answer your question. (Hover the mouse to follow/unfollow tag(s))"
msgstr ""
+"Une étiquette est un indicateur qui permet de catégoriser votre question\n"
+" parmi d'autres. Utilisée de la bonne manière, elle permet aux\n"
+" autres utilisateurs de retrouver plus rapidement votre question et d'y répondre. (Passez le curseur de la souris sur des étiquettes pour les suivre ou pour arrêter de les suivre)"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.header
@@ -778,7 +785,7 @@ msgstr "Remonté le"
#: code:addons/website_forum/static/src/xml/website_forum_share_templates.xml:34
#, python-format
msgid "By sharing you answer, you will get additional"
-msgstr ""
+msgstr "En partageant votre réponse, vous aurez plus de"
#. module: website_forum
#: model:ir.model.fields,field_description:website_forum.field_forum_post_can_accept
@@ -957,7 +964,7 @@ msgstr "Fermer ses propres messages"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.close_post
msgid "Close post"
-msgstr ""
+msgstr "Fermer le message"
#. module: website_forum
#: model:ir.model.fields,field_description:website_forum.field_forum_post_closed_uid
@@ -1367,7 +1374,7 @@ msgstr "Premier vote positif"
#: model:ir.ui.view,arch_db:website_forum.post_answers
#: model:ir.ui.view,arch_db:website_forum.post_description_full
msgid "Flag"
-msgstr ""
+msgstr "Marquer"
#. module: website_forum
#: model:ir.model.fields,field_description:website_forum.field_forum_forum_karma_flag
@@ -1583,6 +1590,9 @@ msgid ""
"'remaining hours' field computed on tasks?, How to configure TPS and TVQ's "
"canadian taxes?"
msgstr ""
+"Comment créer un inventaire physique à une date antérieure ?, Comment est "
+"calculé le champ « heures restantes » sur les tâches ?, Comment configurer "
+"les taxes canadiennes TPS et TVQ ?"
#. module: website_forum
#: model:ir.model.fields,field_description:website_forum.field_forum_forum_id
@@ -1659,6 +1669,8 @@ msgid ""
"Inventory Date Problem, Task remaining hours, Can you help solve solve my "
"tax computation problem in Canada?"
msgstr ""
+"Problème de date d'inventaire, heures restantes pour la tâche, pouvez-vous "
+"m'aider à résoudre un problème de calcul de taxes au Canada ?"
#. module: website_forum
#: model:ir.model.fields,field_description:website_forum.field_forum_post_user_favourite
@@ -1917,7 +1929,7 @@ msgstr "Pas assez de karma pour créer un nouveau Tag"
#: code:addons/website_forum/models/forum.py:489
#, python-format
msgid "Not enough karma to retag."
-msgstr ""
+msgstr "Points karma insuffisants pour créer une étiquette."
#. module: website_forum
#: model:gamification.badge,name:website_forum.badge_q_2
@@ -1959,7 +1971,7 @@ msgstr "Offensant"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.close_post
msgid "Offensive Post"
-msgstr ""
+msgstr "Message insultant"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.post_answers
@@ -2210,7 +2222,7 @@ msgstr "Question ajoutée en favori par 5 utilisateurs"
#: code:addons/website_forum/controllers/main.py:335
#, python-format
msgid "Question should not be empty."
-msgstr ""
+msgstr "La question ne peut pas être vide."
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.header
@@ -2254,7 +2266,7 @@ msgstr "Re: %s"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.post_description_full
msgid "Reactivate"
-msgstr ""
+msgstr "Réactiver"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.header
@@ -2726,7 +2738,7 @@ msgstr ""
#. module: website_forum
#: model:ir.model.fields,field_description:website_forum.field_forum_post_vote_count
msgid "Total Votes"
-msgstr ""
+msgstr "Nombre total de votes"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.header
@@ -2871,7 +2883,7 @@ msgstr "En attente de validation"
#. module: website_forum
#: model:ir.model.fields,field_description:website_forum.field_res_users_forum_waiting_posts_count
msgid "Waiting post"
-msgstr ""
+msgstr "En attente de message"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.new_link
@@ -3139,16 +3151,18 @@ msgid ""
"has been posted and require your validation. Click here to access the "
"question :"
msgstr ""
+"a été publiée et nécessite votre validation. Cliquez ici pour accéder à la "
+"question :"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.forum_post_template_new_answer
msgid "has been posted. Click here to access the post :"
-msgstr ""
+msgstr "a été publiée. Cliquez ici pour accéder au message :"
#. module: website_forum
#: model:ir.ui.view,arch_db:website_forum.forum_post_template_new_question
msgid "has been posted. Click here to access the question :"
-msgstr ""
+msgstr "a été publiée. Cliquez ici pour accéder à la question :"
#. module: website_forum
#. openerp-web
diff --git a/addons/website_gengo/i18n/es.po b/addons/website_gengo/i18n/es.po
index 8fc94d06d76..c874300db5e 100644
--- a/addons/website_gengo/i18n/es.po
+++ b/addons/website_gengo/i18n/es.po
@@ -3,16 +3,17 @@
# * website_gengo
#
# Translators:
-# Martin Trigaux <mat@odoo.com>, 2016
+# Martin Trigaux, 2016
# José Vicente <txusev@gmail.com>, 2016
# Jesús Alan Ramos Rodríguez <alan.ramos@jarsa.com.mx>, 2016
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:54+0000\n"
"PO-Revision-Date: 2017-09-20 09:54+0000\n"
-"Last-Translator: Jesús Alan Ramos Rodríguez <alan.ramos@jarsa.com.mx>, 2016\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -108,14 +109,14 @@ msgstr "Contenido a traducir o puede enviarlo a"
#: code:addons/website_gengo/static/src/js/website_gengo.js:88
#, python-format
msgid "Could not Post translation"
-msgstr ""
+msgstr "No se ha podido publicar la traducción"
#. module: website_gengo
#. openerp-web
#: code:addons/website_gengo/static/src/js/website_gengo.js:195
#, python-format
msgid "Could not submit ! Try Again"
-msgstr ""
+msgstr "¡El envío no ha sido posible! Intentar de nuevo"
#. module: website_gengo
#. openerp-web
diff --git a/addons/website_gengo/i18n/fr.po b/addons/website_gengo/i18n/fr.po
index 776a47e6523..d3a50be353d 100644
--- a/addons/website_gengo/i18n/fr.po
+++ b/addons/website_gengo/i18n/fr.po
@@ -4,20 +4,21 @@
#
# Translators:
# Xavier Belmere <Info@cartmeleon.com>, 2016
-# Florian Hatat <mininet@wanadoo.fr>, 2016
+# Florian Hatat, 2016
# Olivier Lenoir <olivier.lenoir@free.fr>, 2016
-# Martin Trigaux <mat@odoo.com>, 2016
-# Kévin R. <realrom@hotmail.fr>, 2016
+# Martin Trigaux, 2016
+# Kévin R., 2016
# Olivier Dony <odo@odoo.com>, 2016
# lucasdeliege <deliegelucas@gmail.com>, 2016
# Lucas Deliege <lud@odoo.com>, 2016
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:54+0000\n"
"PO-Revision-Date: 2017-09-20 09:54+0000\n"
-"Last-Translator: Lucas Deliege <lud@odoo.com>, 2016\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -113,14 +114,14 @@ msgstr "Traduire ce contenu ou bien l'envoyer à"
#: code:addons/website_gengo/static/src/js/website_gengo.js:88
#, python-format
msgid "Could not Post translation"
-msgstr ""
+msgstr "Impossible de publier la traduction"
#. module: website_gengo
#. openerp-web
#: code:addons/website_gengo/static/src/js/website_gengo.js:195
#, python-format
msgid "Could not submit ! Try Again"
-msgstr ""
+msgstr "Impossible d'effectuer l'envoi. Réessayer"
#. module: website_gengo
#. openerp-web
diff --git a/addons/website_hr_recruitment/i18n/es.po b/addons/website_hr_recruitment/i18n/es.po
index 04d20e6b6e2..5e13ee9fdca 100644
--- a/addons/website_hr_recruitment/i18n/es.po
+++ b/addons/website_hr_recruitment/i18n/es.po
@@ -69,7 +69,7 @@ msgstr "5/5"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "50% YoY"
-msgstr ""
+msgstr "50% interanual"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.s_hr_rating_options
@@ -164,12 +164,12 @@ msgstr "Solicitar trabajo"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.detail
msgid "Apply Now!"
-msgstr ""
+msgstr "¡Echar solicitud ya!"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "Avg Deal Size:"
-msgstr ""
+msgstr "Tamaño medio de los acuerdos:"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
@@ -182,16 +182,18 @@ msgid ""
"Brand-name product and services in categories like travel, electronics, "
"health, fitness, cellular, and more"
msgstr ""
+"Productos y servicios con marcas comerciales en categorías como viajes, "
+"electrónica, salud, ejercicio, teléfonos móviles, etc."
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "Company Growth:"
-msgstr ""
+msgstr "Crecimiento de la empresa:"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "Company Maturity:"
-msgstr ""
+msgstr "Desarrollo de la empresa:"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.thankyou
@@ -224,16 +226,18 @@ msgid ""
"Direct coordination with functional consultants for qualification and follow"
" ups"
msgstr ""
+"Coordinación directa con asesores funcionales para calificaciones y "
+"seguimientos"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "Discount Programs"
-msgstr ""
+msgstr "Programas de descuentos"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "Eat &amp; Drink"
-msgstr ""
+msgstr "Comer y beber"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
@@ -246,18 +250,20 @@ msgid ""
"Healthcare, dental, vision, life insurance, Flexible Spending Account (FSA),"
" Health Savings Account (HSA)"
msgstr ""
+"Sanidad, salud dental, visión, seguro de vida, cuenta de gastos flexible, "
+"cuenta de ahorro para gastos médicos"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "High commissions for good performers"
-msgstr ""
+msgstr "Comisiones altas para empleados con buen rendimiento"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.thankyou
#: model:ir.ui.view,arch_db:website_hr_recruitment.thankyou_page_ir_ui_view
#: model:website.page,arch_db:website_hr_recruitment.thankyou_page
msgid "In the meantime,"
-msgstr ""
+msgstr "Entre tanto,"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.apply
@@ -267,7 +273,7 @@ msgstr "Formulario de solicitud de trabajo"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "Job Complexity:"
-msgstr ""
+msgstr "Complejidad del trabajo:"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.detail
@@ -283,7 +289,7 @@ msgstr "Puesto de trabajo"
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
#: model:ir.ui.view,arch_db:website_hr_recruitment.s_hr_rating
msgid "Job Security:"
-msgstr ""
+msgstr "Seguridad del trabajo:"
#. module: website_hr_recruitment
#: code:addons/website_hr_recruitment/controllers/main.py:72
@@ -319,18 +325,21 @@ msgstr ""
msgid ""
"Large apps scope: CRM, MRP, Accounting, Inventory, HR, Project Mgt, etc."
msgstr ""
+"Amplio espectro de aplicaciones: planificación de recursos empresariales, "
+"planificación de recursos de producción, contabilidad, inventario, recursos "
+"humanos, gestión de proyectos, etc."
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.thankyou
#: model:ir.ui.view,arch_db:website_hr_recruitment.thankyou_page_ir_ui_view
#: model:website.page,arch_db:website_hr_recruitment.thankyou_page
msgid "Look around on our website:"
-msgstr ""
+msgstr "Eche un vistazo en nuestro sitio web:"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "Need More Info?"
-msgstr ""
+msgstr "¿Necesita más información?"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.content_new_job_offer
@@ -341,6 +350,8 @@ msgstr "Nuevo puesto de trabajo"
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "No outbound calls, you get leads and focus on providing value to them"
msgstr ""
+"Sin llamadas salientes; obtendrá iniciativas y se centrará en otorgarles "
+"valor"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
@@ -348,6 +359,8 @@ msgid ""
"Only a couple blocs from BART, Caltrain, Highway 101, carpool pickup, and "
"Bay Bridge."
msgstr ""
+"Solo a un par de calles de distancia de BART, Caltrain, Hightway 101, "
+"Carpool Pickup y Bay Bridge"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.index
@@ -357,27 +370,30 @@ msgstr "Nuestras ofertas de trabajo"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "Overachieving Possibilities:"
-msgstr ""
+msgstr "Posibilidades de superación:"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "PTOs"
-msgstr ""
+msgstr "Permisos remunerados"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "Peet's and Philz coffee provided all day to order and pantry snacks"
msgstr ""
+"Cafés de Peet's y Philz a disposición durante todo el día y aperitivos "
+"varios"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "Personal Evolution:"
-msgstr ""
+msgstr "Evolución personal:"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "Play any sport with colleagues and the bill is covered"
msgstr ""
+"Practique cualquier deporte con compañeros y la factura quedará cubierta"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
@@ -387,17 +403,17 @@ msgstr "<br/>"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "Prime location"
-msgstr ""
+msgstr "Ubicación privilegiada"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "Profitable"
-msgstr ""
+msgstr "Rentable"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.s_hr_rating_options
msgid "Rating type"
-msgstr ""
+msgstr "Tipo de calificación"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.s_hr_rating_options
@@ -412,12 +428,12 @@ msgstr "Reanudar"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "Sales Cycle:"
-msgstr ""
+msgstr "Ciclo de ventas:"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "Save on commute"
-msgstr ""
+msgstr "Ahorre en traslados"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.apply
@@ -433,6 +449,11 @@ msgid ""
" qualification to the negotiation, going through astonishing\n"
" product demos."
msgstr ""
+"Resumen breve del trabajo: un trabajo de ventas para personas inteligentes\n"
+" y que brinda un rápido aprendizaje de nuevas prácticas de gestión de sectores. Estará\n"
+" al cargo del ciclo de ventas completo, desde la valoración\n"
+" de la oportunidad hasta la negociación, pasando por\n"
+" asombrosas demostraciones de productos."
#. module: website_hr_recruitment
#: model:ir.model,name:website_hr_recruitment.model_hr_recruitment_source
@@ -442,38 +463,40 @@ msgstr "Origen de los solicitantes"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "Sponsored Events"
-msgstr ""
+msgstr "Acontecimientos patrocinados"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "Sport Activity"
-msgstr ""
+msgstr "Actividad deportiva"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "Team / Company Size:"
-msgstr ""
+msgstr "Tamaño del equipo o la empresa:"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "The culture"
-msgstr ""
+msgstr "La cultura"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "The founder’s story"
-msgstr ""
+msgstr "La historia del fundador"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid ""
"Tuesday Dinners, Monthly Lunch Mixers, Monthly Happy Hour, Annual day event"
msgstr ""
+"Martes de cenas, Almuerzos mensuales, Hora feliz del mes, Día especial del "
+"año"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "US + Canada Territory"
-msgstr ""
+msgstr "Territorios: Estados Unidos y Canadá"
#. module: website_hr_recruitment
#: model:ir.model.fields,field_description:website_hr_recruitment.field_hr_recruitment_source_url
@@ -483,12 +506,12 @@ msgstr "Parametros de la URL"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "Vacation, Sick, and paid leaves"
-msgstr ""
+msgstr "Vacaciones, bajas por enfermedad y permisos retribuidos"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "Variability of the Job:"
-msgstr ""
+msgstr "Variabilidad del trabajo:"
#. module: website_hr_recruitment
#: model:ir.actions.act_url,name:website_hr_recruitment.action_open_website
@@ -503,7 +526,7 @@ msgstr "Descripción del sitio web"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
msgid "What people say about us?"
-msgstr ""
+msgstr "¿Qué opina la gente de nosotros?"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.default_website_description
@@ -511,6 +534,8 @@ msgid ""
"You sell management software to directors of SMEs: interesting projects and "
"people"
msgstr ""
+"Usted vende software de gestión para a directores de PYME: personas y "
+"proyectos interesantes"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.apply
@@ -532,19 +557,19 @@ msgstr "Su número de teléfono "
#: model:ir.ui.view,arch_db:website_hr_recruitment.thankyou_page_ir_ui_view
#: model:website.page,arch_db:website_hr_recruitment.thankyou_page
msgid "Your application has been posted successfully."
-msgstr ""
+msgstr "Su solicitud se ha publicado correctamente."
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.thankyou
#: model:ir.ui.view,arch_db:website_hr_recruitment.thankyou_page_ir_ui_view
#: model:website.page,arch_db:website_hr_recruitment.thankyou_page
msgid "Your application has been sent to:"
-msgstr ""
+msgstr "Su solicitud se ha enviado a:"
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.index
msgid "for job opportunities."
-msgstr ""
+msgstr "para oportunidades laborales."
#. module: website_hr_recruitment
#: model:ir.ui.view,arch_db:website_hr_recruitment.index
diff --git a/addons/website_links/i18n/es.po b/addons/website_links/i18n/es.po
index d4457228f88..c17e2fc5978 100644
--- a/addons/website_links/i18n/es.po
+++ b/addons/website_links/i18n/es.po
@@ -205,6 +205,8 @@ msgid ""
"Those trackers can be used in Google Analytics to track clicks and visitors,"
" or in Odoo reports to track opportunities and related revenues."
msgstr ""
+"Es posible usar tales rastreadores en Google Analytics para realizar un "
+"seguimiento de clics y visitas,"
#. module: website_links
#: model:ir.ui.view,arch_db:website_links.create_shorten_url
diff --git a/addons/website_links/i18n/fr.po b/addons/website_links/i18n/fr.po
index 7237b26e2de..8e8854337b8 100644
--- a/addons/website_links/i18n/fr.po
+++ b/addons/website_links/i18n/fr.po
@@ -6,16 +6,17 @@
# Xavier Belmere <Info@cartmeleon.com>, 2016
# Magali <mch@openerp.com>, 2016
# Maxime Chambreuil <mchambreuil@ursainfosystems.com>, 2016
-# Martin Trigaux <mat@odoo.com>, 2016
+# Martin Trigaux, 2016
# Lucas Deliege <lud@odoo.com>, 2016
# Richard Mathot <rim@odoo.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:54+0000\n"
"PO-Revision-Date: 2017-09-20 09:54+0000\n"
-"Last-Translator: Richard Mathot <rim@odoo.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -28,21 +29,21 @@ msgstr ""
#: code:addons/website_links/static/src/js/website_links_charts.js:53
#, python-format
msgid " clicks"
-msgstr ""
+msgstr "clics"
#. module: website_links
#. openerp-web
#: code:addons/website_links/static/src/js/website_links_charts.js:104
#, python-format
msgid " countries"
-msgstr ""
+msgstr "pays"
#. module: website_links
#. openerp-web
#: code:addons/website_links/static/src/js/website_links_charts.js:57
#, python-format
msgid "# of clicks"
-msgstr ""
+msgstr "Nbr de clics"
#. module: website_links
#: model:ir.ui.view,arch_db:website_links.share_page_menu
@@ -197,7 +198,7 @@ msgstr "Statistiques"
#: code:addons/website_links/static/src/js/website_links_charts.js:231
#, python-format
msgid "There is no data to show"
-msgstr ""
+msgstr "Aucune donnée à afficher"
#. module: website_links
#: model:ir.ui.view,arch_db:website_links.create_shorten_url
diff --git a/addons/website_livechat/i18n/es.po b/addons/website_livechat/i18n/es.po
index f27c3b53dfe..0691c05928f 100644
--- a/addons/website_livechat/i18n/es.po
+++ b/addons/website_livechat/i18n/es.po
@@ -3,18 +3,19 @@
# * website_livechat
#
# Translators:
-# Martin Trigaux <mat@odoo.com>, 2016
-# Antonio Trueba <atgayol@gmail.com>, 2016
+# Martin Trigaux, 2016
+# Antonio Trueba, 2016
# Galileo Sanchez <galileopy@gmail.com>, 2016
# David Perez <david@closemarketing.es>, 2016
# Luis M. Ontalba <luis.martinez@tecnativa.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:54+0000\n"
"PO-Revision-Date: 2017-09-20 09:54+0000\n"
-"Last-Translator: Luis M. Ontalba <luis.martinez@tecnativa.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -45,7 +46,7 @@ msgstr "Chat en vivo"
#. module: website_livechat
#: model:ir.ui.view,arch_db:website_livechat.res_config_settings_view_form
msgid "Live chat channel of your website"
-msgstr ""
+msgstr "Canal de chat en vivo de su sitio web"
#. module: website_livechat
#: model:ir.model,name:website_livechat.model_im_livechat_channel
@@ -95,7 +96,7 @@ msgstr "Sitio web"
#. module: website_livechat
#: model:ir.model.fields,field_description:website_livechat.field_res_config_settings_channel_id
msgid "Website Live Channel"
-msgstr ""
+msgstr "Canal en vivo del sitio web"
#. module: website_livechat
#: model:ir.model.fields,field_description:website_livechat.field_website_channel_id
diff --git a/addons/website_livechat/i18n/fr.po b/addons/website_livechat/i18n/fr.po
index 39fe824c0e2..5047c7c0e0c 100644
--- a/addons/website_livechat/i18n/fr.po
+++ b/addons/website_livechat/i18n/fr.po
@@ -3,21 +3,22 @@
# * website_livechat
#
# Translators:
-# Daniel & Delphine <dd2013@leschoupinous.net>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
+# Martin Trigaux, 2016
+# lucasdeliege <deliegelucas@gmail.com>, 2016
+# Fabri Yohann <psn@fabri.pw>, 2016
+# Maxime Chambreuil <mchambreuil@ursainfosystems.com>, 2016
+# Lucas Deliege <lud@odoo.com>, 2016
+# Daniel & Delphine <dd2013@leschoupinous.net>, 2016
# Xavier Symons <xsy@openerp.com>, 2017
-# lucasdeliege <deliegelucas@gmail.com>, 2017
-# Maxime Chambreuil <mchambreuil@ursainfosystems.com>, 2017
-# Lucas Deliege <lud@odoo.com>, 2017
# Olivier Lenoir <olivier.lenoir@free.fr>, 2017
-# Fabri Yohann <psn@fabri.pw>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:54+0000\n"
"PO-Revision-Date: 2017-09-20 09:54+0000\n"
-"Last-Translator: Fabri Yohann <psn@fabri.pw>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -48,7 +49,7 @@ msgstr "Discussion instantanée"
#. module: website_livechat
#: model:ir.ui.view,arch_db:website_livechat.res_config_settings_view_form
msgid "Live chat channel of your website"
-msgstr ""
+msgstr "Canal de discussion en direct de votre site Web"
#. module: website_livechat
#: model:ir.model,name:website_livechat.model_im_livechat_channel
@@ -98,7 +99,7 @@ msgstr "Site Web"
#. module: website_livechat
#: model:ir.model.fields,field_description:website_livechat.field_res_config_settings_channel_id
msgid "Website Live Channel"
-msgstr ""
+msgstr "Canal en direct du site Web"
#. module: website_livechat
#: model:ir.model.fields,field_description:website_livechat.field_website_channel_id
diff --git a/addons/website_mass_mailing/i18n/es.po b/addons/website_mass_mailing/i18n/es.po
index 5509271573a..1145d8dddaa 100644
--- a/addons/website_mass_mailing/i18n/es.po
+++ b/addons/website_mass_mailing/i18n/es.po
@@ -126,6 +126,10 @@ msgid ""
"pages. It triggers a popup when visitors land on the page. This popup "
"prompts them to enter their email address to join a mailing list."
msgstr ""
+"Esto añade un nuevo elemento de Boletín emergente arrastrable y soltable en "
+"las páginas de su sitio web. Activa una ventana emergente cuando llega "
+"alguien a la página. Esta ventana emergente les insta a introducir su "
+"dirección de correo electrónico para unirse a un listado de correo."
#. module: website_mass_mailing
#. openerp-web
@@ -142,7 +146,7 @@ msgstr "Usa la ventana emergente de suscripción en el website"
#. module: website_mass_mailing
#: model:ir.model.fields,field_description:website_mass_mailing.field_res_config_settings_group_website_popup_on_exit
msgid "Website Popup"
-msgstr ""
+msgstr "Ventana emergente del sitio web"
#. module: website_mass_mailing
#: model:ir.model.fields,field_description:website_mass_mailing.field_mail_mass_mailing_list_popup_content
diff --git a/addons/website_mass_mailing/i18n/fr.po b/addons/website_mass_mailing/i18n/fr.po
index 53d09444295..b3620feb37e 100644
--- a/addons/website_mass_mailing/i18n/fr.po
+++ b/addons/website_mass_mailing/i18n/fr.po
@@ -130,6 +130,11 @@ msgid ""
"pages. It triggers a popup when visitors land on the page. This popup "
"prompts them to enter their email address to join a mailing list."
msgstr ""
+"Cela permet d'ajouter un nouvel extrait de code de fenêtre contextuelle de "
+"Newsletter que vous pouvez faire glisser et déposer sur les pages de votre "
+"site Web. Cela déclenche une nouvelle fenêtre contextuelle lorsque les "
+"visiteurs accèdent à la page. Cette fenêtre contextuelle les invite à saisir"
+" leur adresse e-mail afin d'ajouter cette dernière à une liste de diffusion."
#. module: website_mass_mailing
#. openerp-web
diff --git a/addons/website_quote/i18n/es.po b/addons/website_quote/i18n/es.po
index b505a5dce39..05df69ef2a4 100644
--- a/addons/website_quote/i18n/es.po
+++ b/addons/website_quote/i18n/es.po
@@ -3,12 +3,12 @@
# * website_quote
#
# Translators:
-# Martin Trigaux <mat@odoo.com>, 2016
+# Martin Trigaux, 2016
# Ana Juaristi <ajuaristio@gmail.com>, 2016
# José Vicente <txusev@gmail.com>, 2016
# oihane <oihanecruce@gmail.com>, 2016
# Carles Antoli <carlesantoli@hotmail.com>, 2016
-# Antonio Trueba <atgayol@gmail.com>, 2016
+# Antonio Trueba, 2016
# Inigo Zuluaga <inigo_zuluaga@yahoo.es>, 2016
# Pedro M. Baeza <pedro.baeza@gmail.com>, 2016
# Cristóbal Martí Oliver <info@moblesmarti.com>, 2016
@@ -26,13 +26,14 @@
# e2f_EPV Translator <e2f_EPV@outlook.com>, 2017
# Lina Maria Avendaño Carvajal <lina8823@gmail.com>, 2017
# Christopher Ormaza <chris.ormaza@gmail.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-24 09:00+0000\n"
"PO-Revision-Date: 2017-10-24 09:00+0000\n"
-"Last-Translator: Christopher Ormaza <chris.ormaza@gmail.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -760,7 +761,7 @@ msgstr "Campos"
#. module: website_quote
#: model:sale.quote.template,website_description:website_quote.website_quote_template_1
msgid "Follows a transparent ranking system. Ready - Silver - Gold"
-msgstr ""
+msgstr "Sigue un sistema de clasificación transparente. Listo - Plata - Oro"
#. module: website_quote
#: model:product.product,name:website_quote.product_product_quote_1
diff --git a/addons/website_quote/i18n/fr.po b/addons/website_quote/i18n/fr.po
index 55269fd8474..693c0cf4dc5 100644
--- a/addons/website_quote/i18n/fr.po
+++ b/addons/website_quote/i18n/fr.po
@@ -4,16 +4,16 @@
#
# Translators:
# Xavier Belmere <Info@cartmeleon.com>, 2016
-# Martin Trigaux <mat@odoo.com>, 2016
+# Martin Trigaux, 2016
# Clo <clo@odoo.com>, 2016
# Adriana Ierfino <adriana.ierfino@savoirfairelinux.com>, 2016
# Fabri Yohann <psn@fabri.pw>, 2016
# Saad Thaifa <saad.thaifa@gmail.com>, 2016
# Maxime Chambreuil <mchambreuil@ursainfosystems.com>, 2016
# Loic <loic.richard2@gmail.com>, 2016
-# ShevAbam <shevabam@gmail.com>, 2016
+# ShevAbam, 2016
# Melanie Bernard <mbe@odoo.com>, 2016
-# Florian Hatat <mininet@wanadoo.fr>, 2016
+# Florian Hatat, 2016
# Olivier Lenoir <olivier.lenoir@free.fr>, 2016
# Nancy Bolognesi <nb@microcom.ca>, 2016
# Fabien Pinckaers <fp@openerp.com>, 2016
@@ -29,13 +29,14 @@
# fr trans <e2ffr05@hotmail.com>, 2017
# fr rev <e2ffr04@hotmail.com>, 2017
# Lucas Deliege <lud@odoo.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-24 09:00+0000\n"
"PO-Revision-Date: 2017-10-24 09:00+0000\n"
-"Last-Translator: Lucas Deliege <lud@odoo.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -768,7 +769,7 @@ msgstr "Champs"
#. module: website_quote
#: model:sale.quote.template,website_description:website_quote.website_quote_template_1
msgid "Follows a transparent ranking system. Ready - Silver - Gold"
-msgstr ""
+msgstr "Suivant un système de classement clair. Ready – Silver – Gold"
#. module: website_quote
#: model:product.product,name:website_quote.product_product_quote_1
diff --git a/addons/website_quote/models/sale_order.py b/addons/website_quote/models/sale_order.py
index a54e8368c24..a798cb01b52 100644
--- a/addons/website_quote/models/sale_order.py
+++ b/addons/website_quote/models/sale_order.py
@@ -70,9 +70,16 @@ class SaleOrder(models.Model):
require_payment = fields.Selection([
(0, 'Online Signature'),
(1, 'Online Payment')], default=_get_default_online_payment, string='Confirmation Mode',
+ compute='_compute_require_payment', store=True,
help="Choose how you want to confirm an order to launch the delivery process. You can either "
"request a digital signature or an upfront payment. With a digital signature, you can "
"request the payment when issuing the invoice.")
+ @api.one
+ @api.depends('template_id')
+ def _compute_require_payment(self):
+ # Do not overwrite if the field is already set
+ if self.template_id and (self.require_payment is None or self.require_payment is False):
+ self.require_payment = self.template_id.require_payment
@api.multi
def copy(self, default=None):
diff --git a/addons/website_rating/i18n/es.po b/addons/website_rating/i18n/es.po
index 782e53f5223..7faf5fc6c2d 100644
--- a/addons/website_rating/i18n/es.po
+++ b/addons/website_rating/i18n/es.po
@@ -5,16 +5,17 @@
# Translators:
# RGB Consulting <odoo@rgbconsulting.com>, 2017
# Mateo Tibaquirá Palacios <nestormateo@gmail.com>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
+# Martin Trigaux, 2017
# Inigo Zuluaga <inigo_zuluaga@yahoo.es>, 2017
# Alejandro Santana <alejandrosantana@anubia.es>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:54+0000\n"
"PO-Revision-Date: 2017-09-20 09:54+0000\n"
-"Last-Translator: Alejandro Santana <alejandrosantana@anubia.es>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -91,7 +92,7 @@ msgstr "Calificación"
#: code:addons/website_rating/static/src/xml/website_mail.xml:52
#, python-format
msgid "Remove selection"
-msgstr ""
+msgstr "Eliminar selección"
#. module: website_rating
#: model:ir.model.fields,help:website_rating.field_rating_rating_website_published
@@ -103,4 +104,4 @@ msgstr "Visible en el sitio web como un comentario"
#: code:addons/website_rating/static/src/xml/website_mail.xml:40
#, python-format
msgid "stars"
-msgstr ""
+msgstr "Estrellas"
diff --git a/addons/website_rating/i18n/fr.po b/addons/website_rating/i18n/fr.po
index 885e181f21b..203def11d39 100644
--- a/addons/website_rating/i18n/fr.po
+++ b/addons/website_rating/i18n/fr.po
@@ -8,13 +8,14 @@
# Adriana Ierfino <adriana.ierfino@savoirfairelinux.com>, 2017
# Olivier Lenoir <olivier.lenoir@free.fr>, 2017
# Maxime Chambreuil <mchambreuil@ursainfosystems.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:54+0000\n"
"PO-Revision-Date: 2017-09-20 09:54+0000\n"
-"Last-Translator: Maxime Chambreuil <mchambreuil@ursainfosystems.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -91,7 +92,7 @@ msgstr "Évaluation"
#: code:addons/website_rating/static/src/xml/website_mail.xml:52
#, python-format
msgid "Remove selection"
-msgstr ""
+msgstr "Supprimer la sélection"
#. module: website_rating
#: model:ir.model.fields,help:website_rating.field_rating_rating_website_published
@@ -103,4 +104,4 @@ msgstr "Visible sur le site web comme commentaire"
#: code:addons/website_rating/static/src/xml/website_mail.xml:40
#, python-format
msgid "stars"
-msgstr ""
+msgstr "étoiles"
diff --git a/addons/website_sale/i18n/es.po b/addons/website_sale/i18n/es.po
index 26ed430e923..ce1cd68c8e8 100644
--- a/addons/website_sale/i18n/es.po
+++ b/addons/website_sale/i18n/es.po
@@ -57,12 +57,12 @@ msgstr "&amp;nbsp;"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.cart_lines
msgid "/shop/cart"
-msgstr ""
+msgstr "/shop/cart"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.payment
msgid "/shop/payment"
-msgstr ""
+msgstr "/shop/payment"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.product
@@ -379,7 +379,7 @@ msgstr ""
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.extra_info
msgid "A document to provide"
-msgstr ""
+msgstr "Un documento que proporcionar"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
@@ -396,12 +396,12 @@ msgstr ""
#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:65
#, python-format
msgid "AT A GLANCE"
-msgstr ""
+msgstr "A SIMPLE VISTA"
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_sale_order_is_abandoned_cart
msgid "Abandoned Cart"
-msgstr ""
+msgstr "Carrito abandonado"
#. module: website_sale
#. openerp-web
@@ -412,7 +412,7 @@ msgstr ""
#: model:ir.ui.menu,name:website_sale.menu_orders_abandoned_orders
#, python-format
msgid "Abandoned Carts"
-msgstr ""
+msgstr "Carritos abandonados"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.crm_team_salesteams_view_kanban_inherit_website_sale
@@ -422,7 +422,7 @@ msgstr "Carritos abandonados a recuperar"
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_res_config_settings_cart_abandoned_delay
msgid "Abandoned Delay"
-msgstr ""
+msgstr "Retraso abandonado"
#. module: website_sale
#: model:ir.model.fields,help:website_sale.field_product_product_accessory_product_ids
@@ -458,6 +458,7 @@ msgstr "Todos los productos"
#: model:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
msgid "Allow shoppers to compare products based on their attributes"
msgstr ""
+"Permitir a los compradores comparar productos en función de sus atributos"
#. module: website_sale
#: model:ir.model.fields,help:website_sale.field_product_pricelist_selectable
@@ -483,7 +484,7 @@ msgstr "Productos alternativos:"
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_crm_team_abandoned_carts_amount
msgid "Amount of Abandoned Carts"
-msgstr ""
+msgstr "Cantidad de carritos abandonados"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.coupon_form
@@ -526,7 +527,7 @@ msgstr "Atributos"
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_res_config_settings_automatic_invoice
msgid "Automatic Invoice"
-msgstr ""
+msgstr "Facturar Automáticamente"
#. module: website_sale
#. openerp-web
@@ -534,7 +535,7 @@ msgstr ""
#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:93
#, python-format
msgid "Average Order"
-msgstr ""
+msgstr "Promedio de Ordenes"
#. module: website_sale
#. openerp-web
@@ -568,14 +569,14 @@ msgstr ""
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_sale_order_can_directly_mark_as_paid
msgid "Can be directly marked as paid"
-msgstr ""
+msgstr "Se puede marcar directamente como pagada"
#. module: website_sale
#. openerp-web
#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:14
#, python-format
msgid "Capture order payments when the delivery is completed."
-msgstr ""
+msgstr "Registrar pagos de pedidos al completarse la entrega."
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_sale_order_cart_quantity
@@ -585,7 +586,7 @@ msgstr "Cantidad del carro"
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_res_config_settings_cart_recovery_mail_template
msgid "Cart Recovery Email"
-msgstr ""
+msgstr "Correo electrónico de recuperación de carrito"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
@@ -595,7 +596,7 @@ msgstr "Carrito considerado abandonado después de"
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_sale_order_cart_recovery_email_sent
msgid "Cart recovery email already sent"
-msgstr ""
+msgstr "Correo electrónico de recuperación de carrito ya enviado"
#. module: website_sale
#. openerp-web
@@ -603,7 +604,7 @@ msgstr ""
#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:84
#, python-format
msgid "Carts"
-msgstr ""
+msgstr "Carritos"
#. module: website_sale
#: model:ir.ui.menu,name:website_sale.menu_catalog
@@ -650,6 +651,8 @@ msgid ""
"Checked if the sales order can directly be marked as paid, i.e. if the quotation\n"
" is sent or confirmed and if the payment acquire is of the type transfer or manual"
msgstr ""
+"Señalado si es posible marcar la orden de venta directamente como pagada (por ejemplo: si el presupuesto\n"
+" ha sido enviado o está confirmado y si el método de pago es de tipo transferencia o manual)"
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_product_public_category_child_id
@@ -672,7 +675,7 @@ msgstr ""
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.cart
msgid "Click here"
-msgstr ""
+msgstr "Click Aquí"
#. module: website_sale
#. openerp-web
@@ -760,7 +763,7 @@ msgstr "Confirmar Pedido <span class=\"fa fa-long-arrow-right\"/>"
#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:6
#, python-format
msgid "Confirm orders when you get paid."
-msgstr ""
+msgstr "Confirme pedidos cuando sean pagados."
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
@@ -788,7 +791,7 @@ msgstr "Contacto"
#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:97
#, python-format
msgid "Conversion"
-msgstr ""
+msgstr "Conversión"
#. module: website_sale
#: model:ir.model,name:website_sale.model_res_country
@@ -823,7 +826,7 @@ msgstr "Monedas"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
msgid "Customer Experience"
-msgstr ""
+msgstr "Experiencia del Usuario"
#. module: website_sale
#: model:ir.ui.menu,name:website_sale.menu_orders_customers
@@ -895,7 +898,7 @@ msgstr "Nombre a mostrar"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
msgid "Display an images carousel on product pages"
-msgstr ""
+msgstr "Mostrar un carrusel de imágenes en páginas de productos"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
@@ -995,6 +998,9 @@ msgid ""
"Find here all the abandoned carts, i.e. the carts generated by your "
"website's visitors more than one hour ago and not confirmed."
msgstr ""
+"Encuentre aquí todos los carritos abandonados (por ejemplo: los carritos "
+"generados por visitantes de su sitio web hace más de una hora y no "
+"confirmados aún)."
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.view_sales_order_filter_ecommerce
@@ -1043,7 +1049,7 @@ msgstr "Enrutado HTTP"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.reduction_code
msgid "Have a promo code? Fill in this field and apply."
-msgstr ""
+msgstr "¿Tiene un código promocional? Rellene este campo y aplíquelo."
#. module: website_sale
#: model:ir.model.fields,help:website_sale.field_product_attribute_value_html_color
@@ -1137,7 +1143,7 @@ msgstr "Imagenes"
#. module: website_sale
#: model:ir.model.fields,help:website_sale.field_res_config_settings_module_website_sale_stock
msgid "Installs *e-Commerce Inventory*"
-msgstr ""
+msgstr "Instala *Inventario de comercio electrónico*"
#. module: website_sale
#: code:addons/website_sale/controllers/main.py:501
@@ -1171,6 +1177,8 @@ msgstr "Forma de facturar a clientes"
#, python-format
msgid "It is forbidden to modify a sales order which is not in draft status"
msgstr ""
+"Está prohibido modificar una orden de venta que no se encuentra en estado de"
+" borrador"
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_product_image___last_update
@@ -1188,7 +1196,7 @@ msgstr "Último Mes"
#: model:ir.model.fields,field_description:website_sale.field_res_partner_last_website_so_id
#: model:ir.model.fields,field_description:website_sale.field_res_users_last_website_so_id
msgid "Last Online Sales Order"
-msgstr ""
+msgstr "Última orden de venta en línea"
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_product_image_write_uid
@@ -1218,18 +1226,20 @@ msgstr "Último año"
#: model:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
msgid "Let returning shoppers save products in a whishlist"
msgstr ""
+"Permitir que los compradores frecuentes guarden productos en una lista de "
+"deseos"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
msgid "Let the customer enter a shipping address"
-msgstr ""
+msgstr "Permitir que el cliente introduzca una dirección de envío"
#. module: website_sale
#. openerp-web
#: code:addons/website_sale/static/src/js/website_sale_tour_shop.js:15
#, python-format
msgid "Let's create your first product."
-msgstr ""
+msgstr "Vamos a crear su primer producto."
#. module: website_sale
#. openerp-web
@@ -1239,16 +1249,18 @@ msgid ""
"Let's now take a look at your administration dashboard to get your eCommerce"
" website ready in no time."
msgstr ""
+"Echemos ahora un vistazo a su panel de administración para dejar listo su "
+"sitio web de comercio electrónico en un santiamén."
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.address
msgid "Log In"
-msgstr ""
+msgstr "Entrar"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
msgid "Manage availability of products"
-msgstr ""
+msgstr "Gestionar disponibilidad de productos"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
@@ -1258,7 +1270,7 @@ msgstr "Administrar promociones &amp; programas de cupones"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.sale_order_view_form
msgid "Mark as Paid"
-msgstr ""
+msgstr "Marcar como Pagado"
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_product_public_category_image_medium
@@ -1279,7 +1291,7 @@ msgstr ""
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_res_config_settings_group_website_multiimage
msgid "Multi-Images"
-msgstr ""
+msgstr "Imágenes múltiples"
#. module: website_sale
#. openerp-web
@@ -1337,12 +1349,12 @@ msgstr "Ninguno sitio web"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.confirmation
msgid "Now to Follow Your Order"
-msgstr ""
+msgstr "Ahora a \"Seguir su pedido\""
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_crm_team_abandoned_carts_count
msgid "Number of Abandoned Carts"
-msgstr ""
+msgstr "Número de Cestas Abandonadas"
#. module: website_sale
#. openerp-web
@@ -1357,6 +1369,9 @@ msgid ""
"Once activated, discounted prices can be applied from Pricelists setup form "
"(Discount policy field)."
msgstr ""
+"Una vez activados, los precios descontados pueden aplicarse desde el "
+"formulario de configuración \"Listas de precios\" (campo \"Política de "
+"descuentos\")"
#. module: website_sale
#. openerp-web
@@ -1369,7 +1384,7 @@ msgstr "Una vez haga clic en <b>Guardar</b>, su producto es actualizado."
#: code:addons/website_sale/models/crm_team.py:39
#, python-format
msgid "Online Sales"
-msgstr ""
+msgstr "Ventas en línea"
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_sale_order_only_services
@@ -1381,7 +1396,7 @@ msgstr "Sólo Servicios"
#: code:addons/website_sale/static/src/js/website_sale_tour_shop.js:68
#, python-format
msgid "Open your website app here."
-msgstr ""
+msgstr "Abra aquí su aplicación de sitios web."
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_res_config_settings_module_website_sale_options
@@ -1422,7 +1437,7 @@ msgstr "Pedidos"
#. module: website_sale
#: model:ir.actions.act_window,name:website_sale.sale_order_action_to_invoice
msgid "Orders To Invoice"
-msgstr ""
+msgstr "Pedidos a Facturar"
#. module: website_sale
#. openerp-web
@@ -1437,7 +1452,7 @@ msgstr "Pedidos a Facturar"
#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:89
#, python-format
msgid "Orders/Day"
-msgstr ""
+msgstr "Ordenes/Día"
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_product_public_category_parent_id
@@ -1473,7 +1488,7 @@ msgstr "Pago<span class=\"chevron\"/>"
#. module: website_sale
#: model:ir.actions.act_window,name:website_sale.payment_transaction_action_payments_to_capture
msgid "Payments To Capture"
-msgstr ""
+msgstr "Pagos a registrar"
#. module: website_sale
#. openerp-web
@@ -1490,25 +1505,25 @@ msgstr "Teléfono"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.cart
msgid "Please proceed your current cart."
-msgstr ""
+msgstr "Continúe con su carrito actual."
#. module: website_sale
#: code:addons/website_sale/controllers/backend.py:108
#, python-format
msgid "Previous Month"
-msgstr ""
+msgstr "Mes Pasado"
#. module: website_sale
#: code:addons/website_sale/controllers/backend.py:106
#, python-format
msgid "Previous Week"
-msgstr ""
+msgstr "Semana Pasada"
#. module: website_sale
#: code:addons/website_sale/controllers/backend.py:110
#, python-format
msgid "Previous Year"
-msgstr ""
+msgstr "Año Pasado"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.cart_lines
@@ -1562,7 +1577,7 @@ msgstr "Catálogo del producto"
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_res_config_settings_module_website_sale_comparison
msgid "Product Comparison Tool"
-msgstr ""
+msgstr "Herramienta de comparación de productos"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.product_template_form_view
@@ -1578,7 +1593,7 @@ msgstr "Nombre del producto"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
msgid "Product Prices"
-msgstr ""
+msgstr "Precios del Producto"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.product_public_category_tree_view
@@ -1631,6 +1646,10 @@ msgid ""
"do so, attach some files to a product using the new Files button and publish"
" them."
msgstr ""
+"Proporcione a los clientes enlaces específicos de productos o contenidos "
+"descargables en la página de confirmación del proceso de compra si se "
+"efectúa el pago. Para hacerlo, adjunte algunos archivos a un producto "
+"mediante el nuevo botón \"Archivos\" y publíquelos."
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.product_template_search_view_website
@@ -1715,7 +1734,7 @@ msgstr "Causa de la calificación"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.view_sales_order_filter_ecommerce
msgid "Recovery Email to Send"
-msgstr ""
+msgstr "Correo electrónico de recuperación a enviar"
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_product_image_product_tmpl_id
@@ -1745,7 +1764,7 @@ msgstr "Venta"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.sale_report_view_graph_website
msgid "Sale Report"
-msgstr ""
+msgstr "Reporte de Venta"
#. module: website_sale
#. openerp-web
@@ -1770,7 +1789,7 @@ msgstr "Canal de Ventas"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.sale_report_view_pivot_website
msgid "Sales Report"
-msgstr ""
+msgstr "Reporte de Ventas"
#. module: website_sale
#. openerp-web
@@ -1778,7 +1797,7 @@ msgstr ""
#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:44
#, python-format
msgid "Sales Since Last"
-msgstr ""
+msgstr "Ventas desde el último"
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_res_config_settings_salesperson_id
@@ -1808,6 +1827,8 @@ msgid ""
"Select optional products from the configuration form of your main products "
"(in Sales tab)."
msgstr ""
+"Seleccione productos opcionales desde el formulario de configuración de sus "
+"productos principales (en la pestaña \"Ventas\")."
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.address_kanban
@@ -1822,7 +1843,7 @@ msgstr "Seleccionable"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
msgid "Sell content to download or URL links"
-msgstr ""
+msgstr "Vender contenidos para descargar o enlaces URL"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
@@ -1832,12 +1853,12 @@ msgstr "Vender en monedas diferentes"
#. module: website_sale
#: model:ir.actions.server,name:website_sale.ir_actions_server_sale_cart_recovery_email
msgid "Send a Cart Recovery Email"
-msgstr ""
+msgstr "Enviar un correo electrónico de recuperación de carrito"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.sale_order_view_form_cart_recovery
msgid "Send a Recovery Email"
-msgstr ""
+msgstr "Enviar Email de Recuperación"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
@@ -1850,6 +1871,8 @@ msgstr ""
#, python-format
msgid "Send a recovery email to visitors who haven't completed their order."
msgstr ""
+"Enviar un correo electrónico de recuperación a visitantes que no han "
+"completado su pedido."
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_product_public_category_sequence
@@ -2039,7 +2062,7 @@ msgstr ""
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
msgid "Suggest optional products when adding to cart"
-msgstr ""
+msgstr "Sugerir productos opcionales al añadir algo al carrito"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.suggested_products_list
@@ -2093,6 +2116,8 @@ msgid ""
"The mode selected here applies as invoicing policy of any new product "
"created but not of products already existing."
msgstr ""
+"El modo aquí seleccionado hace las veces de política de facturación de un "
+"nuevo producto creado pero no de productos ya existentes."
#. module: website_sale
#: code:addons/website_sale/models/sale_order.py:258
@@ -2101,23 +2126,26 @@ msgid ""
"The quote should be sent and the payment acquirer type should be manual or "
"wire transfer"
msgstr ""
+"El presupuesto debe ser enviado y el tipo de método de pago ha de ser manual"
+" o transferencia bancaria"
#. module: website_sale
#. openerp-web
#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:51
#, python-format
msgid "There is no recent confirmed order."
-msgstr ""
+msgstr "No hay ningún pedido reciente confirmado."
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
msgid "This adds the choice of a currency on pricelists."
msgstr ""
+"Esto añade la posibilidad de elegir de una divisa en las listas de precios."
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.product
msgid "This combination does not exist."
-msgstr ""
+msgstr "Esta combinación no existe."
#. module: website_sale
#: model:ir.model.fields,help:website_sale.field_product_public_category_image
@@ -2131,7 +2159,7 @@ msgstr ""
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.cart
msgid "This is your current cart."
-msgstr ""
+msgstr "Este es su carrito actual."
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.coupon_form
@@ -2142,6 +2170,7 @@ msgstr "Este código promocional no está disponible"
#: model:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
msgid "This tax is applied to any new product created in the catalog."
msgstr ""
+"Este impuesto se aplica a todos los productos nuevos creados en el catálogo."
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.report_shop_saleorder_document
@@ -2188,14 +2217,14 @@ msgstr "Órdenes sin pagar"
#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:75
#, python-format
msgid "Untaxed Total Sold"
-msgstr ""
+msgstr "Venta total sin impuestos"
#. module: website_sale
#. openerp-web
#: code:addons/website_sale/static/src/js/website_sale_tour_shop.js:42
#, python-format
msgid "Upload an image from your local library."
-msgstr ""
+msgstr "Suba una imagen de su biblioteca local."
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.cart_popover
@@ -2265,7 +2294,7 @@ msgstr "Precio Página Web"
#: model:ir.model.fields,field_description:website_sale.field_product_product_website_price_difference
#: model:ir.model.fields,field_description:website_sale.field_product_template_website_price_difference
msgid "Website price difference"
-msgstr ""
+msgstr "Diferencia de precios en sitios web"
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_product_product_website_public_price
@@ -2281,12 +2310,12 @@ msgstr "Sitios web"
#. module: website_sale
#: model:ir.model.fields,help:website_sale.field_crm_team_website_ids
msgid "Websites using this sales channel"
-msgstr ""
+msgstr "Los sitios web que hacen uso de este canal de ventas"
#. module: website_sale
#: model:ir.model.fields,field_description:website_sale.field_res_config_settings_module_website_sale_wishlist
msgid "Wishlists"
-msgstr ""
+msgstr "Listas de deseos"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
@@ -2295,6 +2324,10 @@ msgid ""
"(from Sales tab). With the second one, you set prices and computation rules "
"from Pricelists."
msgstr ""
+"Con el primer modo, puede fijar varios precios en el formulario de "
+"configuración de productos (desde la pestaña \"Ventas\"). Por otro lado, con"
+" el segundo, fija los precios y las reglas de cómputo a partir de listas de "
+"precios."
#. module: website_sale
#: model:ir.actions.act_window,help:website_sale.action_orders_ecommerce
@@ -2306,12 +2339,12 @@ msgstr "No tienes ningún pedido confirmado en el sitio web."
#: model:ir.actions.act_window,help:website_sale.sale_report_action_carts
#: model:ir.actions.act_window,help:website_sale.sale_report_action_dashboard
msgid "You don't have any order from the website."
-msgstr ""
+msgstr "No tiene ningún pedido del sitio web."
#. module: website_sale
#: model:ir.actions.act_window,help:website_sale.payment_transaction_action_payments_to_capture
msgid "You don't have any payments to capture from the website."
-msgstr ""
+msgstr "No tiene ningún pago que registrar del sitio web."
#. module: website_sale
#: model:ir.actions.act_window,help:website_sale.action_unpaid_orders_ecommerce
@@ -2321,12 +2354,12 @@ msgstr "No tienes ningún pedido sin pagar en el sitio web."
#. module: website_sale
#: model:mail.template,subject:website_sale.mail_template_sale_cart_recovery
msgid "You left items in your cart."
-msgstr ""
+msgstr "Ha dejado artículos en su carrito."
#. module: website_sale
#: model:ir.actions.act_window,help:website_sale.action_abandoned_orders_ecommerce
msgid "You should send an email to revive them!"
-msgstr ""
+msgstr "¡Debería enviar un correo electrónico para reanimarlos!"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.address
@@ -2356,7 +2389,7 @@ msgstr "¡Su carro está vacío!"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.cart
msgid "Your previous cart has already been completed."
-msgstr ""
+msgstr "Su carrito anterior ya se ha completado."
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.address
@@ -2399,7 +2432,7 @@ msgstr "horas"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.cart
msgid "if you want to merge your previous cart into current cart."
-msgstr ""
+msgstr "si desea combinar su carrito anterior con el actual."
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.cart
@@ -2407,6 +2440,8 @@ msgid ""
"if you want to restore your previous cart. Your current cart will be "
"replaced with your previous cart."
msgstr ""
+"si desea recuperar su carrito anterior. Su carrito actual será sustituido "
+"por el anterior."
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.cart_popover
@@ -2417,6 +2452,8 @@ msgstr "elementos)"
#: model:ir.model.fields,help:website_sale.field_res_config_settings_cart_abandoned_delay
msgid "number of hours after which the cart is considered abandoned"
msgstr ""
+"número de horas que han de transcurrir para que el carrito sea considerado "
+"abandonado"
#. module: website_sale
#: model:ir.model,name:website_sale.model_product_attribute_value
diff --git a/addons/website_sale/i18n/fr.po b/addons/website_sale/i18n/fr.po
index 57674e93fbe..be8ba766c42 100644
--- a/addons/website_sale/i18n/fr.po
+++ b/addons/website_sale/i18n/fr.po
@@ -1043,7 +1043,7 @@ msgstr "Depuis le site web"
#: code:addons/website_sale/static/src/xml/website_sale_dashboard.xml:10
#, python-format
msgid "Generate an invoice from orders ready for invoicing."
-msgstr ""
+msgstr "Générez une facture à partir de commandes prêtes pour la facturation."
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
diff --git a/addons/website_sale/i18n/zh_CN.po b/addons/website_sale/i18n/zh_CN.po
index 0fe5f7899f3..994e4c4c7e4 100644
--- a/addons/website_sale/i18n/zh_CN.po
+++ b/addons/website_sale/i18n/zh_CN.po
@@ -1490,7 +1490,7 @@ msgstr "产品名称"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.res_config_settings_view_form
msgid "Product Prices"
-msgstr ""
+msgstr "产品价格"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.product_public_category_tree_view
@@ -1902,7 +1902,7 @@ msgstr "州/省..."
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.address
msgid "Street 2"
-msgstr ""
+msgstr "2 号街"
#. module: website_sale
#: model:ir.ui.view,arch_db:website_sale.address
diff --git a/addons/website_sale/views/templates.xml b/addons/website_sale/views/templates.xml
index 07c5c79e634..7fc07f0a706 100644
--- a/addons/website_sale/views/templates.xml
+++ b/addons/website_sale/views/templates.xml
@@ -603,14 +603,11 @@
<input type="hidden" t-if="len(product.product_variant_ids) == 1" class="product_id" name="product_id" t-att-value="product.product_variant_id.id"/>
<t t-if="len(product.product_variant_ids) &gt; 1">
<label label-default="label-default" class="radio" t-foreach="product.product_variant_ids" t-as="variant_id">
- <input type="radio" name="product_id" class="js_product_change" t-att-checked="'checked' if variant_id_index == 0 else None" t-att-value="variant_id.id" t-att-data-lst_price="variant_id.lst_price" t-att-data-price="variant_id.price"/>
+ <input type="radio" name="product_id" class="js_product_change" t-att-checked="'checked' if variant_id_index == 0 else ''" t-att-value="variant_id.id" t-att-data-lst_price="compute_currency(variant_id.lst_price)" t-att-data-price="variant_id.price"/>
<span t-esc="variant_id.name_get()[0][1]"/>
- <span class="badge" t-if="variant_id.price_extra">
- <t t-esc="variant_id.price_extra > 0 and '+' or ''"/><span t-field="variant_id.price_extra" style="white-space: nowrap;" t-options='{
- "widget": "monetary",
- "from_currency": product.currency_id,
- "display_currency": website.currency_id
- }'/>
+ <t t-set="diff_price" t-value="variant_id.price - variant_id.product_tmpl_id.price"/>
+ <span class="badge" t-if="diff_price != 0">
+ <t t-esc="diff_price > 0 and '+' or '-'"/><span t-esc="abs(diff_price)" t-esc-options='{"widget": "monetary", "display_currency": "website.currency_id"}'/>
</span>
</label>
</t>
diff --git a/addons/website_sale_delivery/i18n/es.po b/addons/website_sale_delivery/i18n/es.po
index 4170d180b4e..3bda59ce77b 100644
--- a/addons/website_sale_delivery/i18n/es.po
+++ b/addons/website_sale_delivery/i18n/es.po
@@ -35,6 +35,8 @@ msgid ""
"%s does not ship to your address, please choose another one.\n"
"(Error: %s)"
msgstr ""
+"% no envía a su dirección. Elija otra diferente.\n"
+"(Error: %s)"
#. module: website_sale_delivery
#: model:ir.ui.view,arch_db:website_sale_delivery.payment_delivery
@@ -76,7 +78,7 @@ msgstr "Transportista"
#. module: website_sale_delivery
#: model:ir.ui.view,arch_db:website_sale_delivery.payment_delivery
msgid "Choose a delivery method"
-msgstr ""
+msgstr "Elegir un método de entrega"
#. module: website_sale_delivery
#: model:ir.model,name:website_sale_delivery.model_res_country
@@ -86,7 +88,7 @@ msgstr "País"
#. module: website_sale_delivery
#: model:ir.ui.view,arch_db:website_sale_delivery.res_config_settings_view_form
msgid "DHL Delivery Methods"
-msgstr ""
+msgstr "Métodos de entrega de DHL"
#. module: website_sale_delivery
#: model:ir.model.fields,field_description:website_sale_delivery.field_sale_order_amount_delivery
@@ -117,7 +119,7 @@ msgstr "Descripción para los pedidos online"
#. module: website_sale_delivery
#: model:ir.ui.view,arch_db:website_sale_delivery.res_config_settings_view_form
msgid "FedEx Delivery Methods"
-msgstr ""
+msgstr "Métodos de entrega de FedEx"
#. module: website_sale_delivery
#: model:ir.ui.view,arch_db:website_sale_delivery.payment_delivery
@@ -148,7 +150,7 @@ msgstr ""
#: code:addons/website_sale_delivery/controllers/main.py:49
#, python-format
msgid "Ouch, you cannot choose this carrier!"
-msgstr ""
+msgstr "¡Vaya, no puede elegir esta compañía de transporte!"
#. module: website_sale_delivery
#: model:ir.ui.view,arch_db:website_sale_delivery.view_delivery_carrier_search_inherit_website_sale_delivery
@@ -174,7 +176,7 @@ msgstr "El importe sin impuestos."
#. module: website_sale_delivery
#: model:ir.ui.view,arch_db:website_sale_delivery.portal_order_page_shipping_tracking
msgid "Tracking:"
-msgstr ""
+msgstr "Seguimiento:"
#. module: website_sale_delivery
#: model:ir.ui.view,arch_db:website_sale_delivery.res_config_settings_view_form
diff --git a/addons/website_sale_delivery/i18n/fr.po b/addons/website_sale_delivery/i18n/fr.po
index e687c88a28a..080f9c39f96 100644
--- a/addons/website_sale_delivery/i18n/fr.po
+++ b/addons/website_sale_delivery/i18n/fr.po
@@ -36,6 +36,8 @@ msgid ""
"%s does not ship to your address, please choose another one.\n"
"(Error: %s)"
msgstr ""
+"%s n'effectue pas de livraison à votre adresse, choisissez-en un autre.\n"
+"(Erreur : %s)"
#. module: website_sale_delivery
#: model:ir.ui.view,arch_db:website_sale_delivery.payment_delivery
@@ -77,7 +79,7 @@ msgstr "Transporteur"
#. module: website_sale_delivery
#: model:ir.ui.view,arch_db:website_sale_delivery.payment_delivery
msgid "Choose a delivery method"
-msgstr ""
+msgstr "Choisissez une méthode de livraison"
#. module: website_sale_delivery
#: model:ir.model,name:website_sale_delivery.model_res_country
@@ -109,6 +111,7 @@ msgstr "Description"
#: model:ir.ui.view,arch_db:website_sale_delivery.view_delivery_carrier_form_website_delivery
msgid "Description displayed on the eCommerce and on online quotations."
msgstr ""
+"Description affichée sur le système d'e-Commerce et les devis en ligne."
#. module: website_sale_delivery
#: model:ir.model.fields,field_description:website_sale_delivery.field_delivery_carrier_website_description
@@ -150,7 +153,7 @@ msgstr ""
#: code:addons/website_sale_delivery/controllers/main.py:49
#, python-format
msgid "Ouch, you cannot choose this carrier!"
-msgstr ""
+msgstr "Oups, vous ne pouvez pas choisir ce transporteur."
#. module: website_sale_delivery
#: model:ir.ui.view,arch_db:website_sale_delivery.view_delivery_carrier_search_inherit_website_sale_delivery
@@ -176,7 +179,7 @@ msgstr "Le total hors-taxe"
#. module: website_sale_delivery
#: model:ir.ui.view,arch_db:website_sale_delivery.portal_order_page_shipping_tracking
msgid "Tracking:"
-msgstr ""
+msgstr "Suivi :"
#. module: website_sale_delivery
#: model:ir.ui.view,arch_db:website_sale_delivery.res_config_settings_view_form
diff --git a/addons/website_sale_delivery/i18n/zh_CN.po b/addons/website_sale_delivery/i18n/zh_CN.po
index 3a761f4f19c..d025aa802ed 100644
--- a/addons/website_sale_delivery/i18n/zh_CN.po
+++ b/addons/website_sale_delivery/i18n/zh_CN.po
@@ -83,7 +83,7 @@ msgstr "国家"
#. module: website_sale_delivery
#: model:ir.ui.view,arch_db:website_sale_delivery.res_config_settings_view_form
msgid "DHL Delivery Methods"
-msgstr ""
+msgstr "DHL 交货方式"
#. module: website_sale_delivery
#: model:ir.model.fields,field_description:website_sale_delivery.field_sale_order_amount_delivery
@@ -174,7 +174,7 @@ msgstr "追踪"
#. module: website_sale_delivery
#: model:ir.ui.view,arch_db:website_sale_delivery.res_config_settings_view_form
msgid "USPS Delivery Methods"
-msgstr ""
+msgstr "USPS 交货方式"
#. module: website_sale_delivery
#: model:ir.model.fields,field_description:website_sale_delivery.field_delivery_carrier_website_published
diff --git a/addons/website_sale_digital/i18n/fr.po b/addons/website_sale_digital/i18n/fr.po
index f9b3d1feb1a..f35d6f8d154 100644
--- a/addons/website_sale_digital/i18n/fr.po
+++ b/addons/website_sale_digital/i18n/fr.po
@@ -3,18 +3,19 @@
# * website_sale_digital
#
# Translators:
-# Maxime Chambreuil <mchambreuil@ursainfosystems.com>, 2017
+# Maxime Chambreuil <mchambreuil@ursainfosystems.com>, 2016
+# Nancy Bolognesi <nb@microcom.ca>, 2016
+# Olivier Lenoir <olivier.lenoir@free.fr>, 2016
+# Melanie Bernard <mbe@odoo.com>, 2016
# Sébastien Le Ray <sebastien-github@orniz.org>, 2017
-# Nancy Bolognesi <nb@microcom.ca>, 2017
-# Olivier Lenoir <olivier.lenoir@free.fr>, 2017
-# Melanie Bernard <mbe@odoo.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-02 11:26+0000\n"
"PO-Revision-Date: 2017-10-02 11:26+0000\n"
-"Last-Translator: Melanie Bernard <mbe@odoo.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -90,7 +91,7 @@ msgstr "Roman de Lewis Caroll."
#: model:ir.ui.view,arch_db:website_sale_digital.product_product_view_form_inherit_digital
#: model:ir.ui.view,arch_db:website_sale_digital.product_template_view_form_inherit_digital
msgid "Portal Files"
-msgstr ""
+msgstr "Fichiers du portail"
#. module: website_sale_digital
#: model:ir.model,name:website_sale_digital.model_product_product
diff --git a/addons/website_sale_management/i18n/fr.po b/addons/website_sale_management/i18n/fr.po
index 9152d3e9dcc..5046ac9a5cb 100644
--- a/addons/website_sale_management/i18n/fr.po
+++ b/addons/website_sale_management/i18n/fr.po
@@ -4,13 +4,14 @@
#
# Translators:
# Eloïse Stilmant <est@odoo.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-30 13:12+0000\n"
"PO-Revision-Date: 2017-11-30 13:12+0000\n"
-"Last-Translator: Eloïse Stilmant <est@odoo.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -23,7 +24,7 @@ msgstr ""
#: code:addons/website_sale_management/static/src/xml/website_sale_dashboard.xml:5
#, python-format
msgid "Generate an invoice from orders ready for invoicing."
-msgstr ""
+msgstr "Générez une facture à partir de commandes prêtes pour la facturation."
#. module: website_sale_management
#. openerp-web
diff --git a/addons/website_sale_options/i18n/es.po b/addons/website_sale_options/i18n/es.po
index 763eb9a4f60..8bea128d376 100644
--- a/addons/website_sale_options/i18n/es.po
+++ b/addons/website_sale_options/i18n/es.po
@@ -11,13 +11,14 @@
# Eric Antones <eantones@users.noreply.github.com>, 2017
# Luis M. Ontalba <luis.martinez@tecnativa.com>, 2017
# Daniel Santibáñez Polanco <dansanti@gmail.com>, 2018
+# e2f_EPV Translator <e2f_EPV@outlook.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-02 11:26+0000\n"
"PO-Revision-Date: 2017-10-02 11:26+0000\n"
-"Last-Translator: Daniel Santibáñez Polanco <dansanti@gmail.com>, 2018\n"
+"Last-Translator: e2f_EPV Translator <e2f_EPV@outlook.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -108,6 +109,9 @@ msgid ""
"Optional Products are suggested whenever the customer hits *Add to Cart* "
"(cross-sell strategy, e.g. for computers: warranty, software, etc.)."
msgstr ""
+"Los productos opcionales aparecen como sugerencias cada vez que el cliente "
+"pulsa en \"Añadir al carro\" (estrategia de venta cruzada; p. ej., en el "
+"caso de los ordenadores: garantía, software, etc.)."
#. module: website_sale_options
#: model:ir.model.fields,field_description:website_sale_options.field_sale_order_line_option_line_ids
diff --git a/addons/website_sale_wishlist/i18n/es.po b/addons/website_sale_wishlist/i18n/es.po
index 0da10be654b..a28e1335220 100644
--- a/addons/website_sale_wishlist/i18n/es.po
+++ b/addons/website_sale_wishlist/i18n/es.po
@@ -18,13 +18,14 @@
# Jesús Alan Ramos Rodríguez <alan.ramos@jarsa.com.mx>, 2017
# Martin Trigaux, 2017
# e2f <projects@e2f.com>, 2018
+# e2f_EPV Translator <e2f_EPV@outlook.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-02 11:26+0000\n"
"PO-Revision-Date: 2017-10-02 11:26+0000\n"
-"Last-Translator: e2f <projects@e2f.com>, 2018\n"
+"Last-Translator: e2f_EPV Translator <e2f_EPV@outlook.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -57,18 +58,18 @@ msgstr "<span class=\"hidden-xs\"/>"
#. module: website_sale_wishlist
#: model:ir.ui.view,arch_db:website_sale_wishlist.product_wishlist
msgid "Add product to my cart but keep it in my wishlist"
-msgstr ""
+msgstr "Añadir producto a mi carro pero conservarlo en mi lista de deseos"
#. module: website_sale_wishlist
#: model:ir.ui.view,arch_db:website_sale_wishlist.add_to_wishlist
#: model:ir.ui.view,arch_db:website_sale_wishlist.product_add_to_wishlist
msgid "Add to Wishlist"
-msgstr ""
+msgstr "Añadir a lista de deseos"
#. module: website_sale_wishlist
#: model:ir.model.fields,field_description:website_sale_wishlist.field_product_wishlist_create_date
msgid "Added Date"
-msgstr ""
+msgstr "Fecha de añadido"
#. module: website_sale_wishlist
#: model:ir.model,name:website_sale_wishlist.model_res_partner
@@ -93,12 +94,12 @@ msgstr "Sesión actual"
#. module: website_sale_wishlist
#: model:ir.model.fields,field_description:website_sale_wishlist.field_product_wishlist_price_new
msgid "Current price"
-msgstr ""
+msgstr "Precio actual"
#. module: website_sale_wishlist
#: model:ir.model.fields,help:website_sale_wishlist.field_product_wishlist_price_new
msgid "Current price of this product, using same pricelist, ..."
-msgstr ""
+msgstr "Precio actual de este producto, usando la misma lista de precios, ..."
#. module: website_sale_wishlist
#: model:ir.model.fields,field_description:website_sale_wishlist.field_product_wishlist_display_name
@@ -128,7 +129,7 @@ msgstr "Última actualización el"
#. module: website_sale_wishlist
#: model:ir.ui.view,arch_db:website_sale_wishlist.product_wishlist
msgid "My Wishlist"
-msgstr ""
+msgstr "Mi lista de deseos"
#. module: website_sale_wishlist
#: model:ir.model.fields,field_description:website_sale_wishlist.field_product_wishlist_partner_id
@@ -143,7 +144,7 @@ msgstr "Precio"
#. module: website_sale_wishlist
#: model:ir.model.fields,help:website_sale_wishlist.field_product_wishlist_price
msgid "Price of the product when it has been added in the wishlist"
-msgstr ""
+msgstr "Precio del producto en el momento de añadirlo a la lista de deseos"
#. module: website_sale_wishlist
#: model:ir.model.fields,field_description:website_sale_wishlist.field_product_wishlist_pricelist_id
@@ -153,7 +154,7 @@ msgstr "Tarifa"
#. module: website_sale_wishlist
#: model:ir.model.fields,help:website_sale_wishlist.field_product_wishlist_pricelist_id
msgid "Pricelist when added"
-msgstr ""
+msgstr "Lista de precios al añadirlo"
#. module: website_sale_wishlist
#: model:ir.model.fields,field_description:website_sale_wishlist.field_product_wishlist_product_id
@@ -168,7 +169,7 @@ msgstr "Sesión"
#. module: website_sale_wishlist
#: model:ir.ui.view,arch_db:website_sale_wishlist.product_wishlist
msgid "Shop Wishlist"
-msgstr ""
+msgstr "Lista de deseos de la tienda"
#. module: website_sale_wishlist
#: model:ir.model,name:website_sale_wishlist.model_res_users
@@ -184,12 +185,14 @@ msgstr "Sitio web"
#: model:ir.model.fields,help:website_sale_wishlist.field_product_wishlist_session
msgid "Website session identifier where this product was wishlisted."
msgstr ""
+"Identificador de sesión del sitio web donde se agregó este producto a la "
+"lista de deseos."
#. module: website_sale_wishlist
#: model:ir.model.fields,field_description:website_sale_wishlist.field_res_partner_wishlist_ids
#: model:ir.model.fields,field_description:website_sale_wishlist.field_res_users_wishlist_ids
msgid "Wishlist"
-msgstr ""
+msgstr "Lista de deseos"
#. module: website_sale_wishlist
#: model:ir.model,name:website_sale_wishlist.model_ir_autovacuum
diff --git a/addons/website_sale_wishlist/i18n/fr.po b/addons/website_sale_wishlist/i18n/fr.po
index 0a514a30377..0b20bc9e7c3 100644
--- a/addons/website_sale_wishlist/i18n/fr.po
+++ b/addons/website_sale_wishlist/i18n/fr.po
@@ -18,14 +18,15 @@
# Melanie Bernard <mbe@odoo.com>, 2017
# Lucas Deliege <lud@odoo.com>, 2017
# zoe <yann.hoareau@migs.re>, 2017
-# Martin Trigaux <mat@odoo.com>, 2017
+# Martin Trigaux, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-02 11:26+0000\n"
"PO-Revision-Date: 2017-10-02 11:26+0000\n"
-"Last-Translator: Martin Trigaux <mat@odoo.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -171,7 +172,7 @@ msgstr "Session"
#. module: website_sale_wishlist
#: model:ir.ui.view,arch_db:website_sale_wishlist.product_wishlist
msgid "Shop Wishlist"
-msgstr ""
+msgstr "Liste d'envies du magasin"
#. module: website_sale_wishlist
#: model:ir.model,name:website_sale_wishlist.model_res_users
@@ -187,6 +188,8 @@ msgstr "Site Web"
#: model:ir.model.fields,help:website_sale_wishlist.field_product_wishlist_session
msgid "Website session identifier where this product was wishlisted."
msgstr ""
+"Identifiant de session du site Web où ce produit a été ajouté à la liste "
+"d'envies."
#. module: website_sale_wishlist
#: model:ir.model.fields,field_description:website_sale_wishlist.field_res_partner_wishlist_ids
diff --git a/addons/website_slides/i18n/es.po b/addons/website_slides/i18n/es.po
index 5d015eaf5b9..6df597241b9 100644
--- a/addons/website_slides/i18n/es.po
+++ b/addons/website_slides/i18n/es.po
@@ -26,13 +26,14 @@
# Luis M. Ontalba <luis.martinez@tecnativa.com>, 2017
# Jorge <jcamacho@trey.es>, 2017
# e2f <projects@e2f.com>, 2018
+# e2f_EPV Translator <e2f_EPV@outlook.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-02 11:27+0000\n"
"PO-Revision-Date: 2017-10-02 11:27+0000\n"
-"Last-Translator: e2f <projects@e2f.com>, 2018\n"
+"Last-Translator: e2f_EPV Translator <e2f_EPV@outlook.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -130,6 +131,8 @@ msgid ""
"(Un)archiving a channel automatically (un)archives its slides. Do you want "
"to proceed?"
msgstr ""
+"Al (des)archivar un canal, se (des)archivan automáticamente sus "
+"diapositivas. ¿Desea continuar?"
#. module: website_slides
#: model:ir.ui.view,arch_db:website_slides.slides_search
@@ -374,7 +377,7 @@ msgstr "Awesome Timesheet creado por Odoo"
#. module: website_slides
#: model:slide.tag,name:website_slides.tag1
msgid "CMS"
-msgstr ""
+msgstr "CMS"
#. module: website_slides
#: model:ir.model.fields,field_description:website_slides.field_slide_channel_can_see
@@ -456,7 +459,7 @@ msgstr "Canales"
#. module: website_slides
#: model:slide.slide,name:website_slides.slide_10
msgid "Company Culture"
-msgstr ""
+msgstr "Cultura de empresa"
#. module: website_slides
#: model:ir.model.fields,field_description:website_slides.field_slide_slide_datas
@@ -477,6 +480,8 @@ msgid ""
"Could not fetch data from url. Document or access right not available.\n"
"Here is the received response: %s"
msgstr ""
+"No se ha podido obtener datos de la url. Permiso de acceso o documento no disponible.\n"
+"Esta es la respuesta recibida:%s"
#. module: website_slides
#: code:addons/website_slides/models/slides.py:322
@@ -548,7 +553,7 @@ msgstr "Descartar"
#. module: website_slides
#: model:slide.slide,description:website_slides.slide_6
msgid "Discover how easy marketing your business can be with Odoo"
-msgstr ""
+msgstr "Descubra lo fácil que puede ser promocionar su negocio con Odoo"
#. module: website_slides
#: model:slide.slide,description:website_slides.slide_0
@@ -559,11 +564,18 @@ msgid ""
"\n"
"Discover Odoo MRP: https://www.odoo.com/page/manufacturing"
msgstr ""
+"Descubra cómo puede integrar la planificación de recursos empresariales (MRP), la planificación de recursos de producción (PLM), la calidad y el mantenimiento en una misma aplicación para maximizar la eficiencia de sus operaciones de fabricación.\n"
+"\n"
+"Más detalles en: https://www.odoo.com/page/manufacturing-features\n"
+"\n"
+"Discover Odoo MRP: https://www.odoo.com/page/manufacturing"
#. module: website_slides
#: model:slide.slide,description:website_slides.slide_1
msgid "Discover the CRM sales people love https://www.odoo.com/page/crm"
msgstr ""
+"Descubra el CRM que los agentes de ventas adoran: "
+"https://www.odoo.com/page/crm"
#. module: website_slides
#: model:slide.slide,description:website_slides.slide_2
@@ -572,6 +584,9 @@ msgid ""
"\n"
"Learn more at https://odoo.com"
msgstr ""
+"Descubra la solución de software de gestión empresarial todo en uno que se adapta a negocios de cualquier tamaño y a todo tipo de casos prácticos:\n"
+"\n"
+" Más información en https://odoo.com"
#. module: website_slides
#: model:ir.model.fields,field_description:website_slides.field_slide_slide_dislikes
@@ -627,6 +642,10 @@ msgid ""
"Chrome: http://bit.ly/2613LcY\n"
"iOS: http://bit.ly/1ZUZsZD"
msgstr ""
+"¡Descargue los fenomenales partes de horas de Odoo y descubra lo fácil que puede ser la gestión de horarios y empleados! \n"
+"\n"
+"Chrome: http://bit.ly/2613LcY\n"
+"iOS: http://bit.ly/1ZUZsZD"
#. module: website_slides
#: model:ir.model.fields,field_description:website_slides.field_slide_slide_download_security
@@ -713,6 +732,8 @@ msgstr "Política de destacar"
#, python-format
msgid "File is too big. File size cannot exceed 25MB"
msgstr ""
+"El archivo es demasiado grande. El archivo no puede tener un tamaño superior"
+" a 25 MB"
#. module: website_slides
#: model:ir.model.fields,field_description:website_slides.field_slide_channel_can_see_full
@@ -732,7 +753,7 @@ msgstr "Llave de Google Doc"
#. module: website_slides
#: model:ir.ui.view,arch_db:website_slides.res_config_settings_view_form
msgid "Google Drive API Key"
-msgstr ""
+msgstr "Clave de la API de Google Drive"
#. module: website_slides
#: model:ir.ui.view,arch_db:website_slides.view_slide_slide_graph
@@ -835,7 +856,7 @@ msgstr "Último publicado"
#. module: website_slides
#: model:slide.slide,description:website_slides.slide_8
msgid "Learn more at https://www.odoo.com/page/sales"
-msgstr ""
+msgstr "Más información en https://www.odoo.com/page/sales"
#. module: website_slides
#: model:ir.model.fields,field_description:website_slides.field_slide_slide_likes
@@ -947,12 +968,12 @@ msgstr "Número de videos"
#. module: website_slides
#: model:slide.slide,name:website_slides.slide_2
msgid "Odoo All-in-One Software Demonstration"
-msgstr ""
+msgstr "Demostración del software todo en uno de Odoo"
#. module: website_slides
#: model:slide.slide,name:website_slides.slide_1
msgid "Odoo CRM"
-msgstr ""
+msgstr "Odoo CRM"
#. module: website_slides
#: model:slide.category,name:website_slides.category_2
@@ -963,27 +984,27 @@ msgstr "Jornadas de Odoo"
#. module: website_slides
#: model:slide.slide,name:website_slides.slide_7
msgid "Odoo Inventory"
-msgstr ""
+msgstr "Odoo Inventory"
#. module: website_slides
#: model:slide.slide,name:website_slides.slide_0
msgid "Odoo MRP"
-msgstr ""
+msgstr "Odoo MRP"
#. module: website_slides
#: model:slide.slide,name:website_slides.slide_6
msgid "Odoo Marketing"
-msgstr ""
+msgstr "Odoo Marketing"
#. module: website_slides
#: model:slide.slide,name:website_slides.slide_8
msgid "Odoo Sales"
-msgstr ""
+msgstr "Odoo Sales"
#. module: website_slides
#: model:slide.slide,name:website_slides.slide_3
msgid "Odoo Sign Demonstration"
-msgstr ""
+msgstr "Demostración de Odoo Sign"
#. module: website_slides
#: model:slide.slide,name:website_slides.slide_9
@@ -1221,6 +1242,9 @@ msgid ""
"\n"
"Discover more at https://www.odoo.com/page/sign"
msgstr ""
+"Deje de escanear e imprimir de forma manual. ¡Pásese a la firma electrónica con Odoo Sign! \n"
+"\n"
+"Más detalles en https://www.odoo.com/page/sign"
#. module: website_slides
#: model:ir.ui.view,arch_db:website_slides.view_slide_tag_form
@@ -1255,6 +1279,9 @@ msgid ""
"The document type will be set automatically based on the document URL and "
"properties (e.g. height and width for presentation and document)."
msgstr ""
+"El tipo de documento se ajustará automáticamente en función de la URL y las "
+"propiedades del mismo (por ejemplo: la altura y la anchura de la "
+"presentación y del propio documento)."
#. module: website_slides
#: sql_constraint:slide.slide:0
@@ -1420,6 +1447,9 @@ msgid ""
"\n"
"Discover Odoo Inventory: https://www.odoo.com/page/warehouse"
msgstr ""
+"Software de gestión de almacenes para el siglo XXI.\n"
+"\n"
+"Descubra Odoo Inventory: https://www.odoo.com/page/warehouse"
#. module: website_slides
#: model:ir.ui.view,arch_db:website_slides.view_slide_slide_form
diff --git a/addons/website_twitter/i18n/es.po b/addons/website_twitter/i18n/es.po
index 2d16c8c829c..21c7eee3650 100644
--- a/addons/website_twitter/i18n/es.po
+++ b/addons/website_twitter/i18n/es.po
@@ -4,24 +4,25 @@
#
# Translators:
# oihane <oihanecruce@gmail.com>, 2016
-# Martin Trigaux <mat@odoo.com>, 2016
+# Martin Trigaux, 2016
# Ivan Nieto <ivan.n.s@tuta.io>, 2016
# Leonardo Chianea <noamixcontenidos@gmail.com>, 2016
# Mateo Tibaquirá Palacios <nestormateo@gmail.com>, 2016
# Ana Juaristi <ajuaristio@gmail.com>, 2016
# Alejandro Die Sanchis <marketing@domatix.com>, 2016
-# Antonio Trueba <atgayol@gmail.com>, 2016
+# Antonio Trueba, 2016
# Carles Antoli <carlesantoli@hotmail.com>, 2016
# Gelo Joga Landoo <gj@landoo.es>, 2017
# Jose Ramon Roca <jrroca@pobox.com>, 2017
# Luis M. Ontalba <luis.martinez@tecnativa.com>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:54+0000\n"
"PO-Revision-Date: 2017-09-20 09:54+0000\n"
-"Last-Translator: Luis M. Ontalba <luis.martinez@tecnativa.com>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -44,7 +45,7 @@ msgstr "Clave API"
#: model:ir.model.fields,field_description:website_twitter.field_res_config_settings_twitter_api_secret
#: model:ir.ui.view,arch_db:website_twitter.res_config_settings_view_form
msgid "API secret"
-msgstr ""
+msgstr "Secreto de la API"
#. module: website_twitter
#: code:addons/website_twitter/models/res_config_settings.py:16
@@ -75,7 +76,7 @@ msgstr "Nombre a mostrar"
#: model:ir.model.fields,field_description:website_twitter.field_res_config_settings_twitter_screen_name
#: model:ir.ui.view,arch_db:website_twitter.res_config_settings_view_form
msgid "Favorites From"
-msgstr ""
+msgstr "Favoritos de"
#. module: website_twitter
#: model:ir.model.fields,field_description:website_twitter.field_website_twitter_screen_name
@@ -225,7 +226,7 @@ msgstr "No hay nuevos datos que devolver."
#. module: website_twitter
#: model:ir.ui.view,arch_db:website_twitter.res_config_settings_view_form
msgid "Tutorial"
-msgstr ""
+msgstr "Tutorial"
#. module: website_twitter
#: model:ir.model.fields,field_description:website_twitter.field_website_twitter_tweet_tweet_id
@@ -240,7 +241,7 @@ msgstr "Tuits"
#. module: website_twitter
#: model:ir.ui.view,arch_db:website_twitter.res_config_settings_view_form
msgid "Twitter API Credentials"
-msgstr ""
+msgstr "Credenciales de la API de Twitter"
#. module: website_twitter
#: model:ir.model.fields,help:website_twitter.field_website_twitter_api_key
@@ -261,6 +262,7 @@ msgstr "Clave del API de Twitter"
#: model:ir.model.fields,help:website_twitter.field_res_config_settings_twitter_api_key
msgid "Twitter API key you can get it from https://apps.twitter.com/"
msgstr ""
+"La clave de la API de Twitter que puede obtener de https://apps.twitter.com/"
#. module: website_twitter
#: model:ir.model.fields,field_description:website_twitter.field_website_twitter_api_secret
@@ -271,6 +273,8 @@ msgstr "Palaba secreta de la API de Twitter"
#: model:ir.model.fields,help:website_twitter.field_res_config_settings_twitter_api_secret
msgid "Twitter API secret you can get it from https://apps.twitter.com/"
msgstr ""
+"El secreto de la API de Twitter que puede obtener de "
+"https://apps.twitter.com/"
#. module: website_twitter
#. openerp-web
@@ -321,7 +325,7 @@ msgstr ""
#: model:ir.cron,cron_name:website_twitter.ir_cron_twitter_actions
#: model:ir.cron,name:website_twitter.ir_cron_twitter_actions
msgid "Twitter: Fetch new favorites"
-msgstr ""
+msgstr "Twitter: Obtener nuevos favoritos"
#. module: website_twitter
#: code:addons/website_twitter/models/res_config_settings.py:58
diff --git a/addons/website_twitter/i18n/fr.po b/addons/website_twitter/i18n/fr.po
index e77fe179fa6..55c1b0f10a5 100644
--- a/addons/website_twitter/i18n/fr.po
+++ b/addons/website_twitter/i18n/fr.po
@@ -4,7 +4,7 @@
#
# Translators:
# Xavier Belmere <Info@cartmeleon.com>, 2016
-# Martin Trigaux <mat@odoo.com>, 2016
+# Martin Trigaux, 2016
# Fabien Pinckaers <fp@openerp.com>, 2016
# Clo <clo@odoo.com>, 2016
# Maxime Chambreuil <mchambreuil@ursainfosystems.com>, 2016
@@ -13,13 +13,14 @@
# Richard Mathot <rim@odoo.com>, 2017
# Eloïse Stilmant <est@odoo.com>, 2017
# Olivier Lenoir <olivier.lenoir@free.fr>, 2017
+# e2f <projects@e2f.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.saas~18\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-20 09:54+0000\n"
"PO-Revision-Date: 2017-09-20 09:54+0000\n"
-"Last-Translator: Olivier Lenoir <olivier.lenoir@free.fr>, 2017\n"
+"Last-Translator: e2f <projects@e2f.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -42,7 +43,7 @@ msgstr "Clé API"
#: model:ir.model.fields,field_description:website_twitter.field_res_config_settings_twitter_api_secret
#: model:ir.ui.view,arch_db:website_twitter.res_config_settings_view_form
msgid "API secret"
-msgstr ""
+msgstr "Clé secrète API"
#. module: website_twitter
#: code:addons/website_twitter/models/res_config_settings.py:16
@@ -73,7 +74,7 @@ msgstr "Nom affiché"
#: model:ir.model.fields,field_description:website_twitter.field_res_config_settings_twitter_screen_name
#: model:ir.ui.view,arch_db:website_twitter.res_config_settings_view_form
msgid "Favorites From"
-msgstr ""
+msgstr "Favoris de"
#. module: website_twitter
#: model:ir.model.fields,field_description:website_twitter.field_website_twitter_screen_name
@@ -236,7 +237,7 @@ msgstr "Tweets"
#. module: website_twitter
#: model:ir.ui.view,arch_db:website_twitter.res_config_settings_view_form
msgid "Twitter API Credentials"
-msgstr ""
+msgstr "Identifiants pour l'API de Twitter"
#. module: website_twitter
#: model:ir.model.fields,help:website_twitter.field_website_twitter_api_key
@@ -257,6 +258,8 @@ msgstr "Clé API Twitter"
#: model:ir.model.fields,help:website_twitter.field_res_config_settings_twitter_api_key
msgid "Twitter API key you can get it from https://apps.twitter.com/"
msgstr ""
+"Clé API de Twitter, vous pouvez l'obtenir à partir de la page "
+"https://apps.twitter.com/"
#. module: website_twitter
#: model:ir.model.fields,field_description:website_twitter.field_website_twitter_api_secret
@@ -267,6 +270,8 @@ msgstr "Clé secrète API Twitter"
#: model:ir.model.fields,help:website_twitter.field_res_config_settings_twitter_api_secret
msgid "Twitter API secret you can get it from https://apps.twitter.com/"
msgstr ""
+"Clé secrète API de Twitter, vous pouvez l'obtenir à partir de la page "
+"https://apps.twitter.com/"
#. module: website_twitter
#. openerp-web
@@ -318,7 +323,7 @@ msgstr ""
#: model:ir.cron,cron_name:website_twitter.ir_cron_twitter_actions
#: model:ir.cron,name:website_twitter.ir_cron_twitter_actions
msgid "Twitter: Fetch new favorites"
-msgstr ""
+msgstr "Twitter : récupérer les nouveaux favoris"
#. module: website_twitter
#: code:addons/website_twitter/models/res_config_settings.py:58