diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/sale_mrp | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/sale_mrp')
93 files changed, 8807 insertions, 0 deletions
diff --git a/addons/sale_mrp/__init__.py b/addons/sale_mrp/__init__.py new file mode 100644 index 00000000..dc5e6b69 --- /dev/null +++ b/addons/sale_mrp/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import models diff --git a/addons/sale_mrp/__manifest__.py b/addons/sale_mrp/__manifest__.py new file mode 100644 index 00000000..97010c28 --- /dev/null +++ b/addons/sale_mrp/__manifest__.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + + +{ + 'name': 'Sales and MRP Management', + 'version': '1.0', + 'category': 'Hidden', + 'description': """ +This module provides facility to the user to install mrp and sales modulesat a time. +==================================================================================== + +It is basically used when we want to keep track of production orders generated +from sales order. It adds sales name and sales Reference on production order. + """, + 'depends': ['mrp', 'sale_stock'], + 'data': [ + 'security/ir.model.access.csv', + 'views/mrp_production_views.xml', + 'views/sale_order_views.xml' + ], + 'demo': [], + 'installable': True, + 'auto_install': True, + 'license': 'LGPL-3', +} diff --git a/addons/sale_mrp/i18n/am.po b/addons/sale_mrp/i18n/am.po new file mode 100644 index 00000000..b0b37370 --- /dev/null +++ b/addons/sale_mrp/i18n/am.po @@ -0,0 +1,63 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 08:02+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Amharic (http://www.transifex.com/odoo/odoo-9/language/am/)\n" +"Language: am\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "ወደ ግምጃ ቤት የሚገቡና የሚወጡ እቃዎች" diff --git a/addons/sale_mrp/i18n/ar.po b/addons/sale_mrp/i18n/ar.po new file mode 100644 index 00000000..aadc2e4c --- /dev/null +++ b/addons/sale_mrp/i18n/ar.po @@ -0,0 +1,97 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Mustafa Rawi <mustafa@cubexco.com>, 2020 +# Osama Ahmaro <osamaahmaro@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Osama Ahmaro <osamaahmaro@gmail.com>, 2020\n" +"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "المُعرف" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "عنصر اليومية" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "أمر الانتاج" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "أمر البيع" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "بند أمر المبيعات" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/az.po b/addons/sale_mrp/i18n/az.po new file mode 100644 index 00000000..4aa71a42 --- /dev/null +++ b/addons/sale_mrp/i18n/az.po @@ -0,0 +1,26 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~11.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-09-18 09:49+0000\n" +"PO-Revision-Date: 2018-08-24 09:24+0000\n" +"Language-Team: Azerbaijani (https://www.transifex.com/odoo/teams/41243/az/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: az\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "" diff --git a/addons/sale_mrp/i18n/bg.po b/addons/sale_mrp/i18n/bg.po new file mode 100644 index 00000000..8d48bbdb --- /dev/null +++ b/addons/sale_mrp/i18n/bg.po @@ -0,0 +1,99 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# Rosen Vladimirov <vladimirov.rosen@gmail.com>, 2020 +# Igor Sheludko <igor.sheludko@gmail.com>, 2020 +# Maria Boyadjieva <marabo2000@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Maria Boyadjieva <marabo2000@gmail.com>, 2020\n" +"Language-Team: Bulgarian (https://www.transifex.com/odoo/teams/41243/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Име за показване" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Счетоводна операция" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Последно променено на" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Производствена поръчка" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Поръчка" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Ред на поръчка за продажби" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/bn.po b/addons/sale_mrp/i18n/bn.po new file mode 100644 index 00000000..c9e171f8 --- /dev/null +++ b/addons/sale_mrp/i18n/bn.po @@ -0,0 +1,96 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Abu Zafar <azmikbal@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Abu Zafar <azmikbal@gmail.com>, 2021\n" +"Language-Team: Bengali (https://www.transifex.com/odoo/teams/41243/bn/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: bn\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "প্রদর্শন নাম" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "আইডি " + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "জার্নাল আইটেম" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "সর্বশেষ সংশোধিত" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "বিক্রয় আদেশ" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "বিক্রয় আদেশ লাইন" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/bs.po b/addons/sale_mrp/i18n/bs.po new file mode 100644 index 00000000..71f0212b --- /dev/null +++ b/addons/sale_mrp/i18n/bs.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~11.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-09-18 09:49+0000\n" +"PO-Revision-Date: 2018-09-18 09:49+0000\n" +"Last-Translator: Martin Trigaux, 2018\n" +"Language-Team: Bosnian (https://www.transifex.com/odoo/teams/41243/bs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: bs\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "Stavka fakture" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Stavka prodajne narudžbe" diff --git a/addons/sale_mrp/i18n/ca.po b/addons/sale_mrp/i18n/ca.po new file mode 100644 index 00000000..bf2539fd --- /dev/null +++ b/addons/sale_mrp/i18n/ca.po @@ -0,0 +1,99 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# Quim - eccit <quim@eccit.com>, 2020 +# Manel Fernandez Ramirez <manelfera@outlook.com>, 2020 +# Josep Anton Belchi, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Josep Anton Belchi, 2021\n" +"Language-Team: Catalan (https://www.transifex.com/odoo/teams/41243/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Nom mostrat" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Anotació comptable" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Última modificació el " + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Ordre de producció" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Comanda de venda" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Línia comanda de venda" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/ckb.po b/addons/sale_mrp/i18n/ckb.po new file mode 100644 index 00000000..0467cd72 --- /dev/null +++ b/addons/sale_mrp/i18n/ckb.po @@ -0,0 +1,96 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Haval Abdulkarim <haval.abdulkarim@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Haval Abdulkarim <haval.abdulkarim@gmail.com>, 2020\n" +"Language-Team: Central Kurdish (https://www.transifex.com/odoo/teams/41243/ckb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ckb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "پیشاندانی ناو" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ناسنامە" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "دانەی یادنامە" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "دواین دەستکاری لە" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "داواکاری فرۆشتن" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "هێڵی داواکاری فرۆشتن" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/cs.po b/addons/sale_mrp/i18n/cs.po new file mode 100644 index 00000000..c4d5c431 --- /dev/null +++ b/addons/sale_mrp/i18n/cs.po @@ -0,0 +1,99 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# Jan Horzinka <jan.horzinka@centrum.cz>, 2020 +# trendspotter, 2020 +# karolína schusterová <karolina.schusterova@vdp.sk>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: karolína schusterová <karolina.schusterova@vdp.sk>, 2021\n" +"Language-Team: Czech (https://www.transifex.com/odoo/teams/41243/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: cs\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "<span class=\"o_stat_text\">Výrobní</span>" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "<span class=\"o_stat_text\">Prodej</span>" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Zobrazované jméno" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Položka deníku" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Naposled změněno" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Výrobní příkaz" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Prodejní objednávka" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Řádek zakázky" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/da.po b/addons/sale_mrp/i18n/da.po new file mode 100644 index 00000000..2b484548 --- /dev/null +++ b/addons/sale_mrp/i18n/da.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# Morten Schou <ms@msteknik.dk>, 2020 +# Jesper Carstensen <jc@danodoo.dk>, 2020 +# Sanne Kristensen <sanne@vkdata.dk>, 2020 +# Mads Søndergaard <mads@vkdata.dk>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Mads Søndergaard <mads@vkdata.dk>, 2020\n" +"Language-Team: Danish (https://www.transifex.com/odoo/teams/41243/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "<span class=\"o_stat_text\">Produktion</span>" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "<span class=\"o_stat_text\">Salg</span>" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "Antal genereret Produktionsordre" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "Antal Kilde Salgsordre" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Vis navn" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Journalpost" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Sidst ændret den" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "Produktionsordre Genereret af %s" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Produktionsordre" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Salgsordre" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Salgsordrelinje" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "Kilder Salgsordre tilhørende %s" diff --git a/addons/sale_mrp/i18n/de.po b/addons/sale_mrp/i18n/de.po new file mode 100644 index 00000000..a7c6af4b --- /dev/null +++ b/addons/sale_mrp/i18n/de.po @@ -0,0 +1,98 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# Robert Förster <hello@suppliot.eu>, 2021 +# Chris Egal <sodaswed@web.de>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Chris Egal <sodaswed@web.de>, 2021\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" +"Content-Transfer-Encoding: \n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "<span class=\"o_stat_text\">Fertigungsauftrag</span>" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "<span class=\"o_stat_text\">Verkaufen</span>" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Anzeigename" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Buchungszeile" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Zuletzt geändert am" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "Fertigungsaufträge generiert durch %s" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Fertigungsauftrag" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Verkaufsauftrag" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Auftragsposition" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/el.po b/addons/sale_mrp/i18n/el.po new file mode 100644 index 00000000..0300b956 --- /dev/null +++ b/addons/sale_mrp/i18n/el.po @@ -0,0 +1,97 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# Kostas Goutoudis <goutoudis@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Kostas Goutoudis <goutoudis@gmail.com>, 2020\n" +"Language-Team: Greek (https://www.transifex.com/odoo/teams/41243/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Εμφάνιση Ονόματος" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "Κωδικός" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Στοιχείο Ημερολογίου" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Τελευταία τροποποίηση στις" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Εντολή Παραγωγής" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Παραγγελία" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Γραμμή Παραγγελίας" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/en_AU.po b/addons/sale_mrp/i18n/en_AU.po new file mode 100644 index 00000000..b0509cd6 --- /dev/null +++ b/addons/sale_mrp/i18n/en_AU.po @@ -0,0 +1,68 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Jaron Soininen <jaron@bodybuildpro.com>, 2015 +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 08:02+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: English (Australia) (http://www.transifex.com/odoo/odoo-9/" +"language/en_AU/)\n" +"Language: en_AU\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "Indicate the Customer Reference from sales order." + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "Indicate the name of sales order." + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "Properties" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "Sale Name" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "Sale Reference" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Sales Order Line" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "Stock Move" + +#~ msgid "Manufacturing Order" +#~ msgstr "Manufacturing Order" diff --git a/addons/sale_mrp/i18n/en_GB.po b/addons/sale_mrp/i18n/en_GB.po new file mode 100644 index 00000000..e7e2bf0f --- /dev/null +++ b/addons/sale_mrp/i18n/en_GB.po @@ -0,0 +1,68 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Andi Chandler <andi@gowling.com>, 2015 +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 08:02+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: English (United Kingdom) (http://www.transifex.com/odoo/" +"odoo-9/language/en_GB/)\n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "Indicate the Customer Reference from sales order." + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "Indicate the name of sales order." + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "Properties" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "Sale Name" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "Sale Reference" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Sales Order Line" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "Stock Move" + +#~ msgid "Manufacturing Order" +#~ msgstr "Manufacturing Order" diff --git a/addons/sale_mrp/i18n/eo.po b/addons/sale_mrp/i18n/eo.po new file mode 100644 index 00000000..1591b150 --- /dev/null +++ b/addons/sale_mrp/i18n/eo.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Language-Team: Esperanto (https://www.transifex.com/odoo/teams/41243/eo/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: eo\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/es.po b/addons/sale_mrp/i18n/es.po new file mode 100644 index 00000000..d7a319c5 --- /dev/null +++ b/addons/sale_mrp/i18n/es.po @@ -0,0 +1,99 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# Jesús Alan Ramos Rodríguez <alan.ramos@jarsa.com.mx>, 2020 +# Lucia Pacheco <lpo@odoo.com>, 2021 +# Cécile Collart <cco@odoo.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Cécile Collart <cco@odoo.com>, 2021\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" +"Content-Transfer-Encoding: \n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "<span class=\"o_stat_text\">Fabricación</span>" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "<span class=\"o_stat_text\">Venta</span>" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "Número de órdenes de fabricación generadas" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "Número de órdenes de venta origen" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Apunte contable" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Última modificación el" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "Órdenes de fabricación generadas por %s" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Orden de producción" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Pedido de venta" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Línea de pedido de venta" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/es_BO.po b/addons/sale_mrp/i18n/es_BO.po new file mode 100644 index 00000000..f90f9247 --- /dev/null +++ b/addons/sale_mrp/i18n/es_BO.po @@ -0,0 +1,67 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 08:03+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Spanish (Bolivia) (http://www.transifex.com/odoo/odoo-9/" +"language/es_BO/)\n" +"Language: es_BO\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "" + +#~ msgid "Manufacturing Order" +#~ msgstr "Órden de Producción" diff --git a/addons/sale_mrp/i18n/es_CL.po b/addons/sale_mrp/i18n/es_CL.po new file mode 100644 index 00000000..a5e0a27b --- /dev/null +++ b/addons/sale_mrp/i18n/es_CL.po @@ -0,0 +1,68 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Daniel Santibáñez Polanco <dansanti@gmail.com>, 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2016-03-08 23:21+0000\n" +"Last-Translator: Daniel Santibáñez Polanco <dansanti@gmail.com>\n" +"Language-Team: Spanish (Chile) (http://www.transifex.com/odoo/odoo-9/" +"language/es_CL/)\n" +"Language: es_CL\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "Indica la referencia del cliente del pedido de venta." + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "Indica el nombre del pedido de venta." + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "Propiedades" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "Nombre de venta" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "Referencia de venta" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Línea de pedido de venta" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "Moviemiento de stock" + +#~ msgid "Manufacturing Order" +#~ msgstr "Órden de producción" diff --git a/addons/sale_mrp/i18n/es_CO.po b/addons/sale_mrp/i18n/es_CO.po new file mode 100644 index 00000000..614c4cf4 --- /dev/null +++ b/addons/sale_mrp/i18n/es_CO.po @@ -0,0 +1,84 @@ +# #-#-#-#-# es_CO.po (Odoo 9.0) #-#-#-#-# +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Mateo Tibaquirá <nestormateo@gmail.com>, 2015 +# #-#-#-#-# es_CO.po (Odoo 9.0) #-#-#-#-# +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-10-24 07:14+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Spanish (Colombia) (http://www.transifex.com/odoo/odoo-9/" +"language/es_CO/)\n" +"Language: es_CO\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"#-#-#-#-# es_CO.po (Odoo 9.0) #-#-#-#-#\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"#-#-#-#-# es_CO.po (Odoo 9.0) #-#-#-#-#\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "Indica la Referencia del Cliente desde la orden de venta." + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "Indica el nombre de la orden de venta." + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "Propiedades" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "Nombre de la Venta" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "Referencia de la Venta" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +#, fuzzy +msgid "Sales Order Line" +msgstr "" +"#-#-#-#-# es_CO.po (Odoo 9.0) #-#-#-#-#\n" +"Línea Orden de Venta\n" +"#-#-#-#-# es_CO.po (Odoo 9.0) #-#-#-#-#\n" +"Línea de Pedido de Venta" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "Movimiento de Existencias" + +#~ msgid "Manufacturing Order" +#~ msgstr "Orden de Manufactura" diff --git a/addons/sale_mrp/i18n/es_CR.po b/addons/sale_mrp/i18n/es_CR.po new file mode 100644 index 00000000..b5f7d0c8 --- /dev/null +++ b/addons/sale_mrp/i18n/es_CR.po @@ -0,0 +1,67 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 08:03+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Spanish (Costa Rica) (http://www.transifex.com/odoo/odoo-9/" +"language/es_CR/)\n" +"Language: es_CR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "Indica la referencia del cliente del pedido de venta." + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "Indica el nombre del pedido de venta." + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "Propiedades" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Línea pedido de venta" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "Movimiento stock" + +#~ msgid "Manufacturing Order" +#~ msgstr "Orden de fabricación" diff --git a/addons/sale_mrp/i18n/es_DO.po b/addons/sale_mrp/i18n/es_DO.po new file mode 100644 index 00000000..234a0571 --- /dev/null +++ b/addons/sale_mrp/i18n/es_DO.po @@ -0,0 +1,67 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2016-03-13 23:27+0000\n" +"Last-Translator: Juliano Henriquez <juliano@consultoriahenca.com>\n" +"Language-Team: Spanish (Dominican Republic) (http://www.transifex.com/odoo/" +"odoo-9/language/es_DO/)\n" +"Language: es_DO\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "Indicar la referencia del cliente del pedido de ventas." + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "Indicar el nombre de orden de venta." + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "Propiedades" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "Nombre de venta" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "Referencia de venta" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Línea pedido de venta" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "Movimiento de existencias" + +#~ msgid "Manufacturing Order" +#~ msgstr "Orden de Fabricación" diff --git a/addons/sale_mrp/i18n/es_EC.po b/addons/sale_mrp/i18n/es_EC.po new file mode 100644 index 00000000..4570a329 --- /dev/null +++ b/addons/sale_mrp/i18n/es_EC.po @@ -0,0 +1,68 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Rick Hunter <rick_hunter_ec@yahoo.com>, 2015-2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2016-01-15 04:45+0000\n" +"Last-Translator: Rick Hunter <rick_hunter_ec@yahoo.com>\n" +"Language-Team: Spanish (Ecuador) (http://www.transifex.com/odoo/odoo-9/" +"language/es_EC/)\n" +"Language: es_EC\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "Indica la Referencia del Cliente de la Orden de Venta" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "Indica el nombre de la Orden de Venta" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "Propiedades" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "Nombre de Venta" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "Referencia de Venta" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Línea pedido de venta" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "Moviemiento de stock" + +#~ msgid "Manufacturing Order" +#~ msgstr "Órden de producción" diff --git a/addons/sale_mrp/i18n/es_MX.po b/addons/sale_mrp/i18n/es_MX.po new file mode 100644 index 00000000..6a1df659 --- /dev/null +++ b/addons/sale_mrp/i18n/es_MX.po @@ -0,0 +1,97 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Cécile Collart <cco@odoo.com>, 2021 +# Lucia Pacheco <lpo@odoo.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Lucia Pacheco <lpo@odoo.com>, 2021\n" +"Language-Team: Spanish (Mexico) (https://www.transifex.com/odoo/teams/41243/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "<span class=\"o_stat_text\">Fabricación</span>" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "<span class=\"o_stat_text\">Venta</span>" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "Número de órdenes de fabricación generadas" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "Número de órdenes de venta origen" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Nombre en pantalla" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Apunte contable" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Última modificación el" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "Órdenes de fabricación generadas por %s" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Orden de producción" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Orden de venta" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Línea de orden de venta" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "Ordenes de venta de origen de %s" diff --git a/addons/sale_mrp/i18n/es_PE.po b/addons/sale_mrp/i18n/es_PE.po new file mode 100644 index 00000000..37018db0 --- /dev/null +++ b/addons/sale_mrp/i18n/es_PE.po @@ -0,0 +1,68 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Carlos Eduardo Rodriguez Rossi <crodriguez@samemotion.com>, 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2016-06-16 20:07+0000\n" +"Last-Translator: Carlos Eduardo Rodriguez Rossi <crodriguez@samemotion.com>\n" +"Language-Team: Spanish (Peru) (http://www.transifex.com/odoo/odoo-9/language/" +"es_PE/)\n" +"Language: es_PE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "Indicar la Referencia del Cliente del pedido de venta." + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "Indicar el nombre del pedido de venta." + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "Propiedades" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "Nombre de Venta" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "Referencia de Venta" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Línea de Pedido de Venta" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "Movimiento de Stock" + +#~ msgid "Manufacturing Order" +#~ msgstr "Orden de Producción" diff --git a/addons/sale_mrp/i18n/es_PY.po b/addons/sale_mrp/i18n/es_PY.po new file mode 100644 index 00000000..5b3bc792 --- /dev/null +++ b/addons/sale_mrp/i18n/es_PY.po @@ -0,0 +1,64 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 08:03+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Spanish (Paraguay) (http://www.transifex.com/odoo/odoo-9/" +"language/es_PY/)\n" +"Language: es_PY\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "Propiedades" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Línea pedido de venta" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "Movimiento stock" diff --git a/addons/sale_mrp/i18n/es_VE.po b/addons/sale_mrp/i18n/es_VE.po new file mode 100644 index 00000000..3728f02e --- /dev/null +++ b/addons/sale_mrp/i18n/es_VE.po @@ -0,0 +1,67 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 08:03+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Spanish (Venezuela) (http://www.transifex.com/odoo/odoo-9/" +"language/es_VE/)\n" +"Language: es_VE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "Indica la referencia del cliente del pedido de venta." + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "Indica el nombre del pedido de venta." + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "Propiedades" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Línea pedido de venta" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "Movimiento stock" + +#~ msgid "Manufacturing Order" +#~ msgstr "Orden de fabricación" diff --git a/addons/sale_mrp/i18n/et.po b/addons/sale_mrp/i18n/et.po new file mode 100644 index 00000000..a9b2c4e1 --- /dev/null +++ b/addons/sale_mrp/i18n/et.po @@ -0,0 +1,98 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Eneli Õigus <enelioigus@gmail.com>, 2021 +# Piia Paurson <piia@avalah.ee>, 2021 +# Triine Aavik <triine@avalah.ee>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Triine Aavik <triine@avalah.ee>, 2021\n" +"Language-Team: Estonian (https://www.transifex.com/odoo/teams/41243/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "<span class=\"o_stat_text\">Tootmine</span>" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "<span class=\"o_stat_text\">Müük</span>" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "Genereeritud tootmistellimuse arv" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "Seotud müügitellimuste arv" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Kuva nimi" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Andmiku kanderida" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Viimati muudetud (millal)" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "%sst genereeritud tootmistellimused" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Tootmistellimus" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Müügitellimus" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Müügitellimuse rida" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "%sseotud müügitellimused" diff --git a/addons/sale_mrp/i18n/eu.po b/addons/sale_mrp/i18n/eu.po new file mode 100644 index 00000000..113b75bf --- /dev/null +++ b/addons/sale_mrp/i18n/eu.po @@ -0,0 +1,98 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2021 +# Eneko <eastigarraga@codesyntax.com>, 2021 +# Mikel Lizarralde <mikellizarralde@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Mikel Lizarralde <mikellizarralde@gmail.com>, 2021\n" +"Language-Team: Basque (https://www.transifex.com/odoo/teams/41243/eu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: eu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Izena erakutsi" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Egunkari-artikulua" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Azken aldaketa" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Salmenta-eskaera" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Salmenta-eskaera lerroa" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/fa.po b/addons/sale_mrp/i18n/fa.po new file mode 100644 index 00000000..1595df0f --- /dev/null +++ b/addons/sale_mrp/i18n/fa.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2018 +# Hamid Darabi, 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~11.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-09-18 09:49+0000\n" +"PO-Revision-Date: 2018-09-18 09:49+0000\n" +"Last-Translator: Hamid Darabi, 2018\n" +"Language-Team: Persian (https://www.transifex.com/odoo/teams/41243/fa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fa\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "سطر فاکتور" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "سطر سفارشفروش" diff --git a/addons/sale_mrp/i18n/fi.po b/addons/sale_mrp/i18n/fi.po new file mode 100644 index 00000000..d14bd806 --- /dev/null +++ b/addons/sale_mrp/i18n/fi.po @@ -0,0 +1,99 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# Kari Lindgren <kari.lindgren@emsystems.fi>, 2020 +# Jarmo Kortetjärvi <jarmo.kortetjarvi@gmail.com>, 2020 +# Tuomo Aura <tuomo.aura@web-veistamo.fi>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Tuomo Aura <tuomo.aura@web-veistamo.fi>, 2020\n" +"Language-Team: Finnish (https://www.transifex.com/odoo/teams/41243/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Näyttönimi" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "Tunniste (ID)" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Päiväkirjatapahtuma" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Viimeksi muokattu" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Valmistustilaus" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Myyntitilaus" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Myyntitilausrivi" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/fo.po b/addons/sale_mrp/i18n/fo.po new file mode 100644 index 00000000..2846b36f --- /dev/null +++ b/addons/sale_mrp/i18n/fo.po @@ -0,0 +1,63 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-08-25 10:24+0000\n" +"Last-Translator: <>\n" +"Language-Team: Faroese (http://www.transifex.com/odoo/odoo-9/language/fo/)\n" +"Language: fo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Søluordra-linja" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "" diff --git a/addons/sale_mrp/i18n/fr.po b/addons/sale_mrp/i18n/fr.po new file mode 100644 index 00000000..b90ed988 --- /dev/null +++ b/addons/sale_mrp/i18n/fr.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# Aurélien Pillevesse <aurelienpillevesse@hotmail.fr>, 2020 +# Cécile Collart <cco@odoo.com>, 2020 +# Gilles Mangin <gilles.mangin@phidias.fr>, 2020 +# Mathieu Germain <mgm@odoo.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Mathieu Germain <mgm@odoo.com>, 2021\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" +"Content-Transfer-Encoding: \n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "<span class=\"o_stat_text\">Production</span>" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "<span class=\"o_stat_text\">Vente</span>" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "Nombre d'OF générés" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "Nombre des SO d'origine" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Écriture comptable" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "Ordre de fabrication généré par %s" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Ordre de fabrication" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Bon de commande" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Ligne de bons de commande" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "Bon de commande d'origine de %s" diff --git a/addons/sale_mrp/i18n/fr_BE.po b/addons/sale_mrp/i18n/fr_BE.po new file mode 100644 index 00000000..23a9db00 --- /dev/null +++ b/addons/sale_mrp/i18n/fr_BE.po @@ -0,0 +1,64 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-11-18 13:40+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: French (Belgium) (http://www.transifex.com/odoo/odoo-9/" +"language/fr_BE/)\n" +"Language: fr_BE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Ligne du bon de commande" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "" diff --git a/addons/sale_mrp/i18n/gl.po b/addons/sale_mrp/i18n/gl.po new file mode 100644 index 00000000..92d5f0d8 --- /dev/null +++ b/addons/sale_mrp/i18n/gl.po @@ -0,0 +1,66 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 08:02+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Galician (http://www.transifex.com/odoo/odoo-9/language/gl/)\n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "Indica a referencia do cliente do pedido de venda." + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "Indica o nome do pedido de venda." + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "Propiedades" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Liña de ordes de venda" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "Movemento de stock" + +#~ msgid "Manufacturing Order" +#~ msgstr "Orde de fabricación" diff --git a/addons/sale_mrp/i18n/gu.po b/addons/sale_mrp/i18n/gu.po new file mode 100644 index 00000000..cb15b070 --- /dev/null +++ b/addons/sale_mrp/i18n/gu.po @@ -0,0 +1,26 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~11.2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-22 14:10+0000\n" +"PO-Revision-Date: 2018-03-22 14:10+0000\n" +"Language-Team: Gujarati (https://www.transifex.com/odoo/teams/41243/gu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: gu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "" diff --git a/addons/sale_mrp/i18n/he.po b/addons/sale_mrp/i18n/he.po new file mode 100644 index 00000000..ad69ee18 --- /dev/null +++ b/addons/sale_mrp/i18n/he.po @@ -0,0 +1,97 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# ZVI BLONDER <ZVIBLONDER@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: ZVI BLONDER <ZVIBLONDER@gmail.com>, 2020\n" +"Language-Team: Hebrew (https://www.transifex.com/odoo/teams/41243/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: he\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "הצג שם" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "תעודה מזהה" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "פקודת יומן" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "שינוי אחרון ב" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "הוראת ייצור" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "הזמנת לקוח" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "שורת הזמנת לקוח" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/hi.po b/addons/sale_mrp/i18n/hi.po new file mode 100644 index 00000000..8078c975 --- /dev/null +++ b/addons/sale_mrp/i18n/hi.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Language-Team: Hindi (https://www.transifex.com/odoo/teams/41243/hi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/hr.po b/addons/sale_mrp/i18n/hr.po new file mode 100644 index 00000000..6cafc8cf --- /dev/null +++ b/addons/sale_mrp/i18n/hr.po @@ -0,0 +1,97 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# Bole <bole@dajmi5.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Bole <bole@dajmi5.com>, 2021\n" +"Language-Team: Croatian (https://www.transifex.com/odoo/teams/41243/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "<span class=\"o_stat_text\">Proizvodnja</span>" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Naziv" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Stavka dnevnika" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Zadnja promjena" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Proizvodni nalog" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Prodajni nalog" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Stavka prodajnog naloga" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/hu.po b/addons/sale_mrp/i18n/hu.po new file mode 100644 index 00000000..58e5e85f --- /dev/null +++ b/addons/sale_mrp/i18n/hu.po @@ -0,0 +1,98 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# gezza <geza.nagy@oregional.hu>, 2021 +# Ákos Nagy <akos.nagy@oregional.hu>, 2021 +# Tamás Németh <ntomasz81@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Tamás Németh <ntomasz81@gmail.com>, 2021\n" +"Language-Team: Hungarian (https://www.transifex.com/odoo/teams/41243/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "<span class=\"o_stat_text\">Termelés</span>" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Név megjelenítése" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "Azonosító" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Napló elem" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Legutóbb módosítva" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Termelési rendelés" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Értékesítési rendelés" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Értékesítési rendelés sor" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/hy.po b/addons/sale_mrp/i18n/hy.po new file mode 100644 index 00000000..c288f54f --- /dev/null +++ b/addons/sale_mrp/i18n/hy.po @@ -0,0 +1,63 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 08:02+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Armenian (http://www.transifex.com/odoo/odoo-9/language/hy/)\n" +"Language: hy\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "Հատկություններ" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "" diff --git a/addons/sale_mrp/i18n/id.po b/addons/sale_mrp/i18n/id.po new file mode 100644 index 00000000..ff6c2a33 --- /dev/null +++ b/addons/sale_mrp/i18n/id.po @@ -0,0 +1,98 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# Ryanto The <ry.the77@gmail.com>, 2020 +# Ikhsanul Wirsa <iwirsa02@outlook.co.id>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Ikhsanul Wirsa <iwirsa02@outlook.co.id>, 2020\n" +"Language-Team: Indonesian (https://www.transifex.com/odoo/teams/41243/id/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: id\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Nama Tampilan" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Item Jurnal" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Terakhir diubah pada" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Order Produksi" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Order Penjualan" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Detail Order Penjualan" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/is.po b/addons/sale_mrp/i18n/is.po new file mode 100644 index 00000000..9a373aad --- /dev/null +++ b/addons/sale_mrp/i18n/is.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Bjorn Ingvarsson <boi@exigo.is>, 2018 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~11.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-09-18 09:49+0000\n" +"PO-Revision-Date: 2018-08-24 09:24+0000\n" +"Last-Translator: Bjorn Ingvarsson <boi@exigo.is>, 2018\n" +"Language-Team: Icelandic (https://www.transifex.com/odoo/teams/41243/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "Invoice Line" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Sales Order Line" diff --git a/addons/sale_mrp/i18n/it.po b/addons/sale_mrp/i18n/it.po new file mode 100644 index 00000000..d0a6439d --- /dev/null +++ b/addons/sale_mrp/i18n/it.po @@ -0,0 +1,96 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Sergio Zanchetta <primes2h@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Sergio Zanchetta <primes2h@gmail.com>, 2021\n" +"Language-Team: Italian (https://www.transifex.com/odoo/teams/41243/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "<span class=\"o_stat_text\">Produzione</span>" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "<span class=\"o_stat_text\">Vendita</span>" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "Numero di OdP generati" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "Numero OdV di origine" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Movimento contabile" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "Ordini di produzione generati da %s" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Ordine di produzione" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Ordine di vendita" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Riga ordine di vendita" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/ja.po b/addons/sale_mrp/i18n/ja.po new file mode 100644 index 00000000..24911850 --- /dev/null +++ b/addons/sale_mrp/i18n/ja.po @@ -0,0 +1,98 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Shunho Kin <s-kin@shonan-innovation.co.jp>, 2020 +# Martin Trigaux, 2020 +# Yoshi Tashiro <tashiro@roomsfor.hk>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Yoshi Tashiro <tashiro@roomsfor.hk>, 2020\n" +"Language-Team: Japanese (https://www.transifex.com/odoo/teams/41243/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "表示名" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "仕訳項目" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "最終更新日" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "製造オーダ" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "販売オーダ" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "販売オーダ明細" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/ka.po b/addons/sale_mrp/i18n/ka.po new file mode 100644 index 00000000..79071c7d --- /dev/null +++ b/addons/sale_mrp/i18n/ka.po @@ -0,0 +1,97 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Mari Khomeriki <mari.khomeriki@maxinai.com>, 2021 +# Martin Trigaux, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Martin Trigaux, 2021\n" +"Language-Team: Georgian (https://www.transifex.com/odoo/teams/41243/ka/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ka\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "სახელი" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "იდენტიფიკატორი/ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "ბოლოს განახლებულია" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "გაყიდვის ორდერი" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "გაყიდვის ორდერის ხაზი" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/kab.po b/addons/sale_mrp/i18n/kab.po new file mode 100644 index 00000000..140b2021 --- /dev/null +++ b/addons/sale_mrp/i18n/kab.po @@ -0,0 +1,66 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 08:02+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Kabyle (http://www.transifex.com/odoo/odoo-9/language/kab/)\n" +"Language: kab\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "Ad Imud Tamsiɣelt n Umsaɣ si Tladna n Uznuzu" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "Ad imud isem n tladna n uznuzu." + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "Tulmisin" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "Isem n uznuzu" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "Tamsisɣelt n uznuzu" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Izirig n tladna n uznuzu" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "Amussu n uselɣas" + +#~ msgid "Manufacturing Order" +#~ msgstr "Taladna n Ufares" diff --git a/addons/sale_mrp/i18n/kk.po b/addons/sale_mrp/i18n/kk.po new file mode 100644 index 00000000..dc416af3 --- /dev/null +++ b/addons/sale_mrp/i18n/kk.po @@ -0,0 +1,63 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 08:02+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Kazakh (http://www.transifex.com/odoo/odoo-9/language/kk/)\n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "Баптаулар" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "" diff --git a/addons/sale_mrp/i18n/km.po b/addons/sale_mrp/i18n/km.po new file mode 100644 index 00000000..bb282c96 --- /dev/null +++ b/addons/sale_mrp/i18n/km.po @@ -0,0 +1,26 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~11.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-09-18 09:49+0000\n" +"PO-Revision-Date: 2018-09-18 09:49+0000\n" +"Language-Team: Khmer (https://www.transifex.com/odoo/teams/41243/km/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: km\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "" diff --git a/addons/sale_mrp/i18n/ko.po b/addons/sale_mrp/i18n/ko.po new file mode 100644 index 00000000..e12e5118 --- /dev/null +++ b/addons/sale_mrp/i18n/ko.po @@ -0,0 +1,97 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# JH CHOI <hwangtog@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: JH CHOI <hwangtog@gmail.com>, 2020\n" +"Language-Team: Korean (https://www.transifex.com/odoo/teams/41243/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "이름 표시" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "분개 항목" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "최근 수정" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "생산 주문" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "판매 주문" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "판매 주문 명세" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/lb.po b/addons/sale_mrp/i18n/lb.po new file mode 100644 index 00000000..b0ab7a76 --- /dev/null +++ b/addons/sale_mrp/i18n/lb.po @@ -0,0 +1,32 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-12 11:32+0000\n" +"PO-Revision-Date: 2019-08-26 09:14+0000\n" +"Language-Team: Luxembourgish (https://www.transifex.com/odoo/teams/41243/lb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: lb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale_mrp.py:88 +#, python-format +msgid "Not enough inventory!" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "" diff --git a/addons/sale_mrp/i18n/lo.po b/addons/sale_mrp/i18n/lo.po new file mode 100644 index 00000000..cb397c73 --- /dev/null +++ b/addons/sale_mrp/i18n/lo.po @@ -0,0 +1,63 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-11-13 09:02+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Lao (http://www.transifex.com/odoo/odoo-9/language/lo/)\n" +"Language: lo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "ລາຍການສິນຄ້າທີ່ສັ່ງຊື້" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "" diff --git a/addons/sale_mrp/i18n/lt.po b/addons/sale_mrp/i18n/lt.po new file mode 100644 index 00000000..8d9d5345 --- /dev/null +++ b/addons/sale_mrp/i18n/lt.po @@ -0,0 +1,98 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2021 +# UAB "Draugiški sprendimai" <transifex@draugiskisprendimai.lt>, 2021 +# Linas Versada <linaskrisiukenas@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Linas Versada <linaskrisiukenas@gmail.com>, 2021\n" +"Language-Team: Lithuanian (https://www.transifex.com/odoo/teams/41243/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: lt\n" +"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Rodomas pavadinimas" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Žurnalo įrašas" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Paskutinį kartą keista" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Gamybos užsakymas" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Pardavimo užsakymas" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Pardavimo užsakymo eilutė" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/lv.po b/addons/sale_mrp/i18n/lv.po new file mode 100644 index 00000000..f71b9e9a --- /dev/null +++ b/addons/sale_mrp/i18n/lv.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Language-Team: Latvian (https://www.transifex.com/odoo/teams/41243/lv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: lv\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/mk.po b/addons/sale_mrp/i18n/mk.po new file mode 100644 index 00000000..492dc24d --- /dev/null +++ b/addons/sale_mrp/i18n/mk.po @@ -0,0 +1,67 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 08:02+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Macedonian (http://www.transifex.com/odoo/odoo-9/language/" +"mk/)\n" +"Language: mk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "Ја означува референцата на клиентот од налогот за продажба." + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "Го означува името на налогот за продажба." + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "Својства" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "Име на продажба" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "Референца на продажба" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Ставка од налог за продажба" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "Движење на залиха" + +#~ msgid "Manufacturing Order" +#~ msgstr "Налог за обработка" diff --git a/addons/sale_mrp/i18n/mn.po b/addons/sale_mrp/i18n/mn.po new file mode 100644 index 00000000..58aaa35b --- /dev/null +++ b/addons/sale_mrp/i18n/mn.po @@ -0,0 +1,99 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# Baskhuu Lodoikhuu <baskhuujacara@gmail.com>, 2020 +# Minj P <pminj322@gmail.com>, 2020 +# Batmunkh Ganbat <batmunkh.g@bumanit.mn>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Batmunkh Ganbat <batmunkh.g@bumanit.mn>, 2020\n" +"Language-Team: Mongolian (https://www.transifex.com/odoo/teams/41243/mn/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: mn\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Дэлгэрэнгүй нэр" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Журналын бичилт" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Сүүлд зассан огноо" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Үйлдвэрлэлийн захиалга" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Борлуулалтын захиалга" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Борлуулалтын захиалгын мөр" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/nb.po b/addons/sale_mrp/i18n/nb.po new file mode 100644 index 00000000..109f967b --- /dev/null +++ b/addons/sale_mrp/i18n/nb.po @@ -0,0 +1,97 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# Marius Stedjan <marius@stedjan.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Marius Stedjan <marius@stedjan.com>, 2020\n" +"Language-Team: Norwegian Bokmål (https://www.transifex.com/odoo/teams/41243/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Visningsnavn" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Journalpost" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Sist endret" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Produksjonsordre" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Salgsordre" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Salgsordrelinje" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/nl.po b/addons/sale_mrp/i18n/nl.po new file mode 100644 index 00000000..17140b12 --- /dev/null +++ b/addons/sale_mrp/i18n/nl.po @@ -0,0 +1,98 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Yenthe Van Ginneken <yenthespam@gmail.com>, 2020 +# Martin Trigaux, 2020 +# Erwin van der Ploeg <erwin@odooexperts.nl>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Erwin van der Ploeg <erwin@odooexperts.nl>, 2020\n" +"Language-Team: Dutch (https://www.transifex.com/odoo/teams/41243/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "<span class=\"o_stat_text\">Productie</span>" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "<span class=\"o_stat_text\">Verkoop</span>" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "Aantal gegenereerde MO" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "Aantal met SO bron" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Schermnaam" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Boekingsregel" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Laatst gewijzigd op" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "Productieorder gegenereerd door %s" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Productieorder" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Verkooporder" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Verkooporderregel" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "Bron verkooporders van %s" diff --git a/addons/sale_mrp/i18n/nl_BE.po b/addons/sale_mrp/i18n/nl_BE.po new file mode 100644 index 00000000..46dee68f --- /dev/null +++ b/addons/sale_mrp/i18n/nl_BE.po @@ -0,0 +1,67 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 08:02+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Dutch (Belgium) (http://www.transifex.com/odoo/odoo-9/" +"language/nl_BE/)\n" +"Language: nl_BE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "Toont de klantenreferentie van de verkooporder." + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "Toont de naam van de verkooporder" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "Eigenschappen" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Verkooporderlijn" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "Voorraadbeweging" + +#~ msgid "Manufacturing Order" +#~ msgstr "Productieorder" diff --git a/addons/sale_mrp/i18n/pl.po b/addons/sale_mrp/i18n/pl.po new file mode 100644 index 00000000..095ae0a3 --- /dev/null +++ b/addons/sale_mrp/i18n/pl.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# Grzegorz Grzelak <grzegorz.grzelak@openglobe.pl>, 2020 +# Marcin Młynarczyk <mlynarczyk@gmail.com>, 2020 +# Paweł Wodyński <pw@myodoo.pl>, 2020 +# Maksym <ms@myodoo.pl>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Maksym <ms@myodoo.pl>, 2020\n" +"Language-Team: Polish (https://www.transifex.com/odoo/teams/41243/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "<span class=\"o_stat_text\">Produkcja</span>" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "<span class=\"o_stat_text\">Sprzedaż</span>" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Nazwa wyświetlana" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Pozycja zapisu" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Data ostatniej modyfikacji" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "Zamówienia Produkcji Stworzone przez %s" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Zamówienie produkcji" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Zamówienie sprzedaży" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Pozycja zamówienia sprzedaży" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "Źródła Zamówienia Sprzedaży %s" diff --git a/addons/sale_mrp/i18n/pt.po b/addons/sale_mrp/i18n/pt.po new file mode 100644 index 00000000..fe553a0f --- /dev/null +++ b/addons/sale_mrp/i18n/pt.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# Manuela Silva <manuelarodsilva@gmail.com>, 2020 +# Nuno Silva <nuno.silva@arxi.pt>, 2020 +# Reinaldo Ramos <reinaldo.ramos@arxi.pt>, 2020 +# Pedro Filipe <pedro2.10@hotmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Pedro Filipe <pedro2.10@hotmail.com>, 2020\n" +"Language-Team: Portuguese (https://www.transifex.com/odoo/teams/41243/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Nome" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Item do Diário" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Última Modificação em" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Ordem de Produção" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Ordem de Vendas" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Linhas da Ordem de Vendas" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/pt_BR.po b/addons/sale_mrp/i18n/pt_BR.po new file mode 100644 index 00000000..bb14cde8 --- /dev/null +++ b/addons/sale_mrp/i18n/pt_BR.po @@ -0,0 +1,101 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Rodrigo de Almeida Sottomaior Macedo <rmsolucoeseminformatica@protonmail.com>, 2020 +# Rafael H L Moretti <rafael.moretti@gmail.com>, 2020 +# Martin Trigaux, 2020 +# Mateus Lopes <mateus1@gmail.com>, 2020 +# André Augusto Firmino Cordeiro <a.cordeito@gmail.com>, 2020 +# Éder Brito <britoederr@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Éder Brito <britoederr@gmail.com>, 2021\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/odoo/teams/41243/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "<span class=\"o_stat_text\">Fabricação</span>" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "<span class=\"o_stat_text\">Venda</span>" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "Contagem de MO gerados" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "Contagem de Fonte de PV" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Nome exibido" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Item de Diário" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Última modificação em" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "Ordens de Produção Geradas por %s" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Ordem de Produção" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Pedido de venda" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Linha do pedido de vendas" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "Fontes de Pedidos de Venda de %s" diff --git a/addons/sale_mrp/i18n/ro.po b/addons/sale_mrp/i18n/ro.po new file mode 100644 index 00000000..d727d610 --- /dev/null +++ b/addons/sale_mrp/i18n/ro.po @@ -0,0 +1,98 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# Dorin Hongu <dhongu@gmail.com>, 2020 +# Hongu Cosmin <cosmin513@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Hongu Cosmin <cosmin513@gmail.com>, 2020\n" +"Language-Team: Romanian (https://www.transifex.com/odoo/teams/41243/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "<span class=\"o_stat_text\">De fabricație</span>" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Nume afișat" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Element jurnal" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Ultima modificare la" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Comanda de Producție" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Comandă de vânzare" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Linie comandă vânzare" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/ru.po b/addons/sale_mrp/i18n/ru.po new file mode 100644 index 00000000..731b2467 --- /dev/null +++ b/addons/sale_mrp/i18n/ru.po @@ -0,0 +1,99 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# ILMIR <karamov@it-projects.info>, 2020 +# Константин Коровин <korovin74@gmail.com>, 2020 +# Irina Fedulova <istartlin@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Irina Fedulova <istartlin@gmail.com>, 2020\n" +"Language-Team: Russian (https://www.transifex.com/odoo/teams/41243/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Отображаемое имя" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "Идентификатор" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Элемент журнала" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Последнее изменение" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Производственный заказ" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Заказ на продажу" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Строка заказа на продажу" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/sale_mrp.pot b/addons/sale_mrp/i18n/sale_mrp.pot new file mode 100644 index 00000000..b549c863 --- /dev/null +++ b/addons/sale_mrp/i18n/sale_mrp.pot @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-01 07:29+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/si.po b/addons/sale_mrp/i18n/si.po new file mode 100644 index 00000000..89852c70 --- /dev/null +++ b/addons/sale_mrp/i18n/si.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Language-Team: Sinhala (https://www.transifex.com/odoo/teams/41243/si/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: si\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/sk.po b/addons/sale_mrp/i18n/sk.po new file mode 100644 index 00000000..7fc7355b --- /dev/null +++ b/addons/sale_mrp/i18n/sk.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# Jaroslav Bosansky <jaro.bosansky@ekoenergo.sk>, 2020 +# Jan Prokop, 2020 +# Rastislav Brenčič <rastislav.brencic99@gmail.com>, 2020 +# Rastislav Brencic <rastislav.brencic@azet.sk>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Rastislav Brencic <rastislav.brencic@azet.sk>, 2020\n" +"Language-Team: Slovak (https://www.transifex.com/odoo/teams/41243/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Zobrazovaný názov" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Položka účtovnej knihy" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Posledná úprava" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Výrobná objednávka" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Objednávka " + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Položka objednávok" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/sl.po b/addons/sale_mrp/i18n/sl.po new file mode 100644 index 00000000..198dc109 --- /dev/null +++ b/addons/sale_mrp/i18n/sl.po @@ -0,0 +1,98 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2021 +# Matjaz Mozetic <m.mozetic@matmoz.si>, 2021 +# matjaz k <matjaz@mentis.si>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: matjaz k <matjaz@mentis.si>, 2021\n" +"Language-Team: Slovenian (https://www.transifex.com/odoo/teams/41243/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Prikazani naziv" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Postavka" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Zadnjič spremenjeno" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Proizvodni nalog" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Prodajni nalog" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Postavka prodajnega naloga" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/sr.po b/addons/sale_mrp/i18n/sr.po new file mode 100644 index 00000000..ec8eef51 --- /dev/null +++ b/addons/sale_mrp/i18n/sr.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~11.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-09-18 09:49+0000\n" +"PO-Revision-Date: 2018-09-18 09:49+0000\n" +"Last-Translator: Martin Trigaux, 2018\n" +"Language-Team: Serbian (https://www.transifex.com/odoo/teams/41243/sr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sr\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "Red računa" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "" diff --git a/addons/sale_mrp/i18n/sr@latin.po b/addons/sale_mrp/i18n/sr@latin.po new file mode 100644 index 00000000..f9cc52b2 --- /dev/null +++ b/addons/sale_mrp/i18n/sr@latin.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Djordje Marjanovic <djordje_m@yahoo.com>, 2017 +# Nemanja Dragovic <nemanjadragovic94@gmail.com>, 2017 +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: Nemanja Dragovic <nemanjadragovic94@gmail.com>, 2017\n" +"Language-Team: Serbian (Latin) (https://www.transifex.com/odoo/teams/41243/sr%40latin/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sr@latin\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "Stavka računa" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Stavka naloga za prodaju" diff --git a/addons/sale_mrp/i18n/sv.po b/addons/sale_mrp/i18n/sv.po new file mode 100644 index 00000000..a285b290 --- /dev/null +++ b/addons/sale_mrp/i18n/sv.po @@ -0,0 +1,97 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2021 +# Anders Wallenquist <anders.wallenquist@vertel.se>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Anders Wallenquist <anders.wallenquist@vertel.se>, 2021\n" +"Language-Team: Swedish (https://www.transifex.com/odoo/teams/41243/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Visningsnamn" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Transaktion" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Senast redigerad" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Tillverkningsorder" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Kundorder" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Orderrad" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/te.po b/addons/sale_mrp/i18n/te.po new file mode 100644 index 00000000..38e338ff --- /dev/null +++ b/addons/sale_mrp/i18n/te.po @@ -0,0 +1,63 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Odoo 9.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-18 14:08+0000\n" +"PO-Revision-Date: 2015-09-08 08:03+0000\n" +"Last-Translator: Martin Trigaux\n" +"Language-Team: Telugu (http://www.transifex.com/odoo/odoo-9/language/te/)\n" +"Language: te\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_ref +msgid "Indicate the Customer Reference from sales order." +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,help:sale_mrp.field_mrp_production_sale_name +msgid "Indicate the name of sales order." +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line_property_ids +msgid "Properties" +msgstr "లక్షణాలు" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_name +msgid "Sale Name" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production_sale_ref +msgid "Sale Reference" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_stock_move +msgid "Stock Move" +msgstr "" diff --git a/addons/sale_mrp/i18n/th.po b/addons/sale_mrp/i18n/th.po new file mode 100644 index 00000000..548d63fe --- /dev/null +++ b/addons/sale_mrp/i18n/th.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2018 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~11.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-09-18 09:49+0000\n" +"PO-Revision-Date: 2018-08-24 09:24+0000\n" +"Last-Translator: Martin Trigaux, 2018\n" +"Language-Team: Thai (https://www.transifex.com/odoo/teams/41243/th/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_invoice_line +msgid "Invoice Line" +msgstr "รายการในใบแจ้งหนี้" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "รายการคำสั่งขาย" diff --git a/addons/sale_mrp/i18n/tr.po b/addons/sale_mrp/i18n/tr.po new file mode 100644 index 00000000..a6a5ba3d --- /dev/null +++ b/addons/sale_mrp/i18n/tr.po @@ -0,0 +1,101 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# Levent Karakaş <levent@mektup.at>, 2020 +# Murat Kaplan <muratk@projetgrup.com>, 2020 +# Ertuğrul Güreş <ertugrulg@projetgrup.com>, 2020 +# Nadir Gazioglu <nadirgazioglu@gmail.com>, 2021 +# Ediz Duman <neps1192@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Ediz Duman <neps1192@gmail.com>, 2021\n" +"Language-Team: Turkish (https://www.transifex.com/odoo/teams/41243/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "<span class=\"o_stat_text\">Manufacturing</span>" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "<span class=\"o_stat_text\">Satış</span>" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Görünüm Adı" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Yevmiye Kalemi" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Son Düzenleme" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Üretim Emri" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Satış Siparişi" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Satış Sipariş Satırı" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/uk.po b/addons/sale_mrp/i18n/uk.po new file mode 100644 index 00000000..a2278954 --- /dev/null +++ b/addons/sale_mrp/i18n/uk.po @@ -0,0 +1,97 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# Alina Lisnenko <alinasemeniuk1@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Alina Lisnenko <alinasemeniuk1@gmail.com>, 2020\n" +"Language-Team: Ukrainian (https://www.transifex.com/odoo/teams/41243/uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Відобразити назву" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Елемент журналу" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Останні зміни на" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Замовлення на виробництво" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Замовлення на продаж" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Рядок замовлення на продаж" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/ur.po b/addons/sale_mrp/i18n/ur.po new file mode 100644 index 00000000..9b02f2a8 --- /dev/null +++ b/addons/sale_mrp/i18n/ur.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Language-Team: Urdu (https://www.transifex.com/odoo/teams/41243/ur/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ur\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/vi.po b/addons/sale_mrp/i18n/vi.po new file mode 100644 index 00000000..38286745 --- /dev/null +++ b/addons/sale_mrp/i18n/vi.po @@ -0,0 +1,99 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Nancy Momoland <thanhnguyen.icsc@gmail.com>, 2020 +# Duy BQ <duybq86@gmail.com>, 2020 +# Trinh Tran Thi Phuong <trinhttp@trobz.com>, 2020 +# Trần Hà <tranthuha13590@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Trần Hà <tranthuha13590@gmail.com>, 2021\n" +"Language-Team: Vietnamese (https://www.transifex.com/odoo/teams/41243/vi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: vi\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "<span class=\"o_stat_text\">Manufacturing</span>" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "<span class=\"o_stat_text\">Sale</span>" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "Count of MO generated" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "Count of Source SO" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "Tên hiển thị" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "Bút toán" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "Sửa lần cuối vào" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "Manufacturing Orders Generated by %s" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "Lệnh Sản xuất" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "Đơn bán hàng" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "Chi tiết đơn hàng" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "Sources Sale Orders of %s" diff --git a/addons/sale_mrp/i18n/zh_CN.po b/addons/sale_mrp/i18n/zh_CN.po new file mode 100644 index 00000000..82ca940e --- /dev/null +++ b/addons/sale_mrp/i18n/zh_CN.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# Martin Trigaux, 2020 +# Jeffery CHEN Fan <jeffery9@gmail.com>, 2020 +# guohuadeng <guohuadeng@hotmail.com>, 2020 +# Felix Yang - Elico Corp <felixyangsh@aliyun.com>, 2020 +# liAnGjiA <liangjia@qq.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: liAnGjiA <liangjia@qq.com>, 2021\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" +"Content-Transfer-Encoding: \n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "<span class=\"o_stat_text\">制造</span>" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "显示名称" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "会计分录" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "最后修改日" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "生产订单" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "销售订单" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "销售订单行" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/i18n/zh_TW.po b/addons/sale_mrp/i18n/zh_TW.po new file mode 100644 index 00000000..d1c581ac --- /dev/null +++ b/addons/sale_mrp/i18n/zh_TW.po @@ -0,0 +1,96 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_mrp +# +# Translators: +# 敬雲 林 <chingyun@yuanchih-consult.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:29+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: 敬雲 林 <chingyun@yuanchih-consult.com>, 2020\n" +"Language-Team: Chinese (Taiwan) (https://www.transifex.com/odoo/teams/41243/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.sale_order_form_mrp +msgid "<span class=\"o_stat_text\">Manufacturing</span>" +msgstr "" + +#. module: sale_mrp +#: model_terms:ir.ui.view,arch_db:sale_mrp.mrp_production_form_view_sale +msgid "<span class=\"o_stat_text\">Sale</span>" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__mrp_production_count +msgid "Count of MO generated" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__sale_order_count +msgid "Count of Source SO" +msgstr "" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__display_name +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__display_name +msgid "Display Name" +msgstr "顯示名稱" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line__id +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order__id +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line__id +msgid "ID" +msgstr "ID" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_account_move_line +msgid "Journal Item" +msgstr "日記帳明細" + +#. module: sale_mrp +#: model:ir.model.fields,field_description:sale_mrp.field_account_move_line____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_mrp_production____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order____last_update +#: model:ir.model.fields,field_description:sale_mrp.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "最後修改於" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/sale.py:0 +#, python-format +msgid "Manufacturing Orders Generated by %s" +msgstr "" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Production Order" +msgstr "製造訂單" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order +msgid "Sales Order" +msgstr "銷售訂單" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_sale_order_line +msgid "Sales Order Line" +msgstr "銷售訂單明細" + +#. module: sale_mrp +#: code:addons/sale_mrp/models/mrp_production.py:0 +#, python-format +msgid "Sources Sale Orders of %s" +msgstr "" diff --git a/addons/sale_mrp/models/__init__.py b/addons/sale_mrp/models/__init__.py new file mode 100644 index 00000000..6e09b9fa --- /dev/null +++ b/addons/sale_mrp/models/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import sale +from . import account_move +from . import mrp_production diff --git a/addons/sale_mrp/models/account_move.py b/addons/sale_mrp/models/account_move.py new file mode 100644 index 00000000..6f338835 --- /dev/null +++ b/addons/sale_mrp/models/account_move.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- + +from odoo import models + + +class AccountMoveLine(models.Model): + _inherit = "account.move.line" + + def _stock_account_get_anglo_saxon_price_unit(self): + price_unit = super(AccountMoveLine, self)._stock_account_get_anglo_saxon_price_unit() + + so_line = self.sale_line_ids and self.sale_line_ids[-1] or False + if so_line: + bom = so_line.product_id.product_tmpl_id.bom_ids.filtered(lambda b: not b.company_id or b.company_id == so_line.company_id)[:1] + if bom and bom.type == 'phantom': + qty_to_invoice = self.product_uom_id._compute_quantity(self.quantity, self.product_id.uom_id) + qty_invoiced = sum([x.product_uom_id._compute_quantity(x.quantity, x.product_id.uom_id) for x in so_line.invoice_lines if x.move_id.state == 'posted']) + moves = so_line.move_ids + average_price_unit = 0 + components = so_line._get_bom_component_qty(bom) + for product_id in components: + product = self.env['product.product'].browse(product_id) + factor = components[product_id]['qty'] + prod_moves = moves.filtered(lambda m: m.product_id == product) + prod_qty_invoiced = factor * qty_invoiced + prod_qty_to_invoice = factor * qty_to_invoice + average_price_unit += factor * product._compute_average_price(prod_qty_invoiced, prod_qty_to_invoice, prod_moves) + price_unit = average_price_unit / bom.product_qty or price_unit + price_unit = self.product_id.uom_id._compute_price(price_unit, self.product_uom_id) + return price_unit + diff --git a/addons/sale_mrp/models/mrp_production.py b/addons/sale_mrp/models/mrp_production.py new file mode 100644 index 00000000..5b6df8fd --- /dev/null +++ b/addons/sale_mrp/models/mrp_production.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models, _ + + +class MrpProduction(models.Model): + _inherit = 'mrp.production' + + sale_order_count = fields.Integer( + "Count of Source SO", + compute='_compute_sale_order_count', + groups='sales_team.group_sale_salesman') + + @api.depends('procurement_group_id.mrp_production_ids.move_dest_ids.group_id.sale_id') + def _compute_sale_order_count(self): + for production in self: + production.sale_order_count = len(production.procurement_group_id.mrp_production_ids.move_dest_ids.group_id.sale_id) + + def action_view_sale_orders(self): + self.ensure_one() + sale_order_ids = self.procurement_group_id.mrp_production_ids.move_dest_ids.group_id.sale_id.ids + action = { + 'res_model': 'sale.order', + 'type': 'ir.actions.act_window', + } + if len(sale_order_ids) == 1: + action.update({ + 'view_mode': 'form', + 'res_id': sale_order_ids[0], + }) + else: + action.update({ + 'name': _("Sources Sale Orders of %s", self.name), + 'domain': [('id', 'in', sale_order_ids)], + 'view_mode': 'tree,form', + }) + return action diff --git a/addons/sale_mrp/models/sale.py b/addons/sale_mrp/models/sale.py new file mode 100644 index 00000000..8152b67f --- /dev/null +++ b/addons/sale_mrp/models/sale.py @@ -0,0 +1,145 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models, _ + + +class SaleOrder(models.Model): + _inherit = 'sale.order' + + mrp_production_count = fields.Integer( + "Count of MO generated", + compute='_compute_mrp_production_count', + groups='mrp.group_mrp_user') + + @api.depends('procurement_group_id.stock_move_ids.created_production_id.procurement_group_id.mrp_production_ids') + def _compute_mrp_production_count(self): + for sale in self: + sale.mrp_production_count = len(sale.procurement_group_id.stock_move_ids.created_production_id.procurement_group_id.mrp_production_ids) + + def action_view_mrp_production(self): + self.ensure_one() + mrp_production_ids = self.procurement_group_id.stock_move_ids.created_production_id.procurement_group_id.mrp_production_ids.ids + action = { + 'res_model': 'mrp.production', + 'type': 'ir.actions.act_window', + } + if len(mrp_production_ids) == 1: + action.update({ + 'view_mode': 'form', + 'res_id': mrp_production_ids[0], + }) + else: + action.update({ + 'name': _("Manufacturing Orders Generated by %s", self.name), + 'domain': [('id', 'in', mrp_production_ids)], + 'view_mode': 'tree,form', + }) + return action + + +class SaleOrderLine(models.Model): + _inherit = 'sale.order.line' + + @api.depends('product_uom_qty', 'qty_delivered', 'product_id', 'state') + def _compute_qty_to_deliver(self): + """The inventory widget should now be visible in more cases if the product is consumable.""" + super(SaleOrderLine, self)._compute_qty_to_deliver() + for line in self: + # Hide the widget for kits since forecast doesn't support them. + boms = self.env['mrp.bom'] + if line.state == 'sale': + boms = line.move_ids.mapped('bom_line_id.bom_id') + elif line.state in ['draft', 'sent'] and line.product_id: + boms = boms._bom_find(product=line.product_id, company_id=line.company_id.id, bom_type='phantom') + relevant_bom = boms.filtered(lambda b: b.type == 'phantom' and + (b.product_id == line.product_id or + (b.product_tmpl_id == line.product_id.product_tmpl_id and not b.product_id))) + if relevant_bom: + line.display_qty_widget = False + continue + if line.state == 'draft' and line.product_type == 'consu': + components = line.product_id.get_components() + if components and components != [line.product_id.id]: + line.display_qty_widget = True + + def _compute_qty_delivered(self): + super(SaleOrderLine, self)._compute_qty_delivered() + for order_line in self: + if order_line.qty_delivered_method == 'stock_move': + boms = order_line.move_ids.filtered(lambda m: m.state != 'cancel').mapped('bom_line_id.bom_id') + dropship = False + if not boms and any(m._is_dropshipped() for m in order_line.move_ids): + boms = boms._bom_find(product=order_line.product_id, company_id=order_line.company_id.id, bom_type='phantom') + dropship = True + # We fetch the BoMs of type kits linked to the order_line, + # the we keep only the one related to the finished produst. + # This bom shoud be the only one since bom_line_id was written on the moves + relevant_bom = boms.filtered(lambda b: b.type == 'phantom' and + (b.product_id == order_line.product_id or + (b.product_tmpl_id == order_line.product_id.product_tmpl_id and not b.product_id))) + if relevant_bom: + # In case of dropship, we use a 'all or nothing' policy since 'bom_line_id' was + # not written on a move coming from a PO. + # FIXME: if the components of a kit have different suppliers, multiple PO + # are generated. If one PO is confirmed and all the others are in draft, receiving + # the products for this PO will set the qty_delivered. We might need to check the + # state of all PO as well... but sale_mrp doesn't depend on purchase. + if dropship: + moves = order_line.move_ids.filtered(lambda m: m.state != 'cancel') + if moves and all(m.state == 'done' for m in moves): + order_line.qty_delivered = order_line.product_uom_qty + else: + order_line.qty_delivered = 0.0 + continue + moves = order_line.move_ids.filtered(lambda m: m.state == 'done' and not m.scrapped) + filters = { + 'incoming_moves': lambda m: m.location_dest_id.usage == 'customer' and (not m.origin_returned_move_id or (m.origin_returned_move_id and m.to_refund)), + 'outgoing_moves': lambda m: m.location_dest_id.usage != 'customer' and m.to_refund + } + order_qty = order_line.product_uom._compute_quantity(order_line.product_uom_qty, relevant_bom.product_uom_id) + qty_delivered = moves._compute_kit_quantities(order_line.product_id, order_qty, relevant_bom, filters) + order_line.qty_delivered = relevant_bom.product_uom_id._compute_quantity(qty_delivered, order_line.product_uom) + + # If no relevant BOM is found, fall back on the all-or-nothing policy. This happens + # when the product sold is made only of kits. In this case, the BOM of the stock moves + # do not correspond to the product sold => no relevant BOM. + elif boms: + if all(m.state == 'done' for m in order_line.move_ids): + order_line.qty_delivered = order_line.product_uom_qty + else: + order_line.qty_delivered = 0.0 + + def _get_bom_component_qty(self, bom): + bom_quantity = self.product_uom._compute_quantity(1, bom.product_uom_id) + boms, lines = bom.explode(self.product_id, bom_quantity) + components = {} + for line, line_data in lines: + product = line.product_id.id + uom = line.product_uom_id + qty = line_data['qty'] + if components.get(product, False): + if uom.id != components[product]['uom']: + from_uom = uom + to_uom = self.env['uom.uom'].browse(components[product]['uom']) + qty = from_uom._compute_quantity(qty, to_uom) + components[product]['qty'] += qty + else: + # To be in the uom reference of the product + to_uom = self.env['product.product'].browse(product).uom_id + if uom.id != to_uom.id: + from_uom = uom + qty = from_uom._compute_quantity(qty, to_uom) + components[product] = {'qty': qty, 'uom': to_uom.id} + return components + + def _get_qty_procurement(self, previous_product_uom_qty=False): + self.ensure_one() + # Specific case when we change the qty on a SO for a kit product. + # We don't try to be too smart and keep a simple approach: we compare the quantity before + # and after update, and return the difference. We don't take into account what was already + # sent, or any other exceptional case. + bom = self.env['mrp.bom']._bom_find(product=self.product_id, bom_type='phantom') + if bom and previous_product_uom_qty: + return previous_product_uom_qty and previous_product_uom_qty.get(self.id, 0.0) + return super(SaleOrderLine, self)._get_qty_procurement(previous_product_uom_qty=previous_product_uom_qty) diff --git a/addons/sale_mrp/security/ir.model.access.csv b/addons/sale_mrp/security/ir.model.access.csv new file mode 100644 index 00000000..82711385 --- /dev/null +++ b/addons/sale_mrp/security/ir.model.access.csv @@ -0,0 +1,7 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_mrp_bom_user,mrp.bom,mrp.model_mrp_bom,sales_team.group_sale_salesman,1,0,0,0 +access_sale_order_manufacturing_user,sale.order manufacturing.user,sale.model_sale_order,mrp.group_mrp_user,1,1,0,0 +access_sale_order_line_manufacturing_user,sale.order.line manufacturing.user,sale.model_sale_order_line,mrp.group_mrp_user,1,1,0,0 +access_mrp_production_salesman,mrp.production salesman,mrp.model_mrp_production,sales_team.group_sale_salesman,1,1,1,0 +access_mrp_production_workcenter_line_salesman,mrp.workorder salesman,mrp.model_mrp_workorder,sales_team.group_sale_salesman,1,0,1,0 +access_mrp_bom_line_salesman,mrp.bom.line,mrp.model_mrp_bom_line,sales_team.group_sale_salesman,1,0,0,0 diff --git a/addons/sale_mrp/tests/__init__.py b/addons/sale_mrp/tests/__init__.py new file mode 100644 index 00000000..56a3cc3f --- /dev/null +++ b/addons/sale_mrp/tests/__init__.py @@ -0,0 +1,8 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import test_sale_mrp_flow +from . import test_sale_mrp_kit_bom +from . import test_sale_mrp_lead_time +from . import test_sale_mrp_procurement +from . import test_multistep_manufacturing
\ No newline at end of file diff --git a/addons/sale_mrp/tests/test_multistep_manufacturing.py b/addons/sale_mrp/tests/test_multistep_manufacturing.py new file mode 100644 index 00000000..b0ab1d09 --- /dev/null +++ b/addons/sale_mrp/tests/test_multistep_manufacturing.py @@ -0,0 +1,129 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo.tests import Form +from odoo.addons.mrp.tests.common import TestMrpCommon + + +class TestMultistepManufacturing(TestMrpCommon): + + def setUp(self): + super(TestMultistepManufacturing, self).setUp() + + self.env.ref('stock.route_warehouse0_mto').active = True + self.MrpProduction = self.env['mrp.production'] + # Create warehouse + warehouse_form = Form(self.env['stock.warehouse']) + warehouse_form.name = 'Test' + warehouse_form.code = 'Test' + self.warehouse = warehouse_form.save() + + self.uom_unit = self.env.ref('uom.product_uom_unit') + + # Create manufactured product + product_form = Form(self.env['product.product']) + product_form.name = 'Stick' + product_form.uom_id = self.uom_unit + product_form.uom_po_id = self.uom_unit + product_form.route_ids.clear() + product_form.route_ids.add(self.warehouse.manufacture_pull_id.route_id) + product_form.route_ids.add(self.warehouse.mto_pull_id.route_id) + self.product_manu = product_form.save() + + # Create raw product for manufactured product + product_form = Form(self.env['product.product']) + product_form.name = 'Raw Stick' + product_form.uom_id = self.uom_unit + product_form.uom_po_id = self.uom_unit + self.product_raw = product_form.save() + + # Create bom for manufactured product + bom_product_form = Form(self.env['mrp.bom']) + bom_product_form.product_id = self.product_manu + bom_product_form.product_tmpl_id = self.product_manu.product_tmpl_id + bom_product_form.product_qty = 1.0 + bom_product_form.type = 'normal' + with bom_product_form.bom_line_ids.new() as bom_line: + bom_line.product_id = self.product_raw + bom_line.product_qty = 2.0 + self.bom_prod_manu = bom_product_form.save() + + # Create sale order + sale_form = Form(self.env['sale.order']) + sale_form.partner_id = self.env['res.partner'].create({'name': 'My Test Partner'}) + sale_form.picking_policy = 'direct' + sale_form.warehouse_id = self.warehouse + with sale_form.order_line.new() as line: + line.name = self.product_manu.name + line.product_id = self.product_manu + line.product_uom_qty = 1.0 + line.product_uom = self.uom_unit + line.price_unit = 10.0 + self.sale_order = sale_form.save() + + def test_00_manufacturing_step_one(self): + """ Testing for Step-1 """ + # Change steps of manufacturing. + with Form(self.warehouse) as warehouse: + warehouse.manufacture_steps = 'mrp_one_step' + # Confirm sale order. + self.sale_order.action_confirm() + # Check all procurements for created sale order + mo_procurement = self.MrpProduction.search([('origin', '=', self.sale_order.name)]) + # Get manufactured procurement + self.assertEqual(mo_procurement.location_src_id.id, self.warehouse.lot_stock_id.id, "Source loction does not match.") + self.assertEqual(mo_procurement.location_dest_id.id, self.warehouse.lot_stock_id.id, "Destination location does not match.") + self.assertEqual(len(mo_procurement), 1, "No Procurement !") + + def test_01_manufacturing_step_two(self): + """ Testing for Step-2 """ + with Form(self.warehouse) as warehouse: + warehouse.manufacture_steps = 'pbm' + self.sale_order.action_confirm() + # Get manufactured procurement + mo_procurement = self.MrpProduction.search([('origin', '=', self.sale_order.name)]) + self.assertEqual(mo_procurement.location_src_id.id, self.warehouse.pbm_loc_id.id, "Source loction does not match.") + self.assertEqual(mo_procurement.location_dest_id.id, self.warehouse.lot_stock_id.id, "Destination location does not match.") + + self.assertEqual(len(mo_procurement), 1, "No Procurement !") + + def test_cancel_multilevel_manufacturing(self): + """ Testing for multilevel Manufacturing orders. + When user creates multi-level manufacturing orders, + and then cancelles child manufacturing order, + an activity should be generated on parent MO, to notify user that + demands from child MO has been cancelled. + """ + + product_form = Form(self.env['product.product']) + product_form.name = 'Screw' + self.product_screw = product_form.save() + + # Add routes for manufacturing and make to order to the raw material product + with Form(self.product_raw) as p1: + p1.route_ids.clear() + p1.route_ids.add(self.warehouse_1.manufacture_pull_id.route_id) + p1.route_ids.add(self.warehouse_1.mto_pull_id.route_id) + + # New BoM for raw material product, it will generate another Production order i.e. child Production order + bom_product_form = Form(self.env['mrp.bom']) + bom_product_form.product_id = self.product_raw + bom_product_form.product_tmpl_id = self.product_raw.product_tmpl_id + bom_product_form.product_qty = 1.0 + with bom_product_form.bom_line_ids.new() as bom_line: + bom_line.product_id = self.product_screw + bom_line.product_qty = 5.0 + self.bom_prod_manu = bom_product_form.save() + + # create MO from sale order. + self.sale_order.action_confirm() + # Find child MO. + child_manufaturing = self.env['mrp.production'].search([('product_id', '=', self.product_raw.id)]) + self.assertTrue((len(child_manufaturing.ids) == 1), 'Manufacturing order of raw material must be generated.') + # Cancel child MO. + child_manufaturing.action_cancel() + manufaturing_from_so = self.env['mrp.production'].search([('product_id', '=', self.product_manu.id)]) + # Check if activity is generated or not on parent MO. + exception = self.env['mail.activity'].search([('res_model', '=', 'mrp.production'), + ('res_id', '=', manufaturing_from_so.id)]) + self.assertEqual(len(exception.ids), 1, 'When user cancelled child manufacturing, exception must be generated on parent manufacturing.') diff --git a/addons/sale_mrp/tests/test_sale_mrp_flow.py b/addons/sale_mrp/tests/test_sale_mrp_flow.py new file mode 100644 index 00000000..7534c2f0 --- /dev/null +++ b/addons/sale_mrp/tests/test_sale_mrp_flow.py @@ -0,0 +1,1644 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo.addons.stock_account.tests.test_anglo_saxon_valuation_reconciliation_common import ValuationReconciliationTestCommon +from odoo.tests import common, Form +from odoo.exceptions import UserError +from odoo.tools import mute_logger, float_compare + + +# these tests create accounting entries, and therefore need a chart of accounts +@common.tagged('post_install', '-at_install') +class TestSaleMrpFlow(ValuationReconciliationTestCommon): + + @classmethod + def setUpClass(cls, chart_template_ref=None): + super().setUpClass(chart_template_ref=chart_template_ref) + cls.env.ref('stock.route_warehouse0_mto').active = True + + # Useful models + cls.StockMove = cls.env['stock.move'] + cls.UoM = cls.env['uom.uom'] + cls.MrpProduction = cls.env['mrp.production'] + cls.Inventory = cls.env['stock.inventory'] + cls.InventoryLine = cls.env['stock.inventory.line'] + cls.ProductCategory = cls.env['product.category'] + + cls.categ_unit = cls.env.ref('uom.product_uom_categ_unit') + cls.categ_kgm = cls.env.ref('uom.product_uom_categ_kgm') + + cls.uom_kg = cls.env['uom.uom'].search([('category_id', '=', cls.categ_kgm.id), ('uom_type', '=', 'reference')], limit=1) + cls.uom_kg.write({ + 'name': 'Test-KG', + 'rounding': 0.000001}) + cls.uom_gm = cls.UoM.create({ + 'name': 'Test-G', + 'category_id': cls.categ_kgm.id, + 'uom_type': 'smaller', + 'factor': 1000.0, + 'rounding': 0.001}) + cls.uom_unit = cls.env['uom.uom'].search([('category_id', '=', cls.categ_unit.id), ('uom_type', '=', 'reference')], limit=1) + cls.uom_unit.write({ + 'name': 'Test-Unit', + 'rounding': 0.01}) + cls.uom_dozen = cls.UoM.create({ + 'name': 'Test-DozenA', + 'category_id': cls.categ_unit.id, + 'factor_inv': 12, + 'uom_type': 'bigger', + 'rounding': 0.001}) + + # Creating all components + cls.component_a = cls._cls_create_product('Comp A', cls.uom_unit) + cls.component_b = cls._cls_create_product('Comp B', cls.uom_unit) + cls.component_c = cls._cls_create_product('Comp C', cls.uom_unit) + cls.component_d = cls._cls_create_product('Comp D', cls.uom_unit) + cls.component_e = cls._cls_create_product('Comp E', cls.uom_unit) + cls.component_f = cls._cls_create_product('Comp F', cls.uom_unit) + cls.component_g = cls._cls_create_product('Comp G', cls.uom_unit) + + # Create a kit 'kit_1' : + # ----------------------- + # + # kit_1 --|- component_a x2 + # |- component_b x1 + # |- component_c x3 + + cls.kit_1 = cls._cls_create_product('Kit 1', cls.uom_unit) + + cls.bom_kit_1 = cls.env['mrp.bom'].create({ + 'product_tmpl_id': cls.kit_1.product_tmpl_id.id, + 'product_qty': 1.0, + 'type': 'phantom'}) + + BomLine = cls.env['mrp.bom.line'] + BomLine.create({ + 'product_id': cls.component_a.id, + 'product_qty': 2.0, + 'bom_id': cls.bom_kit_1.id}) + BomLine.create({ + 'product_id': cls.component_b.id, + 'product_qty': 1.0, + 'bom_id': cls.bom_kit_1.id}) + BomLine.create({ + 'product_id': cls.component_c.id, + 'product_qty': 3.0, + 'bom_id': cls.bom_kit_1.id}) + + # Create a kit 'kit_parent' : + # --------------------------- + # + # kit_parent --|- kit_2 x2 --|- component_d x1 + # | |- kit_1 x2 -------|- component_a x2 + # | |- component_b x1 + # | |- component_c x3 + # | + # |- kit_3 x1 --|- component_f x1 + # | |- component_g x2 + # | + # |- component_e x1 + + # Creating all kits + cls.kit_2 = cls._cls_create_product('Kit 2', cls.uom_unit) + cls.kit_3 = cls._cls_create_product('kit 3', cls.uom_unit) + cls.kit_parent = cls._cls_create_product('Kit Parent', cls.uom_unit) + + # Linking the kits and the components via some 'phantom' BoMs + bom_kit_2 = cls.env['mrp.bom'].create({ + 'product_tmpl_id': cls.kit_2.product_tmpl_id.id, + 'product_qty': 1.0, + 'type': 'phantom'}) + + BomLine.create({ + 'product_id': cls.component_d.id, + 'product_qty': 1.0, + 'bom_id': bom_kit_2.id}) + BomLine.create({ + 'product_id': cls.kit_1.id, + 'product_qty': 2.0, + 'bom_id': bom_kit_2.id}) + + bom_kit_parent = cls.env['mrp.bom'].create({ + 'product_tmpl_id': cls.kit_parent.product_tmpl_id.id, + 'product_qty': 1.0, + 'type': 'phantom'}) + + BomLine.create({ + 'product_id': cls.component_e.id, + 'product_qty': 1.0, + 'bom_id': bom_kit_parent.id}) + BomLine.create({ + 'product_id': cls.kit_2.id, + 'product_qty': 2.0, + 'bom_id': bom_kit_parent.id}) + + bom_kit_3 = cls.env['mrp.bom'].create({ + 'product_tmpl_id': cls.kit_3.product_tmpl_id.id, + 'product_qty': 1.0, + 'type': 'phantom'}) + + BomLine.create({ + 'product_id': cls.component_f.id, + 'product_qty': 1.0, + 'bom_id': bom_kit_3.id}) + BomLine.create({ + 'product_id': cls.component_g.id, + 'product_qty': 2.0, + 'bom_id': bom_kit_3.id}) + + BomLine.create({ + 'product_id': cls.kit_3.id, + 'product_qty': 2.0, + 'bom_id': bom_kit_parent.id}) + + @classmethod + def _cls_create_product(cls, name, uom_id, routes=()): + p = Form(cls.env['product.product']) + p.name = name + p.type = 'product' + p.uom_id = uom_id + p.uom_po_id = uom_id + p.route_ids.clear() + for r in routes: + p.route_ids.add(r) + return p.save() + + def _create_product(self, name, uom_id, routes=()): + p = Form(self.env['product.product']) + p.name = name + p.type = 'product' + p.uom_id = uom_id + p.uom_po_id = uom_id + p.route_ids.clear() + for r in routes: + p.route_ids.add(r) + return p.save() + + # Helper to process quantities based on a dict following this structure : + # + # qty_to_process = { + # product_id: qty + # } + + def _process_quantities(self, moves, quantities_to_process): + """ Helper to process quantities based on a dict following this structure : + qty_to_process = { + product_id: qty + } + """ + moves_to_process = moves.filtered(lambda m: m.product_id in quantities_to_process.keys()) + for move in moves_to_process: + move.write({'quantity_done': quantities_to_process[move.product_id]}) + + def _assert_quantities(self, moves, quantities_to_process): + """ Helper to check expected quantities based on a dict following this structure : + qty_to_process = { + product_id: qty + ... + } + """ + moves_to_process = moves.filtered(lambda m: m.product_id in quantities_to_process.keys()) + for move in moves_to_process: + self.assertEqual(move.product_uom_qty, quantities_to_process[move.product_id]) + + def _create_move_quantities(self, qty_to_process, components, warehouse): + """ Helper to creates moves in order to update the quantities of components + on a specific warehouse. This ensure that all compute fields are triggered. + The structure of qty_to_process should be the following : + + qty_to_process = { + component: (qty, uom), + ... + } + """ + for comp in components: + f = Form(self.env['stock.move']) + f.name = 'Test Receipt Components' + f.location_id = self.env.ref('stock.stock_location_suppliers') + f.location_dest_id = warehouse.lot_stock_id + f.product_id = comp + f.product_uom = qty_to_process[comp][1] + f.product_uom_qty = qty_to_process[comp][0] + move = f.save() + move._action_confirm() + move._action_assign() + move_line = move.move_line_ids[0] + move_line.qty_done = qty_to_process[comp][0] + move._action_done() + + def test_00_sale_mrp_flow(self): + """ Test sale to mrp flow with diffrent unit of measure.""" + + + # Create product A, B, C, D. + # -------------------------- + route_manufacture = self.company_data['default_warehouse'].manufacture_pull_id.route_id + route_mto = self.company_data['default_warehouse'].mto_pull_id.route_id + product_a = self._create_product('Product A', self.uom_unit, routes=[route_manufacture, route_mto]) + product_c = self._create_product('Product C', self.uom_kg) + product_b = self._create_product('Product B', self.uom_dozen, routes=[route_manufacture, route_mto]) + product_d = self._create_product('Product D', self.uom_unit, routes=[route_manufacture, route_mto]) + + # ------------------------------------------------------------------------------------------ + # Bill of materials for product A, B, D. + # ------------------------------------------------------------------------------------------ + + # Bill of materials for Product A. + with Form(self.env['mrp.bom']) as f: + f.product_tmpl_id = product_a.product_tmpl_id + f.product_qty = 2 + f.product_uom_id = self.uom_dozen + with f.bom_line_ids.new() as line: + line.product_id = product_b + line.product_qty = 3 + line.product_uom_id = self.uom_unit + with f.bom_line_ids.new() as line: + line.product_id = product_c + line.product_qty = 300.5 + line.product_uom_id = self.uom_gm + with f.bom_line_ids.new() as line: + line.product_id = product_d + line.product_qty = 4 + line.product_uom_id = self.uom_unit + + # Bill of materials for Product B. + with Form(self.env['mrp.bom']) as f: + f.product_tmpl_id = product_b.product_tmpl_id + f.product_qty = 1 + f.product_uom_id = self.uom_unit + f.type = 'phantom' + with f.bom_line_ids.new() as line: + line.product_id = product_c + line.product_qty = 0.400 + line.product_uom_id = self.uom_kg + + # Bill of materials for Product D. + with Form(self.env['mrp.bom']) as f: + f.product_tmpl_id = product_d.product_tmpl_id + f.product_qty = 1 + f.product_uom_id = self.uom_unit + with f.bom_line_ids.new() as line: + line.product_id = product_c + line.product_qty = 1 + line.product_uom_id = self.uom_kg + + # ---------------------------------------- + # Create sales order of 10 Dozen product A. + # ---------------------------------------- + + order_form = Form(self.env['sale.order']) + order_form.partner_id = self.env['res.partner'].create({'name': 'My Test Partner'}) + with order_form.order_line.new() as line: + line.product_id = product_a + line.product_uom = self.uom_dozen + line.product_uom_qty = 10 + order = order_form.save() + order.action_confirm() + + # =============================================================================== + # Sales order of 10 Dozen product A should create production order + # like .. + # =============================================================================== + # Product A 10 Dozen. + # Product C 6 kg + # As product B phantom in bom A, product A will consume product C + # ================================================================ + # For 1 unit product B it will consume 400 gm + # then for 15 unit (Product B 3 unit per 2 Dozen product A) + # product B it will consume [ 6 kg ] product C) + # Product A will consume 6 kg product C. + # + # [15 * 400 gm ( 6 kg product C)] = 6 kg product C + # + # Product C 1502.5 gm. + # [ + # For 2 Dozen product A will consume 300.5 gm product C + # then for 10 Dozen product A will consume 1502.5 gm product C. + # ] + # + # product D 20 Unit. + # [ + # For 2 dozen product A will consume 4 unit product D + # then for 10 Dozen product A will consume 20 unit of product D. + # ] + # -------------------------------------------------------------------------------- + + # <><><><><><><><><><><><><><><><><><><><> + # Check manufacturing order for product A. + # <><><><><><><><><><><><><><><><><><><><> + + # Check quantity, unit of measure and state of manufacturing order. + # ----------------------------------------------------------------- + self.env['procurement.group'].run_scheduler() + 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, 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.') + + # ------------------------------------------------------------------------------------------ + # Check 'To consume line' for production order of product A. + # ------------------------------------------------------------------------------------------ + + # Check 'To consume line' with product c and uom kg. + # ------------------------------------------------- + + moves = self.StockMove.search([ + ('raw_material_production_id', '=', mnf_product_a.id), + ('product_id', '=', product_c.id), + ('product_uom', '=', self.uom_kg.id)]) + + # Check total consume line with product c and uom kg. + self.assertEqual(len(moves), 1, 'Production move lines are not generated proper.') + list_qty = {move.product_uom_qty for move in moves} + self.assertEqual(list_qty, {6.0}, "Wrong product quantity in 'To consume line' of manufacturing order.") + # Check state of consume line with product c and uom kg. + for move in moves: + self.assertEqual(move.state, 'confirmed', "Wrong state in 'To consume line' of manufacturing order.") + + # Check 'To consume line' with product c and uom gm. + # --------------------------------------------------- + + move = self.StockMove.search([ + ('raw_material_production_id', '=', mnf_product_a.id), + ('product_id', '=', product_c.id), + ('product_uom', '=', self.uom_gm.id)]) + + # Check total consume line of product c with gm. + self.assertEqual(len(move), 1, 'Production move lines are not generated proper.') + # Check quantity should be with 1502.5 ( 2 Dozen product A consume 300.5 gm then 10 Dozen (300.5 * (10/2)). + self.assertEqual(move.product_uom_qty, 1502.5, "Wrong product quantity in 'To consume line' of manufacturing order.") + # Check state of consume line with product c with and uom gm. + self.assertEqual(move.state, 'confirmed', "Wrong state in 'To consume line' of manufacturing order.") + + # Check 'To consume line' with product D. + # --------------------------------------- + + move = self.StockMove.search([ + ('raw_material_production_id', '=', mnf_product_a.id), + ('product_id', '=', product_d.id)]) + + # Check total consume line with product D. + self.assertEqual(len(move), 1, 'Production lines are not generated proper.') + + # <><><><><><><><><><><><><><><><><><><><><><> + # Manufacturing order for product D (20 unit). + # <><><><><><><><><><><><><><><><><><><><><><> + + # FP Todo: find a better way to look for the production order + mnf_product_d = self.MrpProduction.search([('product_id', '=', product_d.id)], order='id desc', limit=1) + # Check state of production order D. + self.assertEqual(mnf_product_d.state, 'confirmed', 'Manufacturing order should be confirmed.') + + # Check 'To consume line' state, quantity, uom of production order (product D). + # ----------------------------------------------------------------------------- + + move = self.StockMove.search([('raw_material_production_id', '=', mnf_product_d.id), ('product_id', '=', product_c.id)]) + self.assertEqual(move.product_uom_qty, 20, "Wrong product quantity in 'To consume line' of manufacturing order.") + self.assertEqual(move.product_uom.id, self.uom_kg.id, "Wrong unit of measure in 'To consume line' of manufacturing order.") + self.assertEqual(move.state, 'confirmed', "Wrong state in 'To consume line' of manufacturing order.") + + # ------------------------------- + # Create inventory for product c. + # ------------------------------- + # Need 20 kg product c to produce 20 unit product D. + # -------------------------------------------------- + + inventory = self.Inventory.create({ + 'name': 'Inventory Product KG', + 'product_ids': [(4, product_c.id)]}) + + inventory.action_start() + self.assertFalse(inventory.line_ids, "Inventory line should not created.") + self.InventoryLine.create({ + 'inventory_id': inventory.id, + 'product_id': product_c.id, + 'product_uom_id': self.uom_kg.id, + 'product_qty': 20, + 'location_id': self.company_data['default_warehouse'].lot_stock_id.id}) + inventory.action_validate() + + # -------------------------------------------------- + # Assign product c to manufacturing order of product D. + # -------------------------------------------------- + + mnf_product_d.action_assign() + self.assertEqual(mnf_product_d.reservation_state, 'assigned', 'Availability should be assigned') + self.assertEqual(move.state, 'assigned', "Wrong state in 'To consume line' of manufacturing order.") + + # ------------------ + # produce product D. + # ------------------ + + mo_form = Form(mnf_product_d) + mo_form.qty_producing = 20 + mnf_product_d = mo_form.save() + mnf_product_d._post_inventory() + + # Check state of manufacturing order. + self.assertEqual(mnf_product_d.state, 'done', 'Manufacturing order should still be in progress state.') + # Check available quantity of product D. + self.assertEqual(product_d.qty_available, 20, 'Wrong quantity available of product D.') + + # ----------------------------------------------------------------- + # Check product D assigned or not to production order of product A. + # ----------------------------------------------------------------- + + self.assertEqual(mnf_product_a.state, 'confirmed', 'Manufacturing order should be confirmed.') + move = self.StockMove.search([('raw_material_production_id', '=', mnf_product_a.id), ('product_id', '=', product_d.id)]) + self.assertEqual(move.state, 'assigned', "Wrong state in 'To consume line' of manufacturing order.") + + # Create inventory for product C. + # ------------------------------ + # Need product C ( 20 kg + 6 kg + 1502.5 gm = 27.5025 kg) + # ------------------------------------------------------- + inventory = self.Inventory.create({ + 'name': 'Inventory Product C KG', + 'product_ids': [(4, product_c.id)]}) + + inventory.action_start() + self.assertFalse(inventory.line_ids, "Inventory line should not created.") + self.InventoryLine.create({ + 'inventory_id': inventory.id, + 'product_id': product_c.id, + 'product_uom_id': self.uom_kg.id, + 'product_qty': 27.5025, + 'location_id': self.company_data['default_warehouse'].lot_stock_id.id}) + inventory.action_validate() + + # Assign product to manufacturing order of product A. + # --------------------------------------------------- + + mnf_product_a.action_assign() + self.assertEqual(mnf_product_a.reservation_state, 'assigned', 'Manufacturing order inventory state should be available.') + moves = self.StockMove.search([('raw_material_production_id', '=', mnf_product_a.id), ('product_id', '=', product_c.id)]) + + # Check product c move line state. + for move in moves: + self.assertEqual(move.state, 'assigned', "Wrong state in 'To consume line' of manufacturing order.") + + # Produce product A. + # ------------------ + + mo_form = Form(mnf_product_a) + mo_form.qty_producing = mo_form.product_qty + mnf_product_a = mo_form.save() + mnf_product_a._post_inventory() + # Check state of manufacturing order product A. + self.assertEqual(mnf_product_a.state, 'done', 'Manufacturing order should still be in the progress state.') + # Check product A avaialble quantity should be 120. + self.assertEqual(product_a.qty_available, 120, 'Wrong quantity available of product A.') + + def test_01_sale_mrp_delivery_kit(self): + """ Test delivered quantity on SO based on delivered quantity in pickings.""" + # intial so + product = self.env['product.product'].create({ + 'name': 'Table Kit', + 'type': 'consu', + 'invoice_policy': 'delivery', + 'categ_id': self.env.ref('product.product_category_all').id, + }) + # Remove the MTO route as purchase is not installed and since the procurement removal the exception is directly raised + product.write({'route_ids': [(6, 0, [self.company_data['default_warehouse'].manufacture_pull_id.route_id.id])]}) + + product_wood_panel = self.env['product.product'].create({ + 'name': 'Wood Panel', + 'type': 'product', + }) + product_desk_bolt = self.env['product.product'].create({ + 'name': 'Bolt', + 'type': 'product', + }) + self.env['mrp.bom'].create({ + 'product_tmpl_id': product.product_tmpl_id.id, + 'product_uom_id': self.env.ref('uom.product_uom_unit').id, + 'sequence': 2, + 'type': 'phantom', + 'bom_line_ids': [ + (0, 0, { + 'product_id': product_wood_panel.id, + 'product_qty': 1, + 'product_uom_id': self.env.ref('uom.product_uom_unit').id, + }), (0, 0, { + 'product_id': product_desk_bolt.id, + 'product_qty': 4, + 'product_uom_id': self.env.ref('uom.product_uom_unit').id, + }) + ] + }) + + partner = self.env['res.partner'].create({'name': 'My Test Partner'}) + # if `delivery` module is installed, a default property is set for the carrier to use + # However this will lead to an extra line on the SO (the delivery line), which will force + # the SO to have a different flow (and `invoice_state` value) + if 'property_delivery_carrier_id' in partner: + partner.property_delivery_carrier_id = False + + f = Form(self.env['sale.order']) + f.partner_id = partner + with f.order_line.new() as line: + line.product_id = product + line.product_uom_qty = 5 + so = f.save() + + # confirm our standard so, check the picking + so.action_confirm() + self.assertTrue(so.picking_ids, 'Sale MRP: no picking created for "invoice on delivery" storable products') + + # invoice in on delivery, nothing should be invoiced + with self.assertRaises(UserError): + so._create_invoices() + self.assertEqual(so.invoice_status, 'no', 'Sale MRP: so invoice_status should be "nothing to invoice" after invoicing') + + # deliver partially (1 of each instead of 5), check the so's invoice_status and delivered quantities + pick = so.picking_ids + pick.move_lines.write({'quantity_done': 1}) + wiz_act = pick.button_validate() + wiz = Form(self.env[wiz_act['res_model']].with_context(wiz_act['context'])).save() + wiz.process() + self.assertEqual(so.invoice_status, 'no', 'Sale MRP: so invoice_status should be "no" after partial delivery of a kit') + del_qty = sum(sol.qty_delivered for sol in so.order_line) + self.assertEqual(del_qty, 0.0, 'Sale MRP: delivered quantity should be zero after partial delivery of a kit') + # deliver remaining products, check the so's invoice_status and delivered quantities + self.assertEqual(len(so.picking_ids), 2, 'Sale MRP: number of pickings should be 2') + pick_2 = so.picking_ids.filtered('backorder_id') + for move in pick_2.move_lines: + if move.product_id.id == product_desk_bolt.id: + move.write({'quantity_done': 19}) + else: + move.write({'quantity_done': 4}) + pick_2.button_validate() + + del_qty = sum(sol.qty_delivered for sol in so.order_line) + self.assertEqual(del_qty, 5.0, 'Sale MRP: delivered quantity should be 5.0 after complete delivery of a kit') + self.assertEqual(so.invoice_status, 'to invoice', 'Sale MRP: so invoice_status should be "to invoice" after complete delivery of a kit') + + def test_02_sale_mrp_anglo_saxon(self): + """Test the price unit of a kit""" + # This test will check that the correct journal entries are created when a stockable product in real time valuation + # and in fifo cost method is sold in a company using anglo-saxon. + # For this test, let's consider a product category called Test category in real-time valuation and real price costing method + # Let's also consider a finished product with a bom with two components: component1(cost = 20) and component2(cost = 10) + # These products are in the Test category + # The bom consists of 2 component1 and 1 component2 + # The invoice policy of the finished product is based on delivered quantities + self.env.company.currency_id = self.env.ref('base.USD') + self.uom_unit = self.UoM.create({ + 'name': 'Test-Unit', + 'category_id': self.categ_unit.id, + 'factor': 1, + 'uom_type': 'bigger', + 'rounding': 1.0}) + self.company = self.company_data['company'] + self.company.anglo_saxon_accounting = True + self.partner = self.env['res.partner'].create({'name': 'My Test Partner'}) + self.category = self.env.ref('product.product_category_1').copy({'name': 'Test category','property_valuation': 'real_time', 'property_cost_method': 'fifo'}) + account_type = self.env['account.account.type'].create({'name': 'RCV type', 'type': 'other', 'internal_group': 'asset'}) + self.account_receiv = self.env['account.account'].create({'name': 'Receivable', 'code': 'RCV00' , 'user_type_id': account_type.id, 'reconcile': True}) + account_expense = self.env['account.account'].create({'name': 'Expense', 'code': 'EXP00' , 'user_type_id': account_type.id, 'reconcile': True}) + account_output = self.env['account.account'].create({'name': 'Output', 'code': 'OUT00' , 'user_type_id': account_type.id, 'reconcile': True}) + account_valuation = self.env['account.account'].create({'name': 'Valuation', 'code': 'STV00' , 'user_type_id': account_type.id, 'reconcile': True}) + self.partner.property_account_receivable_id = self.account_receiv + self.category.property_account_income_categ_id = self.account_receiv + self.category.property_account_expense_categ_id = account_expense + self.category.property_stock_account_input_categ_id = self.account_receiv + self.category.property_stock_account_output_categ_id = account_output + self.category.property_stock_valuation_account_id = account_valuation + self.category.property_stock_journal = self.env['account.journal'].create({'name': 'Stock journal', 'type': 'sale', 'code': 'STK00'}) + + Product = self.env['product.product'] + self.finished_product = Product.create({ + 'name': 'Finished product', + 'type': 'product', + 'uom_id': self.uom_unit.id, + 'invoice_policy': 'delivery', + 'categ_id': self.category.id}) + self.component1 = Product.create({ + 'name': 'Component 1', + 'type': 'product', + 'uom_id': self.uom_unit.id, + 'categ_id': self.category.id, + 'standard_price': 20}) + self.component2 = Product.create({ + 'name': 'Component 2', + 'type': 'product', + 'uom_id': self.uom_unit.id, + 'categ_id': self.category.id, + 'standard_price': 10}) + + # Create quants with sudo to avoid: + # "You are not allowed to create 'Quants' (stock.quant) records. No group currently allows this operation." + self.env['stock.quant'].sudo().create({ + 'product_id': self.component1.id, + 'location_id': self.company_data['default_warehouse'].lot_stock_id.id, + 'quantity': 6.0, + }) + self.env['stock.quant'].sudo().create({ + 'product_id': self.component2.id, + 'location_id': self.company_data['default_warehouse'].lot_stock_id.id, + 'quantity': 3.0, + }) + self.bom = self.env['mrp.bom'].create({ + 'product_tmpl_id': self.finished_product.product_tmpl_id.id, + 'product_qty': 1.0, + 'type': 'phantom'}) + BomLine = self.env['mrp.bom.line'] + BomLine.create({ + 'product_id': self.component1.id, + 'product_qty': 2.0, + 'bom_id': self.bom.id}) + BomLine.create({ + 'product_id': self.component2.id, + 'product_qty': 1.0, + 'bom_id': self.bom.id}) + + # Create a SO for a specific partner for three units of the finished product + so_vals = { + 'partner_id': self.partner.id, + 'partner_invoice_id': self.partner.id, + 'partner_shipping_id': self.partner.id, + 'order_line': [(0, 0, { + 'name': self.finished_product.name, + 'product_id': self.finished_product.id, + 'product_uom_qty': 3, + 'product_uom': self.finished_product.uom_id.id, + 'price_unit': self.finished_product.list_price + })], + 'pricelist_id': self.env.ref('product.list0').id, + 'company_id': self.company.id, + } + self.so = self.env['sale.order'].create(so_vals) + # Validate the SO + self.so.action_confirm() + # Deliver the three finished products + pick = self.so.picking_ids + # To check the products on the picking + self.assertEqual(pick.move_lines.mapped('product_id'), self.component1 | self.component2) + wiz_act = pick.button_validate() + wiz = Form(self.env[wiz_act['res_model']].with_context(wiz_act['context'])).save() + wiz.process() + # Create the invoice + self.so._create_invoices() + self.invoice = self.so.invoice_ids + # Changed the invoiced quantity of the finished product to 2 + move_form = Form(self.invoice) + with move_form.invoice_line_ids.edit(0) as line_form: + line_form.quantity = 2.0 + self.invoice = move_form.save() + self.invoice.action_post() + aml = self.invoice.line_ids + aml_expense = aml.filtered(lambda l: l.is_anglo_saxon_line and l.debit > 0) + aml_output = aml.filtered(lambda l: l.is_anglo_saxon_line and l.credit > 0) + # Check that the cost of Good Sold entries are equal to 2* (2 * 20 + 1 * 10) = 100 + self.assertEqual(aml_expense.debit, 100, "Cost of Good Sold entry missing or mismatching") + self.assertEqual(aml_output.credit, 100, "Cost of Good Sold entry missing or mismatching") + + def test_03_sale_mrp_simple_kit_qty_delivered(self): + """ Test that the quantities delivered are correct when + a simple kit is ordered with multiple backorders + """ + + # kit_1 structure: + # ================ + + # kit_1 ---|- component_a x2 + # |- component_b x1 + # |- component_c x3 + + # Updating the quantities in stock to prevent + # a 'Not enough inventory' warning message. + stock_location = self.company_data['default_warehouse'].lot_stock_id + self.env['stock.quant']._update_available_quantity(self.component_a, stock_location, 20) + self.env['stock.quant']._update_available_quantity(self.component_b, stock_location, 10) + self.env['stock.quant']._update_available_quantity(self.component_c, stock_location, 30) + + # Creation of a sale order for x10 kit_1 + partner = self.env['res.partner'].create({'name': 'My Test Partner'}) + f = Form(self.env['sale.order']) + f.partner_id = partner + with f.order_line.new() as line: + line.product_id = self.kit_1 + line.product_uom_qty = 10.0 + + # Confirming the SO to trigger the picking creation + so = f.save() + so.action_confirm() + + # Check picking creation + self.assertEqual(len(so.picking_ids), 1) + picking_original = so.picking_ids[0] + move_lines = picking_original.move_lines + + # Check if the correct amount of stock.moves are created + self.assertEqual(len(move_lines), 3) + + # Check if BoM is created and is for a 'Kit' + bom_from_k1 = self.env['mrp.bom']._bom_find(product=self.kit_1) + self.assertEqual(self.bom_kit_1.id, bom_from_k1.id) + self.assertEqual(bom_from_k1.type, 'phantom') + + # Check there's only 1 order line on the SO and it's for x10 'kit_1' + order_lines = so.order_line + self.assertEqual(len(order_lines), 1) + order_line = order_lines[0] + self.assertEqual(order_line.product_id.id, self.kit_1.id) + self.assertEqual(order_line.product_uom_qty, 10.0) + + # Check if correct qty is ordered for each component of the kit + expected_quantities = { + self.component_a: 20, + self.component_b: 10, + self.component_c: 30, + } + self._assert_quantities(move_lines, expected_quantities) + + # Process only x1 of the first component then create a backorder for the missing components + picking_original.move_lines.sorted()[0].write({'quantity_done': 1}) + + wiz_act = so.picking_ids[0].button_validate() + wiz = Form(self.env[wiz_act['res_model']].with_context(wiz_act['context'])).save().process() + + # Check that the backorder was created, no kit should be delivered at this point + self.assertEqual(len(so.picking_ids), 2) + backorder_1 = so.picking_ids - picking_original + self.assertEqual(backorder_1.backorder_id.id, picking_original.id) + self.assertEqual(order_line.qty_delivered, 0) + + # Process only x6 each componenent in the picking + # Then create a backorder for the missing components + backorder_1.move_lines.write({'quantity_done': 6}) + wiz_act = backorder_1.button_validate() + wiz = Form(self.env[wiz_act['res_model']].with_context(wiz_act['context'])).save().process() + + # Check that a backorder is created + self.assertEqual(len(so.picking_ids), 3) + backorder_2 = so.picking_ids - picking_original - backorder_1 + self.assertEqual(backorder_2.backorder_id.id, backorder_1.id) + + # With x6 unit of each components, we can only make 2 kits. + # So only 2 kits should be delivered + self.assertEqual(order_line.qty_delivered, 2) + + # Process x3 more unit of each components : + # - Now only 3 kits should be delivered + # - A backorder will be created, the SO should have 3 picking_ids linked to it. + backorder_2.move_lines.write({'quantity_done': 3}) + + wiz_act = backorder_2.button_validate() + wiz = Form(self.env[wiz_act['res_model']].with_context(wiz_act['context'])).save().process() + + self.assertEqual(len(so.picking_ids), 4) + backorder_3 = so.picking_ids - picking_original - backorder_2 - backorder_1 + self.assertEqual(backorder_3.backorder_id.id, backorder_2.id) + self.assertEqual(order_line.qty_delivered, 3) + + # Adding missing components + qty_to_process = { + self.component_a: 10, + self.component_b: 1, + self.component_c: 21, + } + self._process_quantities(backorder_3.move_lines, qty_to_process) + + # Validating the last backorder now it's complete + backorder_3.button_validate() + order_line._compute_qty_delivered() + + # All kits should be delivered + self.assertEqual(order_line.qty_delivered, 10) + + def test_04_sale_mrp_kit_qty_delivered(self): + """ Test that the quantities delivered are correct when + a kit with subkits is ordered with multiple backorders and returns + """ + + # 'kit_parent' structure: + # --------------------------- + # + # kit_parent --|- kit_2 x2 --|- component_d x1 + # | |- kit_1 x2 -------|- component_a x2 + # | |- component_b x1 + # | |- component_c x3 + # | + # |- kit_3 x1 --|- component_f x1 + # | |- component_g x2 + # | + # |- component_e x1 + + # Updating the quantities in stock to prevent + # a 'Not enough inventory' warning message. + stock_location = self.company_data['default_warehouse'].lot_stock_id + self.env['stock.quant']._update_available_quantity(self.component_a, stock_location, 56) + self.env['stock.quant']._update_available_quantity(self.component_b, stock_location, 28) + self.env['stock.quant']._update_available_quantity(self.component_c, stock_location, 84) + self.env['stock.quant']._update_available_quantity(self.component_d, stock_location, 14) + self.env['stock.quant']._update_available_quantity(self.component_e, stock_location, 7) + self.env['stock.quant']._update_available_quantity(self.component_f, stock_location, 14) + self.env['stock.quant']._update_available_quantity(self.component_g, stock_location, 28) + + # Creation of a sale order for x7 kit_parent + partner = self.env['res.partner'].create({'name': 'My Test Partner'}) + f = Form(self.env['sale.order']) + f.partner_id = partner + with f.order_line.new() as line: + line.product_id = self.kit_parent + line.product_uom_qty = 7.0 + + so = f.save() + so.action_confirm() + + # Check picking creation, its move lines should concern + # only components. Also checks that the quantities are corresponding + # to the SO + self.assertEqual(len(so.picking_ids), 1) + order_line = so.order_line[0] + picking_original = so.picking_ids[0] + move_lines = picking_original.move_lines + products = move_lines.mapped('product_id') + kits = [self.kit_parent, self.kit_3, self.kit_2, self.kit_1] + components = [self.component_a, self.component_b, self.component_c, self.component_d, self.component_e, self.component_f, self.component_g] + expected_quantities = { + self.component_a: 56.0, + self.component_b: 28.0, + self.component_c: 84.0, + self.component_d: 14.0, + self.component_e: 7.0, + self.component_f: 14.0, + self.component_g: 28.0 + } + + self.assertEqual(len(move_lines), 7) + self.assertTrue(not any(kit in products for kit in kits)) + self.assertTrue(all(component in products for component in components)) + self._assert_quantities(move_lines, expected_quantities) + + # Process only 7 units of each component + qty_to_process = 7 + move_lines.write({'quantity_done': qty_to_process}) + + # Create a backorder for the missing componenents + wiz_act = picking_original.button_validate() + wiz = Form(self.env[wiz_act['res_model']].with_context(wiz_act['context'])).save().process() + + # Check that a backorded is created + self.assertEqual(len(so.picking_ids), 2) + backorder_1 = so.picking_ids - picking_original + self.assertEqual(backorder_1.backorder_id.id, picking_original.id) + + # Even if some components are delivered completely, + # no KitParent should be delivered + self.assertEqual(order_line.qty_delivered, 0) + + # Process just enough components to make 1 kit_parent + qty_to_process = { + self.component_a: 1, + self.component_c: 5, + } + self._process_quantities(backorder_1.move_lines, qty_to_process) + + # Create a backorder for the missing componenents + wiz_act = backorder_1.button_validate() + wiz = Form(self.env[wiz_act['res_model']].with_context(wiz_act['context'])).save().process() + + # Only 1 kit_parent should be delivered at this point + self.assertEqual(order_line.qty_delivered, 1) + + # Check that the second backorder is created + self.assertEqual(len(so.picking_ids), 3) + backorder_2 = so.picking_ids - picking_original - backorder_1 + self.assertEqual(backorder_2.backorder_id.id, backorder_1.id) + + # Set the components quantities that backorder_2 should have + expected_quantities = { + self.component_a: 48, + self.component_b: 21, + self.component_c: 72, + self.component_d: 7, + self.component_f: 7, + self.component_g: 21 + } + + # Check that the computed quantities are matching the theorical ones. + # Since component_e was totally processed, this componenent shouldn't be + # present in backorder_2 + self.assertEqual(len(backorder_2.move_lines), 6) + move_comp_e = backorder_2.move_lines.filtered(lambda m: m.product_id.id == self.component_e.id) + self.assertFalse(move_comp_e) + self._assert_quantities(backorder_2.move_lines, expected_quantities) + + # Process enough components to make x3 kit_parents + qty_to_process = { + self.component_a: 16, + self.component_b: 5, + self.component_c: 24, + self.component_g: 5 + } + self._process_quantities(backorder_2.move_lines, qty_to_process) + + # Create a backorder for the missing componenents + wiz_act = backorder_2.button_validate() + wiz = Form(self.env[wiz_act['res_model']].with_context(wiz_act['context'])).save().process() + + # Check that x3 kit_parents are indeed delivered + self.assertEqual(order_line.qty_delivered, 3) + + # Check that the third backorder is created + self.assertEqual(len(so.picking_ids), 4) + backorder_3 = so.picking_ids - (picking_original + backorder_1 + backorder_2) + self.assertEqual(backorder_3.backorder_id.id, backorder_2.id) + + # Check the components quantities that backorder_3 should have + expected_quantities = { + self.component_a: 32, + self.component_b: 16, + self.component_c: 48, + self.component_d: 7, + self.component_f: 7, + self.component_g: 16 + } + self._assert_quantities(backorder_3.move_lines, expected_quantities) + + # Process all missing components + self._process_quantities(backorder_3.move_lines, expected_quantities) + + # Validating the last backorder now it's complete. + # All kits should be delivered + backorder_3.button_validate() + self.assertEqual(order_line.qty_delivered, 7.0) + + # Return all components processed by backorder_3 + stock_return_picking_form = Form(self.env['stock.return.picking'] + .with_context(active_ids=backorder_3.ids, active_id=backorder_3.ids[0], + active_model='stock.picking')) + return_wiz = stock_return_picking_form.save() + for return_move in return_wiz.product_return_moves: + return_move.write({ + 'quantity': expected_quantities[return_move.product_id], + 'to_refund': True + }) + res = return_wiz.create_returns() + return_pick = self.env['stock.picking'].browse(res['res_id']) + + # Process all components and validate the picking + wiz_act = return_pick.button_validate() + wiz = Form(self.env[wiz_act['res_model']].with_context(wiz_act['context'])).save() + wiz.process() + + # Now quantity delivered should be 3 again + self.assertEqual(order_line.qty_delivered, 3) + + stock_return_picking_form = Form(self.env['stock.return.picking'] + .with_context(active_ids=return_pick.ids, active_id=return_pick.ids[0], + active_model='stock.picking')) + return_wiz = stock_return_picking_form.save() + for move in return_wiz.product_return_moves: + move.quantity = expected_quantities[move.product_id] + res = return_wiz.create_returns() + return_of_return_pick = self.env['stock.picking'].browse(res['res_id']) + + # Process all components except one of each + for move in return_of_return_pick.move_lines: + move.write({ + 'quantity_done': expected_quantities[move.product_id] - 1, + 'to_refund': True + }) + + wiz_act = return_of_return_pick.button_validate() + Form(self.env[wiz_act['res_model']].with_context(wiz_act['context'])).save().process() + + # As one of each component is missing, only 6 kit_parents should be delivered + self.assertEqual(order_line.qty_delivered, 6) + + # Check that the 4th backorder is created. + self.assertEqual(len(so.picking_ids), 7) + backorder_4 = so.picking_ids - (picking_original + backorder_1 + backorder_2 + backorder_3 + return_of_return_pick + return_pick) + self.assertEqual(backorder_4.backorder_id.id, return_of_return_pick.id) + + # Check the components quantities that backorder_4 should have + for move in backorder_4.move_lines: + self.assertEqual(move.product_qty, 1) + + @mute_logger('odoo.tests.common.onchange') + def test_05_mrp_sale_kit_availability(self): + """ + Check that the 'Not enough inventory' warning message shows correct + informations when a kit is ordered + """ + + warehouse_1 = self.env['stock.warehouse'].create({ + 'name': 'Warehouse 1', + 'code': 'WH1' + }) + warehouse_2 = self.env['stock.warehouse'].create({ + 'name': 'Warehouse 2', + 'code': 'WH2' + }) + + # Those are all componenents needed to make kit_parents + components = [self.component_a, self.component_b, self.component_c, self.component_d, self.component_e, + self.component_f, self.component_g] + + # Set enough quantities to make 1 kit_uom_in_kit in WH1 + self.env['stock.quant']._update_available_quantity(self.component_a, warehouse_1.lot_stock_id, 8) + self.env['stock.quant']._update_available_quantity(self.component_b, warehouse_1.lot_stock_id, 4) + self.env['stock.quant']._update_available_quantity(self.component_c, warehouse_1.lot_stock_id, 12) + self.env['stock.quant']._update_available_quantity(self.component_d, warehouse_1.lot_stock_id, 2) + self.env['stock.quant']._update_available_quantity(self.component_e, warehouse_1.lot_stock_id, 1) + self.env['stock.quant']._update_available_quantity(self.component_f, warehouse_1.lot_stock_id, 2) + self.env['stock.quant']._update_available_quantity(self.component_g, warehouse_1.lot_stock_id, 4) + + # Set quantities on WH2, but not enough to make 1 kit_parent + self.env['stock.quant']._update_available_quantity(self.component_a, warehouse_2.lot_stock_id, 7) + self.env['stock.quant']._update_available_quantity(self.component_b, warehouse_2.lot_stock_id, 3) + self.env['stock.quant']._update_available_quantity(self.component_c, warehouse_2.lot_stock_id, 12) + self.env['stock.quant']._update_available_quantity(self.component_d, warehouse_2.lot_stock_id, 1) + self.env['stock.quant']._update_available_quantity(self.component_e, warehouse_2.lot_stock_id, 1) + self.env['stock.quant']._update_available_quantity(self.component_f, warehouse_2.lot_stock_id, 1) + self.env['stock.quant']._update_available_quantity(self.component_g, warehouse_2.lot_stock_id, 4) + + # Creation of a sale order for x7 kit_parent + qty_ordered = 7 + f = Form(self.env['sale.order']) + f.partner_id = self.env['res.partner'].create({'name': 'My Test Partner'}) + f.warehouse_id = warehouse_2 + with f.order_line.new() as line: + line.product_id = self.kit_parent + line.product_uom_qty = qty_ordered + so = f.save() + order_line = so.order_line[0] + + # Check that not enough enough quantities are available in the warehouse set in the SO + # but there are enough quantities in Warehouse 1 for 1 kit_parent + kit_parent_wh_order = self.kit_parent.with_context(warehouse=so.warehouse_id.id) + + # Check that not enough enough quantities are available in the warehouse set in the SO + # but there are enough quantities in Warehouse 1 for 1 kit_parent + self.assertEqual(kit_parent_wh_order.virtual_available, 0) + kit_parent_wh_order.invalidate_cache() + kit_parent_wh1 = self.kit_parent.with_context(warehouse=warehouse_1.id) + self.assertEqual(kit_parent_wh1.virtual_available, 1) + + # Check there arn't enough quantities available for the sale order + self.assertTrue(float_compare(order_line.virtual_available_at_date - order_line.product_uom_qty, 0, precision_rounding=line.product_uom.rounding) == -1) + + # We receive enoug of each component in Warehouse 2 to make 3 kit_parent + qty_to_process = { + self.component_a: (17, self.uom_unit), + self.component_b: (12, self.uom_unit), + self.component_c: (25, self.uom_unit), + self.component_d: (5, self.uom_unit), + self.component_e: (2, self.uom_unit), + self.component_f: (5, self.uom_unit), + self.component_g: (8, self.uom_unit), + } + self._create_move_quantities(qty_to_process, components, warehouse_2) + + # As 'Warehouse 2' is the warehouse linked to the SO, 3 kits should be available + # But the quantity available in Warehouse 1 should stay 1 + kit_parent_wh_order = self.kit_parent.with_context(warehouse=so.warehouse_id.id) + self.assertEqual(kit_parent_wh_order.virtual_available, 3) + kit_parent_wh_order.invalidate_cache() + kit_parent_wh1 = self.kit_parent.with_context(warehouse=warehouse_1.id) + self.assertEqual(kit_parent_wh1.virtual_available, 1) + + # Check there arn't enough quantities available for the sale order + self.assertTrue(float_compare(order_line.virtual_available_at_date - order_line.product_uom_qty, 0, precision_rounding=line.product_uom.rounding) == -1) + + # We receive enough of each component in Warehouse 2 to make 7 kit_parent + qty_to_process = { + self.component_a: (32, self.uom_unit), + self.component_b: (16, self.uom_unit), + self.component_c: (48, self.uom_unit), + self.component_d: (8, self.uom_unit), + self.component_e: (4, self.uom_unit), + self.component_f: (8, self.uom_unit), + self.component_g: (16, self.uom_unit), + } + self._create_move_quantities(qty_to_process, components, warehouse_2) + + # Enough quantities should be available, no warning message should be displayed + kit_parent_wh_order = self.kit_parent.with_context(warehouse=so.warehouse_id.id) + self.assertEqual(kit_parent_wh_order.virtual_available, 7) + + def test_06_kit_qty_delivered_mixed_uom(self): + """ + Check that the quantities delivered are correct when a kit involves + multiple UoMs on its components + """ + # Create some components + component_uom_unit = self._create_product('Comp Unit', self.uom_unit) + component_uom_dozen = self._create_product('Comp Dozen', self.uom_dozen) + component_uom_kg = self._create_product('Comp Kg', self.uom_kg) + + # Create a kit 'kit_uom_1' : + # ----------------------- + # + # kit_uom_1 --|- component_uom_unit x2 Test-Dozen + # |- component_uom_dozen x1 Test-Dozen + # |- component_uom_kg x3 Test-G + + kit_uom_1 = self._create_product('Kit 1', self.uom_unit) + + bom_kit_uom_1 = self.env['mrp.bom'].create({ + 'product_tmpl_id': kit_uom_1.product_tmpl_id.id, + 'product_qty': 1.0, + 'type': 'phantom'}) + + BomLine = self.env['mrp.bom.line'] + BomLine.create({ + 'product_id': component_uom_unit.id, + 'product_qty': 2.0, + 'product_uom_id': self.uom_dozen.id, + 'bom_id': bom_kit_uom_1.id}) + BomLine.create({ + 'product_id': component_uom_dozen.id, + 'product_qty': 1.0, + 'product_uom_id': self.uom_dozen.id, + 'bom_id': bom_kit_uom_1.id}) + BomLine.create({ + 'product_id': component_uom_kg.id, + 'product_qty': 3.0, + 'product_uom_id': self.uom_gm.id, + 'bom_id': bom_kit_uom_1.id}) + + # Updating the quantities in stock to prevent + # a 'Not enough inventory' warning message. + stock_location = self.company_data['default_warehouse'].lot_stock_id + self.env['stock.quant']._update_available_quantity(component_uom_unit, stock_location, 240) + self.env['stock.quant']._update_available_quantity(component_uom_dozen, stock_location, 10) + self.env['stock.quant']._update_available_quantity(component_uom_kg, stock_location, 0.03) + + # Creation of a sale order for x10 kit_1 + partner = self.env['res.partner'].create({'name': 'My Test Partner'}) + f = Form(self.env['sale.order']) + f.partner_id = partner + with f.order_line.new() as line: + line.product_id = kit_uom_1 + line.product_uom_qty = 10.0 + + so = f.save() + so.action_confirm() + + picking_original = so.picking_ids[0] + move_lines = picking_original.move_lines + order_line = so.order_line[0] + + # Check that the quantities on the picking are the one expected for each components + for ml in move_lines: + corr_bom_line = bom_kit_uom_1.bom_line_ids.filtered(lambda b: b.product_id.id == ml.product_id.id) + computed_qty = ml.product_uom._compute_quantity(ml.product_uom_qty, corr_bom_line.product_uom_id) + self.assertEqual(computed_qty, order_line.product_uom_qty * corr_bom_line.product_qty) + + # Processe enough componenents in the picking to make 2 kit_uom_1 + # Then create a backorder for the missing components + qty_to_process = { + component_uom_unit: 48, + component_uom_dozen: 3, + component_uom_kg: 0.006 + } + self._process_quantities(move_lines, qty_to_process) + res = move_lines.picking_id.button_validate() + Form(self.env[res['res_model']].with_context(res['context'])).save().process() + + # Check that a backorder is created + self.assertEqual(len(so.picking_ids), 2) + backorder_1 = so.picking_ids - picking_original + self.assertEqual(backorder_1.backorder_id.id, picking_original.id) + + # Only 2 kits should be delivered + self.assertEqual(order_line.qty_delivered, 2) + + # Adding missing components + qty_to_process = { + component_uom_unit: 192, + component_uom_dozen: 7, + component_uom_kg: 0.024 + } + self._process_quantities(backorder_1.move_lines, qty_to_process) + + # Validating the last backorder now it's complete + backorder_1.button_validate() + order_line._compute_qty_delivered() + # All kits should be delivered + self.assertEqual(order_line.qty_delivered, 10) + + @mute_logger('odoo.tests.common.onchange') + def test_07_kit_availability_mixed_uom(self): + """ + Check that the 'Not enough inventory' warning message displays correct + informations when a kit with multiple UoMs on its components is ordered + """ + + # Create some components + component_uom_unit = self._create_product('Comp Unit', self.uom_unit) + component_uom_dozen = self._create_product('Comp Dozen', self.uom_dozen) + component_uom_kg = self._create_product('Comp Kg', self.uom_kg) + component_uom_gm = self._create_product('Comp g', self.uom_gm) + components = [component_uom_unit, component_uom_dozen, component_uom_kg, component_uom_gm] + + # Create a kit 'kit_uom_in_kit' : + # ----------------------- + # kit_uom_in_kit --|- component_uom_gm x3 Test-KG + # |- kit_uom_1 x2 Test-Dozen --|- component_uom_unit x2 Test-Dozen + # |- component_uom_dozen x1 Test-Dozen + # |- component_uom_kg x5 Test-G + + kit_uom_1 = self._create_product('Sub Kit 1', self.uom_unit) + kit_uom_in_kit = self._create_product('Parent Kit', self.uom_unit) + + bom_kit_uom_1 = self.env['mrp.bom'].create({ + 'product_tmpl_id': kit_uom_1.product_tmpl_id.id, + 'product_qty': 1.0, + 'type': 'phantom'}) + + BomLine = self.env['mrp.bom.line'] + BomLine.create({ + 'product_id': component_uom_unit.id, + 'product_qty': 2.0, + 'product_uom_id': self.uom_dozen.id, + 'bom_id': bom_kit_uom_1.id}) + BomLine.create({ + 'product_id': component_uom_dozen.id, + 'product_qty': 1.0, + 'product_uom_id': self.uom_dozen.id, + 'bom_id': bom_kit_uom_1.id}) + BomLine.create({ + 'product_id': component_uom_kg.id, + 'product_qty': 5.0, + 'product_uom_id': self.uom_gm.id, + 'bom_id': bom_kit_uom_1.id}) + + bom_kit_uom_in_kit = self.env['mrp.bom'].create({ + 'product_tmpl_id': kit_uom_in_kit.product_tmpl_id.id, + 'product_qty': 1.0, + 'type': 'phantom'}) + + BomLine.create({ + 'product_id': component_uom_gm.id, + 'product_qty': 3.0, + 'product_uom_id': self.uom_kg.id, + 'bom_id': bom_kit_uom_in_kit.id}) + BomLine.create({ + 'product_id': kit_uom_1.id, + 'product_qty': 2.0, + 'product_uom_id': self.uom_dozen.id, + 'bom_id': bom_kit_uom_in_kit.id}) + + # Create a simple warehouse to receives some products + warehouse_1 = self.env['stock.warehouse'].create({ + 'name': 'Warehouse 1', + 'code': 'WH1' + }) + + # Set enough quantities to make 1 kit_uom_in_kit in WH1 + self.env['stock.quant']._update_available_quantity(component_uom_unit, warehouse_1.lot_stock_id, 576) + self.env['stock.quant']._update_available_quantity(component_uom_dozen, warehouse_1.lot_stock_id, 24) + self.env['stock.quant']._update_available_quantity(component_uom_kg, warehouse_1.lot_stock_id, 0.12) + self.env['stock.quant']._update_available_quantity(component_uom_gm, warehouse_1.lot_stock_id, 3000) + + # Creation of a sale order for x5 kit_uom_in_kit + qty_ordered = 5 + f = Form(self.env['sale.order']) + f.partner_id = self.env['res.partner'].create({'name': 'My Test Partner'}) + f.warehouse_id = warehouse_1 + with f.order_line.new() as line: + line.product_id = kit_uom_in_kit + line.product_uom_qty = qty_ordered + + so = f.save() + order_line = so.order_line[0] + + # Check that not enough enough quantities are available in the warehouse set in the SO + # but there are enough quantities in Warehouse 1 for 1 kit_parent + kit_uom_in_kit.with_context(warehouse=warehouse_1.id)._compute_quantities() + virtual_available_wh_order = kit_uom_in_kit.virtual_available + self.assertEqual(virtual_available_wh_order, 1) + + # Check there arn't enough quantities available for the sale order + self.assertTrue(float_compare(order_line.virtual_available_at_date - order_line.product_uom_qty, 0, precision_rounding=line.product_uom.rounding) == -1) + + # We receive enough of each component in Warehouse 1 to make 3 kit_uom_in_kit. + # Moves are created instead of only updating the quant quantities in order to trigger every compute fields. + qty_to_process = { + component_uom_unit: (1152, self.uom_unit), + component_uom_dozen: (48, self.uom_dozen), + component_uom_kg: (0.24, self.uom_kg), + component_uom_gm: (6000, self.uom_gm) + } + self._create_move_quantities(qty_to_process, components, warehouse_1) + + # Check there arn't enough quantities available for the sale order + self.assertTrue(float_compare(order_line.virtual_available_at_date - order_line.product_uom_qty, 0, precision_rounding=line.product_uom.rounding) == -1) + kit_uom_in_kit.with_context(warehouse=warehouse_1.id)._compute_quantities() + virtual_available_wh_order = kit_uom_in_kit.virtual_available + self.assertEqual(virtual_available_wh_order, 3) + + # We process enough quantities to have enough kit_uom_in_kit available for the sale order. + self._create_move_quantities(qty_to_process, components, warehouse_1) + + # We check that enough quantities were processed to sell 5 kit_uom_in_kit + kit_uom_in_kit.with_context(warehouse=warehouse_1.id)._compute_quantities() + self.assertEqual(kit_uom_in_kit.virtual_available, 5) + + def test_10_sale_mrp_kits_routes(self): + + # Create a kit 'kit_1' : + # ----------------------- + # + # kit_1 --|- component_shelf1 x3 + # |- component_shelf2 x2 + + stock_location_components = self.env['stock.location'].create({ + 'name': 'Shelf 1', + 'location_id': self.company_data['default_warehouse'].lot_stock_id.id, + }) + stock_location_14 = self.env['stock.location'].create({ + 'name': 'Shelf 2', + 'location_id': self.company_data['default_warehouse'].lot_stock_id.id, + }) + + kit_1 = self._create_product('Kit1', self.uom_unit) + component_shelf1 = self._create_product('Comp Shelf1', self.uom_unit) + component_shelf2 = self._create_product('Comp Shelf2', self.uom_unit) + + with Form(self.env['mrp.bom']) as bom: + bom.product_tmpl_id = kit_1.product_tmpl_id + bom.product_qty = 1 + bom.product_uom_id = self.uom_unit + bom.type = 'phantom' + with bom.bom_line_ids.new() as line: + line.product_id = component_shelf1 + line.product_qty = 3 + line.product_uom_id = self.uom_unit + with bom.bom_line_ids.new() as line: + line.product_id = component_shelf2 + line.product_qty = 2 + line.product_uom_id = self.uom_unit + + # Creating 2 specific routes for each of the components of the kit + route_shelf1 = self.env['stock.location.route'].create({ + 'name': 'Shelf1 -> Customer', + 'product_selectable': True, + 'rule_ids': [(0, 0, { + 'name': 'Shelf1 -> Customer', + 'action': 'pull', + 'picking_type_id': self.company_data['default_warehouse'].in_type_id.id, + 'location_src_id': stock_location_components.id, + 'location_id': self.ref('stock.stock_location_customers'), + })], + }) + + route_shelf2 = self.env['stock.location.route'].create({ + 'name': 'Shelf2 -> Customer', + 'product_selectable': True, + 'rule_ids': [(0, 0, { + 'name': 'Shelf2 -> Customer', + 'action': 'pull', + 'picking_type_id': self.company_data['default_warehouse'].in_type_id.id, + 'location_src_id': stock_location_14.id, + 'location_id': self.ref('stock.stock_location_customers'), + })], + }) + + component_shelf1.write({ + 'route_ids': [(4, route_shelf1.id)]}) + component_shelf2.write({ + 'route_ids': [(4, route_shelf2.id)]}) + + # Set enough quantities to make 1 kit_uom_in_kit in WH1 + self.env['stock.quant']._update_available_quantity(component_shelf1, self.company_data['default_warehouse'].lot_stock_id, 15) + self.env['stock.quant']._update_available_quantity(component_shelf2, self.company_data['default_warehouse'].lot_stock_id, 10) + + # Creating a sale order for 5 kits and confirming it + order_form = Form(self.env['sale.order']) + order_form.partner_id = self.env['res.partner'].create({'name': 'My Test Partner'}) + with order_form.order_line.new() as line: + line.product_id = kit_1 + line.product_uom = self.uom_unit + line.product_uom_qty = 5 + order = order_form.save() + order.action_confirm() + + # Now we check that the routes of the components were applied, in order to make sure the routes set + # on the kit itself are ignored + self.assertEqual(len(order.picking_ids), 2) + self.assertEqual(len(order.picking_ids[0].move_lines), 1) + self.assertEqual(len(order.picking_ids[1].move_lines), 1) + moves = order.picking_ids.mapped('move_lines') + move_shelf1 = moves.filtered(lambda m: m.product_id == component_shelf1) + move_shelf2 = moves.filtered(lambda m: m.product_id == component_shelf2) + self.assertEqual(move_shelf1.location_id.id, stock_location_components.id) + self.assertEqual(move_shelf1.location_dest_id.id, self.ref('stock.stock_location_customers')) + self.assertEqual(move_shelf2.location_id.id, stock_location_14.id) + self.assertEqual(move_shelf2.location_dest_id.id, self.ref('stock.stock_location_customers')) + + def test_11_sale_mrp_explode_kits_uom_quantities(self): + + # Create a kit 'kit_1' : + # ----------------------- + # + # 2x Dozens kit_1 --|- component_unit x6 Units + # |- component_kg x7 Kg + + kit_1 = self._create_product('Kit1', self.uom_unit) + component_unit = self._create_product('Comp Unit', self.uom_unit) + component_kg = self._create_product('Comp Kg', self.uom_kg) + + with Form(self.env['mrp.bom']) as bom: + bom.product_tmpl_id = kit_1.product_tmpl_id + bom.product_qty = 2 + bom.product_uom_id = self.uom_dozen + bom.type = 'phantom' + with bom.bom_line_ids.new() as line: + line.product_id = component_unit + line.product_qty = 6 + line.product_uom_id = self.uom_unit + with bom.bom_line_ids.new() as line: + line.product_id = component_kg + line.product_qty = 7 + line.product_uom_id = self.uom_kg + + # Create a simple warehouse to receives some products + warehouse_1 = self.env['stock.warehouse'].create({ + 'name': 'Warehouse 1', + 'code': 'WH1' + }) + # Set enough quantities to make 1 Test-Dozen kit_uom_in_kit + self.env['stock.quant']._update_available_quantity(component_unit, warehouse_1.lot_stock_id, 12) + self.env['stock.quant']._update_available_quantity(component_kg, warehouse_1.lot_stock_id, 14) + + # Creating a sale order for 3 Units of kit_1 and confirming it + order_form = Form(self.env['sale.order']) + order_form.partner_id = self.env['res.partner'].create({'name': 'My Test Partner'}) + order_form.warehouse_id = warehouse_1 + with order_form.order_line.new() as line: + line.product_id = kit_1 + line.product_uom = self.uom_unit + line.product_uom_qty = 2 + order = order_form.save() + order.action_confirm() + + # Now we check that the routes of the components were applied, in order to make sure the routes set + # on the kit itself are ignored + self.assertEqual(len(order.picking_ids), 1) + self.assertEqual(len(order.picking_ids[0].move_lines), 2) + + # Finally, we check the quantities for each component on the picking + move_component_unit = order.picking_ids[0].move_lines.filtered(lambda m: m.product_id == component_unit) + move_component_kg = order.picking_ids[0].move_lines - move_component_unit + self.assertEqual(move_component_unit.product_uom_qty, 0.5) + self.assertEqual(move_component_kg.product_uom_qty, 0.58) + + def test_product_type_service_1(self): + route_manufacture = self.company_data['default_warehouse'].manufacture_pull_id.route_id.id + route_mto = self.company_data['default_warehouse'].mto_pull_id.route_id.id + self.uom_unit = self.env.ref('uom.product_uom_unit') + + # Create finished product + finished_product = self.env['product.product'].create({ + 'name': 'Geyser', + 'type': 'product', + 'route_ids': [(4, route_mto), (4, route_manufacture)], + }) + + # Create service type product + product_raw = self.env['product.product'].create({ + 'name': 'raw Geyser', + 'type': 'service', + }) + + # Create bom for finish product + bom = self.env['mrp.bom'].create({ + 'product_id': finished_product.id, + 'product_tmpl_id': finished_product.product_tmpl_id.id, + 'product_uom_id': self.env.ref('uom.product_uom_unit').id, + 'product_qty': 1.0, + 'type': 'normal', + 'bom_line_ids': [(5, 0), (0, 0, {'product_id': product_raw.id})] + }) + + # Create sale order + sale_form = Form(self.env['sale.order']) + sale_form.partner_id = self.env['res.partner'].create({'name': 'My Test Partner'}) + with sale_form.order_line.new() as line: + line.name = finished_product.name + line.product_id = finished_product + line.product_uom_qty = 1.0 + line.product_uom = self.uom_unit + line.price_unit = 10.0 + sale_order = sale_form.save() + + sale_order.action_confirm() + + mo = self.env['mrp.production'].search([('product_id', '=', finished_product.id)]) + + self.assertTrue(mo, 'Manufacturing order created.') + + def test_cancel_flow_1(self): + """ Sell a MTO/manufacture product. + + Cancel the delivery and the production order. Then duplicate + the delivery. Another production order should be created.""" + route_manufacture = self.company_data['default_warehouse'].manufacture_pull_id.route_id.id + route_mto = self.company_data['default_warehouse'].mto_pull_id.route_id.id + self.uom_unit = self.env.ref('uom.product_uom_unit') + + # Create finished product + finished_product = self.env['product.product'].create({ + 'name': 'Geyser', + 'type': 'product', + 'route_ids': [(4, route_mto), (4, route_manufacture)], + }) + + product_raw = self.env['product.product'].create({ + 'name': 'raw Geyser', + 'type': 'product', + }) + + # Create bom for finish product + bom = self.env['mrp.bom'].create({ + 'product_id': finished_product.id, + 'product_tmpl_id': finished_product.product_tmpl_id.id, + 'product_uom_id': self.env.ref('uom.product_uom_unit').id, + 'product_qty': 1.0, + 'type': 'normal', + 'bom_line_ids': [(5, 0), (0, 0, {'product_id': product_raw.id})] + }) + + # Create sale order + sale_form = Form(self.env['sale.order']) + sale_form.partner_id = self.env['res.partner'].create({'name': 'My Test Partner'}) + with sale_form.order_line.new() as line: + line.name = finished_product.name + line.product_id = finished_product + line.product_uom_qty = 1.0 + line.product_uom = self.uom_unit + line.price_unit = 10.0 + sale_order = sale_form.save() + + sale_order.action_confirm() + + mo = self.env['mrp.production'].search([('product_id', '=', finished_product.id)]) + delivery = sale_order.picking_ids + delivery.action_cancel() + mo.action_cancel() + copied_delivery = delivery.copy() + copied_delivery.action_confirm() + mos = self.env['mrp.production'].search([('product_id', '=', finished_product.id)]) + self.assertEqual(len(mos), 1) + self.assertEqual(mos.state, 'cancel') + + def test_cancel_flow_2(self): + """ Sell a MTO/manufacture product. + + Cancel the production order and the delivery. Then duplicate + the delivery. Another production order should be created.""" + route_manufacture = self.company_data['default_warehouse'].manufacture_pull_id.route_id.id + route_mto = self.company_data['default_warehouse'].mto_pull_id.route_id.id + self.uom_unit = self.env.ref('uom.product_uom_unit') + + # Create finished product + finished_product = self.env['product.product'].create({ + 'name': 'Geyser', + 'type': 'product', + 'route_ids': [(4, route_mto), (4, route_manufacture)], + }) + + product_raw = self.env['product.product'].create({ + 'name': 'raw Geyser', + 'type': 'product', + }) + + # Create bom for finish product + bom = self.env['mrp.bom'].create({ + 'product_id': finished_product.id, + 'product_tmpl_id': finished_product.product_tmpl_id.id, + 'product_uom_id': self.env.ref('uom.product_uom_unit').id, + 'product_qty': 1.0, + 'type': 'normal', + 'bom_line_ids': [(5, 0), (0, 0, {'product_id': product_raw.id})] + }) + + # Create sale order + sale_form = Form(self.env['sale.order']) + sale_form.partner_id = self.env['res.partner'].create({'name': 'My Test Partner'}) + with sale_form.order_line.new() as line: + line.name = finished_product.name + line.product_id = finished_product + line.product_uom_qty = 1.0 + line.product_uom = self.uom_unit + line.price_unit = 10.0 + sale_order = sale_form.save() + + sale_order.action_confirm() + + mo = self.env['mrp.production'].search([('product_id', '=', finished_product.id)]) + delivery = sale_order.picking_ids + mo.action_cancel() + delivery.action_cancel() + copied_delivery = delivery.copy() + copied_delivery.action_confirm() + mos = self.env['mrp.production'].search([('product_id', '=', finished_product.id)]) + self.assertEqual(len(mos), 1) + self.assertEqual(mos.state, 'cancel') diff --git a/addons/sale_mrp/tests/test_sale_mrp_kit_bom.py b/addons/sale_mrp/tests/test_sale_mrp_kit_bom.py new file mode 100644 index 00000000..4c1978a9 --- /dev/null +++ b/addons/sale_mrp/tests/test_sale_mrp_kit_bom.py @@ -0,0 +1,166 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo.tests.common import TransactionCase, Form + + +class TestSaleMrpKitBom(TransactionCase): + + def _create_product(self, name, type, price): + return self.env['product.product'].create({ + 'name': name, + 'type': type, + 'standard_price': price, + }) + + def test_sale_mrp_kit_bom_cogs(self): + """Check invoice COGS aml after selling and delivering a product + with Kit BoM having another product with Kit BoM as component""" + + # ---------------------------------------------- + # BoM of Kit A: + # - BoM Type: Kit + # - Quantity: 3 + # - Components: + # * 2 x Kit B + # * 1 x Component A (Cost: $3) + # + # BoM of Kit B: + # - BoM Type: Kit + # - Quantity: 10 + # - Components: + # * 2 x Component B (Cost: $4) + # * 3 x Component BB (Cost: $5) + # ---------------------------------------------- + + self.env.user.company_id.anglo_saxon_accounting = True + self.stock_input_account = self.env['account.account'].create({ + 'name': 'Stock Input', + 'code': 'StockIn', + 'user_type_id': self.env.ref('account.data_account_type_current_assets').id, + }) + self.stock_output_account = self.env['account.account'].create({ + 'name': 'Stock Output', + 'code': 'StockOut', + 'reconcile': True, + 'user_type_id': self.env.ref('account.data_account_type_current_assets').id, + }) + self.stock_valuation_account = self.env['account.account'].create({ + 'name': 'Stock Valuation', + 'code': 'StockVal', + 'user_type_id': self.env.ref('account.data_account_type_current_assets').id, + }) + self.expense_account = self.env['account.account'].create({ + 'name': 'Expense Account', + 'code': 'Exp', + 'user_type_id': self.env.ref('account.data_account_type_expenses').id, + }) + self.income_account = self.env['account.account'].create({ + 'name': 'Income Account', + 'code': 'Inc', + 'user_type_id': self.env.ref('account.data_account_type_expenses').id, + }) + self.stock_journal = self.env['account.journal'].create({ + 'name': 'Stock Journal', + 'code': 'STJTEST', + 'type': 'general', + }) + self.recv_account = self.env['account.account'].create({ + 'name': 'account receivable', + 'code': 'RECV', + 'user_type_id': self.env.ref('account.data_account_type_receivable').id, + 'reconcile': True, + }) + self.pay_account = self.env['account.account'].create({ + 'name': 'account payable', + 'code': 'PAY', + 'user_type_id': self.env.ref('account.data_account_type_payable').id, + 'reconcile': True, + }) + self.customer = self.env['res.partner'].create({ + 'name': 'customer', + 'property_account_receivable_id': self.recv_account.id, + 'property_account_payable_id': self.pay_account.id, + }) + self.journal_sale = self.env['account.journal'].create({ + 'name': 'Sale Journal - Test', + 'code': 'AJ-SALE', + 'type': 'sale', + 'company_id': self.env.user.company_id.id, + }) + + self.component_a = self._create_product('Component A', 'consu', 3.00) + self.component_b = self._create_product('Component B', 'consu', 4.00) + self.component_bb = self._create_product('Component BB', 'consu', 5.00) + self.kit_a = self._create_product('Kit A', 'product', 0.00) + self.kit_b = self._create_product('Kit B', 'consu', 0.00) + + self.kit_a.write({ + 'categ_id': self.env.ref('product.product_category_all').id, + 'property_account_expense_id': self.expense_account.id, + 'property_account_income_id': self.income_account.id, + }) + self.kit_a.categ_id.write({ + 'property_stock_account_input_categ_id': self.stock_input_account.id, + 'property_stock_account_output_categ_id': self.stock_output_account.id, + 'property_stock_valuation_account_id': self.stock_valuation_account.id, + 'property_stock_journal': self.stock_journal.id, + 'property_valuation': 'real_time', + }) + + # Create BoM for Kit A + bom_product_form = Form(self.env['mrp.bom']) + bom_product_form.product_id = self.kit_a + bom_product_form.product_tmpl_id = self.kit_a.product_tmpl_id + bom_product_form.product_qty = 3.0 + bom_product_form.type = 'phantom' + with bom_product_form.bom_line_ids.new() as bom_line: + bom_line.product_id = self.kit_b + bom_line.product_qty = 2.0 + with bom_product_form.bom_line_ids.new() as bom_line: + bom_line.product_id = self.component_a + bom_line.product_qty = 1.0 + self.bom_a = bom_product_form.save() + + # Create BoM for Kit B + bom_product_form = Form(self.env['mrp.bom']) + bom_product_form.product_id = self.kit_b + bom_product_form.product_tmpl_id = self.kit_b.product_tmpl_id + bom_product_form.product_qty = 10.0 + bom_product_form.type = 'phantom' + with bom_product_form.bom_line_ids.new() as bom_line: + bom_line.product_id = self.component_b + bom_line.product_qty = 2.0 + with bom_product_form.bom_line_ids.new() as bom_line: + bom_line.product_id = self.component_bb + bom_line.product_qty = 3.0 + self.bom_b = bom_product_form.save() + + so = self.env['sale.order'].create({ + 'partner_id': self.customer.id, + 'order_line': [ + (0, 0, { + 'name': self.kit_a.name, + 'product_id': self.kit_a.id, + 'product_uom_qty': 1.0, + 'product_uom': self.kit_a.uom_id.id, + 'price_unit': 1, + 'tax_id': False, + })], + }) + so.action_confirm() + so.picking_ids.move_lines.quantity_done = 1 + so.picking_ids.button_validate() + + invoice = so.with_context(default_journal_id=self.journal_sale.id)._create_invoices() + invoice.action_post() + + # Check the resulting accounting entries + amls = invoice.line_ids + self.assertEqual(len(amls), 4) + stock_out_aml = amls.filtered(lambda aml: aml.account_id == self.stock_output_account) + self.assertEqual(stock_out_aml.debit, 0) + self.assertAlmostEqual(stock_out_aml.credit, 2.53) + cogs_aml = amls.filtered(lambda aml: aml.account_id == self.expense_account) + self.assertAlmostEqual(cogs_aml.debit, 2.53) + self.assertEqual(cogs_aml.credit, 0) diff --git a/addons/sale_mrp/tests/test_sale_mrp_lead_time.py b/addons/sale_mrp/tests/test_sale_mrp_lead_time.py new file mode 100644 index 00000000..e9d0e171 --- /dev/null +++ b/addons/sale_mrp/tests/test_sale_mrp_lead_time.py @@ -0,0 +1,162 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from datetime import timedelta + +from odoo import fields +from odoo.addons.stock.tests.common2 import TestStockCommon + +from odoo.tests import Form + + +class TestSaleMrpLeadTime(TestStockCommon): + + def setUp(self): + super(TestSaleMrpLeadTime, self).setUp() + self.env.ref('stock.route_warehouse0_mto').active = True + # Update the product_1 with type, route, Manufacturing Lead Time and Customer Lead Time + with Form(self.product_1) as p1: + p1.type = 'product' + p1.produce_delay = 5.0 + p1.sale_delay = 5.0 + p1.route_ids.clear() + p1.route_ids.add(self.warehouse_1.manufacture_pull_id.route_id) + p1.route_ids.add(self.warehouse_1.mto_pull_id.route_id) + + # Update the product_2 with type + with Form(self.product_2) as p2: + p2.type = 'consu' + + # Create Bill of materials for product_1 + with Form(self.env['mrp.bom']) as bom: + bom.product_tmpl_id = self.product_1.product_tmpl_id + bom.product_qty = 2 + with bom.bom_line_ids.new() as line: + line.product_id = self.product_2 + line.product_qty = 4 + + def test_00_product_company_level_delays(self): + """ In order to check schedule date, set product's Manufacturing Lead Time + and Customer Lead Time and also set company's Manufacturing Lead Time + and Sales Safety Days.""" + + company = self.env.ref('base.main_company') + + # Update company with Manufacturing Lead Time and Sales Safety Days + company.write({'manufacturing_lead': 3.0, + 'security_lead': 3.0}) + + # Create sale order of product_1 + order_form = Form(self.env['sale.order']) + order_form.partner_id = self.partner_1 + with order_form.order_line.new() as line: + line.product_id = self.product_1 + line.product_uom_qty = 10 + order = order_form.save() + # Confirm sale order + order.action_confirm() + + # Check manufacturing order created or not + manufacturing_order = self.env['mrp.production'].search([('product_id', '=', self.product_1.id), ('move_dest_ids', 'in', order.picking_ids[0].move_lines.ids)]) + self.assertTrue(manufacturing_order, 'Manufacturing order should be created.') + + # Check schedule date of picking + deadline_picking = fields.Datetime.from_string(order.date_order) + timedelta(days=self.product_1.sale_delay) + out_date = deadline_picking - timedelta(days=company.security_lead) + self.assertAlmostEqual( + order.picking_ids[0].scheduled_date, out_date, + delta=timedelta(seconds=1), + msg='Schedule date of picking should be equal to: Order date + Customer Lead Time - Sales Safety Days.' + ) + self.assertAlmostEqual( + order.picking_ids[0].date_deadline, deadline_picking, + delta=timedelta(seconds=1), + msg='Deadline date of picking should be equal to: Order date + Customer Lead Time.' + ) + + # Check schedule date and deadline of manufacturing order + mo_scheduled = out_date - timedelta(days=self.product_1.produce_delay) - timedelta(days=company.manufacturing_lead) + self.assertAlmostEqual( + fields.Datetime.from_string(manufacturing_order.date_planned_start), mo_scheduled, + delta=timedelta(seconds=1), + msg="Schedule date of manufacturing order should be equal to: Schedule date of picking - product's Manufacturing Lead Time - company's Manufacturing Lead Time." + ) + self.assertAlmostEqual( + fields.Datetime.from_string(manufacturing_order.date_deadline), deadline_picking, + delta=timedelta(seconds=1), + msg="Deadline date of manufacturing order should be equal to the deadline of sale picking" + ) + + def test_01_product_route_level_delays(self): + """ In order to check schedule dates, set product's Manufacturing Lead Time + and Customer Lead Time and also set warehouse route's delay.""" + + # Update warehouse_1 with Outgoing Shippings pick + pack + ship + self.warehouse_1.write({'delivery_steps': 'pick_pack_ship'}) + + # Set delay on pull rule + for pull_rule in self.warehouse_1.delivery_route_id.rule_ids: + pull_rule.write({'delay': 2}) + + # Create sale order of product_1 + order_form = Form(self.env['sale.order']) + order_form.partner_id = self.partner_1 + order_form.warehouse_id = self.warehouse_1 + with order_form.order_line.new() as line: + line.product_id = self.product_1 + line.product_uom_qty = 6 + order = order_form.save() + # Confirm sale order + order.action_confirm() + + # Run scheduler + self.env['procurement.group'].run_scheduler() + + # Check manufacturing order created or not + manufacturing_order = self.env['mrp.production'].search([('product_id', '=', self.product_1.id)]) + self.assertTrue(manufacturing_order, 'Manufacturing order should be created.') + + # Check the picking crated or not + self.assertTrue(order.picking_ids, "Pickings should be created.") + + # Check schedule date of ship type picking + out = order.picking_ids.filtered(lambda r: r.picking_type_id == self.warehouse_1.out_type_id) + out_min_date = fields.Datetime.from_string(out.scheduled_date) + out_date = fields.Datetime.from_string(order.date_order) + timedelta(days=self.product_1.sale_delay) - timedelta(days=out.move_lines[0].rule_id.delay) + self.assertAlmostEqual( + out_min_date, out_date, + delta=timedelta(seconds=10), + msg='Schedule date of ship type picking should be equal to: order date + Customer Lead Time - pull rule delay.' + ) + + # Check schedule date of pack type picking + pack = order.picking_ids.filtered(lambda r: r.picking_type_id == self.warehouse_1.pack_type_id) + pack_min_date = fields.Datetime.from_string(pack.scheduled_date) + pack_date = out_date - timedelta(days=pack.move_lines[0].rule_id.delay) + self.assertAlmostEqual( + pack_min_date, pack_date, + delta=timedelta(seconds=10), + msg='Schedule date of pack type picking should be equal to: Schedule date of ship type picking - pull rule delay.' + ) + + # Check schedule date of pick type picking + pick = order.picking_ids.filtered(lambda r: r.picking_type_id == self.warehouse_1.pick_type_id) + pick_min_date = fields.Datetime.from_string(pick.scheduled_date) + self.assertAlmostEqual( + pick_min_date, pack_date, + delta=timedelta(seconds=10), + msg='Schedule date of pick type picking should be equal to: Schedule date of pack type picking.' + ) + + # Check schedule date and deadline date of manufacturing order + mo_scheduled = out_date - timedelta(days=self.product_1.produce_delay) - timedelta(days=self.warehouse_1.delivery_route_id.rule_ids[0].delay) - timedelta(days=self.env.ref('base.main_company').manufacturing_lead) + self.assertAlmostEqual( + fields.Datetime.from_string(manufacturing_order.date_planned_start), mo_scheduled, + delta=timedelta(seconds=1), + msg="Schedule date of manufacturing order should be equal to: Schedule date of picking - product's Manufacturing Lead Time- delay pull_rule." + ) + self.assertAlmostEqual( + manufacturing_order.date_deadline, order.picking_ids[0].date_deadline, + delta=timedelta(seconds=1), + msg="Deadline date of manufacturing order should be equal to the deadline of sale picking" + ) diff --git a/addons/sale_mrp/tests/test_sale_mrp_procurement.py b/addons/sale_mrp/tests/test_sale_mrp_procurement.py new file mode 100644 index 00000000..4de6c6d0 --- /dev/null +++ b/addons/sale_mrp/tests/test_sale_mrp_procurement.py @@ -0,0 +1,172 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import time + +from odoo.tests.common import TransactionCase, Form +from odoo.tools import mute_logger + + +class TestSaleMrpProcurement(TransactionCase): + + def test_sale_mrp(self): + self.env.ref('stock.route_warehouse0_mto').active = True + warehouse0 = self.env.ref('stock.warehouse0') + # In order to test the sale_mrp module in OpenERP, I start by creating a new product 'Slider Mobile' + # I define product category Mobile Products Sellable. + + with mute_logger('odoo.tests.common.onchange'): + # Suppress warning on "Changing your cost method" when creating a + # product category + pc = Form(self.env['product.category']) + pc.name = 'Mobile Products Sellable' + product_category_allproductssellable0 = pc.save() + + uom_unit = self.env.ref('uom.product_uom_unit') + + self.assertIn("seller_ids", self.env['product.template'].fields_get()) + + # I define product for Slider Mobile. + product = Form(self.env['product.template']) + + product.categ_id = product_category_allproductssellable0 + product.list_price = 200.0 + product.name = 'Slider Mobile' + product.type = 'product' + product.uom_id = uom_unit + product.uom_po_id = uom_unit + product.route_ids.clear() + product.route_ids.add(warehouse0.manufacture_pull_id.route_id) + product.route_ids.add(warehouse0.mto_pull_id.route_id) + product_template_slidermobile0 = product.save() + + product_template_slidermobile0.standard_price = 189 + + product_component = Form(self.env['product.product']) + product_component.name = 'Battery' + product_product_bettery = product_component.save() + + with Form(self.env['mrp.bom']) as bom: + bom.product_tmpl_id = product_template_slidermobile0 + with bom.bom_line_ids.new() as line: + line.product_id = product_product_bettery + line.product_qty = 4 + + # I create a sale order for product Slider mobile + so_form = Form(self.env['sale.order']) + so_form.partner_id = self.env['res.partner'].create({'name': 'Another Test Partner'}) + with so_form.order_line.new() as line: + line.product_id = product_template_slidermobile0.product_variant_ids + line.price_unit = 200 + line.product_uom_qty = 500.0 + line.customer_lead = 7.0 + sale_order_so0 = so_form.save() + + # I confirm the sale order + sale_order_so0.action_confirm() + + # I verify that a manufacturing order has been generated, and that its name and reference are correct + mo = self.env['mrp.production'].search([('origin', 'like', sale_order_so0.name)], limit=1) + self.assertTrue(mo, 'Manufacturing order has not been generated') + + def test_sale_mrp_pickings(self): + """ Test sale of multiple mrp products in MTO + to avoid generating multiple deliveries + to the customer location + """ + self.env.ref('stock.route_warehouse0_mto').active = True + # Create warehouse + self.customer_location = self.env['ir.model.data'].xmlid_to_res_id('stock.stock_location_customers') + self.warehouse = self.env['stock.warehouse'].create({ + 'name': 'Test Warehouse', + 'code': 'TWH' + }) + + self.uom_unit = self.env.ref('uom.product_uom_unit') + + # Create raw product for manufactured product + product_form = Form(self.env['product.product']) + product_form.name = 'Raw Stick' + product_form.type = 'product' + product_form.uom_id = self.uom_unit + product_form.uom_po_id = self.uom_unit + self.raw_product = product_form.save() + + # Create manufactured product + product_form = Form(self.env['product.product']) + product_form.name = 'Stick' + product_form.uom_id = self.uom_unit + product_form.uom_po_id = self.uom_unit + product_form.type = 'product' + product_form.route_ids.clear() + product_form.route_ids.add(self.warehouse.manufacture_pull_id.route_id) + product_form.route_ids.add(self.warehouse.mto_pull_id.route_id) + self.finished_product = product_form.save() + + # Create manifactured product which uses another manifactured + product_form = Form(self.env['product.product']) + product_form.name = 'Arrow' + product_form.type = 'product' + product_form.route_ids.clear() + product_form.route_ids.add(self.warehouse.manufacture_pull_id.route_id) + product_form.route_ids.add(self.warehouse.mto_pull_id.route_id) + self.complex_product = product_form.save() + + ## Create raw product for manufactured product + product_form = Form(self.env['product.product']) + product_form.name = 'Raw Iron' + product_form.type = 'product' + product_form.uom_id = self.uom_unit + product_form.uom_po_id = self.uom_unit + self.raw_product_2 = product_form.save() + + # Create bom for manufactured product + bom_product_form = Form(self.env['mrp.bom']) + bom_product_form.product_id = self.finished_product + bom_product_form.product_tmpl_id = self.finished_product.product_tmpl_id + bom_product_form.product_qty = 1.0 + bom_product_form.type = 'normal' + with bom_product_form.bom_line_ids.new() as bom_line: + bom_line.product_id = self.raw_product + bom_line.product_qty = 2.0 + + self.bom = bom_product_form.save() + + ## Create bom for manufactured product + bom_product_form = Form(self.env['mrp.bom']) + bom_product_form.product_id = self.complex_product + bom_product_form.product_tmpl_id = self.complex_product.product_tmpl_id + with bom_product_form.bom_line_ids.new() as line: + line.product_id = self.finished_product + line.product_qty = 1.0 + with bom_product_form.bom_line_ids.new() as line: + line.product_id = self.raw_product_2 + line.product_qty = 1.0 + + self.complex_bom = bom_product_form.save() + + with Form(self.warehouse) as warehouse: + warehouse.manufacture_steps = 'pbm_sam' + + so_form = Form(self.env['sale.order']) + so_form.partner_id = self.env['res.partner'].create({'name': 'Another Test Partner'}) + with so_form.order_line.new() as line: + line.product_id = self.complex_product + line.price_unit = 1 + line.product_uom_qty = 1 + with so_form.order_line.new() as line: + line.product_id = self.finished_product + line.price_unit = 1 + line.product_uom_qty = 1 + sale_order_so0 = so_form.save() + + sale_order_so0.action_confirm() + + pickings = sale_order_so0.picking_ids + + # One delivery... + self.assertEqual(len(pickings), 1) + + # ...with two products + move_lines = pickings[0].move_lines + self.assertEqual(len(move_lines), 2) diff --git a/addons/sale_mrp/views/mrp_production_views.xml b/addons/sale_mrp/views/mrp_production_views.xml new file mode 100644 index 00000000..114b532f --- /dev/null +++ b/addons/sale_mrp/views/mrp_production_views.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo><data> + <record id="mrp_production_form_view_sale" model="ir.ui.view"> + <field name="name">mrp.production.inherited.form.sale</field> + <field name="model">mrp.production</field> + <field name="priority">64</field> + <field name="inherit_id" ref="mrp.mrp_production_form_view"/> + <field name="arch" type="xml"> + <xpath expr="//button[@name='action_view_mrp_production_childs']" position="before"> + <button class="oe_stat_button" name="action_view_sale_orders" type="object" icon="fa-dollar" attrs="{'invisible': [('sale_order_count', '=', 0)]}" groups="sales_team.group_sale_salesman"> + <div class="o_field_widget o_stat_info"> + <span class="o_stat_value"><field name="sale_order_count"/></span> + <span class="o_stat_text">Sale</span> + </div> + </button> + </xpath> + </field> + </record> +</data></odoo>
\ No newline at end of file diff --git a/addons/sale_mrp/views/sale_order_views.xml b/addons/sale_mrp/views/sale_order_views.xml new file mode 100644 index 00000000..8777431f --- /dev/null +++ b/addons/sale_mrp/views/sale_order_views.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo><data> + <record id="sale_order_form_mrp" model="ir.ui.view"> + <field name="name">sale.order.inherited.form.mrp</field> + <field name="model">sale.order</field> + <field name="inherit_id" ref="sale.view_order_form"/> + <field name="arch" type="xml"> + <xpath expr="//div[@name='button_box']" position="inside"> + <button class="oe_stat_button" name="action_view_mrp_production" type="object" icon="fa-wrench" attrs="{'invisible': [('mrp_production_count', '=', 0)]}" groups="mrp.group_mrp_user"> + <div class="o_field_widget o_stat_info"> + <span class="o_stat_value"><field name="mrp_production_count"/></span> + <span class="o_stat_text">Manufacturing</span> + </div> + </button> + </xpath> + </field> + </record> +</data></odoo>
\ No newline at end of file |
