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_product_configurator | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/sale_product_configurator')
80 files changed, 15963 insertions, 0 deletions
diff --git a/addons/sale_product_configurator/__init__.py b/addons/sale_product_configurator/__init__.py new file mode 100644 index 00000000..1f453008 --- /dev/null +++ b/addons/sale_product_configurator/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- + +from . import models +from . import controllers +from . import wizard diff --git a/addons/sale_product_configurator/__manifest__.py b/addons/sale_product_configurator/__manifest__.py new file mode 100644 index 00000000..8d49882c --- /dev/null +++ b/addons/sale_product_configurator/__manifest__.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. +{ + 'name': "Sale Product Configurator", + 'version': '1.0', + 'category': 'Hidden', + 'summary': "Configure your products", + + 'description': """ +Technical module installed when the user checks the "module_sale_product_configurator" setting. +The main purpose is to override the sale_order view to allow configuring products in the SO form. + +It also enables the "optional products" feature. + """, + + 'depends': ['sale'], + 'data': [ + 'security/ir.model.access.csv', + 'views/assets.xml', + 'views/templates.xml', + 'views/sale_views.xml', + 'wizard/sale_product_configurator_views.xml', + ], + 'demo': [ + 'data/sale_demo.xml', + ], + 'license': 'LGPL-3', +} diff --git a/addons/sale_product_configurator/controllers/__init__.py b/addons/sale_product_configurator/controllers/__init__.py new file mode 100644 index 00000000..5d4b25db --- /dev/null +++ b/addons/sale_product_configurator/controllers/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import main diff --git a/addons/sale_product_configurator/controllers/main.py b/addons/sale_product_configurator/controllers/main.py new file mode 100644 index 00000000..d207d416 --- /dev/null +++ b/addons/sale_product_configurator/controllers/main.py @@ -0,0 +1,86 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import http +from odoo.http import request + + +class ProductConfiguratorController(http.Controller): + @http.route(['/sale_product_configurator/configure'], type='json', auth="user", methods=['POST']) + def configure(self, product_template_id, pricelist_id, **kw): + add_qty = int(kw.get('add_qty', 1)) + product_template = request.env['product.template'].browse(int(product_template_id)) + pricelist = self._get_pricelist(pricelist_id) + + product_combination = False + attribute_value_ids = set(kw.get('product_template_attribute_value_ids', [])) + attribute_value_ids |= set(kw.get('product_no_variant_attribute_value_ids', [])) + if attribute_value_ids: + product_combination = request.env['product.template.attribute.value'].browse(attribute_value_ids) + + if pricelist: + product_template = product_template.with_context(pricelist=pricelist.id, partner=request.env.user.partner_id) + + return request.env['ir.ui.view']._render_template("sale_product_configurator.configure", { + 'product': product_template, + 'pricelist': pricelist, + 'add_qty': add_qty, + 'product_combination': product_combination + }) + + @http.route(['/sale_product_configurator/show_optional_products'], type='json', auth="user", methods=['POST']) + def show_optional_products(self, product_id, variant_values, pricelist_id, **kw): + pricelist = self._get_pricelist(pricelist_id) + return self._show_optional_products(product_id, variant_values, pricelist, False, **kw) + + @http.route(['/sale_product_configurator/optional_product_items'], type='json', auth="user", methods=['POST']) + def optional_product_items(self, product_id, pricelist_id, **kw): + pricelist = self._get_pricelist(pricelist_id) + return self._optional_product_items(product_id, pricelist, **kw) + + def _optional_product_items(self, product_id, pricelist, **kw): + add_qty = int(kw.get('add_qty', 1)) + product = request.env['product.product'].browse(int(product_id)) + + parent_combination = product.product_template_attribute_value_ids + if product.env.context.get('no_variant_attribute_values'): + # Add "no_variant" attribute values' exclusions + # They are kept in the context since they are not linked to this product variant + parent_combination |= product.env.context.get('no_variant_attribute_values') + + return request.env['ir.ui.view']._render_template("sale_product_configurator.optional_product_items", { + 'product': product, + 'parent_name': product.name, + 'parent_combination': parent_combination, + 'pricelist': pricelist, + 'add_qty': add_qty, + }) + + def _show_optional_products(self, product_id, variant_values, pricelist, handle_stock, **kw): + product = request.env['product.product'].browse(int(product_id)) + combination = request.env['product.template.attribute.value'].browse(variant_values) + has_optional_products = product.optional_product_ids.filtered(lambda p: p._is_add_to_cart_possible(combination)) + + if not has_optional_products: + return False + + add_qty = int(kw.get('add_qty', 1)) + + no_variant_attribute_values = combination.filtered( + lambda product_template_attribute_value: product_template_attribute_value.attribute_id.create_variant == 'no_variant' + ) + if no_variant_attribute_values: + product = product.with_context(no_variant_attribute_values=no_variant_attribute_values) + + return request.env['ir.ui.view']._render_template("sale_product_configurator.optional_products_modal", { + 'product': product, + 'combination': combination, + 'add_qty': add_qty, + 'parent_name': product.name, + 'variant_values': variant_values, + 'pricelist': pricelist, + 'handle_stock': handle_stock, + }) + + def _get_pricelist(self, pricelist_id, pricelist_fallback=False): + return request.env['product.pricelist'].browse(int(pricelist_id or 0)) diff --git a/addons/sale_product_configurator/data/sale_demo.xml b/addons/sale_product_configurator/data/sale_demo.xml new file mode 100644 index 00000000..117ebd6a --- /dev/null +++ b/addons/sale_product_configurator/data/sale_demo.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data noupdate="1"> + <record id="product_product_1_product_template" model="product.template"> + <field name="name">Chair floor protection</field> + <field name="categ_id" ref="product.product_category_5"/> + <field name="list_price">12.0</field> + <field name="weight">0.01</field> + <field name="uom_id" ref="uom.product_uom_unit"/> + <field name="uom_po_id" ref="uom.product_uom_unit"/> + <field name="description_sale">Office chairs can harm your floor: protect it.</field> + <field name="image_1920" type="base64" file="sale/static/img/floor_protection-image.png"/> + </record> + + <record id="product.product_product_4_product_template" model="product.template"> + <field name="optional_product_ids" eval="[(6,0,[ref('product.product_product_11_product_template')])]"/> + </record> + <record id="product.product_product_11_product_template" model="product.template"> + <field name="optional_product_ids" eval="[(6,0,[ref('product_product_1_product_template')])]"/> + </record> + <record id="product.product_product_13_product_template" model="product.template"> + <field name="optional_product_ids" eval="[(6,0,[ref('product.product_product_11_product_template')])]"/> + </record> + </data> +</odoo> diff --git a/addons/sale_product_configurator/i18n/ar.po b/addons/sale_product_configurator/i18n/ar.po new file mode 100644 index 00000000..7adcc968 --- /dev/null +++ b/addons/sale_product_configurator/i18n/ar.po @@ -0,0 +1,262 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Sherif Abd Ekmoniem <sherif.tsupport@gmail.com>, 2020 +# Mustafa Rawi <mustafa@cubexco.com>, 2020 +# amrnegm <amrnegm.01@gmail.com>, 2020 +# hoxhe Aits <hoxhe0@gmail.com>, 2020 +# Osoul <baruni@osoul.ly>, 2020 +# Mohammed Albasha <m.albasha.ma@gmail.com>, 2020 +# Ghaith Gammar <g.gammar@saharaifs.net>, 2020 +# Osama Ahmaro <osamaahmaro@gmail.com>, 2020 +# Zuhair Hammadi <zuhair12@gmail.com>, 2020 +# Shaima Safar <shaima.safar@open-inside.com>, 2020 +# Mohamed Alansari <Mohammad.alansari@outlook.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Mohamed Alansari <Mohammad.alansari@outlook.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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> أضف إلى عربة التسوق" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>الإجمالي:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "إضافة" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "إضافة واحدة" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "قيم الخاصية" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "الخيارات المتاحة:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "العودة" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "الغاء" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "حماية كرسي الأرضية" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "إعداد" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "إعداد منتج" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "تأكيد" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "أنشئ بواسطة" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "أنشئ في" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "المُعرف" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "آخر تحديث بواسطة" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "آخر تحديث في" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "يمكن أن تتضرر أرضيتك بسبب كراسي المكتب: احمها." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "الخيار غير متاح" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "منتجات اختيارية" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"تُقترح بعض المنتجات الاختيارية كلما يضغط العميل *أضف إلى عربة التسوق* " +"(استراتيجية البيع العابر، مثلًا: لأجهزة الكمبيوتر: الضمان، والبرمجيات، إلخ)." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "خيارات" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "السعر" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "قائمه الأسعار" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "المنتج" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "صورة المنتج" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "قالب المنتج" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "موديل المنتج" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "الكمية" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "إزالة واحدة" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "مهيئ منتج المبيعات" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "بند أمر المبيعات" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "حفظ" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "هذه التركيبة غير موجودة." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "لا توجد تركيبة صحيحة لهذا المنتج." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "الوحدات" diff --git a/addons/sale_product_configurator/i18n/bg.po b/addons/sale_product_configurator/i18n/bg.po new file mode 100644 index 00000000..52fedd9a --- /dev/null +++ b/addons/sale_product_configurator/i18n/bg.po @@ -0,0 +1,258 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# Rosen Vladimirov <vladimirov.rosen@gmail.com>, 2020 +# Anton Vassilev, 2020 +# Igor Sheludko <igor.sheludko@gmail.com>, 2020 +# Albena Mincheva <albena_vicheva@abv.bg>, 2020 +# Maria Boyadjieva <marabo2000@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Общо:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Добавете" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Атрибутивни стойности" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Назад" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Откажи" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Конфигурирайте" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Потвърдете" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Създадено от" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Създадено на" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Име за показване" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Последно променено на" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Последно обновено от" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Последно обновено на" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Опционални продукти" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"Незадължителни продукти се предлагат всеки път, когато клиентът натисне * " +"Добавете в количката * (стратегия за кръстосани продажби, например за " +"компютри: гаранция, софтуер и т.н.)." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Настройки" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Цена" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Ценова листа" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Продукт" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Изображение на продукта" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Шаблон за продукт " + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Продуктов вариант" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Количество" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Ред на поръчка за продажби" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Запазете" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Единици" diff --git a/addons/sale_product_configurator/i18n/bn.po b/addons/sale_product_configurator/i18n/bn.po new file mode 100644 index 00000000..3a7895a2 --- /dev/null +++ b/addons/sale_product_configurator/i18n/bn.po @@ -0,0 +1,251 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2021 +# Abu Zafar <azmikbal@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "যোগ" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "পিছনে " + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "বাতিল" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "নিশ্চিত করুন" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "দ্বারা সৃষ্টি" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "তৈরি" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "প্রদর্শন নাম" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "আইডি " + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "সর্বশেষ সংশোধিত" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "সর্বশেষ আপডেট করেছেন" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "সর্বশেষ আপডেট হয়েছে" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "বিকল্প সমূহ" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "বিক্রয় আদেশ লাইন" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "সংরক্ষণ" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "" diff --git a/addons/sale_product_configurator/i18n/ca.po b/addons/sale_product_configurator/i18n/ca.po new file mode 100644 index 00000000..be5e5325 --- /dev/null +++ b/addons/sale_product_configurator/i18n/ca.po @@ -0,0 +1,259 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# Marc Tormo i Bochaca <mtbochaca@gmail.com>, 2020 +# Carles Antoli <carlesantoli@hotmail.com>, 2020 +# Quim - eccit <quim@eccit.com>, 2020 +# Sandra Franch <sandra.franch@upc.edu>, 2020 +# Manel Fernandez Ramirez <manelfera@outlook.com>, 2020 +# Arnau Ros, 2020 +# jabelchi, 2021 +# José Cabrera Lozano <jose.cabrera@edukative.es>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: José Cabrera Lozano <jose.cabrera@edukative.es>, 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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" +"<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Afegir a la cistella" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Total:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Afegir" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Afegir-ne un" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Valors de atribut" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Opcions disponibles:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Enrere" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Cancel·la" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Configura" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Configurar un producte" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Confirmar" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Creat per" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Creat el" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "Valors personalitzats" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Nom mostrat" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "Valor extra" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Última modificació el " + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Última actualització per" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Última actualització el" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Opció no disponible" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Productes opcionals" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Opcions" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Preu" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Tarifa" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Producte" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Imatge de Producte" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Plantilla de producte" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Variants de producte" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Quantitat" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Eliminar un" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Línia comanda de venda" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Desar" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Aquest producte no té cap combinació vàlida." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Unitats" diff --git a/addons/sale_product_configurator/i18n/ckb.po b/addons/sale_product_configurator/i18n/ckb.po new file mode 100644 index 00000000..7c25839f --- /dev/null +++ b/addons/sale_product_configurator/i18n/ckb.po @@ -0,0 +1,250 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Haval Abdulkarim <haval.abdulkarim@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "زیادکردن" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "پاشگەزبوونەوە" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "پشتڕاستکردنەوە" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "دروستکراوە لەلایەن" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "دروستکراوە لە" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "پیشاندانی ناو" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ناسنامە" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "دواین دەستکاری لە" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "دواین تازەکردنەوە لەلایەن" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "دواین تازەکردنەوە لە" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "بڕ" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "هێڵی داواکاری فرۆشتن" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "پاشەکەوتکردن" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "" diff --git a/addons/sale_product_configurator/i18n/cs.po b/addons/sale_product_configurator/i18n/cs.po new file mode 100644 index 00000000..563a0ec4 --- /dev/null +++ b/addons/sale_product_configurator/i18n/cs.po @@ -0,0 +1,257 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# Jan Horzinka <jan.horzinka@centrum.cz>, 2020 +# Michal Veselý <michal@veselyberanek.net>, 2020 +# karolína schusterová <karolina.schusterova@vdp.sk>, 2021 +# trendspotter, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: trendspotter, 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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Přidat do košíku" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Celkem:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Přidat" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Přidat jeden" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Hodnoty atributů" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Dostupné možnosti:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Zpět" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Zrušit" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "Ochrana podlahy židle" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Konfigurovat" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Nakonfigurujte produkt" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Potvrdit" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Vytvořeno od" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Vytvořeno" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "Vlastní hodnoty" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Zobrazované jméno" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "Extra hodnoty" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "Je produkt konfigurovatelný?" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Naposled změněno" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Naposledy upraveno od" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Naposled upraveno" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "Kancelářské židle mohou poškodit podlahu: chraňte ji." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Možnost není k dispozici" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Volitelné produkty" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"Volitelné produkty jsou navrhovány vždy, když zákazník stiskne *Přidat do " +"košíku* (strategie křížového prodeje, např. Pro počítače: záruka, software " +"atd.)." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Možnosti" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Cena" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Ceník" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Produkt" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Obrázek produktu" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Šablona produktu" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Varianta výrobku" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Množství" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Odebrat jeden" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "Konfigurátor prodejních produktů" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Řádek zakázky" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Uložit" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Tato kombinace neexistuje." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Tento produkt nemá platnou kombinaci." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Jednotky" diff --git a/addons/sale_product_configurator/i18n/da.po b/addons/sale_product_configurator/i18n/da.po new file mode 100644 index 00000000..798b0baf --- /dev/null +++ b/addons/sale_product_configurator/i18n/da.po @@ -0,0 +1,260 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# Per Rasmussen <perhgrasmussen@gmail.com>, 2020 +# Morten Schou <ms@msteknik.dk>, 2020 +# Jesper Carstensen <jc@danodoo.dk>, 2020 +# Pernille Kristensen <pernillekristensen1994@gmail.com>, 2020 +# Sanne Kristensen <sanne@vkdata.dk>, 2020 +# Simon Andersen <simon@vkdata.dk>, 2020 +# lhmflexerp <lhm@flexerp.dk>, 2020 +# Mads Søndergaard, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Mads Søndergaard, 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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Tilføj til kurv" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Total:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Tilføj" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Tilføj en" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Egenskabs værdier" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Tilgængelige muligheder:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Tilbage" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Annullér" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "Stol gulvbeskyttelse" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Konfigurer" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Konfigurer et produkt" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Bekræft" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Oprettet af" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Oprettet den" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "Tilpasset værdier" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Vis navn" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "Ekstra værdier" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "Kan produktet konfigureres?" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Sidst ændret den" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Sidst opdateret af" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Sidst opdateret den" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "Kontorstole kan beskadige dit gulv: beskyt det." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Valgmulighed ikke tilgængelig" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Valgfrie produkter" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"Valgfrie produkter foreslås, når kunden trykker på *Tilføj til kurv* " +"(krydssalgs-strategi, f.eks. til computere: garanti, software osv.)." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Valgmuligheder" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Pris" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Prisliste" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Produkt" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Produktbillede" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Produktskabelon" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Varevariant" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Antal" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Fjern én" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "Salgsprodukt-konfigurator" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Salgsordrelinje" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Gem" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Denne kombination eksistere ikke." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Dette produkt har ingen gyldig kombination." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Enheder" diff --git a/addons/sale_product_configurator/i18n/de.po b/addons/sale_product_configurator/i18n/de.po new file mode 100644 index 00000000..3e1f6c28 --- /dev/null +++ b/addons/sale_product_configurator/i18n/de.po @@ -0,0 +1,263 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# e2f <projects@e2f.com>, 2020 +# Martin Trigaux, 2020 +# Ermin Trevisan <trevi@twanda.com>, 2020 +# Katharina Moritz <kmo@e2f.com>, 2020 +# Michael Schütt <michael.schuett.lwl@gmail.com>, 2020 +# Leon Grill <leg@odoo.com>, 2020 +# Chris Egal <sodaswed@web.de>, 2020 +# Felix Schubert <felix.schubert@go-erp.com>, 2020 +# Andreas Schmidt <schmigo@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Andreas Schmidt <schmigo@gmail.com>, 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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" +"<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Zum Warenkorb " +"hinzufügen" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Total:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Hinzufügen" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Hinzufügen" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Attributwerte" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Verfügbare Optionen:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Zurück" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Abbrechen" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "Stuhlbodenschutz" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Konfigurieren" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Ein Produkt konfigurieren" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Bestätigen" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Erstellt von" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Erstellt am" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "Benutzerdefinierter Werte" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Anzeigename" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "Extra Werte" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "Ist das Produkt konfigurierbar?" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Zuletzt geändert am" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Zuletzt aktualisiert durch" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Zuletzt aktualisiert am" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "Bürostühle können Ihren Boden beschädigen: Schützen Sie ihn." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Option nicht verfügbar" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Optionale Produkte" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"Optionale Produkte werden vorgeschlagen, wenn der Kunde auf „In den " +"Warenkorb“ klickt (Cross-Selling-Strategie, z. B. für Computer: Garantie, " +"Software usw.)." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Optionen" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Preis" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Preisliste" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Produkt" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Produktbild" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Produktvorlage" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Produktvarianten" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Menge" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Entfernen" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "Verkauf Produktkonfigurator" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Auftragsposition" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Speichern" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Diese Kombination existiert nicht." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Dieses Produkt hat keine gültige Kombination." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Einheiten" diff --git a/addons/sale_product_configurator/i18n/el.po b/addons/sale_product_configurator/i18n/el.po new file mode 100644 index 00000000..35df2604 --- /dev/null +++ b/addons/sale_product_configurator/i18n/el.po @@ -0,0 +1,255 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# Kostas Goutoudis <goutoudis@gmail.com>, 2020 +# George Tarasidis <george_tarasidis@yahoo.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: George Tarasidis <george_tarasidis@yahoo.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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Σύνολο:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Προσθήκη" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Τιμές Χαρακτηριστικών" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Πίσω" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Ακύρωση" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Παραμετροποίηση" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Επιβεβαίωση" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Δημιουργήθηκε από" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Δημιουργήθηκε στις" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Εμφάνιση Ονόματος" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "Κωδικός" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Τελευταία τροποποίηση στις" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Τελευταία Ενημέρωση από" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Τελευταία Ενημέρωση στις" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Προαιρετικά Είδη" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"Προαιρετικά είδη που προτείνονται κάθε φορά που ο πελάτης κάνει κλικ στο " +"*Προσθήκη στο καλάθι* (στρατηγική διασταυρούμενων πωλήσεων, π.χ. για " +"υπολογιστές: εγγύηση, λογισμικό κ.λπ.)." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Επιλογές" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "ΤΙΜΗ" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Τιμοκατάλογος" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Είδος" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Εικόνα Είδους" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Πρότυπο Είδους " + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Μεταβλητή Είδους" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Ποσότητα" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Γραμμή Παραγγελίας" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Αποθήκευση" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Αυτός ο συνδυασμός δεν υπάρχει." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "" diff --git a/addons/sale_product_configurator/i18n/eo.po b/addons/sale_product_configurator/i18n/eo.po new file mode 100644 index 00000000..71b0d4ea --- /dev/null +++ b/addons/sale_product_configurator/i18n/eo.po @@ -0,0 +1,246 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "" diff --git a/addons/sale_product_configurator/i18n/es.po b/addons/sale_product_configurator/i18n/es.po new file mode 100644 index 00000000..82c7b3d7 --- /dev/null +++ b/addons/sale_product_configurator/i18n/es.po @@ -0,0 +1,256 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Leonardo J. Caballero G. <leonardocaballero@gmail.com>, 2020 +# Jon Perez <jop@odoo.com>, 2020 +# Martin Trigaux, 2020 +# Jesús Alan Ramos Rodríguez <alan.ramos@jarsa.com.mx>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Jesús Alan Ramos Rodríguez <alan.ramos@jarsa.com.mx>, 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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Agregar al carrito" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Total:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Añadir" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Agregue uno" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Valores de atributo" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Opciones disponibles: " + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Volver" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "Protección del piso de la silla" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Configurar" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Configurar un producto" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Confirmar" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "Valores personalizados" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "Valores extra" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "¿El producto es configurable?" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Última modificación el" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "Las sillas de oficina pueden dañar su piso: protéjalo." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Opción no disponible" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Productos opcionales" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"Los productos opcionales aparecen como sugerencias cada vez que el cliente " +"pulsa en \"Añadir al carro\" (estrategia de venta cruzada; p. ej., en el " +"caso de los ordenadores: garantía, software, etc.)." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Opciones" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Precio" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Tarifa" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Producto" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Imagen del producto" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Plantilla de producto" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Variantes de producto" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Cantidad" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Quitar uno" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "Configurador de producto en oferta" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Línea de pedido de venta" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Guardar" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Esta combinación no existe." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Este producto no tiene combinaciones válidas." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Unidades" diff --git a/addons/sale_product_configurator/i18n/es_MX.po b/addons/sale_product_configurator/i18n/es_MX.po new file mode 100644 index 00000000..32e70d71 --- /dev/null +++ b/addons/sale_product_configurator/i18n/es_MX.po @@ -0,0 +1,254 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Cécile Collart <cco@odoo.com>, 2021 +# Lucia Pacheco <lpo@odoo.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Agregar al carrito" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Total:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Añadir" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Agregar uno" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Valores de atributo" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Opciones disponibles: " + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Regresar" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "Protector de piso para silla" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Configurar" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Configurar un producto" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Confirmar" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "Valores personalizados" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Nombre en pantalla" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "Valores adicionales" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "¿El producto es configurable?" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Última modificación el" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "Las sillas de oficina pueden dañar su piso: protéjalo." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Opción no disponible" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Productos opcionales" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"Los productos opcionales se recomiendan cada vez que el cliente hace clic en" +" *Agregar al carrito* (estrategia de venta cruzada. Por ejemplo, para " +"computadoras: garantía, software, etc)." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Opciones" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Precio" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Lista de precios" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Producto" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Imagen del producto" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Plantilla de producto" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Variante del producto" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Cantidad" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Eliminar uno" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "Configurador de venta de productos" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Línea de la orden de venta" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Guardar" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Esta combinación no existe." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Este producto no tiene combinaciones válidas." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Unidades" diff --git a/addons/sale_product_configurator/i18n/et.po b/addons/sale_product_configurator/i18n/et.po new file mode 100644 index 00000000..7ac9b9d8 --- /dev/null +++ b/addons/sale_product_configurator/i18n/et.po @@ -0,0 +1,259 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Rivo Zängov <eraser@eraser.ee>, 2020 +# Martin Trigaux, 2020 +# Wanradt Koell <wanradt@gmail.com>, 2020 +# Arma Gedonsky <armagedonsky@hot.ee>, 2020 +# Egon Raamat <egon@avalah.ee>, 2020 +# Marek Pontus, 2020 +# Algo Kärp <algokarp@gmail.com>, 2020 +# Eneli Õigus <enelioigus@gmail.com>, 2020 +# Piia Paurson <piia@avalah.ee>, 2021 +# Triine Aavik <triine@avalah.ee>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Lisa ostukorvi" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Kokku:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Lisa" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Lisage üks" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Atribuudi väärtused" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Lisavalikud:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Tagasi" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Tühista" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Seadista" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Konfigureeri toode" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Kinnitage" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Loonud" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Loodud" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "Kohandatud väärtused" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Kuva nimi" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "Kas see toode on konfigureeritav?" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Viimati muudetud (millal)" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Viimati uuendatud (kelle poolt)" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Viimati uuendatud" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Valik pole saadaval" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Valikulised tooted" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Seaded" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Hind" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Hinnakiri" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Toode" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Toote pilt" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Toote mall" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Toote variatsioon" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Kogus" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Eemaldage üks" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "Müügitoote konfiguraator" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Müügitellimuse rida" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Salvesta" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Seda kombinatsiooni ei eksisteeri." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Tootel ei ole ühtegi kehtivat kombinatsiooni." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Ühikud" diff --git a/addons/sale_product_configurator/i18n/eu.po b/addons/sale_product_configurator/i18n/eu.po new file mode 100644 index 00000000..e19909d1 --- /dev/null +++ b/addons/sale_product_configurator/i18n/eu.po @@ -0,0 +1,259 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2021 +# oihane <oihanecruce@gmail.com>, 2021 +# ibinka lete <ilete@fpbidasoa.net>, 2021 +# Gorka Toledo <gorka.toledo@gmail.com>, 2021 +# Eneko <eastigarraga@codesyntax.com>, 2021 +# Mikel Lizarralde <mikellizarralde@gmail.com>, 2021 +# 61590936fa9bf290362ee306eeabf363_944dd10 <a8bfd5a0b49b9c8455f33fc521764cc3_680674>, 2021 +# Iñaki Ibarrola <inakiibarrola@yahoo.es>, 2021 +# Victor Laskurain <blaskurain@binovo.es>, 2021 +# Maialen Rodriguez <maialenrodriguez98@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Maialen Rodriguez <maialenrodriguez98@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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Totala:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Gehitu" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Ezaugarrien balioak" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Aukera eskuragarriak:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Atzera" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Ezeztatu" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Konfiguratu" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Konfiguratu produktu bat" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Baieztatu" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Nork sortua" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Noiz sortua" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Izena erakutsi" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Azken aldaketa" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Azkenengoz eguneratu zuena" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Azken eguneraketa noiz" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Aukera ez dago eskuragarri" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Aukerako produktua" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Aukerak" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Price" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Prezio zerrenda " + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Produktua" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Produktuaren txantiloia" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Produktuaren aldaera" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Kopurua" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Salmenta-eskaera lerroa" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Gorde" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "" diff --git a/addons/sale_product_configurator/i18n/fa.po b/addons/sale_product_configurator/i18n/fa.po new file mode 100644 index 00000000..4993faf2 --- /dev/null +++ b/addons/sale_product_configurator/i18n/fa.po @@ -0,0 +1,255 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# Hamid Darabi, 2020 +# Faraz Sadri Alamdari <ifarazir@gmail.com>, 2020 +# Sahar Daraye <sahar.daraye.1369@gmail.com>, 2020 +# Hamed Mohammadi <hamed@dehongi.com>, 2020 +# Mohsen Mohammadi <iammohsen.123@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Mohsen Mohammadi <iammohsen.123@gmail.com>, 2021\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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> افزودن به سبد" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>کل:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "افزودن" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "افزودن یکی" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "مقدار مشخصه" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "گزینههای موجود:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "بازگشت" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "لغو" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "محافظ کف برای صندلی" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "پیکربندی" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "پیکربندی یک محصول" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "تایید" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "ایجاد توسط" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "ایجاد شده در" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "مقادیر سفارشی" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "نام نمایشی" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "مقادیر اضافی" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "شناسه" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "آیا محصول قابل پیکربندی است؟" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "آخرین تغییر در" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "آخرین به روز رسانی توسط" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "آخرین به روز رسانی در" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "صندلی دفتر میتواند به کف صدمه بزند: مراقبت کنید." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "پیشنهاد در دسترس نیست" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "محصولات اختیاری" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "گزینهها" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "قیمت" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "لیست قیمت" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "محصول" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "تصویر محصول" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "قالب محصول" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "گونه محصول" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "تعداد" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "حذف یکی" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "پیکربندی کننده فروش محصول" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "سطر سفارشفروش" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "ذخیره" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "این ترکیب وجود ندارد" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "این محصول هیچ ترکیب معتبری ندارد" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "واحد ها" diff --git a/addons/sale_product_configurator/i18n/fi.po b/addons/sale_product_configurator/i18n/fi.po new file mode 100644 index 00000000..2a9c15f0 --- /dev/null +++ b/addons/sale_product_configurator/i18n/fi.po @@ -0,0 +1,260 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# Kari Lindgren <kari.lindgren@emsystems.fi>, 2020 +# Mikko Salmela <salmemik@gmail.com>, 2020 +# Svante Suominen <svante.suominen@web-veistamo.fi>, 2020 +# Jarmo Kortetjärvi <jarmo.kortetjarvi@gmail.com>, 2020 +# Tuomo Aura <tuomo.aura@web-veistamo.fi>, 2020 +# Timo Koukkari <ti.ko@netikka.fi>, 2020 +# Tuomas Lyyra <tuomas.lyyra@legenda.fi>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Tuomas Lyyra <tuomas.lyyra@legenda.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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Lisää tilaukselle" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Yhteensä:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Lisää" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Lisää yksi" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Attribuuttien arvot" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Valittavissa olevat vaihtoehdot: " + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Takaisin" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Peruuta" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "Tuolin lattian suoja" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Konfiguroi" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Lisää konfiguroitava tuote" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Vahvista" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Luonut" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Luotu" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "Muokatut arvot" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Näyttönimi" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "Lisäarvot" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "Tunniste (ID)" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Viimeksi muokattu" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Viimeksi päivitetty" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Viimeksi päivitetty" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "Työtuolit voivat vahingoittaa lattiaasi: suojaa se." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Vaihtoehtoa ei ole saatavana" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Lisätuotteet" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"Valinnaisia tuotteita suositellaan aina, kun asiakas osuu * Lisää " +"ostoskoriin * (ristiinmyyntistrategia, esimerkiksi tietokoneille: takuu, " +"ohjelmistot jne.)." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Vaihtoehdot" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Hinta" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Hinnasto" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Tuote" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Tuotekuva" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Tuotemalli" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Tuotevariaatio" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Määrä" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Poista yksi" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "Tarjoustuotteen konfiguraattori" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Myyntitilausrivi" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Tallenna" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Tätä yhdistelmää ei ole olemassa." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Tällä tuotteella ei ole kelvollista yhdistelmää." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Yksiköt" diff --git a/addons/sale_product_configurator/i18n/fr.po b/addons/sale_product_configurator/i18n/fr.po new file mode 100644 index 00000000..0a9c1628 --- /dev/null +++ b/addons/sale_product_configurator/i18n/fr.po @@ -0,0 +1,264 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# e2f <projects@e2f.com>, 2020 +# Moka Tourisme <hello@mokatourisme.fr>, 2020 +# Richard Mathot <rim@odoo.com>, 2020 +# Clo <clo@odoo.com>, 2020 +# Aurélien Pillevesse <aurelienpillevesse@hotmail.fr>, 2020 +# Fred Gilson <fgi@odoo.com>, 2020 +# LEONARD Jean-Christophe <jean-christophe.leonard@myceliandre.fr>, 2020 +# Sébastien BÜHL <buhlsebastien@gmail.com>, 2020 +# omaodoo <oma@odoo.com>, 2020 +# Gilles Mangin <gilles.mangin@phidias.fr>, 2020 +# edc <edc@odoo.com>, 2020 +# Martin Trigaux, 2020 +# Cécile Collart <cco@odoo.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Cécile Collart <cco@odoo.com>, 2020\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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Ajouter au panier" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Total :</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Ajouter" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Ajouter" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Valeurs de caractéristique" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Options disponibles:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Retour" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Annuler" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "Protection de sol pour chaise" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Configurer" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Configurez un article" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Confirmer" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "Valeur non standard" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "Valeur supplémentaire" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "Cet article est-il configurable?" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "Les chaises de bureau peuvent endommager votre sol: protégez-le." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Option non disponible." + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Articles optionnels" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"Les articles optionnels sont suggérés quand le client clique sur *Ajouter au" +" Panier*" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Options" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Prix" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Liste de prix" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Article" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Image de l'article" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Modèle d'article" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Variante d'article" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Quantité" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Supprimer" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "Configurateur de produits pour la vente" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Ligne de bons de commande" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Sauvegarder" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Cette combinaison n'existe pas." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Ce produit n'a pas de combinaison existante" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Unité(s)" diff --git a/addons/sale_product_configurator/i18n/he.po b/addons/sale_product_configurator/i18n/he.po new file mode 100644 index 00000000..3127c1ba --- /dev/null +++ b/addons/sale_product_configurator/i18n/he.po @@ -0,0 +1,255 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# Yihya Hugirat <hugirat@gmail.com>, 2020 +# ZVI BLONDER <ZVIBLONDER@gmail.com>, 2020 +# Ofir Blum <ofir.blum@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Ofir Blum <ofir.blum@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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> הוסף לעגלה" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>סה\"כ:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "הוסף" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "הוסף אחד" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "ערכי תכונות" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "אפשרויות זמינות:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "חזור" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "בטל" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "מדבקות לרגלי כסא" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "הגדר" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "הגדר מוצר" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "אשר" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "נוצר על-ידי" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "נוצר ב-" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "ערכים מותאמים אישית" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "הצג שם" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "ערכים נוספים" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "תעודה מזהה" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "האם ניתן להגדיר את המוצר?" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "שינוי אחרון ב" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "עודכן לאחרונה על-ידי" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "עדכון אחרון ב" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "כסאות משרדיים יכולים להזיק לרצפה שלך: הגן עליה." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "האפשרות אינה זמינה" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "מוצרים אופציונליים" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"מוצרים אופציונליים מוצעים בכל פעם שהלקוח לוחץ על *הוסף לעגלה* (אסטרטגיית " +"קרוס-סל, למשל למחשבים: אחריות, תוכנה וכו ')." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "אפשרויות" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "מחיר" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "מחירון" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "מוצר" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "תמונת מוצר" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "תבנית מוצר " + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "וריאנט מוצר" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "כמות" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "הסר אחד" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "מגדיר מוצר מכירה" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "שורת הזמנת לקוח" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "שמור" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "שילוב זה אינו קיים." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "למוצר זה אין שילוב תקף." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "יחידה" diff --git a/addons/sale_product_configurator/i18n/hi.po b/addons/sale_product_configurator/i18n/hi.po new file mode 100644 index 00000000..59b9ba48 --- /dev/null +++ b/addons/sale_product_configurator/i18n/hi.po @@ -0,0 +1,250 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Martin Trigaux, 2021\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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "जोड़ना" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "रद्द" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "सहेज" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "" diff --git a/addons/sale_product_configurator/i18n/hr.po b/addons/sale_product_configurator/i18n/hr.po new file mode 100644 index 00000000..6b85d3a0 --- /dev/null +++ b/addons/sale_product_configurator/i18n/hr.po @@ -0,0 +1,259 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# Vladimir Olujić <olujic.vladimir@storm.hr>, 2020 +# Ivica Dimjašević <ivica.dimjasevic@storm.hr>, 2020 +# Karolina Tonković <karolina.tonkovic@storm.hr>, 2020 +# Ana-Maria Olujić <ana-maria.olujic@slobodni-programi.hr>, 2020 +# Tina Milas, 2020 +# Bole <bole@dajmi5.com>, 2021 +# Hrvoje Sić <hrvoje.sic@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Hrvoje Sić <hrvoje.sic@gmail.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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Ukupno:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Dodaj" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Dodaj jedan" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Vrijednosti značajki" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Natrag" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Odustani" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Postavke" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Konfiguriraj proizvod" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Potvrdi" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "Podesive vrijednosti" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Naziv" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "Dodatne vrijednosti" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "Da li je proizvod konfigurabilan?" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Zadnja promjena" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Promijenio" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Vrijeme promjene" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Mogući proizvodi" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"Opcionalni proizvodi su predloženi kad god kupac klikne \"Dodaj u košaricu\"" +" (strategija križne prodaje, npr. za računala: jamstvo, programi itd.)." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Opcije" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Cijena" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Cjenik" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Proizvod" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Slika proizvoda" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Predložak proizvoda" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Varijanta proizvoda" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Količina" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Stavka prodajnog naloga" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Spremi" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Jedinice" diff --git a/addons/sale_product_configurator/i18n/hu.po b/addons/sale_product_configurator/i18n/hu.po new file mode 100644 index 00000000..3ea7d0af --- /dev/null +++ b/addons/sale_product_configurator/i18n/hu.po @@ -0,0 +1,258 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2021 +# krnkris, 2021 +# Tamás Németh <ntomasz81@gmail.com>, 2021 +# gezza <geza.nagy@oregional.hu>, 2021 +# Kovács Tibor <kovika@gmail.com>, 2021 +# Ákos Nagy <akos.nagy@oregional.hu>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Ákos Nagy <akos.nagy@oregional.hu>, 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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Kosárba tesz" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Összesen:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Hozzáadás" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Hozzáadás" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Tulajdonság értékek" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Elérhető opciók:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Vissza" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Visszavonás" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "Padlóvédő szék alá" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Konfigurálás" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Termék konfigurálása" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Megerősítés" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Létrehozta" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Létrehozva" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "Egyedi értékek" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Név megjelenítése" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "Extra értékek" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "Azonosító" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "A termék konfigurálható?" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Legutóbb módosítva" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Frissítette" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Frissítve " + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "Az irodai székek árthatnak a padlónak: védje meg." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Az opció nem elérhető" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Választható termékek" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"A választható termékek felkínálásra kerülnek amikor a vásárló leüti a " +"*Kosárhoz adás* gombot (kereszt-értékesítés stratégia, pl. számítógépekhez: " +"garancia, szoftver, stb.)." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Beállítások" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Ár" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Árlista" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Termék" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Termék képe" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Terméksablon" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Termékváltozat" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Mennyiség" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Eltávolítás" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "Értékesítési termék konfigurátor" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Értékesítési rendelés sor" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Mentés" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Ez a kombináció nem létezik." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Ezen terméknek nincs érvényes kombinációja." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "egység" diff --git a/addons/sale_product_configurator/i18n/id.po b/addons/sale_product_configurator/i18n/id.po new file mode 100644 index 00000000..928ed3ed --- /dev/null +++ b/addons/sale_product_configurator/i18n/id.po @@ -0,0 +1,259 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# Wahyu Setiawan <wahyusetiaaa@gmail.com>, 2020 +# oon arfiandwi <oon.arfiandwi@gmail.com>, 2020 +# Adam Damara <lorenzrenz@gmail.com>, 2020 +# Edy Kend <edy@azmall.co.id>, 2020 +# Muhammad Syarif <mhdsyarif.ms@gmail.com>, 2020 +# Hendra So <mask783@gmail.com>, 2020 +# Ryanto The <ry.the77@gmail.com>, 2020 +# Ikhsanul Wirsa <iwirsa02@outlook.co.id>, 2020 +# Abdul Munif Hanafi <amunifhanafi@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Abdul Munif Hanafi <amunifhanafi@gmail.com>, 2021\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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Total:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Tambahkan" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Nilai-nilai Atribut" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Kembali" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Batal" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Atur" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Konfigurasikan sebuah produk" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Konfirmasi" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Dibuat oleh" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Dibuat pada" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Nama Tampilan" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Terakhir diubah pada" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Terakhir diperbarui oleh" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Terakhir diperbarui pada" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Pilihan produk" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Opsi" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Harga" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Daftar Harga" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Produk" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Gambar Produk" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Templete Produk" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Varian Produk" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Kuantitas" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Detail Order Penjualan" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Simpan" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Unit" diff --git a/addons/sale_product_configurator/i18n/it.po b/addons/sale_product_configurator/i18n/it.po new file mode 100644 index 00000000..05c093b2 --- /dev/null +++ b/addons/sale_product_configurator/i18n/it.po @@ -0,0 +1,256 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Paolo Valier, 2020 +# Léonie Bouchat <lbo@odoo.com>, 2020 +# Sergio Zanchetta <primes2h@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" +"<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Aggiungi al carrello" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Totale:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Aggiungi" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Aggiungi unità" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Valori attributo" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Opzioni disponibili:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Indietro" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Annulla" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "Proteggi pavimento per sedia" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Configura" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Configurazione prodotto" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Conferma" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Data creazione" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "Valori predefiniti" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "Valori aggiuntivi" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "Il prodotto è configurabile?" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "Le sedie da ufficio possono danneggiare il pavimento: proteggilo." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Opzione non disponibile" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Prodotti opzionali" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"I prodotti opzionali vengono suggeriti ogni volta che il cliente fa clic su " +"*Aggiungi al carrello* (strategia di vendita incrociata, es. per i computer:" +" garanzia, software ecc...)." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Opzioni" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Prezzo" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Listino prezzi" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Prodotto" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Immagine prodotto" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Modello prodotto" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Variante prodotto" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Quantità" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Rimuovi unità" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "Configuratore prodotto per vendite" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Riga ordine di vendita" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Salva" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Questa combinazione non esiste." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Questo prodotto non ha combinazioni valide." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Unità" diff --git a/addons/sale_product_configurator/i18n/ja.po b/addons/sale_product_configurator/i18n/ja.po new file mode 100644 index 00000000..9e84d974 --- /dev/null +++ b/addons/sale_product_configurator/i18n/ja.po @@ -0,0 +1,256 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Shunho Kin <s-kin@shonan-innovation.co.jp>, 2020 +# Martin Trigaux, 2020 +# Yoshi Tashiro <tashiro@roomsfor.hk>, 2020 +# 高木正勝 <masakatsu.takagi@pro-spire.co.jp>, 2020 +# Norimichi Sugimoto <norimichi.sugimoto@tls-ltd.co.jp>, 2020 +# Noma Yuki, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Noma Yuki, 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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> カートに追加" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>合計:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "追加" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "1つ追加" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "属性値" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "利用可能なオプション:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "戻る" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "取消" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "チェアマット" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "設定しましょう" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "プロダクトを構成" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "確認" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "作成者" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "作成日" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "表示名" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "最終更新日" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "最終更新者" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "最終更新日" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "オプションプロダクト" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"オプションの商品は、*カートに入れる*(クロスセル戦略、たとえばコンピュータの場合:保証、ソフトウェアなど)をクリックするたびに表示されます。" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "オプション" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "価格" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "価格リスト" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "プロダクト" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "プロダクト画像" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "プロダクトテンプレート" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "プロダクトバリアント" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "数量" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "販売プロダクトコンフィギュレータ" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "販売オーダ明細" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "保存" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "この組み合わせは存在しません。" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "このプロダクトには有効な組み合わせがありません。" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "個" diff --git a/addons/sale_product_configurator/i18n/ka.po b/addons/sale_product_configurator/i18n/ka.po new file mode 100644 index 00000000..fccf0e94 --- /dev/null +++ b/addons/sale_product_configurator/i18n/ka.po @@ -0,0 +1,253 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Mari Khomeriki <mari.khomeriki@maxinai.com>, 2021 +# Martin Trigaux, 2021 +# Temur, 2021 +# Giorgi Melitauri <gmelitauri@live.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Giorgi Melitauri <gmelitauri@live.com>, 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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "დამატება" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "უკან" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "გაუქმება" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "დამოწმება" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "შემქმნელი" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "შექმნის თარიღი" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "სახელი" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "იდენტიფიკატორი/ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "ბოლოს განახლებულია" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "ბოლოს განაახლა" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "ბოლოს განახლდა" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "ოფციები" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "ფასი" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "პროდუქტი" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "პროდუქტის შაბლონი" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "რაოდენობა" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "გაყიდვის ორდერის ხაზი" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "შენახვა" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "" diff --git a/addons/sale_product_configurator/i18n/km.po b/addons/sale_product_configurator/i18n/km.po new file mode 100644 index 00000000..e57cf9a7 --- /dev/null +++ b/addons/sale_product_configurator/i18n/km.po @@ -0,0 +1,254 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Sengtha Chay <sengtha@gmail.com>, 2020 +# Samkhann Seang <seangsamkhann@gmail.com>, 2020 +# Lux Sok <sok.lux@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Lux Sok <sok.lux@gmail.com>, 2020\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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/>បន្ថែមទៅក្នុងរទេះ" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>សរុប៖</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "បន្ថែម" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "បន្ថែមមួយ" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "កំណត់គុណតម្លៃ" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "មានជំរើស៖" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "ថយក្រោយ" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "លុបចោល" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "ការការពារជាន់កៅអី" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "កំណត់ផ្លាស់ប្តូរ" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "កំណត់ផលិតផល" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "បញ្ជាក់" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "បង្កើតដោយ" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "បង្កើតនៅ" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "ឈ្មោះសំរាប់បង្ហាញ" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "អត្តសញ្ញាណ" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "កាលបរិច្ឆេតកែប្រែចុងក្រោយ" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "ផ្លាស់ប្តូរចុងក្រោយ" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "ផ្លាស់ប្តូរចុងក្រោយ" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "កៅអីការិយាល័យអាចបង្កគ្រោះថ្នាក់ដល់ជាន់របស់អ្នក៖ ការពារវា។" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "ជម្រើសមិនមានទេ" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "ផលិតផលផ្សេងទៀត" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"ផលិតផលជម្រើសត្រូវបានណែនាំនៅពេលណាដែលអតិថិជនវាយ * បន្ថែមទៅកន្ត្រកទំនិញ * " +"(យុទ្ធសាស្ត្រលក់ - ឧទាហរណ៏សម្រាប់កុំព្យូទ័រ៖ ការធានាផ្នែកទន់ជាដើម) ។" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "ជម្រើស" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "តម្លៃ" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "តារាងតំលៃ" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "ផលិតផល" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "រូបភាពផលិតផល" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "គំរូផលិតផល" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "ការផ្លាស់ប្តូរផលិតផល" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "ចំនួន" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "យកមួយចេញ" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "អ្នកកំណត់រចនាសម្ព័ន្ធលក់ផលិតផល" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "លំដាប់បញ្ជាទិញ" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "រក្សាទុក" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "ការរួមបញ្ចូលគ្នានេះមិនមានទេ។" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "ផលិតផលនេះមិនមានការរួមបញ្ចូលត្រឹមត្រូវទេ។" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "" diff --git a/addons/sale_product_configurator/i18n/ko.po b/addons/sale_product_configurator/i18n/ko.po new file mode 100644 index 00000000..c0889a02 --- /dev/null +++ b/addons/sale_product_configurator/i18n/ko.po @@ -0,0 +1,254 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# JH CHOI <hwangtog@gmail.com>, 2020 +# Link Up링크업 <linkup.way@gmail.com>, 2020 +# Linkup <link-up@naver.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Linkup <link-up@naver.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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> 장바구니에 담기" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>소계 :</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "추가" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "하나 추가하기" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "속성 값" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "사용 가능한 선택 사항 :" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "뒤로" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "취소" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "바닥 보호용 의자 덮개" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "구성" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "상품 구성" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "확인" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "작성자" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "작성일" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "맞춤 값" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "이름 표시" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "추가 값" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "제품 구성 여부" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "최근 수정" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "최근 갱신한 사람" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "최근 갱신 날짜" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "사무용 의자는 바닥을 손상시킬 수 있습니다 : 그것으로 보호합니다." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "사용할 수 없는 선택 사항" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "선택 제품" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"선택 제품은 고객이 *장바구니에 담기*(교차 판매 전략. 예 : 컴퓨터 구매 시 : 보증, 소프트웨어 등)를 누를 때마다 권장됩니다." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "옵션" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "가격" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "가격표" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "상품" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "상품 이미지" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "상품 양식" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "파생 상품" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "수량" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "하나만 제거하기" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "판매 상품 구성기" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "판매 주문 명세" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "저장" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "이 조합은 존재하지 않습니다." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "이 상품에는 유효한 조합이 없습니다." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "단위" diff --git a/addons/sale_product_configurator/i18n/lb.po b/addons/sale_product_configurator/i18n/lb.po new file mode 100644 index 00000000..5c8b1e93 --- /dev/null +++ b/addons/sale_product_configurator/i18n/lb.po @@ -0,0 +1,220 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-09 12:18+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" diff --git a/addons/sale_product_configurator/i18n/lt.po b/addons/sale_product_configurator/i18n/lt.po new file mode 100644 index 00000000..daf0cb8f --- /dev/null +++ b/addons/sale_product_configurator/i18n/lt.po @@ -0,0 +1,258 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2021 +# UAB "Draugiški sprendimai" <transifex@draugiskisprendimai.lt>, 2021 +# Antanas Muliuolis <an.muliuolis@gmail.com>, 2021 +# Linas Versada <linaskrisiukenas@gmail.com>, 2021 +# Denis Knotko <denis_knotko@yahoo.com>, 2021 +# Jonas Zinkevicius <jozi@odoo.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Jonas Zinkevicius <jozi@odoo.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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/>Pridėti į krepšelį" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Suma:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Pridėti" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Pridėti vieną" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Atributų reikšmės" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Galimi pasirinkimai:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Grįžti" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Atšaukti" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "Kėdės grindų apsauga" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Konfigūruoti" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Konfigūruoti produktą" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Patvirtinti" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Sukūrė" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Sukurta" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "Tinkintos vertės" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Rodomas pavadinimas" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "Papildomos vertės" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Paskutinį kartą keista" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Paskutinį kartą atnaujino" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Paskutinį kartą atnaujinta" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "Biuro kėdės gali pažeisti jūsų grindis, apsaugokite jas." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Pasirinkimas negalimas" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Papildomi produktai" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"Papildomi produktai siūlomi, kai vartotojas paspaudžia \"Pridėti į " +"krepšelį\" (kryžminio pardavimo strategija, pvz., kompiuteriams tai gali " +"būti garantija, programinė įranga ir t.t.)." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Pasirinkimai" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Kaina" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Kainoraštis" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Produktas" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Produkto paveikslėlis" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Produkto šablonas" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Produkto variantas" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Kiekis" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Pašalinti vieną" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "Pardavimo produkto konfigūratorius" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Pardavimo užsakymo eilutė" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Išsaugoti" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Ši kombinacija neegzistuoja." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Šis produktas neturi galimų kombinacijų." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Vienetai" diff --git a/addons/sale_product_configurator/i18n/lv.po b/addons/sale_product_configurator/i18n/lv.po new file mode 100644 index 00000000..96ac8606 --- /dev/null +++ b/addons/sale_product_configurator/i18n/lv.po @@ -0,0 +1,246 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "" diff --git a/addons/sale_product_configurator/i18n/mn.po b/addons/sale_product_configurator/i18n/mn.po new file mode 100644 index 00000000..29a1ca26 --- /dev/null +++ b/addons/sale_product_configurator/i18n/mn.po @@ -0,0 +1,256 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Baskhuu Lodoikhuu <baskhuujacara@gmail.com>, 2020 +# Martin Trigaux, 2020 +# Minj P <pminj322@gmail.com>, 2020 +# Batmunkh Ganbat <batmunkh.g@bumanit.mn>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Сагсанд хийх" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Нийт:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Нэмэх" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Нэгийг нэмэх" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Шинж чанарын утгууд" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Боломжит сонголтууд:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Буцах" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Цуцлах" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Тохируулга" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Бараа тохируулах" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Илгээх" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Үүсгэсэн этгээд" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Үүсгэсэн огноо" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Дэлгэрэнгүй нэр" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "Энэ барааны мэдээллийг өөрчлөх боломжтой юу?" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Сүүлд зассан огноо" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Сүүлд зассан этгээд" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Сүүлд зассан огноо" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "Оффисын сандал таны шалыг гэмтээж болно: сэргийлнэ үү." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Одоогоор сонголт алга" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Нэмж санал болгох бараа" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"Захиалагч барааг \"Сагсанд нэмэх\" үед нэмэлт бараануудыг санал болгоно (энэ" +" бол дагалдуулж зарах стратеги юм, ж.нь. компьютерийн хувьд: баталгаат " +"хугацаа, програм хангамж, г.м)." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Сонголтууд" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Үнэ" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Үнийн хүснэгт" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Бараа" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Барааны зураг" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Барааны загвар" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Барааны хувилбар" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Тоо хэмжээ" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Нэгийг хасах" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "Тохируулдаг бараа борлуулах" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Борлуулалтын захиалгын мөр" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Хадгалах" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Энэ зохимж байхгүй байна." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Энэ бараанд боломжит зохимж алга." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Нэгж" diff --git a/addons/sale_product_configurator/i18n/nb.po b/addons/sale_product_configurator/i18n/nb.po new file mode 100644 index 00000000..93a5edbe --- /dev/null +++ b/addons/sale_product_configurator/i18n/nb.po @@ -0,0 +1,256 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Fredrik Ahlsen <fredrik@gdx.no>, 2020 +# Martin Trigaux, 2020 +# Jorunn D. Newth, 2020 +# Marius Stedjan <marius@stedjan.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "Legg i handlekurv" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Total:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Legg til" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Legg til én" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Attributtverdier" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Tilbake" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Avbryt" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Konfigurer" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Bekreft" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Opprettet av" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Opprettet" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "Tilpassede verdier" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Visningsnavn" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "Ekstra verdier" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Sist endret" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Sist oppdatert av" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Sist oppdatert" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Valgfrie produkter" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"Valgfrie produkter blir foreslått når kunden legger noe til i handlevognen " +"(cross-sell-strategi, for eksempel kan det for datamaskiner være ekstra " +"garantitid, programvare, osv.)" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Valg" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Pris" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Prisliste" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Produkt" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Produktbilde" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Produktmal" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Produktvariant" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Antall" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Fjern én" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Salgsordrelinje" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Lagre" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Denne kombinasjonen eksisterer ikke." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Dette produktet har ingen gyldige kombinasjoner." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Enheter" diff --git a/addons/sale_product_configurator/i18n/nl.po b/addons/sale_product_configurator/i18n/nl.po new file mode 100644 index 00000000..8b2615bb --- /dev/null +++ b/addons/sale_product_configurator/i18n/nl.po @@ -0,0 +1,258 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# Yenthe Van Ginneken <yenthespam@gmail.com>, 2020 +# dpms <pieter.van.de.wygaert@telenet.be>, 2020 +# Erwin van der Ploeg <erwin@odooexperts.nl>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" +"<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Toevoegen aan " +"winkelmandje" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Totaal:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Toevoegen" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Voeg één toe" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Kenmerkwaardes" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Beschikbare opties:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Terug" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Annuleren" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "Stoel vloerbescherming" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Configureren" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Configureer een product" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Bevestigen" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Aangemaakt door" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Aangemaakt op" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "Aangepaste waardes" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Schermnaam" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "Extra waardes" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "Is het product configureerbaar?" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Laatst gewijzigd op" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Laatst bijgewerkt door" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Laatst bijgewerkt op" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "Kantoorstoelen kunnen uw vloer beschadigingen: Bescherm deze." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Optie niet beschikbaar" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Optionele producten" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"Optionele producten worden voorgesteld wanneer de klant op de knop \"Voeg " +"toe aan winkelmandje\" klikt (cross-selling strategie, bijv. garantie, " +"software, etc.)" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Opties" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Prijs" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Prijslijst" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Product" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Productafbeelding" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Productsjabloon" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Productvariant" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Hoeveelheid" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Verwijder één" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "Verkoop productconfigurator" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Verkooporderregel" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Opslaan" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Deze combinatie bestaat niet." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Dit product heeft geen geldige combinatie." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Stuks" diff --git a/addons/sale_product_configurator/i18n/pl.po b/addons/sale_product_configurator/i18n/pl.po new file mode 100644 index 00000000..dbcfe285 --- /dev/null +++ b/addons/sale_product_configurator/i18n/pl.po @@ -0,0 +1,265 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# Judyta Kaźmierczak <judyta.kazmierczak@openglobe.pl>, 2020 +# Tadeusz Karpiński <tadeuszkarpinski@gmail.com>, 2020 +# Tomasz Leppich <t.leppich@gmail.com>, 2020 +# Piotr Szlązak <szlazakpiotr@gmail.com>, 2020 +# Slawomir Adamus <melthalion@gmail.com>, 2020 +# Marcin Młynarczyk <mlynarczyk@gmail.com>, 2020 +# Karol Rybak <karolrybak85@gmail.com>, 2020 +# Andrzej Donczew <a.donczew@hadron.eu.com>, 2020 +# Piotr Cierkosz <piotr.w.cierkosz@gmail.com>, 2020 +# Paweł Wodyński <pw@myodoo.pl>, 2020 +# Maja Stawicka <mjstwck@wp.pl>, 2020 +# Piotr Strębski <strebski@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Piotr Strębski <strebski@gmail.com>, 2021\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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Suma:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Dodaj" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Wartość atrybutu" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Powrót" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Anuluj" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "Ochrona podłogi na krzesło" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Konfiguruj" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Skonfiguruj product" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Potwierdź" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Utworzona przez" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Utworzono" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Nazwa wyświetlana" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Data ostatniej modyfikacji" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Ostatnio aktualizowane przez" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Data ostatniej aktualizacji" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Produkty opcjonalne" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"Produkty opcjonalne są sugerowane za każdym razem, gdy klient kliknie *Dodaj" +" do koszyka* (strategia sprzedaży krzyżowej, np. dla komputerów: gwarancja, " +"oprogramowanie itp.)." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Opcje" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Kwota" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Cennik" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Produkt" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Obraz produktu" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Szablon produktu" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Wariant produktu" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Ilość" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Usuń jeden" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Pozycja zamówienia sprzedaży" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Zapisz" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Ta kombinacja nie istnieje." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Jednostki" diff --git a/addons/sale_product_configurator/i18n/pt.po b/addons/sale_product_configurator/i18n/pt.po new file mode 100644 index 00000000..129ec5be --- /dev/null +++ b/addons/sale_product_configurator/i18n/pt.po @@ -0,0 +1,258 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# Ricardo Correia <rcorreiavv@gmail.com>, 2020 +# Manuela Silva <manuelarodsilva@gmail.com>, 2020 +# Pedro Castro Silva <pedrocs@exo.pt>, 2020 +# Nuno Silva <nuno.silva@arxi.pt>, 2020 +# Reinaldo Ramos <reinaldo.ramos@arxi.pt>, 2020 +# Marcelo Pereira <marcelo.pereira@arxi.pt>, 2020 +# Pedro Filipe <pedro2.10@hotmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" +"<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Adicionar ao carrinho" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Total:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Adicionar" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Adicionar um" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Valores de Atributo" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Anterior" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Configurar" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Configurar um Artigo" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Confirmar" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Nome" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Última Modificação em" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Última Atualização por" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Última Atualização em" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Produtos Opcionais" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Opções" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Preço" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Lista de preços" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Artigo" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Imagem do Artigo" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Modelo de Artigo" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Variante de Artigo" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Quantidade" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Remover um" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Linhas da Ordem de Vendas" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Guardar" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "" diff --git a/addons/sale_product_configurator/i18n/pt_BR.po b/addons/sale_product_configurator/i18n/pt_BR.po new file mode 100644 index 00000000..f80ad1c9 --- /dev/null +++ b/addons/sale_product_configurator/i18n/pt_BR.po @@ -0,0 +1,266 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# 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 +# Luiz Carlos de Lima <luiz.carlos@akretion.com.br>, 2020 +# falexandresilva <falexandresilva@gmail.com>, 2020 +# grazziano <gra.negocia@gmail.com>, 2020 +# André Augusto Firmino Cordeiro <a.cordeito@gmail.com>, 2020 +# Silmar <pinheirosilmar@gmail.com>, 2020 +# Mateus Pinheiro <smateusbp@gmail.com>, 2020 +# Luiz Carareto Alonso <Luiz.cararetoalonso@gmail.com>, 2020 +# Marcel Savegnago <marcel.savegnago@gmail.com>, 2020 +# Luiz Fernando <lfpsgs@outlook.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Luiz Fernando <lfpsgs@outlook.com>, 2020\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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" +"<i class=\"fa fa-shopping-cart add-optionnal-item\"/>Adicionar no carrinho" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Total:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Adicionar" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Adicionar um" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Valores do Atributo" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Opções Disponíveis:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Voltar" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "Proteção de piso para cadeiras" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Configurar" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Configurar um produto" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Confirmar" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "Valores Personalizados" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Nome exibido" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "Valores Extras" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "Este é um produto configurável?" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Última modificação em" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Última atualização por" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Última atualização em" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "Cadeiras de escritório podem prejudicar seu piso: proteja-o." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Opção não disponível" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Produtos Opcionais" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"Produtos opcionais são sugeridos sempre que o cliente clica *Adicionar ao " +"Carrinho* (estratégia de venda cruzada, por exemplo, para computadores: " +"garantia, software, etc.)." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Opções" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Preço" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Lista de Preço" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Produto" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Imagem do Produto" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Modelo de Produto" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Variação do Produto" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Quantidade" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Remova um" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "Configurador de Produtos de Venda" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Linha do pedido de vendas" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Salvar" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Essa combinação não existe." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Este produto não tem uma combinação válida." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Unidades" diff --git a/addons/sale_product_configurator/i18n/ro.po b/addons/sale_product_configurator/i18n/ro.po new file mode 100644 index 00000000..2d86d9a4 --- /dev/null +++ b/addons/sale_product_configurator/i18n/ro.po @@ -0,0 +1,255 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# Fekete Mihai <mihai.fekete@forestandbiomass.ro>, 2020 +# Cozmin Candea <office@terrabit.ro>, 2020 +# Foldi Robert <foldirobert@nexterp.ro>, 2020 +# Dorin Hongu <dhongu@gmail.com>, 2020 +# Hongu Cosmin <cosmin513@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/>Adaugă în coș" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong> Total: </strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Adaugă" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Adaugă" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Valori atribute" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Opțiuni disponibile:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Înapoi" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Anulează" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "Protecție podea scaun" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Configurare" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Configurați un produs" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Confirmă" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Creat de" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Creat în" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "Valori personalizate" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Nume afișat" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "Valori Extra" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "Produsul poate fi configurat?" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Ultima modificare la" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Ultima actualizare făcută de" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Ultima actualizare pe" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Opțiune indisponibilă" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Produse opționale" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Opțiuni" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Preț" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Listă de prețuri" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Produs" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Imagine produs" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Șablon produs" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Variantă produs" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Cantitate" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Eliminați unu" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "Configurator produs de vânzare" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Linie comandă vânzare" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Salvează" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Această combinație nu există." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Acest produs nu are nici o combinație de atribute validă." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "buc" diff --git a/addons/sale_product_configurator/i18n/ru.po b/addons/sale_product_configurator/i18n/ru.po new file mode 100644 index 00000000..428b9cac --- /dev/null +++ b/addons/sale_product_configurator/i18n/ru.po @@ -0,0 +1,258 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# Ivan Yelizariev <yelizariev@it-projects.info>, 2020 +# ILMIR <karamov@it-projects.info>, 2020 +# Oleg Kuryan <oleg@ventor.tech>, 2020 +# Irina Fedulova <istartlin@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" +"<i class=\"fa fa-shopping-cart add-optionnal-item\"/>Добавить в корзину</i>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Итого:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Добавить" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Добавить один" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Значение атрибута" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Доступные функции:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Назад" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Отменить" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "Защита пола от стула" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Настроить" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "настроить товар" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Подтвердить" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Создал" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Создан" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Отображаемое имя" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "Идентификатор" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Последнее изменение" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Последний раз обновил" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Последнее обновление" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "Офисные стулья могут повредить вашему полу: защитите ее." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Функция недоступна" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Дополнительные товары" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"Дополнительные продукты предлагаются всякий раз, когда клиент попадает " +"*Добавить в корзину * (стратегия кросс-продаж, например, для компьютеров: " +"гарантия, программное обеспечение и т.д.)." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Параметры" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Цена" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Прайс" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Продукт" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Изображения продукта " + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Шаблон продукта" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Вариант продукта" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Количество" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Удалить один" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "Конфигуратор товара продажи" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Строка заказа на продажу" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Сохранить" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Такая комбинация не существует" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Этот товар не имеет действительной комбинации." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Единицы" diff --git a/addons/sale_product_configurator/i18n/sale_product_configurator.pot b/addons/sale_product_configurator/i18n/sale_product_configurator.pot new file mode 100644 index 00000000..80ea7934 --- /dev/null +++ b/addons/sale_product_configurator/i18n/sale_product_configurator.pot @@ -0,0 +1,246 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-29 13:46+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "" diff --git a/addons/sale_product_configurator/i18n/si.po b/addons/sale_product_configurator/i18n/si.po new file mode 100644 index 00000000..6a49fb5e --- /dev/null +++ b/addons/sale_product_configurator/i18n/si.po @@ -0,0 +1,246 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "" diff --git a/addons/sale_product_configurator/i18n/sk.po b/addons/sale_product_configurator/i18n/sk.po new file mode 100644 index 00000000..f3122252 --- /dev/null +++ b/addons/sale_product_configurator/i18n/sk.po @@ -0,0 +1,257 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# Matus Krnac <matus.krnac@gmail.com>, 2020 +# Jaroslav Bosansky <jaro.bosansky@ekoenergo.sk>, 2020 +# Jan Prokop, 2020 +# Radoslav Sloboda <rado.sloboda@gmail.com>, 2020 +# Rastislav Brencic <rastislav.brencic@azet.sk>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/>Vlož do košíka" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Celkom:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Pridať" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Pridaj jeden" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Hodnoty atribútu" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Dostupné možnosti:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Späť" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Zrušené" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "Ochrana podlahy pre stoličky" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Nakonfigurovať" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Konfigurovať produkt" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Potvrdiť" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Vytvoril" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Vytvorené" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "Vlastné hodnoty" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Zobrazovaný názov" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "Mimoriadne hodnoty" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "Je produkt konfigurovateľný?" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Posledná úprava" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Naposledy upravoval" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Naposledy upravované" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "Kancelárske stoličky môžu poškodiť vašu podlahu: chráňte ju." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Možnosť nie je k dispozícii" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Voliteľné produkty" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"Doplnkové produkty sú ponúkané akonáhle zákazník zvolí *Vlož do košíka* " +"(stratégia cross-sell, napr. pre počítače: záruka, software apod.)." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Možnosti" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Cena" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Cenník" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Produkt" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Obrázok produktu" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Šablóna produktu" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Varianta produktu" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Množstvo" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Odstráň jednu" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "Konfigurátor produktov predaja" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Položka objednávok" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Uložiť" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Táto kombinácia neexistuje." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Tento produkt nemá platnú kombináciu." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "kusy" diff --git a/addons/sale_product_configurator/i18n/sl.po b/addons/sale_product_configurator/i18n/sl.po new file mode 100644 index 00000000..ab16f7ab --- /dev/null +++ b/addons/sale_product_configurator/i18n/sl.po @@ -0,0 +1,257 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2021 +# Matjaz Mozetic <m.mozetic@matmoz.si>, 2021 +# Vida Potočnik <vida.potocnik@mentis.si>, 2021 +# laznikd <laznik@mentis.si>, 2021 +# matjaz k <matjaz@mentis.si>, 2021 +# Grega Vavtar <grega@hbs.si>, 2021 +# Tadej Lupšina <tadej@hbs.si>, 2021 +# Jasmina Macur <jasmina@hbs.si>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Jasmina Macur <jasmina@hbs.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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Dodaj v voziček" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Skupaj:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Dodaj" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Dodajte ga" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Vrednosti atributov" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Nazaj" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Prekliči" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Nastavi" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Nastavi proizvod" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Potrdi" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Ustvaril" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Ustvarjeno" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Prikazani naziv" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Zadnjič spremenjeno" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Zadnji posodobil" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Zadnjič posodobljeno" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Opcijski proizvodi" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Možnosti" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Cena" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Cenik" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Proizvod" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Slika izdelka" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Predloga izdelka" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Različica proizvoda" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Količina" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Postavka prodajnega naloga" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Shrani" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "" diff --git a/addons/sale_product_configurator/i18n/sv.po b/addons/sale_product_configurator/i18n/sv.po new file mode 100644 index 00000000..3a69b3ed --- /dev/null +++ b/addons/sale_product_configurator/i18n/sv.po @@ -0,0 +1,254 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Kristoffer Grundström <lovaren@gmail.com>, 2021 +# Martin Trigaux, 2021 +# Anders Wallenquist <anders.wallenquist@vertel.se>, 2021 +# Haojun Zou <apollo_zhj@msn.com>, 2021 +# Kim Asplund <kim.asplund@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Kim Asplund <kim.asplund@gmail.com>, 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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Totalt:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Lägg till" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Lägg till en" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Attributvärden" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Tillbaka" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Avbryt" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Ställ in" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Bekräfta" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Skapad av" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Skapad den" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Visningsnamn" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Senast redigerad" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Senast uppdaterad av" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Senast uppdaterad" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Optioner" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Optioner" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Pris" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Prislista" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Produkt" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Produkt Bild" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Produktmall" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Variant" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Antal" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Tabort en" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Orderrad" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Spara" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Kombinationen existerar inte." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Enheter" diff --git a/addons/sale_product_configurator/i18n/th.po b/addons/sale_product_configurator/i18n/th.po new file mode 100644 index 00000000..752300c7 --- /dev/null +++ b/addons/sale_product_configurator/i18n/th.po @@ -0,0 +1,254 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# Khwunchai Jaengsawang <khwunchai.j@ku.th>, 2020 +# monchai7 <montchye@gmail.com>, 2020 +# Potsawat Manuthamathorn <firmpotsawat@hotmail.com>, 2020 +# Odoo Thaidev <odoothaidev@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Odoo Thaidev <odoothaidev@gmail.com>, 2021\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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>ทั้งหมด:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "เพิ่ม" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "ค่าคุณลักษณะ" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "กลับ" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "ยกเลิก" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "ตั้งค่า" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "ยืนยัน" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "สร้างโดย" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "สร้างเมื่อ" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "ชื่อที่ใช้แสดง" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "รหัส" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "แก้ไขครั้งสุดท้ายเมื่อ" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "อัพเดทครั้งสุดท้ายโดย" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "อัพเดทครั้งสุดท้ายเมื่อ" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "ตัวเลือก" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "ราคา" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "รายการราคา" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "สินค้า" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "รูปภาพสินค้า" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "รูปแบบสินค้า" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "ความหลากหลายในสินค้า" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "จำนวน" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "รายการคำสั่งขาย" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "บันทึก" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "หน่วย" diff --git a/addons/sale_product_configurator/i18n/tr.po b/addons/sale_product_configurator/i18n/tr.po new file mode 100644 index 00000000..ce45b990 --- /dev/null +++ b/addons/sale_product_configurator/i18n/tr.po @@ -0,0 +1,265 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# Levent Karakaş <levent@mektup.at>, 2020 +# Murat Kaplan <muratk@projetgrup.com>, 2020 +# Güven YILMAZ <guvenyilmaz@outlook.com.tr>, 2020 +# Ertuğrul Güreş <ertugrulg@projetgrup.com>, 2020 +# Mehmet Demirel <mdemirell@gmail.com>, 2020 +# Ramiz Deniz Öner <deniz@denizoner.com>, 2020 +# Umur Akın <umura@projetgrup.com>, 2020 +# Ugur Yilmaz <ugurlu2001@hotmail.com>, 2020 +# abc Def <hdogan1974@gmail.com>, 2020 +# Ediz Duman <neps1192@gmail.com>, 2020 +# Tugay Hatıl <tugayh@projetgrup.com>, 2020 +# Murat Durmuş <muratd@projetgrup.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Murat Durmuş <muratd@projetgrup.com>, 2020\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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Sepete ekle" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Toplam:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Ekle" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Ekle" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Nitelik Değerleri" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Mevcut Seçenekler:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Geri" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "İptal et" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "Sandalye zemini koruması" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Yapılandır" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Bir Ürün Yapılandır" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Onayla" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Oluşturan" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Oluşturulma" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "Özel Değerler" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Görünüm Adı" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "Ekstra Değerler" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "Ürün yapılandırılabilir mi?" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Son Düzenleme" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Son Güncelleyen" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Son Güncelleme" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "Ofis koltukları zemine zarar verebilir: koruyun." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Seçenek mevcut değil" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Tamamlayıcı Ürünler" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"Tamamlayıcı Ürünler, müşteriye her \"Sepete Ekle\" butonuna tıkladığında " +"önerilir (Çapraz satış stratejisi, ör. Bilgisayarlar için: garanti, yazılım," +" vb.)." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Seçenekler" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Fiyat" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Fiyat Listesi" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Ürün" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Ürün Görseli" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Ürün Şablonu" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Ürün Varyantı" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Miktar" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Birini kaldır" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "Satılık Ürün Konfigüratörü" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Satış Sipariş Satırı" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Kaydet" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Bu kombinasyon mevcut değil." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Bu ürünün geçerli bir kombinasyonu yok." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Adet" diff --git a/addons/sale_product_configurator/i18n/uk.po b/addons/sale_product_configurator/i18n/uk.po new file mode 100644 index 00000000..ed0fd5f6 --- /dev/null +++ b/addons/sale_product_configurator/i18n/uk.po @@ -0,0 +1,255 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# Bohdan Lisnenko, 2020 +# Alina Lisnenko <alinasemeniuk1@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Додати до кошика" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Всього:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Додати" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Додати один" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Значення атрибутів" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Доступні функції:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Назад" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Скасувати" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "Захист підлоги від стільця" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Налаштувати" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Налаштувати товар" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Підтвердити" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Створив" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Створено на" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "Спеціальні значення" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Відобразити назву" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "Додаткові значення" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "Чи є цей товар налаштовуваним?" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Останні зміни на" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Востаннє оновив" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Останнє оновлення" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "Офісні стільці можуть зашкодити вашій підлозі: захистіть її." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Функція недоступна" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Додаткові товари" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"Необов'язкові товари пропонуються кожного разу, коли клієнт натискає " +"\"Додати в кошик\" (стратегія крос-продажів, наприклад, для комп'ютерів: " +"гарантія, програмне забезпечення тощо)." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Опції" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Ціна" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Прайс-лист" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Товар" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Зображення товару" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Шаблон товару" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Варіант товару" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Кількість" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Вилучити один" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "Конфігуратор товару продажу" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Рядок замовлення на продаж" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Зберегти" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Цієї комбінації не існує." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Цей товар не має дійсної комбінації." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Одиниці" diff --git a/addons/sale_product_configurator/i18n/ur.po b/addons/sale_product_configurator/i18n/ur.po new file mode 100644 index 00000000..93b088b2 --- /dev/null +++ b/addons/sale_product_configurator/i18n/ur.po @@ -0,0 +1,246 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "" diff --git a/addons/sale_product_configurator/i18n/vi.po b/addons/sale_product_configurator/i18n/vi.po new file mode 100644 index 00000000..bcf1e353 --- /dev/null +++ b/addons/sale_product_configurator/i18n/vi.po @@ -0,0 +1,258 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# Duy BQ <duybq86@gmail.com>, 2020 +# Dung Nguyen Thi <dungnt@trobz.com>, 2020 +# Nancy Momoland <thanhnguyen.icsc@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 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/>Thêm vào giỏ" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>Tổng:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "Thêm" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "Thêm một sản phẩm" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "Giá trị thuộc tính" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Tuỳ chọn khả dụng:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "Quay lại" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "Hủy" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "Bọc chân ghế" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "Cấu hình" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "Cài đặt một sản phẩm" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "Xác nhận" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "Tạo bởi" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "Thời điểm tạo" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "Custom Values" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "Tên hiển thị" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "Extra Values" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "Is the product configurable?" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "Sửa lần cuối vào" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "Cập nhật lần cuối bởi" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "Cập nhật lần cuối vào" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "Ghế văn phòng có thể gây hại cho sàn nhà của bạn: bảo vệ nó." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Tùy chọn không hỗ trợ" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "Sản phẩm Tuỳ chọn" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" +"Sản phẩm tùy chọn được đề xuất bất cứ khi nào khách hàng nhấn *Thêm vào giỏ " +"hàng* (chiến lược bán chéo, ví dụ: đối với máy tính: bảo hành, phần mềm, " +"v.v.)." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "Tùy chọn" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Giá" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "Bảng giá" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Sản phẩm" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Ảnh sản phẩm" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "Mẫu sản phẩm" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "Biến thể sản phẩm" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Số lượng" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "Xóa" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "Bộ cấu hình sản phẩm" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Chi tiết đơn hàng" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "Lưu" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "Sự kết hợp này không tồn tại." + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "Sản phẩm này không thể kết hợp." + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "Cái" diff --git a/addons/sale_product_configurator/i18n/zh_CN.po b/addons/sale_product_configurator/i18n/zh_CN.po new file mode 100644 index 00000000..a689cb26 --- /dev/null +++ b/addons/sale_product_configurator/i18n/zh_CN.po @@ -0,0 +1,259 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# Martin Trigaux, 2020 +# liAnGjiA <liangjia@qq.com>, 2020 +# e2f_cn c5 <jarvisn@ecinnovations.com>, 2020 +# 黎伟杰 <674416404@qq.com>, 2020 +# 敬雲 林 <chingyun@yuanchih-consult.com>, 2020 +# ChinaMaker <liuct@chinamaker.net>, 2020 +# Felix Yang - Elico Corp <felixyangsh@aliyun.com>, 2020 +# guohuadeng <guohuadeng@hotmail.com>, 2020 +# snow wang <147156565@qq.com>, 2020 +# Jeffery CHEN Fan <jeffery9@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Jeffery CHEN Fan <jeffery9@gmail.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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\"/>添加到购物车" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>总计:</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "添加" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "添加一行" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "属性值" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "有效选项:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "回退" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "取消" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "椅子地板保护" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "设置" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "配置产品" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "确认" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "创建人" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "创建时间" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "自定义值" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "显示名称" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "附加值" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "最后修改日" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "最后更新人" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "最后更新时间" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "办公椅会伤害你的地板:保护它。" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "选项无效" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "可选产品" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "每当客户点击 * 加入购物车 *,就会出现建议的可选产品(交叉销售策略,例如,就电脑而言:保修、配套软件等)。" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "选项" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "价格" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "价格表" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "产品" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "产品图片" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "产品模板" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "产品变体" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "数量" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "移除一行" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "销售产品配置器" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "销售订单行" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "保存" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "此组合不存在。" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "此产品没有有效的组合。" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "件" diff --git a/addons/sale_product_configurator/i18n/zh_TW.po b/addons/sale_product_configurator/i18n/zh_TW.po new file mode 100644 index 00000000..22ba234e --- /dev/null +++ b/addons/sale_product_configurator/i18n/zh_TW.po @@ -0,0 +1,250 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_product_configurator +# +# Translators: +# 敬雲 林 <chingyun@yuanchih-consult.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:46+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_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "<i class=\"fa fa-shopping-cart add-optionnal-item\"/> Add to cart" +msgstr "<i class=\"fa fa-shopping-cart add-optionnal-item\">添加到購物車" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "<strong>Total:</strong>" +msgstr "<strong>總計</strong>" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Add" +msgstr "增加" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Add one" +msgstr "添加一行" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__product_template_attribute_value_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_attribute_value_ids +msgid "Attribute Values" +msgstr "屬性值" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "可用選項:" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Back" +msgstr "返回" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Cancel" +msgstr "取消" + +#. module: sale_product_configurator +#: model:product.template,name:sale_product_configurator.product_product_1_product_template +msgid "Chair floor protection" +msgstr "椅子地板保護" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Configure" +msgstr "設定" + +#. module: sale_product_configurator +#: model:ir.actions.act_window,name:sale_product_configurator.sale_product_configurator_action +msgid "Configure a product" +msgstr "配置產品" + +#. module: sale_product_configurator +#. openerp-web +#: code:addons/sale_product_configurator/static/src/js/product_configurator_controller.js:0 +#, python-format +msgid "Confirm" +msgstr "確認" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_uid +msgid "Created by" +msgstr "創立者" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__create_date +msgid "Created on" +msgstr "建立於" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_custom_attribute_value_ids +msgid "Custom Values" +msgstr "客製數值" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__display_name +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__display_name +msgid "Display Name" +msgstr "顯示名稱" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_no_variant_attribute_value_ids +msgid "Extra Values" +msgstr "額外數值" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__id +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__id +msgid "ID" +msgstr "ID" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line__is_configurable_product +msgid "Is the product configurable?" +msgstr "產品是否可配置?" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_order_line____last_update +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator____last_update +msgid "Last Modified on" +msgstr "最後修改於" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_uid +msgid "Last Updated by" +msgstr "最後更新者" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__write_date +msgid "Last Updated on" +msgstr "最後更新於" + +#. module: sale_product_configurator +#: model:product.template,description_sale:sale_product_configurator.product_product_1_product_template +msgid "Office chairs can harm your floor: protect it." +msgstr "辦公椅可能會損害你的地板。" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "選項不可用" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,field_description:sale_product_configurator.field_product_template__optional_product_ids +msgid "Optional Products" +msgstr "可選產品" + +#. module: sale_product_configurator +#: model:ir.model.fields,help:sale_product_configurator.field_product_product__optional_product_ids +#: model:ir.model.fields,help:sale_product_configurator.field_product_template__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "每當客戶點選 * 加入購物車 *,就會出現建議的可選產品(交叉銷售策略,例如,就電腦而言:保修、軟體等)。" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.product_template_view_form +msgid "Options" +msgstr "選項" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "價格" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__pricelist_id +msgid "Pricelist" +msgstr "價格表" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__product_template_id +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "商品" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "產品圖片" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_product_template +msgid "Product Template" +msgstr "產品模板" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_order_view_form +msgid "Product Variant" +msgstr "產品變體" + +#. module: sale_product_configurator +#: model:ir.model.fields,field_description:sale_product_configurator.field_sale_product_configurator__quantity +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "數量" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.optional_product_items +msgid "Remove one" +msgstr "刪除一行" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_product_configurator +msgid "Sale Product Configurator" +msgstr "銷售產品配置器" + +#. module: sale_product_configurator +#: model:ir.model,name:sale_product_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "銷售訂單明細" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.sale_product_configurator_view_form +msgid "Save" +msgstr "儲存" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "此組合不存在" + +#. module: sale_product_configurator +#: model_terms:ir.ui.view,arch_db:sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "本產品沒有有效的組合" + +#. module: sale_product_configurator +#: model:product.template,uom_name:sale_product_configurator.product_product_1_product_template +msgid "Units" +msgstr "單位" diff --git a/addons/sale_product_configurator/models/__init__.py b/addons/sale_product_configurator/models/__init__.py new file mode 100644 index 00000000..3873985e --- /dev/null +++ b/addons/sale_product_configurator/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import sale_order_line +from . import product diff --git a/addons/sale_product_configurator/models/product.py b/addons/sale_product_configurator/models/product.py new file mode 100644 index 00000000..9fea6201 --- /dev/null +++ b/addons/sale_product_configurator/models/product.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models, api + + +class ProductTemplate(models.Model): + _inherit = 'product.template' + _check_company_auto = True + + optional_product_ids = fields.Many2many( + 'product.template', 'product_optional_rel', 'src_id', 'dest_id', + string='Optional Products', help="Optional Products are suggested " + "whenever the customer hits *Add to Cart* (cross-sell strategy, " + "e.g. for computers: warranty, software, etc.).", check_company=True) + + @api.depends('attribute_line_ids.value_ids.is_custom', 'attribute_line_ids.attribute_id.create_variant') + def _compute_has_configurable_attributes(self): + """ A product is considered configurable if: + - It has dynamic attributes + - It has any attribute line with at least 2 attribute values configured + - It has at least one custom attribute value """ + for product in self: + product.has_configurable_attributes = any(attribute.create_variant == 'dynamic' for attribute in product.mapped('attribute_line_ids.attribute_id')) \ + or any(len(attribute_line_id.value_ids) >= 2 for attribute_line_id in product.attribute_line_ids) \ + or any(attribute_value.is_custom for attribute_value in product.mapped('attribute_line_ids.value_ids')) + + def get_single_product_variant(self): + """ Method used by the product configurator to check if the product is configurable or not. + + We need to open the product configurator if the product: + - is configurable (see has_configurable_attributes) + - has optional products """ + self.ensure_one() + res = super(ProductTemplate, self).get_single_product_variant() + if res.get('product_id', False): + has_optional_products = False + for optional_product in self.product_variant_id.optional_product_ids: + if optional_product.has_dynamic_attributes() or optional_product._get_possible_variants(self.product_variant_id.product_template_attribute_value_ids): + has_optional_products = True + break + res.update({'has_optional_products': has_optional_products}) + return res diff --git a/addons/sale_product_configurator/models/sale_order_line.py b/addons/sale_product_configurator/models/sale_order_line.py new file mode 100644 index 00000000..62d613a9 --- /dev/null +++ b/addons/sale_product_configurator/models/sale_order_line.py @@ -0,0 +1,11 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models + + +class SaleOrderLine(models.Model): + _inherit = "sale.order.line" + + is_configurable_product = fields.Boolean('Is the product configurable?', related="product_template_id.has_configurable_attributes") + product_template_attribute_value_ids = fields.Many2many(related='product_id.product_template_attribute_value_ids', readonly=True) diff --git a/addons/sale_product_configurator/security/ir.model.access.csv b/addons/sale_product_configurator/security/ir.model.access.csv new file mode 100644 index 00000000..1c8e002c --- /dev/null +++ b/addons/sale_product_configurator/security/ir.model.access.csv @@ -0,0 +1,2 @@ +"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" +"access_sale_product_configurator","access.sale.product.configurator","model_sale_product_configurator","sales_team.group_sale_salesman",1,1,1,0 diff --git a/addons/sale_product_configurator/static/src/js/product_configurator_controller.js b/addons/sale_product_configurator/static/src/js/product_configurator_controller.js new file mode 100644 index 00000000..008e6e65 --- /dev/null +++ b/addons/sale_product_configurator/static/src/js/product_configurator_controller.js @@ -0,0 +1,313 @@ +odoo.define('sale_product_configurator.ProductConfiguratorFormController', function (require) { +"use strict"; + +var core = require('web.core'); +var _t = core._t; +var FormController = require('web.FormController'); +var OptionalProductsModal = require('sale_product_configurator.OptionalProductsModal'); + +var ProductConfiguratorFormController = FormController.extend({ + custom_events: _.extend({}, FormController.prototype.custom_events, { + field_changed: '_onFieldChanged', + handle_add: '_handleAdd' + }), + /** + * @override + */ + start: function () { + var self = this; + return this._super.apply(this, arguments).then(function () { + self.$el.addClass('o_product_configurator'); + }); + }, + /** + * We need to first load the template of the selected product and then render the content + * to avoid a flicker when the modal is opened. + * + * @override + */ + willStart: function () { + var def = this._super.apply(this, arguments); + if (this.initialState.data.product_template_id) { + return this._configureProduct( + this.initialState.data.product_template_id.data.id + ).then(function () { + return def; + }); + } + + return def; + }, + /** + * Showing this window is useless for configuratorMode 'options' as this form view + * is used as a bridge between SO lines and optional products. + * + * Placed here because it's the only method that is called after the modal is rendered. + * + * @override + */ + renderButtons: function () { + this._super.apply(this, arguments); + + if (this.renderer.state.context.configuratorMode === 'options') { + this.$el.closest('.modal').addClass('d-none'); + } + }, + + //-------------------------------------------------------------------------- + // Private + //-------------------------------------------------------------------------- + + + /** + * We need to override the default click behavior for our "Add" button + * because there is a possibility that this product has optional products. + * If so, we need to display an extra modal to choose the options. + * + * @override + */ + _onButtonClicked: function (event) { + if (event.stopPropagation) { + event.stopPropagation(); + } + var attrs = event.data.attrs; + if (attrs.special === 'cancel') { + this._super.apply(this, arguments); + } else { + if (!this.$el + .parents('.modal') + .find('.o_sale_product_configurator_add') + .hasClass('disabled')) { + this._handleAdd(); + } + } + }, + /** + * This is overridden to allow catching the "select" event on our product template select field. + * + * @override + * @private + */ + _onFieldChanged: function (event) { + this._super.apply(this, arguments); + + var self = this; + var productId = event.data.changes.product_template_id.id; + + // check to prevent traceback when emptying the field + if (!productId) { + return; + } + + this._configureProduct(event.data.changes.product_template_id.id) + .then(function () { + self.renderer.renderConfigurator(self.renderer.configuratorHtml); + }); + }, + + /** + * Renders the "variants" part of the wizard + * + * @param {integer} productTemplateId + */ + _configureProduct: function (productTemplateId) { + var self = this; + var initialProduct = this.initialState.data.product_template_id; + var changed = initialProduct && initialProduct.data.id !== productTemplateId; + var data = this.renderer.state.data; + return this._rpc({ + route: '/sale_product_configurator/configure', + params: { + product_template_id: productTemplateId, + pricelist_id: this.renderer.pricelistId, + add_qty: data.quantity, + product_template_attribute_value_ids: changed ? [] : this._getAttributeValueIds( + data.product_template_attribute_value_ids + ), + product_no_variant_attribute_value_ids: changed ? [] : this._getAttributeValueIds( + data.product_no_variant_attribute_value_ids + ) + } + }).then(function (configurator) { + self.renderer.configuratorHtml = configurator; + }); + }, + /** + * When the user adds a product that has optional products, we need to display + * a window to allow the user to choose these extra options. + * + * This will also create the product if it's in "dynamic" mode + * (see product_attribute.create_variant) + * + * If "self.renderer.state.context.configuratorMode" is 'edit', this will only send + * the main product with its changes. + * + * As opposed to the 'add' mode that will add the main product AND all the configured optional products. + * + * A third mode, 'options', is available for products that don't have a configuration but have + * optional products to select. This will bypass the configuration step and open the + * options modal directly. + * + * @private + */ + _handleAdd: function () { + var self = this; + var $modal = this.$el; + var productSelector = [ + 'input[type="hidden"][name="product_id"]', + 'input[type="radio"][name="product_id"]:checked' + ]; + + var productId = parseInt($modal.find(productSelector.join(', ')).first().val(), 10); + var productTemplateId = $modal.find('.product_template_id').val(); + this.renderer.selectOrCreateProduct( + $modal, + productId, + productTemplateId, + false + ).then(function (productId) { + $modal.find(productSelector.join(', ')).val(productId); + + var variantValues = self + .renderer + .getSelectedVariantValues($modal.find('.js_product')); + + var productCustomVariantValues = self + .renderer + .getCustomVariantValues($modal.find('.js_product')); + + var noVariantAttributeValues = self + .renderer + .getNoVariantAttributeValues($modal.find('.js_product')); + + self.rootProduct = { + product_id: productId, + product_template_id: parseInt(productTemplateId), + quantity: parseFloat($modal.find('input[name="add_qty"]').val() || 1), + variant_values: variantValues, + product_custom_attribute_values: productCustomVariantValues, + no_variant_attribute_values: noVariantAttributeValues + }; + + if (self.renderer.state.context.configuratorMode === 'edit') { + // edit mode only takes care of main product + self._onAddRootProductOnly(); + return; + } + + self.optionalProductsModal = new OptionalProductsModal($('body'), { + rootProduct: self.rootProduct, + pricelistId: self.renderer.pricelistId, + okButtonText: _t('Confirm'), + cancelButtonText: _t('Back'), + title: _t('Configure'), + context: self.initialState.context, + previousModalHeight: self.$el.closest('.modal-content').height() + }).open(); + + self.optionalProductsModal.on('options_empty', null, + // no optional products found for this product, only add the root product + self._onAddRootProductOnly.bind(self)); + + self.optionalProductsModal.on('update_quantity', null, + self._onOptionsUpdateQuantity.bind(self)); + + self.optionalProductsModal.on('confirm', null, + self._onModalConfirm.bind(self)); + + self.optionalProductsModal.on('closed', null, + self._onModalClose.bind(self)); + }); + }, + + /** + * Add root product only and forget optional products. + * Used when product has no optional products and in 'edit' mode. + * + * @private + */ + _onAddRootProductOnly: function () { + this._addProducts([this.rootProduct]); + }, + + /** + * Add all selected products + * + * @private + */ + _onModalConfirm: function () { + this._wasConfirmed = true; + this._addProducts(this.optionalProductsModal.getSelectedProducts()); + }, + + /** + * When the optional products modal is closed (and not confirmed) on 'options' mode, + * this window should also be closed immediately. + * + * @private + */ + _onModalClose: function () { + if (this.renderer.state.context.configuratorMode === 'options' + && this._wasConfirmed !== true) { + this.do_action({type: 'ir.actions.act_window_close'}); + } + }, + + /** + * Update product configurator form + * when quantity is updated in the optional products window + * + * @private + * @param {integer} quantity + */ + _onOptionsUpdateQuantity: function (quantity) { + this.$el + .find('input[name="add_qty"]') + .val(quantity) + .trigger('change'); + }, + + /** + * This triggers the close action for the window and + * adds the product as the "infos" parameter. + * It will allow the caller (typically the product_configurator widget) of this window + * to handle the added products. + * + * @private + * @param {Array} products the list of added products + * {integer} products.product_id: the id of the product + * {integer} products.quantity: the added quantity for this product + * {Array} products.product_custom_attribute_values: + * see variant_mixin.getCustomVariantValues + * {Array} products.no_variant_attribute_values: + * see variant_mixin.getNoVariantAttributeValues + */ + _addProducts: function (products) { + this.do_action({type: 'ir.actions.act_window_close', infos: { + mainProduct: products[0], + options: products.slice(1) + }}); + }, + /** + * Extracts the ids from the passed attributeValueIds and returns them + * as a plain array. + * + * @param {Array} attributeValueIds + */ + _getAttributeValueIds: function (attributeValueIds) { + if (!attributeValueIds || attributeValueIds.length === 0) { + return false; + } + + var result = []; + _.each(attributeValueIds.data, function (attributeValue) { + result.push(attributeValue.data.id); + }); + + return result; + } +}); + +return ProductConfiguratorFormController; + +}); diff --git a/addons/sale_product_configurator/static/src/js/product_configurator_modal.js b/addons/sale_product_configurator/static/src/js/product_configurator_modal.js new file mode 100644 index 00000000..b495100a --- /dev/null +++ b/addons/sale_product_configurator/static/src/js/product_configurator_modal.js @@ -0,0 +1,514 @@ +odoo.define('sale_product_configurator.OptionalProductsModal', function (require) { + "use strict"; + +var ajax = require('web.ajax'); +var Dialog = require('web.Dialog'); +const OwlDialog = require('web.OwlDialog'); +var ServicesMixin = require('web.ServicesMixin'); +var VariantMixin = require('sale.VariantMixin'); + +var OptionalProductsModal = Dialog.extend(ServicesMixin, VariantMixin, { + events: _.extend({}, Dialog.prototype.events, VariantMixin.events, { + 'click a.js_add, a.js_remove': '_onAddOrRemoveOption', + 'click button.js_add_cart_json': 'onClickAddCartJSON', + 'change .in_cart input.js_quantity': '_onChangeQuantity', + 'change .js_raw_price': '_computePriceTotal' + }), + /** + * Initializes the optional products modal + * + * @override + * @param {$.Element} parent The parent container + * @param {Object} params + * @param {integer} params.pricelistId + * @param {string} params.okButtonText The text to apply on the "ok" button, typically + * "Add" for the sale order and "Proceed to checkout" on the web shop + * @param {string} params.cancelButtonText same as "params.okButtonText" but + * for the cancel button + * @param {integer} params.previousModalHeight used to configure a min height on the modal-content. + * This parameter is provided by the product configurator to "cover" its modal by making + * this one big enough. This way the user can't see multiple buttons (which can be confusing). + * @param {Object} params.rootProduct The root product of the optional products window + * @param {integer} params.rootProduct.product_id + * @param {integer} params.rootProduct.quantity + * @param {Array} params.rootProduct.variant_values + * @param {Array} params.rootProduct.product_custom_attribute_values + * @param {Array} params.rootProduct.no_variant_attribute_values + */ + init: function (parent, params) { + var self = this; + + var options = _.extend({ + size: 'large', + buttons: [{ + text: params.okButtonText, + click: this._onConfirmButtonClick, + classes: 'btn-primary' + }, { + text: params.cancelButtonText, + click: this._onCancelButtonClick + }], + technical: !params.isWebsite, + }, params || {}); + + this._super(parent, options); + + this.context = params.context; + this.rootProduct = params.rootProduct; + this.container = parent; + this.pricelistId = params.pricelistId; + this.previousModalHeight = params.previousModalHeight; + this.dialogClass = 'oe_optional_products_modal'; + this._productImageField = 'image_128'; + + this._opened.then(function () { + if (self.previousModalHeight) { + self.$el.closest('.modal-content').css('min-height', self.previousModalHeight + 'px'); + } + }); + }, + /** + * @override + */ + willStart: function () { + var self = this; + + var uri = this._getUri("/sale_product_configurator/show_optional_products"); + var getModalContent = ajax.jsonRpc(uri, 'call', { + product_id: self.rootProduct.product_id, + variant_values: self.rootProduct.variant_values, + pricelist_id: self.pricelistId || false, + add_qty: self.rootProduct.quantity, + kwargs: { + context: _.extend({ + 'quantity': self.rootProduct.quantity + }, this.context), + } + }) + .then(function (modalContent) { + if (modalContent) { + var $modalContent = $(modalContent); + $modalContent = self._postProcessContent($modalContent); + self.$content = $modalContent; + } else { + self.trigger('options_empty'); + self.preventOpening = true; + } + }); + + var parentInit = self._super.apply(self, arguments); + return Promise.all([getModalContent, parentInit]); + }, + + /** + * This is overridden to append the modal to the provided container (see init("parent")). + * We need this to have the modal contained in the web shop product form. + * The additional products data will then be contained in the form and sent on submit. + * + * @override + */ + open: function (options) { + $('.tooltip').remove(); // remove open tooltip if any to prevent them staying when modal is opened + + var self = this; + this.appendTo($('<div/>')).then(function () { + if (!self.preventOpening) { + self.$modal.find(".modal-body").replaceWith(self.$el); + self.$modal.attr('open', true); + self.$modal.removeAttr("aria-hidden"); + self.$modal.modal().appendTo(self.container); + self.$modal.focus(); + self._openedResolver(); + + // Notifies OwlDialog to adjust focus/active properties on owl dialogs + OwlDialog.display(self); + } + }); + if (options && options.shouldFocusButtons) { + self._onFocusControlButton(); + } + + return self; + }, + /** + * Will update quantity input to synchronize with previous window + * + * @override + */ + start: function () { + var def = this._super.apply(this, arguments); + var self = this; + + this.$el.find('input[name="add_qty"]').val(this.rootProduct.quantity); + + // set a unique id to each row for options hierarchy + var $products = this.$el.find('tr.js_product'); + _.each($products, function (el) { + var $el = $(el); + var uniqueId = self._getUniqueId(el); + + var productId = parseInt($el.find('input.product_id').val(), 10); + if (productId === self.rootProduct.product_id) { + self.rootProduct.unique_id = uniqueId; + } else { + el.dataset.parentUniqueId = self.rootProduct.unique_id; + } + }); + + return def.then(function () { + // This has to be triggered to compute the "out of stock" feature + self._opened.then(function () { + self.triggerVariantChange(self.$el); + }); + }); + }, + + //-------------------------------------------------------------------------- + // Public + //-------------------------------------------------------------------------- + + /** + * Returns the list of selected products. + * The root product is added on top of the list. + * + * @returns {Array} products + * {integer} product_id + * {integer} quantity + * {Array} product_custom_variant_values + * {Array} no_variant_attribute_values + * @public + */ + getSelectedProducts: function () { + var self = this; + var products = [this.rootProduct]; + this.$modal.find('.js_product.in_cart:not(.main_product)').each(function () { + var $item = $(this); + var quantity = parseInt($item.find('input[name="add_qty"]').val(), 10); + var parentUniqueId = this.dataset.parentUniqueId; + var uniqueId = this.dataset.uniqueId; + var productCustomVariantValues = self.getCustomVariantValues($(this)); + var noVariantAttributeValues = self.getNoVariantAttributeValues($(this)); + products.push({ + 'product_id': parseInt($item.find('input.product_id').val(), 10), + 'product_template_id': parseInt($item.find('input.product_template_id').val(), 10), + 'quantity': quantity, + 'parent_unique_id': parentUniqueId, + 'unique_id': uniqueId, + 'product_custom_attribute_values': productCustomVariantValues, + 'no_variant_attribute_values': noVariantAttributeValues + }); + }); + + return products; + }, + + // ------------------------------------------ + // Private + // ------------------------------------------ + + /** + * Adds the product image and updates the product description + * based on attribute values that are either "no variant" or "custom". + * + * @private + */ + _postProcessContent: function ($modalContent) { + var productId = this.rootProduct.product_id; + $modalContent + .find('img:first') + .attr("src", "/web/image/product.product/" + productId + "/image_128"); + + if (this.rootProduct && + (this.rootProduct.product_custom_attribute_values || + this.rootProduct.no_variant_attribute_values)) { + var $productDescription = $modalContent + .find('.main_product') + .find('td.td-product_name div.text-muted.small > div:first'); + var $updatedDescription = $('<div/>'); + $updatedDescription.append($('<p>', { + text: $productDescription.text() + })); + + $.each(this.rootProduct.product_custom_attribute_values, function (){ + $updatedDescription.append($('<div>', { + text: this.attribute_value_name + ': ' + this.custom_value + })); + }); + + $.each(this.rootProduct.no_variant_attribute_values, function (){ + if (this.is_custom !== 'True'){ + $updatedDescription.append($('<div>', { + text: this.attribute_name + ': ' + this.attribute_value_name + })); + } + }); + + $productDescription.replaceWith($updatedDescription); + } + + return $modalContent; + }, + + /** + * @private + */ + _onConfirmButtonClick: function () { + this.trigger('confirm'); + this.close(); + }, + + /** + * @private + */ + _onCancelButtonClick: function () { + this.trigger('back'); + this.close(); + }, + + /** + * Will add/remove the option, that includes: + * - Moving it to the correct DOM section + * and possibly under its parent product + * - Hiding attribute values selection and showing the quantity + * - Creating the product if it's in "dynamic" mode (see product_attribute.create_variant) + * - Updating the description based on custom/no_create attribute values + * - Removing optional products if parent product is removed + * - Computing the total price + * + * @private + * @param {MouseEvent} ev + */ + _onAddOrRemoveOption: function (ev) { + ev.preventDefault(); + var self = this; + var $target = $(ev.currentTarget); + var $modal = $target.parents('.oe_optional_products_modal'); + var $parent = $target.parents('.js_product:first'); + $parent.find("a.js_add, span.js_remove").toggleClass('d-none'); + $parent.find(".js_remove"); + + var productTemplateId = $parent.find(".product_template_id").val(); + if ($target.hasClass('js_add')) { + self._onAddOption($modal, $parent, productTemplateId); + } else { + self._onRemoveOption($modal, $parent); + } + + self._computePriceTotal(); + }, + + /** + * @private + * @see _onAddOrRemoveOption + * @param {$.Element} $modal + * @param {$.Element} $parent + * @param {integer} productTemplateId + */ + _onAddOption: function ($modal, $parent, productTemplateId) { + var self = this; + var $selectOptionsText = $modal.find('.o_select_options'); + + var parentUniqueId = $parent[0].dataset.parentUniqueId; + var $optionParent = $modal.find('tr.js_product[data-unique-id="' + parentUniqueId + '"]'); + + // remove attribute values selection and update + show quantity input + $parent.find('.td-product_name').removeAttr("colspan"); + $parent.find('.td-qty').removeClass('d-none'); + + var productCustomVariantValues = self.getCustomVariantValues($parent); + var noVariantAttributeValues = self.getNoVariantAttributeValues($parent); + if (productCustomVariantValues || noVariantAttributeValues) { + var $productDescription = $parent + .find('td.td-product_name div.float-left'); + + var $customAttributeValuesDescription = $('<div>', { + class: 'custom_attribute_values_description text-muted small' + }); + if (productCustomVariantValues.length !== 0 || noVariantAttributeValues.length !== 0) { + $customAttributeValuesDescription.append($('<br/>')); + } + + $.each(productCustomVariantValues, function (){ + $customAttributeValuesDescription.append($('<div>', { + text: this.attribute_value_name + ': ' + this.custom_value + })); + }); + + $.each(noVariantAttributeValues, function (){ + if (this.is_custom !== 'True'){ + $customAttributeValuesDescription.append($('<div>', { + text: this.attribute_name + ': ' + this.attribute_value_name + })); + } + }); + + $productDescription.append($customAttributeValuesDescription); + } + + // place it after its parent and its parent options + var $tmpOptionParent = $optionParent; + while ($tmpOptionParent.length) { + $optionParent = $tmpOptionParent; + $tmpOptionParent = $modal.find('tr.js_product.in_cart[data-parent-unique-id="' + $optionParent[0].dataset.uniqueId + '"]').last(); + } + $optionParent.after($parent); + $parent.addClass('in_cart'); + + this.selectOrCreateProduct( + $parent, + $parent.find('.product_id').val(), + productTemplateId, + true + ).then(function (productId) { + $parent.find('.product_id').val(productId); + + ajax.jsonRpc(self._getUri("/sale_product_configurator/optional_product_items"), 'call', { + 'product_id': productId, + 'pricelist_id': self.pricelistId || false, + }).then(function (addedItem) { + var $addedItem = $(addedItem); + $modal.find('tr:last').after($addedItem); + + self.$el.find('input[name="add_qty"]').trigger('change'); + self.triggerVariantChange($addedItem); + + // add a unique id to the new products + var parentUniqueId = $parent[0].dataset.uniqueId; + var parentQty = $parent.find('input[name="add_qty"]').val(); + $addedItem.filter('.js_product').each(function () { + var $el = $(this); + var uniqueId = self._getUniqueId(this); + this.dataset.uniqueId = uniqueId; + this.dataset.parentUniqueId = parentUniqueId; + $el.find('input[name="add_qty"]').val(parentQty); + }); + + if ($selectOptionsText.nextAll('.js_product').length === 0) { + // no more optional products to select -> hide the header + $selectOptionsText.hide(); + } + }); + }); + }, + + /** + * @private + * @see _onAddOrRemoveOption + * @param {$.Element} $modal + * @param {$.Element} $parent + */ + _onRemoveOption: function ($modal, $parent) { + // restore attribute values selection + var uniqueId = $parent[0].dataset.parentUniqueId; + var qty = $modal.find('tr.js_product.in_cart[data-unique-id="' + uniqueId + '"]').find('input[name="add_qty"]').val(); + $parent.removeClass('in_cart'); + $parent.find('.td-product_name').attr("colspan", 2); + $parent.find('.td-qty').addClass('d-none'); + $parent.find('input[name="add_qty"]').val(qty); + $parent.find('.custom_attribute_values_description').remove(); + + $modal.find('.o_select_options').show(); + + var productUniqueId = $parent[0].dataset.uniqueId; + this._removeOptionOption($modal, productUniqueId); + + $modal.find('tr:last').after($parent); + }, + + /** + * If the removed product had optional products, remove them as well + * + * @private + * @param {$.Element} $modal + * @param {integer} optionUniqueId The removed optional product id + */ + _removeOptionOption: function ($modal, optionUniqueId) { + var self = this; + $modal.find('tr.js_product[data-parent-unique-id="' + optionUniqueId + '"]').each(function () { + var uniqueId = this.dataset.uniqueId; + $(this).remove(); + self._removeOptionOption($modal, uniqueId); + }); + }, + /** + * @override + */ + _onChangeCombination: function (ev, $parent, combination) { + $parent + .find('.td-product_name .product-name') + .first() + .text(combination.display_name); + + VariantMixin._onChangeCombination.apply(this, arguments); + + this._computePriceTotal(); + }, + /** + * Update price total when the quantity of a product is changed + * + * @private + * @param {MouseEvent} ev + */ + _onChangeQuantity: function (ev) { + var $product = $(ev.target.closest('tr.js_product')); + var qty = parseFloat($(ev.currentTarget).val()); + + var uniqueId = $product[0].dataset.uniqueId; + this.$el.find('tr.js_product:not(.in_cart)[data-parent-unique-id="' + uniqueId + '"] input[name="add_qty"]').each(function () { + $(this).val(qty); + }); + + if (this._triggerPriceUpdateOnChangeQuantity()) { + this.onChangeAddQuantity(ev); + } + if ($product.hasClass('main_product')) { + this.rootProduct.quantity = qty; + } + this.trigger('update_quantity', this.rootProduct.quantity); + this._computePriceTotal(); + }, + + /** + * When a product is added or when the quantity is changed, + * we need to refresh the total price row + */ + _computePriceTotal: function () { + if (this.$modal.find('.js_price_total').length) { + var price = 0; + this.$modal.find('.js_product.in_cart').each(function () { + var quantity = parseInt($(this).find('input[name="add_qty"]').first().val(), 10); + price += parseFloat($(this).find('.js_raw_price').html()) * quantity; + }); + + this.$modal.find('.js_price_total .oe_currency_value').text( + this._priceToStr(parseFloat(price)) + ); + } + }, + + /** + * Extension point for website_sale + * + * @private + */ + _triggerPriceUpdateOnChangeQuantity: function () { + return true; + }, + /** + * Returns a unique id for `$el`. + * + * @private + * @param {Element} el + * @returns {integer} + */ + _getUniqueId: function (el) { + if (!el.dataset.uniqueId) { + el.dataset.uniqueId = parseInt(_.uniqueId(), 10); + } + return el.dataset.uniqueId; + }, +}); + +return OptionalProductsModal; + +}); diff --git a/addons/sale_product_configurator/static/src/js/product_configurator_renderer.js b/addons/sale_product_configurator/static/src/js/product_configurator_renderer.js new file mode 100644 index 00000000..f0009e42 --- /dev/null +++ b/addons/sale_product_configurator/static/src/js/product_configurator_renderer.js @@ -0,0 +1,133 @@ +odoo.define('sale_product_configurator.ProductConfiguratorFormRenderer', function (require) { +"use strict"; + +var FormRenderer = require('web.FormRenderer'); +var VariantMixin = require('sale.VariantMixin'); + +var ProductConfiguratorFormRenderer = FormRenderer.extend(VariantMixin, { + + events: _.extend({}, FormRenderer.prototype.events, VariantMixin.events, { + 'click button.js_add_cart_json': 'onClickAddCartJSON', + }), + + /** + * @override + */ + init: function () { + this._super.apply(this, arguments); + this.pricelistId = this.state.context.default_pricelist_id || 0; + }, + /** + * @override + */ + start: function () { + var self = this; + return this._super.apply(this, arguments).then(function () { + self.$el.append($('<div>', {class: 'configurator_container'})); + self.renderConfigurator(self.configuratorHtml); + self._checkMode(); + }); + }, + + //-------------------------------------------------------------------------- + // Public + //-------------------------------------------------------------------------- + + /** + * Renders the product configurator within the form + * + * Will also: + * + * - add events handling for variant changes + * - trigger variant change to compute the price and other + * variant specific changes + * + * @param {string} configuratorHtml the evaluated template of + * the product configurator + */ + renderConfigurator: function (configuratorHtml) { + var $configuratorContainer = this.$('.configurator_container'); + $configuratorContainer.empty(); + + var $configuratorHtml = $(configuratorHtml); + $configuratorHtml.appendTo($configuratorContainer); + + this.triggerVariantChange($configuratorContainer); + this._applyCustomValues(); + }, + + //-------------------------------------------------------------------------- + // Private + //-------------------------------------------------------------------------- + + /** + * If the configuratorMode in the given context is 'edit', we need to + * hide the regular 'Add' button to replace it with an 'EDIT' button. + * + * If the configuratorMode is set to 'options', we will directly open the + * options modal. + * + * @private + */ + _checkMode: function () { + if (this.state.context.configuratorMode === 'edit') { + this.$('.o_sale_product_configurator_add').hide(); + this.$('.o_sale_product_configurator_edit').css('display', 'inline-block'); + } else if (this.state.context.configuratorMode === 'options') { + this.trigger_up('handle_add'); + } + }, + + /** + * Toggles the add button depending on the possibility of the current + * combination. + * + * @override + */ + _toggleDisable: function ($parent, isCombinationPossible) { + VariantMixin._toggleDisable.apply(this, arguments); + $parent.parents('.modal').find('.o_sale_product_configurator_add').toggleClass('disabled', !isCombinationPossible); + }, + + /** + * Will fill the custom values input based on the provided initial configuration. + * + * @private + */ + _applyCustomValues: function () { + var self = this; + var customValueIds = this.state.data.product_custom_attribute_value_ids; + if (customValueIds) { + _.each(customValueIds.data, function (customValue) { + if (customValue.data.custom_value) { + var attributeValueId = customValue.data.custom_product_template_attribute_value_id.data.id; + var $input = self._findRelatedAttributeValueInput(attributeValueId); + $input + .closest('li[data-attribute_id]') + .find('.variant_custom_value') + .val(customValue.data.custom_value); + } + }); + } + }, + + /** + * Find the $.Element input/select related to that product.attribute.value + * + * @param {integer} attributeValueId + * + * @private + */ + _findRelatedAttributeValueInput: function (attributeValueId) { + var selectors = [ + 'ul.js_add_cart_variants input[data-value_id="' + attributeValueId + '"]', + 'ul.js_add_cart_variants option[data-value_id="' + attributeValueId + '"]' + ]; + + return this.$(selectors.join(', ')); + } +}); + +return ProductConfiguratorFormRenderer; + +}); diff --git a/addons/sale_product_configurator/static/src/js/product_configurator_view.js b/addons/sale_product_configurator/static/src/js/product_configurator_view.js new file mode 100644 index 00000000..aa16a0bb --- /dev/null +++ b/addons/sale_product_configurator/static/src/js/product_configurator_view.js @@ -0,0 +1,20 @@ +odoo.define('sale_product_configurator.ProductConfiguratorFormView', function (require) { +"use strict"; + +var ProductConfiguratorFormController = require('sale_product_configurator.ProductConfiguratorFormController'); +var ProductConfiguratorFormRenderer = require('sale_product_configurator.ProductConfiguratorFormRenderer'); +var FormView = require('web.FormView'); +var viewRegistry = require('web.view_registry'); + +var ProductConfiguratorFormView = FormView.extend({ + config: _.extend({}, FormView.prototype.config, { + Controller: ProductConfiguratorFormController, + Renderer: ProductConfiguratorFormRenderer, + }), +}); + +viewRegistry.add('product_configurator_form', ProductConfiguratorFormView); + +return ProductConfiguratorFormView; + +}); diff --git a/addons/sale_product_configurator/static/src/js/product_configurator_widget.js b/addons/sale_product_configurator/static/src/js/product_configurator_widget.js new file mode 100644 index 00000000..9132eb01 --- /dev/null +++ b/addons/sale_product_configurator/static/src/js/product_configurator_widget.js @@ -0,0 +1,378 @@ +odoo.define('sale_product_configurator.product_configurator', function (require) { +var ProductConfiguratorWidget = require('sale.product_configurator'); + +/** + * Extension of the ProductConfiguratorWidget to support product configuration. + * It opens when a configurable product_template is set. + * (multiple variants, or custom attributes) + * + * The product customization information includes : + * - is_configurable_product + * - product_template_attribute_value_ids + * + */ +ProductConfiguratorWidget.include({ + /** + * Override of sale.product_configurator Hook + * + * @override + */ + _isConfigurableProduct: function () { + return this.recordData.is_configurable_product || this._super.apply(this, arguments); + }, + + /** + * Set restoreProductTemplateId for further backtrack. + * Saves the optional products in the widget for future application + * post-line configuration. + * + * {OdooEvent ev} + * {Array} ev.data.optionalProducts the various selected optional products + * with their configuration + * + * @override + * @private + */ + reset: function (record, ev) { + if (ev && ev.target === this) { + this.restoreProductTemplateId = this.recordData.product_template_id; + this.optionalProducts = (ev.data && ev.data.optionalProducts) || this.optionalProducts; + } + + this._super.apply(this, arguments); + }, + + /** + * This method is overridden to check if the product_template_id + * needs configuration or not: + * + * - The product_template has only one "product.product" and is not dynamic + * -> Set the product_id on the SO line + * -> If the product has optional products, open the configurator in 'options' mode + * + * - The product_template is configurable + * -> Open the product configurator wizard and initialize it with + * the provided product_template_id and its current attribute values + * + * @override + * @private + */ + _onTemplateChange: function (productTemplateId, dataPointId) { + var self = this; + var ctx = {}; + if (this.record && this.recordParams) { + ctx = this.record.getContext(this.recordParams); + } + + return this._rpc({ + model: 'product.template', + method: 'get_single_product_variant', + args: [productTemplateId], + context: ctx, + }).then(function (result) { + if (result.product_id && !result.has_optional_products) { + self.trigger_up('field_changed', { + dataPointID: dataPointId, + changes: { + product_id: {id: result.product_id}, + product_custom_attribute_value_ids: { + operation: 'DELETE_ALL' + } + }, + }); + } else { + return self._openConfigurator(result, productTemplateId, dataPointId); + } + // always returns true for the moment because no other configurator exists. + }); + }, + + /** + * When line is configured, apply the options defined earlier. + * @override + * @private + */ + _onLineConfigured: function () { + var self = this; + this._super.apply(this, arguments); + var parentList = self.getParent(); + var unselectRow = (parentList.unselectRow || function() {}).bind(parentList); // form view on mobile + if (self.optionalProducts && self.optionalProducts.length !== 0) { + self.trigger_up('add_record', { + context: self._productsToRecords(self.optionalProducts), + forceEditable: 'bottom', + allowWarning: true, + onSuccess: function () { + // Leave edit mode of one2many list. + unselectRow(); + } + }); + } else if (!self._isConfigurableLine() && self._isConfigurableProduct()) { + // Leave edit mode of current line if line was configured + // only through the product configurator. + unselectRow(); + } + }, + + _openConfigurator: function (result, productTemplateId, dataPointId) { + if (!result.mode || result.mode === 'configurator') { + this._openProductConfigurator({ + configuratorMode: result && result.has_optional_products ? 'options' : 'add', + default_pricelist_id: this._getPricelistId(), + default_product_template_id: productTemplateId + }, + dataPointId + ); + return Promise.resolve(true); + } + return Promise.resolve(false); + }, + + /** + * Opens the product configurator to allow configuring the product template + * and its various options. + * + * The configuratorMode param controls how to open the configurator. + * - The "add" mode will allow configuring the product template & options. + * - The "edit" mode will only allow editing the product template's configuration. + * - The "options" mode is a special case where the product configurator is used as a bridge + * between the SO line and the optional products modal. It will hide its window and handle + * the communication between those two. + * + * When the configuration is canceled (i.e when the product configurator is closed using the + * "CANCEL" button or the cross on the top right corner of the window), + * the product_template is reset to its previous value if any. + * + * @param {Object} data various "default_" values + * {string} data.configuratorMode 'add' or 'edit' or 'options'. + * @param {string} dataPointId + * + * @private + */ + _openProductConfigurator: function (data, dataPointId) { + this.optionalProducts = undefined; + var self = this; + this.do_action('sale_product_configurator.sale_product_configurator_action', { + additional_context: data, + on_close: function (result) { + if (result && !result.special) { + self._addProducts(result, dataPointId); + } else { + if (self.restoreProductTemplateId) { + // if configurator opened in edit mode. + self.trigger_up('field_changed', { + dataPointID: dataPointId, + preventProductIdCheck: true, + changes: { + product_template_id: self.restoreProductTemplateId.data + } + }); + } else { + // if configurator opened to create line: + // destroy line if configurator closed during configuration process. + self.trigger_up('field_changed', { + dataPointID: dataPointId, + changes: { + product_template_id: false, + product_id: false, + }, + }); + } + } + } + }); + }, + + /** + * Opens the product configurator in "edit" mode. + * (see '_openProductConfigurator' for more info on the "edit" mode). + * The requires to retrieve all the needed data from the SO line + * that are kept in the "recordData" object. + * + * @private + */ + _onEditProductConfiguration: function () { + if (!this.recordData.is_configurable_product) { + // if line should be edited by another configurator + // or simply inline. + this._super.apply(this, arguments); + return; + } + // If line has been set up through the product_configurator: + this._openProductConfigurator({ + configuratorMode: 'edit', + default_product_template_id: this.recordData.product_template_id.data.id, + default_pricelist_id: this._getPricelistId(), + default_product_template_attribute_value_ids: this._convertFromMany2Many( + this.recordData.product_template_attribute_value_ids + ), + default_product_no_variant_attribute_value_ids: this._convertFromMany2Many( + this.recordData.product_no_variant_attribute_value_ids + ), + default_product_custom_attribute_value_ids: this._convertFromOne2Many( + this.recordData.product_custom_attribute_value_ids + ), + default_quantity: this.recordData.product_uom_qty + }, + this.dataPointID + ); + }, + + /** + * This will first modify the SO line to update all the information coming from + * the product configurator using the 'field_changed' event. + * + * onSuccess from that first method, it will add the optional products to the SO + * using the 'add_record' event. + * + * Doing both at the same time could lead to unordered product_template/options. + * + * @param {Object} products the products to add to the SO line. + * {Object} products.mainProduct the product_template configured + * with various attribute/custom values + * {Array} products.options the various selected optional products + * with their configuration + * @param {string} dataPointId + * + * @private + */ + _addProducts: function (result, dataPointId) { + this.trigger_up('field_changed', { + dataPointID: dataPointId, + preventProductIdCheck: true, + optionalProducts: result.options, + changes: this._getMainProductChanges(result.mainProduct) + }); + }, + + /** + * This will convert the result of the product configurator into + * "changes" that are understood by the basic_model.js + * + * For the product_custom_attribute_value_ids, we need to do a DELETE_ALL + * command to clean the currently selected values and then a CREATE for every + * custom value specified in the configurator. + * + * For the product_no_variant_attribute_value_ids, we also need to do a DELETE_ALL + * command to clean the currently selected values and issue a single ADD_M2M containing + * all the ids of the product_attribute_values. + * + * @param {Object} mainProduct + * + * @private + */ + _getMainProductChanges: function (mainProduct) { + var result = { + product_id: {id: mainProduct.product_id}, + product_template_id: {id: mainProduct.product_template_id}, + product_uom_qty: mainProduct.quantity + }; + + var customAttributeValues = mainProduct.product_custom_attribute_values; + var customValuesCommands = [{operation: 'DELETE_ALL'}]; + if (customAttributeValues && customAttributeValues.length !== 0) { + _.each(customAttributeValues, function (customValue) { + // FIXME awa: This could be optimized by adding a "disableDefaultGet" to avoid + // having multiple default_get calls that are useless since we already + // have all the default values locally. + // However, this would mean a lot of changes in basic_model.js to handle + // those "default_" values and set them on the various fields (text,o2m,m2m,...). + // -> This is not considered as worth it right now. + customValuesCommands.push({ + operation: 'CREATE', + context: [{ + default_custom_product_template_attribute_value_id: customValue.custom_product_template_attribute_value_id, + default_custom_value: customValue.custom_value + }] + }); + }); + } + + result['product_custom_attribute_value_ids'] = { + operation: 'MULTI', + commands: customValuesCommands + }; + + var noVariantAttributeValues = mainProduct.no_variant_attribute_values; + var noVariantCommands = [{operation: 'DELETE_ALL'}]; + if (noVariantAttributeValues && noVariantAttributeValues.length !== 0) { + var resIds = _.map(noVariantAttributeValues, function (noVariantValue) { + return {id: parseInt(noVariantValue.value)}; + }); + + noVariantCommands.push({ + operation: 'ADD_M2M', + ids: resIds + }); + } + + result['product_no_variant_attribute_value_ids'] = { + operation: 'MULTI', + commands: noVariantCommands + }; + + return result; + }, + + /** + * Returns the pricelist_id set on the sale_order form + * + * @private + * @returns {integer} pricelist_id's id + */ + _getPricelistId: function () { + return this.record.evalContext.parent.pricelist_id; + }, + + /** + * Will map the products to appropriate record objects that are + * ready for the default_get. + * + * @param {Array} products The products to transform into records + * + * @private + */ + _productsToRecords: function (products) { + var records = []; + _.each(products, function (product) { + var record = { + default_product_id: product.product_id, + default_product_template_id: product.product_template_id, + default_product_uom_qty: product.quantity + }; + + if (product.no_variant_attribute_values) { + var defaultProductNoVariantAttributeValues = []; + _.each(product.no_variant_attribute_values, function (attributeValue) { + defaultProductNoVariantAttributeValues.push( + [4, parseInt(attributeValue.value)] + ); + }); + record['default_product_no_variant_attribute_value_ids'] + = defaultProductNoVariantAttributeValues; + } + + if (product.product_custom_attribute_values) { + var defaultCustomAttributeValues = []; + _.each(product.product_custom_attribute_values, function (attributeValue) { + defaultCustomAttributeValues.push( + [0, 0, { + custom_product_template_attribute_value_id: attributeValue.custom_product_template_attribute_value_id, + custom_value: attributeValue.custom_value + }] + ); + }); + record['default_product_custom_attribute_value_ids'] + = defaultCustomAttributeValues; + } + + records.push(record); + }); + + return records; + } +}); + +return ProductConfiguratorWidget; + +}); diff --git a/addons/sale_product_configurator/static/tests/product_configurator.test.js b/addons/sale_product_configurator/static/tests/product_configurator.test.js new file mode 100644 index 00000000..2d737820 --- /dev/null +++ b/addons/sale_product_configurator/static/tests/product_configurator.test.js @@ -0,0 +1,309 @@ +odoo.define('sale.product.configurator.tests', function (require) { +"use strict"; + +var FormView = require('web.FormView'); +var ProductConfiguratorFormView = require('sale_product_configurator.ProductConfiguratorFormView'); +var testUtils = require('web.test_utils'); +var createView = testUtils.createView; + +var getArch = function (){ + return '<form>' + + '<sheet>' + + '<field name="pricelist_id" widget="selection" />' + + '<field name="sale_order_line" widget="section_and_note_one2many">' + + '<tree editable="top"><control>' + + '<create string="Add a product"/>' + + '<create string="Add a section" context="{\'default_display_type\': \'line_section\'}"/>' + + '<create string="Add a note" context="{\'default_display_type\': \'line_note\'}"/>' + + '</control>' + + '<field name="product_id" invisible="1"/>' + + '<field name="product_template_id" widget="product_configurator"/>' + + '<field name="product_uom_qty"/>' + + '<field name="product_custom_attribute_value_ids" invisible="1"/>' + + '</tree>' + + '</field>' + + '</sheet>' + + '</form>'; +}; + +QUnit.module('Product Configurator', { + beforeEach: function () { + this.data = { + product_template: { + fields: { + id: {type: 'integer'} + }, + records: [{ + id: 42, + display_name: "Customizable Desk" + }] + }, + product: { + fields: { + id: {type: 'integer'} + }, + records: [{ + id: 1, + display_name: "Customizable Desk (1)" + }, { + id: 2, + display_name: "Customizable Desk (2)" + }] + }, + sale_order: { + fields: { + id: {type: 'integer'}, + pricelist_id: { + string: 'Pricelist', + type: 'one2many', + relation: 'pricelist' + }, + sale_order_line: { + string: 'lines', + type: 'one2many', + relation: 'sale_order_line' + }, + } + }, + sale_order_line: { + fields: { + product_template_id: { + string: 'product template', + type: 'many2one', + relation: 'product_template' + }, + product_id: { + string: 'product', + type: 'many2one', + relation: 'product' + }, + product_custom_attribute_value_ids: { + string: 'product_custom_attribute_values', + type: 'one2many', + relation: 'product_custom_attribute_value' + }, + product_uom_qty: {type: 'integer'}, + sequence: {type: 'integer'}, + } + }, + product_custom_attribute_value: { + fields: { + id: {type: 'integer'}, + sale_order_line_id: { + string: 'sale order line', + type: 'many2one', + relation: 'sale_order_line' + } + } + }, + sale_product_configurator: { + fields: { + product_template_id: { + string: 'product', + type: 'many2one', + relation: 'product_template' + }, + product_template_attribute_value_ids: { + type: 'many2many', + relation: 'product_template_attribute_value' + }, + product_no_variant_attribute_value_ids: { + type: 'many2many', + relation: 'product_template_attribute_value' + }, + product_custom_attribute_value_ids: { + type: 'many2many', + relation: 'product_attribute_custom_value' + } + }, + records: [{ + product_template_id: 42 + }] + }, + product_template_attribute_value: { + fields: { + id: {type: 'integer'} + } + }, + product_attribute_custom_value: { + fields: { + id: {type: 'integer'} + } + }, + pricelist: { + fields: { + id: {type: 'integer'} + } + } + }; + } +}, function () { + QUnit.test('Select a non configurable product template and verify that the product_id is correctly set', async function (assert) { + assert.expect(2); + + var form = await createView({ + View: FormView, + model: 'sale_order', + data: this.data, + arch: getArch(), + mockRPC: function (route, params) { + if (params.method === 'get_single_product_variant') { + assert.ok(true); + return Promise.resolve({product_id: 2}); + } + // FIXME awa: this shouldn't be here since the read is done in 'event_sale' + // But at the moment there is no easy way to solve such cross module 'include' issues + if (params.method === 'read') { + return Promise.resolve(false); + } + return this._super.apply(this, arguments); + }, + intercepts: { + do_action: function (ev) { + if (ev.data.action === 'sale_product_configurator.sale_product_configurator_action') { + assert.ok(false, "Should not execute the configure action"); + } + }, + } + }); + + await testUtils.dom.click(form.$("a:contains('Add a product')")); + await testUtils.fields.many2one.searchAndClickItem("product_template_id", {item: 'Customizable Desk'}); + // check that product_id is correctly set to 2 + assert.strictEqual(form.renderer.state.data.sale_order_line.data[0].data.product_id.data.id, 2); + form.destroy(); + }); + + QUnit.test('Select a configurable product template and verify that the product configurator is opened', async function (assert) { + assert.expect(2); + + var form = await createView({ + View: FormView, + model: 'sale_order', + data: this.data, + arch: getArch(), + mockRPC: function (route, params) { + if (params.method === 'get_single_product_variant') { + assert.ok(true); + return Promise.resolve(false); + } + return this._super.apply(this, arguments); + }, + intercepts: { + do_action: function (ev) { + if (ev.data.action === 'sale_product_configurator.sale_product_configurator_action') { + assert.ok(true); + } + }, + } + }); + + await testUtils.dom.click(form.$("a:contains('Add a product')")); + await testUtils.fields.many2one.searchAndClickItem("product_template_id", {item: 'Customizable Desk'}); + form.destroy(); + }); + + QUnit.test('trigger_up the "add_record" event and checks that rows are correctly added to the list', async function (assert) { + assert.expect(1); + + var form = await createView({ + View: FormView, + model: 'sale_order', + data: this.data, + arch: getArch() + }); + + var list = form.renderer.allFieldWidgets[form.handle][1]; + + list.trigger_up('add_record', { + context: [{default_product_id: 1, default_product_uom_qty: 2}, {default_product_id: 2, default_product_uom_qty: 3}], + forceEditable: "bottom" , + allowWarning: true + }); + await testUtils.nextTick(); + + assert.containsN(list, "tr.o_data_row", 2); + form.destroy(); + }); + + QUnit.test('Select a product in the list and check for template loading', async function (assert) { + assert.expect(1); + + var product_configurator_form = await createView({ + View: ProductConfiguratorFormView, + model: 'sale_product_configurator', + data: this.data, + arch: + '<form js_class="product_configurator_form">' + + '<group>' + + '<field name="product_template_id" class="oe_product_configurator_product_template_id" />' + + '<field name="product_template_attribute_value_ids" invisible="1" />' + + '<field name="product_no_variant_attribute_value_ids" invisible="1" />' + + '<field name="product_custom_attribute_value_ids" invisible="1" />' + + '</group>' + + '<footer>' + + '<button string="Add" class="btn-primary o_sale_product_configurator_add disabled"/>' + + '<button string="Cancel" class="btn-secondary" special="cancel"/>' + + '</footer>' + + '</form>', + mockRPC: function (route) { + if (route === '/sale_product_configurator/configure') { + assert.ok(true); + return Promise.resolve('<div>plop</div>'); + } + return this._super.apply(this, arguments); + } + }); + await testUtils.dom.click(product_configurator_form.$('.o_input')); + await testUtils.dom.click($("ul.ui-autocomplete li a:contains('Customizable Desk')").mouseenter()); + product_configurator_form.destroy(); + }); + + QUnit.test('drag and drop rows containing product_configurator many2one', async function (assert) { + assert.expect(4); + + this.data.sale_order.records = [ + { id: 1, sale_order_line: [1, 2] } + ]; + this.data.sale_order_line.records = [ + { id: 1, sequence: 5, product_id: 1 }, + { id: 2, sequence: 15, product_id: 2 }, + ]; + + const form = await createView({ + View: FormView, + model: 'sale_order', + data: this.data, + arch: ` + <form> + <field name="sale_order_line"/> + </form>`, + archs: { + 'sale_order_line,false,list': ` + <tree editable="bottom"> + <field name="sequence" widget="handle"/> + <field name="product_id" widget="product_configurator"/> + </tree>`, + }, + res_id: 1, + viewOptions: { + mode: 'edit', + }, + }); + + assert.containsN(form, '.o_data_row', 2); + assert.strictEqual(form.$('.o_data_row').text(), 'Customizable Desk (1)Customizable Desk (2)'); + assert.containsN(form, '.o_data_row .o_row_handle', 2); + + // move first row below second + const $firstHandle = form.$('.o_data_row:nth(0) .o_row_handle'); + const $secondHandle = form.$('.o_data_row:nth(1) .o_row_handle'); + await testUtils.dom.dragAndDrop($firstHandle, $secondHandle); + + assert.strictEqual(form.$('.o_data_row').text(), 'Customizable Desk (2)Customizable Desk (1)'); + + form.destroy(); + }); +}); + +}); diff --git a/addons/sale_product_configurator/static/tests/tours/product_configurator_advanced_ui.js b/addons/sale_product_configurator/static/tests/tours/product_configurator_advanced_ui.js new file mode 100644 index 00000000..16251f56 --- /dev/null +++ b/addons/sale_product_configurator/static/tests/tours/product_configurator_advanced_ui.js @@ -0,0 +1,165 @@ +odoo.define('sale.sale_product_configurator_advanced_tour', function (require) { +"use strict"; + +var tour = require('web_tour.tour'); + +var optionVariantImage; + +tour.register('sale_product_configurator_advanced_tour', { + url: "/web", + test: true, +}, [tour.stepUtils.showAppsMenuItem(), { + trigger: '.o_app[data-menu-xmlid="sale.sale_menu_root"]', // Note: The module sale_management is mandatory + edition: 'community' +}, { + trigger: '.o_app[data-menu-xmlid="sale.sale_menu_root"]', + edition: 'enterprise' +}, { + trigger: ".o_list_button_add", + extra_trigger: ".o_sale_order" +}, { + trigger: ".o_required_modifier[name=partner_id] input", + run: "text Tajine Saucisse", +}, { + trigger: ".ui-menu-item > a:contains('Tajine Saucisse')", + auto: true, +}, { + trigger: "a:contains('Add a product')", + extra_trigger: ".o_field_widget[name=partner_shipping_id] > .o_external_button", // Wait for onchange_partner_id +}, { + trigger: 'div[name="product_template_id"] input', + run: function (){ + var $input = $('div[name="product_template_id"] input'); + $input.click(); + $input.val('Custo'); + var keyDownEvent = jQuery.Event("keydown"); + keyDownEvent.which = 42; + $input.trigger(keyDownEvent); + } +}, { + trigger: 'ul.ui-autocomplete a:contains("Customizable Desk (TEST)")', + run: 'click' +}, { + trigger: 'span:contains("Custom")', + extra_trigger: '.o_product_configurator', + run: 'click' +}, { + trigger: '.o_product_configurator ul.js_add_cart_variants li[data-attribute_id]:nth-child(1) .variant_custom_value', + extra_trigger: '.o_product_configurator', + run: 'text Custom 1' +}, { + trigger: '.o_product_configurator ul.js_add_cart_variants li[data-attribute_id]:nth-child(3) span:contains("PAV9")', + extra_trigger: '.o_product_configurator', + run: 'click' +}, { + trigger: '.o_product_configurator ul.js_add_cart_variants li[data-attribute_id]:nth-child(3) .variant_custom_value', + extra_trigger: '.o_product_configurator', + run: 'text Custom 2' +}, { + trigger: '.o_product_configurator ul.js_add_cart_variants li[data-attribute_id]:nth-child(4) span:contains("PAV5")', + extra_trigger: '.o_product_configurator', + run: 'click' +}, { + trigger: '.o_product_configurator ul.js_add_cart_variants li[data-attribute_id]:nth-child(6) select ', + extra_trigger: '.o_product_configurator', + run: function (){ + var inputValue = $('.o_product_configurator ul.js_add_cart_variants li[data-attribute_id]:nth-child(6) option[data-value_name="PAV9"]').val(); + $('.o_product_configurator ul.js_add_cart_variants li[data-attribute_id]:nth-child(6) select').val(inputValue); + $('.o_product_configurator ul.js_add_cart_variants li[data-attribute_id]:nth-child(6) select').trigger('change'); + } +}, { + trigger: '.o_product_configurator ul.js_add_cart_variants li[data-attribute_id]:nth-child(6) .variant_custom_value', + extra_trigger: '.o_product_configurator', + run: 'text Custom 3' +}, { + trigger: ".o_sale_product_configurator_add", + run: 'click' +}, { + trigger: '.main_product strong:contains("Custom, White, PAV9, PAV5, PAV1")', + extra_trigger: '.oe_optional_products_modal', + run: function () {} //check +}, { + trigger: '.main_product div:contains("Custom: Custom 1")', + extra_trigger: '.oe_optional_products_modal', + run: function () {} //check +}, { + trigger: '.main_product div:contains("PAV9: Custom 2")', + extra_trigger: '.oe_optional_products_modal', + run: function () {} //check +}, { + trigger: '.main_product div:contains("PAV9: Custom 3")', + extra_trigger: '.oe_optional_products_modal', + run: function () {} //check +}, { + trigger: '.main_product div:contains("PA5: PAV1")', + extra_trigger: '.oe_optional_products_modal', + run: function () {} //check +}, { + trigger: '.main_product div:contains("PA7: PAV1")', + extra_trigger: '.oe_optional_products_modal', + run: function () {} //check +}, { + trigger: '.main_product div:contains("PA8: PAV1")', + extra_trigger: '.oe_optional_products_modal', + run: function () {} //check +}, { + trigger: '.oe_optional_products_modal .js_product:eq(1) div:contains("Conference Chair (TEST) (Steel)")', + run: function () { + optionVariantImage = $('.oe_optional_products_modal .js_product:eq(1) img.variant_image').attr('src'); + } +}, { + trigger: '.oe_optional_products_modal .js_product:eq(1) input[data-value_name="Aluminium"]', +}, { + trigger: '.oe_optional_products_modal .js_product:eq(1) div:contains("Conference Chair (TEST) (Aluminium)")', + run: function () { + var newVariantImage = $('.oe_optional_products_modal .js_product:eq(1) img.variant_image').attr('src'); + if (newVariantImage !== optionVariantImage) { + $('<p>').text('image variant option src changed').insertAfter('.oe_optional_products_modal .js_product:eq(1) .product-name'); + } + + } +}, { + extra_trigger: '.oe_optional_products_modal .js_product:eq(1) div:contains("image variant option src changed")', + trigger: '.oe_optional_products_modal .js_product:eq(1) input[data-value_name="Steel"]', +}, { + trigger: 'button span:contains(Confirm)', + extra_trigger: '.oe_optional_products_modal', + run: 'click' +}, { + trigger: 'td.o_data_cell:contains("Customizable Desk (TEST) (Custom, White, PAV9, PAV5, PAV1)")', + extra_trigger: 'div[name="order_line"]', + in_modal: false, + run: function (){} //check +}, { + trigger: 'td.o_data_cell:contains("Legs: Custom: Custom 1")', + extra_trigger: 'div[name="order_line"]', + in_modal: false, + run: function (){} //check +}, { + trigger: 'td.o_data_cell:contains("PA1: PAV9: Custom 2")', + extra_trigger: 'div[name="order_line"]', + in_modal: false, + run: function (){} //check +}, { + trigger: 'td.o_data_cell:contains("PA4: PAV9: Custom 3")', + extra_trigger: 'div[name="order_line"]', + in_modal: false, + run: function (){} //check +}, { + trigger: 'td.o_data_cell:contains("PA5: PAV1")', + extra_trigger: 'div[name="order_line"]', + in_modal: false, + run: function (){} //check +}, { + trigger: 'td.o_data_cell:contains("PA7: PAV1")', + extra_trigger: 'div[name="order_line"]', + in_modal: false, + run: function (){} //check +}, { + trigger: 'td.o_data_cell:contains("PA8: PAV1")', + extra_trigger: 'div[name="order_line"]', + in_modal: false, + run: function (){} //check +}]); + +}); diff --git a/addons/sale_product_configurator/static/tests/tours/product_configurator_edition_ui.js b/addons/sale_product_configurator/static/tests/tours/product_configurator_edition_ui.js new file mode 100644 index 00000000..dc7663d6 --- /dev/null +++ b/addons/sale_product_configurator/static/tests/tours/product_configurator_edition_ui.js @@ -0,0 +1,160 @@ +odoo.define('sale.product_configurator_edition_tour', function (require) { +"use strict"; + +var tour = require('web_tour.tour'); + +tour.register('sale_product_configurator_edition_tour', { + url: "/web", + test: true, +}, [tour.stepUtils.showAppsMenuItem(), { + trigger: '.o_app[data-menu-xmlid="sale.sale_menu_root"]', + edition: 'community' +}, { + trigger: '.o_app[data-menu-xmlid="sale.sale_menu_root"]', + edition: 'enterprise' +}, { + trigger: ".o_list_button_add", + extra_trigger: ".o_sale_order" +}, { + trigger: "a:contains('Add a product')" +}, { + trigger: 'div[name="product_template_id"] input', + run: function (){ + var $input = $('div[name="product_template_id"] input'); + $input.click(); + $input.val('Custo'); + var keyDownEvent = jQuery.Event("keydown"); + keyDownEvent.which = 42; + $input.trigger(keyDownEvent); + } +}, { + trigger: 'ul.ui-autocomplete a:contains("Customizable Desk (TEST)")', + run: 'click' +}, { + trigger: '.configurator_container span:contains("Steel")', + run: function () { + $('input.product_id').change(function () { + $('.o_sale_product_configurator_add').attr('request_count', 1); + }); + } +}, { + trigger: '.configurator_container span:contains("Aluminium")' +}, { + trigger: '.o_sale_product_configurator_add[request_count="1"]', + run: function (){} // used to sync with "get_combination_info" completion +}, { + trigger: '.o_sale_product_configurator_add:not(.disabled)' +}, { + trigger: 'button span:contains(Confirm)', + extra_trigger: '.oe_optional_products_modal', + run: 'click' +}, { + trigger: 'td.o_data_cell:contains("Customizable Desk (TEST) (Aluminium, White)")', + extra_trigger: 'div[name="order_line"]', + run: function (){} // check added product +}, { + trigger: 'td.o_product_configurator_cell', +}, { + trigger: '.o_edit_product_configuration', +}, { + trigger: '.configurator_container li.js_attribute_value:has(span:contains("Aluminium")) input:checked', + run: function (){} // check updated legs +}, { + trigger: 'span.oe_currency_value:contains("800")', + run: function (){} // check updated price +}, { + trigger: '.configurator_container span:contains("Steel")', + run: function () { + $('input.product_id').change(function () { + if ($('.o_sale_product_configurator_edit').attr('request_count')) { + $('.o_sale_product_configurator_edit').attr('request_count', + parseInt($('.o_sale_product_configurator_edit').attr('request_count')) + 1); + } else { + $('.o_sale_product_configurator_edit').attr('request_count', 1); + } + }); + } +}, { + trigger: '.configurator_container span:contains("Custom")', + run: function () { + // FIXME awa: since jquery3 update it doesn't "click" + // on the element without this run (and 'run: "click"' + // doesn't work either) + $('.configurator_container span:contains("Custom")').click(); + } +}, { + trigger: '.configurator_container .variant_custom_value', + run: 'text nice custom value' +}, { + trigger: 'input[data-value_name="Black"]', + run: 'click' +}, { + trigger: '.o_sale_product_configurator_edit[request_count="2"]', + run: function (){} // used to sync with "get_combination_info" completion +}, { + trigger: '.o_sale_product_configurator_edit', +}, { + trigger: 'td.o_data_cell:contains("Customizable Desk (TEST) (Custom, Black)")', + extra_trigger: 'div[name="order_line"]', + run: function (){} // check updated product +}, { + trigger: 'td.o_data_cell:contains("Custom: nice custom value")', + extra_trigger: 'div[name="order_line"]', + run: function (){} // check custom value +}, { + trigger: 'td.o_product_configurator_cell', +}, { + trigger: '.o_edit_product_configuration', +}, { + trigger: '.configurator_container .variant_custom_value', + run: 'text another nice custom value' +}, { + trigger: '.o_sale_product_configurator_edit', +}, { + trigger: 'td.o_data_cell:contains("Custom: another nice custom value")', + extra_trigger: 'div[name="order_line"]', + run: function (){} // check custom value +}, { + trigger: 'td.o_product_configurator_cell', +}, { + trigger: '.o_edit_product_configuration', +}, { + trigger: '.configurator_container span:contains("Steel")', + run: function () { + $('input.product_id').change(function () { + $('.o_sale_product_configurator_edit').attr('request_count', 1); + }); + } +}, { + trigger: '.configurator_container span:contains("Steel")', + run: function () { + // FIXME awa: since jquery3 update it doesn't "click" + // on the element without this run (and 'run: "click"' + // doesn't work either) + $('.configurator_container span:contains("Steel")').click(); + } +}, { + trigger: '.o_sale_product_configurator_edit[request_count="1"]', + run: function (){} // used to sync with "get_combination_info" completion +}, { + trigger: '.configurator_container button.js_add_cart_json:has(.fa-plus)', +}, { + trigger: '.o_sale_product_configurator_edit', +}, { + trigger: 'td.o_data_cell:contains("2.00")', + run: function (){} // check quantity +}, { + trigger: 'td.o_product_configurator_cell', + run: function () { + // used to check that the description does not contain a custom value anymore + if ($('td.o_data_cell:contains("Custom: another nice custom value")').length === 0){ + $('td.o_data_cell:contains("Customizable Desk (TEST) (Steel, Black)")').html('tour success'); + } + } +}, { + trigger: 'td.o_data_cell:contains("tour success")', + extra_trigger: 'div[name="order_line"]', + run: function (){} +}]); + +}); diff --git a/addons/sale_product_configurator/static/tests/tours/product_configurator_optional_products_ui.js b/addons/sale_product_configurator/static/tests/tours/product_configurator_optional_products_ui.js new file mode 100644 index 00000000..c566ce5b --- /dev/null +++ b/addons/sale_product_configurator/static/tests/tours/product_configurator_optional_products_ui.js @@ -0,0 +1,79 @@ +odoo.define('sale.product_configurator_optional_products_tour', function (require) { +"use strict"; + +var tour = require('web_tour.tour'); + +tour.register('sale_product_configurator_optional_products_tour', { + url: "/web", + test: true, +}, [tour.stepUtils.showAppsMenuItem(), { + trigger: '.o_app[data-menu-xmlid="sale.sale_menu_root"]', + edition: 'community' +}, { + trigger: '.o_app[data-menu-xmlid="sale.sale_menu_root"]', + edition: 'enterprise' +}, { + trigger: ".o_list_button_add", + extra_trigger: ".o_sale_order" +}, { + trigger: "a:contains('Add a product')" +}, { + trigger: 'div[name="product_template_id"] input', + run: function () { + var $input = $('div[name="product_template_id"] input'); + $input.click(); + $input.val('Customizable Desk'); + var keyDownEvent = jQuery.Event("keydown"); + keyDownEvent.which = 42; + $input.trigger(keyDownEvent); + } +}, { + trigger: 'ul.ui-autocomplete a:contains("Customizable Desk (TEST)")', + run: 'click' +}, { + trigger: '.o_sale_product_configurator_add' +}, { + trigger: 'tr:has(.td-product_name:contains("Office Chair Black")) .js_add', +}, { + trigger: 'tr:has(.td-product_name:contains("Customizable Desk")) .fa-plus' +}, { + trigger: 'tr:has(.td-product_name:contains("Chair floor protection")) .js_add', +}, { + content: 'Is below its parent 1', + trigger: 'tr:has(.td-product_name:contains("Office Chair Black")) + tr:has(.td-product_name:contains("Chair floor protection"))' +}, { + trigger: 'tr:has(.td-product_name:contains("Conference Chair")) .js_add', +}, { + trigger: 'tr:has(.td-product_name:contains("Conference Chair")) .fa-minus' +}, { + trigger: 'tr:has(.td-product_name:contains("Chair floor protection")) .js_add', +}, { + content: 'Is below its parent 2', + trigger: 'tr:has(.td-product_name:contains("Conference Chair")) + tr:has(.td-product_name:contains("Chair floor protection"))' +}, { + trigger: 'button span:contains(Confirm)', + extra_trigger: '.oe_optional_products_modal', + run: 'click' +}, { + trigger: 'tr:has(td.o_data_cell:contains("Customizable Desk")) td.o_data_cell:contains("2.0")', + extra_trigger: 'div[name="order_line"]', + run: function () {}, // check added product +}, { + trigger: 'tr:has(td.o_data_cell:contains("Office Chair Black")) td.o_data_cell:contains("1.0")', + extra_trigger: 'div[name="order_line"]', + run: function () {}, // check added product +}, { + trigger: 'tr:has(td.o_data_cell:contains("Conference Chair")) td.o_data_cell:contains("1.0")', + extra_trigger: 'div[name="order_line"]', + run: function () {}, // check added product +}, { + trigger: 'tr:has(td.o_data_cell:contains("Chair floor protection")):nth(0) td.o_data_cell:contains("1.0")', + extra_trigger: 'div[name="order_line"]', + run: function () {}, // check added product +}, { + trigger: 'tr:has(td.o_data_cell:contains("Chair floor protection")):nth(1) td.o_data_cell:contains("1.0")', + extra_trigger: 'div[name="order_line"]', + run: function () {}, // check added product +}]); + +}); diff --git a/addons/sale_product_configurator/static/tests/tours/product_configurator_pricelist_ui.js b/addons/sale_product_configurator/static/tests/tours/product_configurator_pricelist_ui.js new file mode 100644 index 00000000..af97bf1f --- /dev/null +++ b/addons/sale_product_configurator/static/tests/tours/product_configurator_pricelist_ui.js @@ -0,0 +1,99 @@ +odoo.define('sale.product_configurator_pricelist_tour', function (require) { +"use strict"; + +var tour = require('web_tour.tour'); + +tour.register('sale_product_configurator_pricelist_tour', { + url: "/web", + test: true, +}, +[ +tour.stepUtils.showAppsMenuItem(), +{ + content: "navigate to the sale app", + trigger: '.o_app[data-menu-xmlid="sale.sale_menu_root"]', + edition: 'community' +}, { + content: "navigate to the sale app", + trigger: '.o_app[data-menu-xmlid="sale.sale_menu_root"]', + edition: 'enterprise' +}, { + content: "create a new order", + trigger: '.o_list_button_add', + extra_trigger: ".o_sale_order" +}, { + content: "search the partner", + trigger: 'div[name="partner_id"] input', + run: 'text Azure' +}, { + content: "select the partner", + trigger: 'ul.ui-autocomplete > li > a:contains(Azure)', +}, { + content: "search the pricelist", + trigger: 'div[name="pricelist_id"] input', + run: 'text Custom pricelist (TEST)' +}, { + content: "select the pricelist", + trigger: 'ul.ui-autocomplete > li > a:contains(Custom pricelist (TEST))', +}, { + trigger: "a:contains('Add a product')" +}, { + trigger: 'div[name="product_template_id"] input', + run: function (){ + var $input = $('div[name="product_template_id"] input'); + $input.click(); + $input.val('Custo'); + var keyDownEvent = jQuery.Event("keydown"); + keyDownEvent.which = 42; + $input.trigger(keyDownEvent); + } +}, { + trigger: 'ul.ui-autocomplete a:contains("Customizable Desk (TEST)")', + run: 'click' +}, { + content: "check price is correct (USD)", + trigger: 'span.oe_currency_value:contains("750.00")', + run: function () {} // check price +}, { + content: "add one more", + trigger: 'button.js_add_cart_json:has(i.fa-plus)', +}, { + content: "check price for 2", + trigger: 'span.oe_currency_value:contains("600.00")', + run: function () {} // check price (pricelist has discount for 2) +}, { + content: "click add", + trigger: '.o_sale_product_configurator_add:not(.disabled)' +}, { + content: "check we are on the add modal", + trigger: '.td-product_name:contains("Customizable Desk (TEST) (Steel, White)")', + extra_trigger: '.oe_optional_products_modal', + run: 'click' +}, { + content: "add conference chair", + trigger: '.js_product:has(strong:contains(Conference Chair)) .js_add', + extra_trigger: '.oe_optional_products_modal .js_product:has(strong:contains(Conference Chair))', + run: 'click' +}, { + content: "add chair floor protection", + trigger: '.js_product:has(strong:contains(Chair floor protection)) .js_add', + extra_trigger: '.oe_optional_products_modal .js_product:has(strong:contains(Chair floor protection))', + run: 'click' +}, { + content: "verify configurator final price", // tax excluded + trigger: '.o_total_row .oe_currency_value:contains("1,257.00")', +}, { + content: "add to SO", + trigger: 'button span:contains(Confirm)', + extra_trigger: '.oe_optional_products_modal', + run: 'click' +}, { + content: "verify SO final price excluded", + trigger: 'span[name="amount_untaxed"]:contains("1,257.00")', +}, { + content: "verify SO final price included", + trigger: 'span[name="amount_total"]:contains("1,437.00")', +} +]); + +}); diff --git a/addons/sale_product_configurator/static/tests/tours/product_configurator_single_custom_attribute_ui.js b/addons/sale_product_configurator/static/tests/tours/product_configurator_single_custom_attribute_ui.js new file mode 100644 index 00000000..8b1db607 --- /dev/null +++ b/addons/sale_product_configurator/static/tests/tours/product_configurator_single_custom_attribute_ui.js @@ -0,0 +1,79 @@ +odoo.define('sale.product_configurator_single_custom_attribute_tour', function (require) { +"use strict"; + +var tour = require('web_tour.tour'); + +tour.register('sale_product_configurator_single_custom_attribute_tour', { + url: "/web", + test: true, +}, [tour.stepUtils.showAppsMenuItem(), { + trigger: '.o_app[data-menu-xmlid="sale.sale_menu_root"]', + edition: 'community' +}, { + trigger: '.o_app[data-menu-xmlid="sale.sale_menu_root"]', + edition: 'enterprise' +}, { + trigger: ".o_list_button_add", + extra_trigger: ".o_sale_order" +}, { + trigger: "a:contains('Add a product')" +}, { + trigger: 'div[name="product_template_id"] input', + run: function (){ + var $input = $('div[name="product_template_id"] input'); + $input.click(); + $input.val('Custo'); + // fake keydown to trigger search + var keyDownEvent = jQuery.Event("keydown"); + keyDownEvent.which = 42; + $input.trigger(keyDownEvent); + } +}, { + trigger: 'ul.ui-autocomplete a:contains("Customizable Desk (TEST)")', + run: 'click' +}, { + trigger: '.configurator_container span:contains("Aluminium")', + run: function () { + // used to check that the radio is NOT rendered + if ($('.configurator_container ul[data-attribute_id].d-none input[data-value_name="single product attribute value"]').length === 1) { + $('.configurator_container').addClass('tour_success'); + } + } +}, { + trigger: '.configurator_container.tour_success', + run: function () { + //check + } +}, { + trigger: '.configurator_container .variant_custom_value', + run: 'text great single custom value' +}, { + trigger: '.o_sale_product_configurator_add', +}, { + trigger: 'button span:contains(Confirm)', + extra_trigger: '.oe_optional_products_modal', + run: 'click' +}, { + trigger: 'td.o_data_cell:contains("single product attribute value: great single custom value")', + extra_trigger: 'div[name="order_line"]', + run: function (){} // check custom value +}, { + trigger: 'td.o_product_configurator_cell', +}, { + trigger: '.o_edit_product_configuration', +}, { + trigger: '.configurator_container .variant_custom_value', + run: function () { + // check custom value initialized + if ($('.configurator_container .variant_custom_value').val() === "great single custom value") { + $('.configurator_container').addClass('tour_success_2'); + } + } +}, { + trigger: '.configurator_container.tour_success_2', + run: function () { + //check + } +}]); + +}); diff --git a/addons/sale_product_configurator/static/tests/tours/product_configurator_ui.js b/addons/sale_product_configurator/static/tests/tours/product_configurator_ui.js new file mode 100644 index 00000000..fad1fbd3 --- /dev/null +++ b/addons/sale_product_configurator/static/tests/tours/product_configurator_ui.js @@ -0,0 +1,95 @@ +odoo.define('sale.product_configurator_tour', function (require) { +"use strict"; + +var tour = require('web_tour.tour'); + +// Note: please keep this test without pricelist for maximum coverage. +// The pricelist is tested on the other tours. + +tour.register('sale_product_configurator_tour', { + url: "/web", + test: true, +}, [tour.stepUtils.showAppsMenuItem(), { + trigger: '.o_app[data-menu-xmlid="sale.sale_menu_root"]', + edition: 'community' +}, { + trigger: '.o_app[data-menu-xmlid="sale.sale_menu_root"]', + edition: 'enterprise' +}, { + trigger: ".o_list_button_add", + extra_trigger: ".o_sale_order" +}, { + trigger: "a:contains('Add a product')", +}, { + trigger: 'div[name="product_template_id"] input', + run: function (){ + var $input = $('div[name="product_template_id"] input'); + $input.click(); + $input.val('Custo'); + // fake keydown to trigger search + var keyDownEvent = jQuery.Event("keydown"); + keyDownEvent.which = 42; + $input.trigger(keyDownEvent); + } +}, { + trigger: 'ul.ui-autocomplete a:contains("Customizable Desk (TEST)")', + run: 'click' +}, { + trigger: '.configurator_container span:contains("Steel")', + run: function () {}, +}, { + trigger: '.configurator_container span:contains("Aluminium")', + run: 'click' +}, { + trigger: 'span.oe_currency_value:contains("800.40")', + run: function (){} // check updated price +}, { + trigger: 'input[data-value_name="Black"]' +}, { + trigger: '.o_sale_product_configurator_add.disabled' +}, { + trigger: 'input[data-value_name="White"]' +}, { + trigger: '.o_sale_product_configurator_add:not(.disabled)' +}, { + trigger: 'span:contains("Aluminium")', + extra_trigger: '.oe_optional_products_modal', + run: 'click' +}, { + trigger: '.js_product:has(strong:contains(Conference Chair)) .js_add', + extra_trigger: '.oe_optional_products_modal .js_product:has(strong:contains(Conference Chair))', + run: 'click' +}, { + trigger: '.js_product:has(strong:contains(Chair floor protection)) .js_add', + extra_trigger: '.oe_optional_products_modal .js_product:has(strong:contains(Chair floor protection))', + run: 'click' +}, { + trigger: 'button span:contains(Confirm)', + extra_trigger: '.oe_optional_products_modal', + id: "quotation_product_selected", + run: 'click' +}, +// check that 3 products were added to the SO +{ + trigger: 'td.o_data_cell:contains("Customizable Desk (TEST) (Aluminium, White)")', + extra_trigger: 'div[name="order_line"]', + in_modal: false, + run: function (){} +}, { + trigger: 'td.o_data_cell:contains("Conference Chair (TEST) (Aluminium)")', + extra_trigger: 'div[name="order_line"]', + in_modal: false, + run: function (){} +}, { + trigger: 'td.o_data_cell:contains("Chair floor protection")', + extra_trigger: 'div[name="order_line"]', + in_modal: false, + run: function (){} +}, { + trigger: '.o_readonly_modifier[name=amount_total]:contains("0.00")', + in_modal: false, + run: function (){} +} +]); + +}); diff --git a/addons/sale_product_configurator/tests/__init__.py b/addons/sale_product_configurator/tests/__init__.py new file mode 100644 index 00000000..2b67147c --- /dev/null +++ b/addons/sale_product_configurator/tests/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import common +from . import test_sale_product_configurator_ui diff --git a/addons/sale_product_configurator/tests/common.py b/addons/sale_product_configurator/tests/common.py new file mode 100644 index 00000000..252fda2b --- /dev/null +++ b/addons/sale_product_configurator/tests/common.py @@ -0,0 +1,114 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. +import base64 + +from odoo.tests.common import SavepointCase +from odoo.modules.module import get_module_resource + + +class TestProductConfiguratorCommon(SavepointCase): + + @classmethod + def setUpClass(cls): + super().setUpClass() + # Setup attributes and attributes values + cls.product_attribute_1 = cls.env['product.attribute'].create({ + 'name': 'Legs', + 'sequence': 10, + }) + product_attribute_value_1 = cls.env['product.attribute.value'].create({ + 'name': 'Steel', + 'attribute_id': cls.product_attribute_1.id, + 'sequence': 1, + }) + product_attribute_value_2 = cls.env['product.attribute.value'].create({ + 'name': 'Aluminium', + 'attribute_id': cls.product_attribute_1.id, + 'sequence': 2, + }) + product_attribute_2 = cls.env['product.attribute'].create({ + 'name': 'Color', + 'sequence': 20, + }) + product_attribute_value_3 = cls.env['product.attribute.value'].create({ + 'name': 'White', + 'attribute_id': product_attribute_2.id, + 'sequence': 1, + }) + product_attribute_value_4 = cls.env['product.attribute.value'].create({ + 'name': 'Black', + 'attribute_id': product_attribute_2.id, + 'sequence': 2, + }) + + # Create product template + cls.product_product_custo_desk = cls.env['product.template'].create({ + 'name': 'Customizable Desk (TEST)', + 'standard_price': 500.0, + 'list_price': 750.0, + }) + + # Generate variants + cls.env['product.template.attribute.line'].create([{ + 'product_tmpl_id': cls.product_product_custo_desk.id, + 'attribute_id': cls.product_attribute_1.id, + 'value_ids': [(4, product_attribute_value_1.id), (4, product_attribute_value_2.id)], + }, { + 'product_tmpl_id': cls.product_product_custo_desk.id, + 'attribute_id': product_attribute_2.id, + 'value_ids': [(4, product_attribute_value_3.id), (4, product_attribute_value_4.id)], + + }]) + + # Apply a price_extra for the attribute Aluminium + cls.product_product_custo_desk.attribute_line_ids[0].product_template_value_ids[1].price_extra = 50.40 + + # Add a Custom attribute + product_attribute_value_custom = cls.env['product.attribute.value'].create({ + 'name': 'Custom', + 'attribute_id': cls.product_attribute_1.id, + 'sequence': 3, + 'is_custom': True + }) + cls.product_product_custo_desk.attribute_line_ids[0].write({'value_ids': [(4, product_attribute_value_custom.id)]}) + + # Disable the aluminium + black product + cls.product_product_custo_desk.product_variant_ids[3].active = False + + # Setup a first optional product + img_path = get_module_resource('product', 'static', 'img', 'product_product_11-image.png') + img_content = base64.b64encode(open(img_path, "rb").read()) + cls.product_product_conf_chair = cls.env['product.template'].create({ + 'name': 'Conference Chair (TEST)', + 'image_1920': img_content, + 'list_price': 16.50, + }) + + cls.env['product.template.attribute.line'].create({ + 'product_tmpl_id': cls.product_product_conf_chair.id, + 'attribute_id': cls.product_attribute_1.id, + 'value_ids': [(4, product_attribute_value_1.id), (4, product_attribute_value_2.id)], + }) + cls.product_product_conf_chair.attribute_line_ids[0].product_template_value_ids[1].price_extra = 6.40 + cls.product_product_custo_desk.optional_product_ids = [(4, cls.product_product_conf_chair.id)] + + # Setup a second optional product + cls.product_product_conf_chair_floor_protect = cls.env['product.template'].create({ + 'name': 'Chair floor protection', + 'list_price': 12.0, + }) + cls.product_product_conf_chair.optional_product_ids = [(4, cls.product_product_conf_chair_floor_protect.id)] + + + def _create_pricelist(cls, pricelists): + for pricelist in pricelists: + if not pricelist.item_ids.filtered(lambda i: i.product_tmpl_id == cls.product_product_custo_desk and i.price_discount == 20): + cls.env['product.pricelist.item'].create({ + 'base': 'list_price', + 'applied_on': '1_product', + 'pricelist_id': pricelist.id, + 'product_tmpl_id': cls.product_product_custo_desk.id, + 'price_discount': 20, + 'min_quantity': 2, + 'compute_price': 'formula', + }) + pricelist.discount_policy = 'without_discount' diff --git a/addons/sale_product_configurator/tests/test_sale_product_configurator_ui.py b/addons/sale_product_configurator/tests/test_sale_product_configurator_ui.py new file mode 100644 index 00000000..009c2de6 --- /dev/null +++ b/addons/sale_product_configurator/tests/test_sale_product_configurator_ui.py @@ -0,0 +1,171 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import odoo.tests +from .common import TestProductConfiguratorCommon + + +@odoo.tests.tagged('post_install', '-at_install') +class TestUi(odoo.tests.HttpSavepointCase, TestProductConfiguratorCommon): + + def setUp(self): + super(TestUi, self).setUp() + self.custom_pricelist = self.env['product.pricelist'].create({ + 'name': 'Custom pricelist (TEST)', + 'item_ids': [(0, 0, { + 'base': 'list_price', + 'applied_on': '1_product', + 'product_tmpl_id': self.product_product_custo_desk.id, + 'price_discount': 20, + 'min_quantity': 2, + 'compute_price': 'formula' + })] + }) + + def test_01_product_configurator(self): + # To be able to test the product configurator, admin user must have access to "variants" feature, so we give him the right group for that + self.env.ref('base.user_admin').write({'groups_id': [(4, self.env.ref('product.group_product_variant').id)]}) + self.start_tour("/web", 'sale_product_configurator_tour', login="admin") + + def test_02_product_configurator_advanced(self): + # group_product_variant: use the product configurator + # group_sale_pricelist: display the pricelist to determine when it is changed after choosing + # group_delivery_invoice_address: show the shipping address (needed for a trigger) + # the partner + self.env.ref('base.user_admin').write({ + 'groups_id': [ + (4, self.env.ref('product.group_product_variant').id), + (4, self.env.ref('product.group_product_pricelist').id), + (4, self.env.ref('sale.group_delivery_invoice_address').id), + ], + }) + + # Prepare relevant test data + # This is not included in demo data to avoid useless noise + product_attributes = self.env['product.attribute'].create([{ + 'name': 'PA1', + 'display_type': 'radio', + 'create_variant': 'dynamic' + }, { + 'name': 'PA2', + 'display_type': 'radio', + 'create_variant': 'always' + }, { + 'name': 'PA3', + 'display_type': 'radio', + 'create_variant': 'dynamic' + }, { + 'name': 'PA4', + 'display_type': 'select', + 'create_variant': 'no_variant' + }, { + 'name': 'PA5', + 'display_type': 'select', + 'create_variant': 'no_variant' + }, { + 'name': 'PA7', + 'display_type': 'color', + 'create_variant': 'no_variant' + }, { + 'name': 'PA8', + 'display_type': 'radio', + 'create_variant': 'no_variant' + }]) + + self.env['product.attribute.value'].create([{ + 'name': 'PAV' + str(i), + 'is_custom': i == 9, + 'attribute_id': product_attribute.id + } for i in range(1, 11) for product_attribute in product_attributes]) + + product_template = self.product_product_custo_desk + + self.env['product.template.attribute.line'].create([{ + 'attribute_id': product_attribute.id, + 'product_tmpl_id': product_template.id, + 'value_ids': [(6, 0, product_attribute.value_ids.ids)], + } for product_attribute in product_attributes]) + self.start_tour("/web", 'sale_product_configurator_advanced_tour', login="admin") + + def test_03_product_configurator_edition(self): + # To be able to test the product configurator, admin user must have access to "variants" feature, so we give him the right group for that + self.env.ref('base.user_admin').write({'groups_id': [(4, self.env.ref('product.group_product_variant').id)]}) + self.start_tour("/web", 'sale_product_configurator_edition_tour', login="admin") + + def test_04_product_configurator_single_custom_value(self): + # group_product_variant: use the product configurator + # group_sale_pricelist: display the pricelist to determine when it is changed after choosing + # the partner + self.env.ref('base.user_admin').write({ + 'groups_id': [ + (4, self.env.ref('product.group_product_variant').id), + (4, self.env.ref('product.group_product_pricelist').id), + ], + }) + + # Prepare relevant test data + # This is not included in demo data to avoid useless noise + product_attributes = self.env['product.attribute'].create([{ + 'name': 'product attribute', + 'display_type': 'radio', + 'create_variant': 'always' + }]) + + product_attribute_values = self.env['product.attribute.value'].create([{ + 'name': 'single product attribute value', + 'is_custom': True, + 'attribute_id': product_attributes[0].id + }]) + + product_template = self.product_product_custo_desk + + self.env['product.template.attribute.line'].create([{ + 'attribute_id': product_attributes[0].id, + 'product_tmpl_id': product_template.id, + 'value_ids': [(6, 0, [product_attribute_values[0].id])] + }]) + self.start_tour("/web", 'sale_product_configurator_single_custom_attribute_tour', login="admin") + + def test_05_product_configurator_pricelist(self): + """The goal of this test is to make sure pricelist rules are correctly + applied on the backend product configurator. + Also testing B2C setting: no impact on the backend configurator. + """ + + admin = self.env.ref('base.user_admin') + + # Activate B2C + self.env.ref('account.group_show_line_subtotals_tax_excluded').users -= admin + self.env.ref('account.group_show_line_subtotals_tax_included').users |= admin + + # Active pricelist on SO + self.env.ref('product.group_product_pricelist').users |= admin + + # Add a 15% tax on desk + tax = self.env['account.tax'].create({'name': "Test tax", 'amount': 15}) + self.product_product_custo_desk.taxes_id = tax + + # Remove tax from Conference Chair and Chair floor protection + self.product_product_conf_chair.taxes_id = None + self.product_product_conf_chair_floor_protect.taxes_id = None + self.start_tour("/web", 'sale_product_configurator_pricelist_tour', login="admin") + + def test_06_product_configurator_optional_products(self): + """The goal of this test is to check that the product configurator + window opens correctly and lets you select optional products even + if the main product does not have variants. + """ + # add an optional product to the office chair and the custo desk for testing purposes + office_chair = self.env['product.product'].create({ + 'name': 'Office Chair Black', + }) + + custo_desk = self.product_product_custo_desk.product_variant_ids[0] + office_chair.update({ + 'optional_product_ids': [(6, 0, [self.product_product_conf_chair_floor_protect.id])] + }) + custo_desk.update({ + 'optional_product_ids': [(6, 0, [office_chair.product_tmpl_id.id, self.product_product_conf_chair.id])] + }) + self.product_product_custo_desk.optional_product_ids = [(4, self.product_product_conf_chair.id)] + self.start_tour("/web", 'sale_product_configurator_optional_products_tour', login="admin") diff --git a/addons/sale_product_configurator/views/assets.xml b/addons/sale_product_configurator/views/assets.xml new file mode 100644 index 00000000..5665e7dd --- /dev/null +++ b/addons/sale_product_configurator/views/assets.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <template id="assets_backend" inherit_id="web.assets_backend" name="sale_product_configurator assets backend"> + <xpath expr="script[last()]" position="after"> + <script type="text/javascript" src="/sale/static/src/js/variant_mixin.js"></script> + <script type="text/javascript" src="/sale_product_configurator/static/src/js/product_configurator_renderer.js"></script> + <script type="text/javascript" src="/sale_product_configurator/static/src/js/product_configurator_controller.js"></script> + <script type="text/javascript" src="/sale_product_configurator/static/src/js/product_configurator_view.js"></script> + <script type="text/javascript" src="/sale_product_configurator/static/src/js/product_configurator_widget.js"/> + <script type="text/javascript" src="/sale_product_configurator/static/src/js/product_configurator_modal.js"></script> + </xpath> + </template> + <template id="assets_tests" name="Sale Product Configurator Assets Tests" inherit_id="web.assets_tests"> + <xpath expr="." position="inside"> + <script type="text/javascript" src="/sale_product_configurator/static/tests/tours/product_configurator_ui.js"/> + <script type="text/javascript" src="/sale_product_configurator/static/tests/tours/product_configurator_advanced_ui.js"/> + <script type="text/javascript" src="/sale_product_configurator/static/tests/tours/product_configurator_edition_ui.js"/> + <script type="text/javascript" src="/sale_product_configurator/static/tests/tours/product_configurator_single_custom_attribute_ui.js"/> + <script type="text/javascript" src="/sale_product_configurator/static/tests/tours/product_configurator_pricelist_ui.js"/> + <script type="text/javascript" src="/sale_product_configurator/static/tests/tours/product_configurator_optional_products_ui.js"/> + </xpath> + </template> + <template id="qunit_suite" inherit_id="web.qunit_suite_tests" name="sale_product_configurator_tests"> + <xpath expr="." position="inside"> + <script type="text/javascript" src="/sale_product_configurator/static/tests/product_configurator.test.js"></script> + </xpath> + </template> +</odoo> diff --git a/addons/sale_product_configurator/views/sale_views.xml b/addons/sale_product_configurator/views/sale_views.xml new file mode 100644 index 00000000..3e55deb1 --- /dev/null +++ b/addons/sale_product_configurator/views/sale_views.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <record id="product_template_view_form" model="ir.ui.view"> + <field name="name">product.template.form.inherit.sale.product.configurator</field> + <field name="model">product.template</field> + <field name="inherit_id" ref="product.product_template_form_view"/> + <field name="arch" type="xml"> + <xpath expr="//group[@name='sale']" position="after"> + <group name="options" groups="product.group_product_variant"> + <group string="Options"> + <field name="optional_product_ids" widget="many2many_tags" options="{'color_field': 'color'}" domain="[('id', '!=', active_id), '|', ('company_id', '=', company_id), ('company_id', '=', False)]" /> + </group> + </group> + </xpath> + </field> + </record> + + <record id="sale_order_view_form" model="ir.ui.view"> + <field name="name">sale.order.form.inherit.sale.product.configurator</field> + <field name="model">sale.order</field> + <field name="inherit_id" ref="sale.view_order_form"/> + <field name="arch" type="xml"> + <xpath expr="//tree/field[@name='product_template_id']" position="attributes"> + <attribute name="invisible">0</attribute> + </xpath> + <xpath expr="//tree/field[@name='product_template_id']" position="after"> + <field name="product_template_attribute_value_ids" invisible="1" /> + <field name="product_custom_attribute_value_ids" invisible="1" > + <tree> + <field name="custom_product_template_attribute_value_id" /> + <field name="custom_value" /> + </tree> + </field> + <field name="product_no_variant_attribute_value_ids" invisible="1" /> + <field name="is_configurable_product" invisible="1" /> + </xpath> + <xpath expr="//tree/field[@name='product_id']" position="attributes"> + <attribute name="optional">hide</attribute> + <attribute name="string">Product Variant</attribute> + </xpath> + </field> + </record> +</odoo> diff --git a/addons/sale_product_configurator/views/templates.xml b/addons/sale_product_configurator/views/templates.xml new file mode 100644 index 00000000..11ad527c --- /dev/null +++ b/addons/sale_product_configurator/views/templates.xml @@ -0,0 +1,220 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <template id="optional_products_modal" name="Optional Products"> + <main class="modal-body"> + <t t-call="sale_product_configurator.configure_optional_products" /> + </main> + </template> + + <!-- backend --> + <template id="configure" name="Configure"> + <div class="js_product main_product"> + + <t t-set="combination" t-value="product_combination if product_combination else product._get_first_possible_combination()"/> + <t t-set="combination_info" t-value="product._get_combination_info(combination, add_qty=add_qty or 1, pricelist=pricelist)"/> + <t t-set="product_variant" t-value="product.env['product.product'].browse(combination_info['product_id'])"/> + + <input type="hidden" class="product_template_id" t-att-value="product.id"/> + <input type="hidden" class="product_id" t-attf-name="product_id" t-att-value="product_variant.id"/> + <div class="col-lg-12 text-center mt-5"> + <t t-if="product._is_add_to_cart_possible()"> + <div class="col-lg-5 d-inline-block text-left"> + <t t-if="combination" t-call="sale.variants"> + <t t-set="parent_combination" t-value="None"/> + </t> + <h2> + <span t-attf-class="text-danger oe_default_price oe_striked_price {{'' if combination_info['has_discounted_price'] else 'd-none'}}" + t-esc="combination_info['list_price']" + t-options='{ + "widget": "monetary", + "display_currency": (pricelist or product).currency_id + }'/> + <span class="oe_price product_id mt-3" style="white-space: nowrap;" + t-att-data-product-id="product.id" + t-esc="combination_info['price']" + t-options='{ + "widget": "monetary", + "display_currency": (pricelist or product).currency_id + }'/> + </h2> + <div class="css_quantity input-group" t-if="product.visible_qty_configurator"> + <div class="input-group-prepend"> + <button t-attf-href="#" class="btn btn-primary js_add_cart_json d-none d-md-inline-block" aria-label="Remove one" title="Remove one"> + <i class="fa fa-minus"></i> + </button> + </div> + <input type="text" class="js_quantity form-control quantity" data-min="1" name="add_qty" t-att-value="add_qty or 1"/> + <div class="input-group-append"> + <button t-attf-href="#" class="btn btn-primary float_left js_add_cart_json d-none d-md-inline-block" aria-label="Add one" title="Add one"> + <i class="fa fa-plus"></i> + </button> + </div> + </div> + <p class="css_not_available_msg alert alert-warning">This combination does not exist.</p> + </div> + <div class="col-lg-1 d-inline-block"></div> + <div class="col-lg-5 d-inline-block align-top text-left"> + <img t-if="product_variant" t-att-src="'/web/image/product.product/%s/image_1024' % product_variant.id" class="d-block product_detail_img" alt="Product Image"/> + <img t-else="" t-att-src="'/web/image/product.template/%s/image_1024' % product.id" class="d-block product_detail_img" alt="Product Image"/> + </div> + </t> + <t t-else=""> + <div class="col-lg-5 d-inline-block text-left"> + <p class="alert alert-warning">This product has no valid combination.</p> + </div> + </t> + </div> + </div> + </template> + + <!-- modal: full table, currenclty selected products at top --> + <template id="configure_optional_products"> + <table class="table table-striped table-sm"> + <thead> + <tr> + <th class="td-img">Product</th> + <th></th> + <th class="text-center td-qty">Quantity</th> + <th class="text-center td-price">Price</th> + </tr> + </thead> + <tbody> + <tr class="js_product in_cart main_product"> + + <t t-set="combination_info" t-value="product.product_tmpl_id._get_combination_info(combination, product.id, add_qty or 1, pricelist)"/> + <t t-set="product_variant" t-value="product.env['product.product'].browse(combination_info['product_id'])"/> + + <input type="hidden" class="product_template_id" t-att-value="product.product_tmpl_id.id"/> + <input type="hidden" class="product_id" t-att-value="product_variant.id"/> + <td class='td-img'> + <img t-if="product_variant" t-att-src="'/web/image/product.product/%s/image_128' % product_variant.id" alt="Product Image"/> + <img t-else="" t-att-src="'/web/image/product.template/%s/image_128' % product.id" alt="Product Image"/> + </td> + <td class='td-product_name'> + <strong t-esc="combination_info['display_name']"/> + <div class="text-muted small"> + <div t-field="product.description_sale"/> + <div class="js_attributes"/> + </div> + </td> + <td class="text-center td-qty"> + <div class="css_quantity input-group"> + <div class="input-group-prepend"> + <button t-attf-href="#" class="btn btn-primary js_add_cart_json d-none d-md-inline-block" aria-label="Remove one" title="Remove one"> + <i class="fa fa-minus"></i> + </button> + </div> + <input type="text" class="js_quantity form-control quantity" data-min="1" name="add_qty" t-att-value="add_qty or 1"/> + <div class="input-group-append"> + <button t-attf-href="#" class="btn btn-primary float_left js_add_cart_json d-none d-md-inline-block" aria-label="Add one" title="Add one"> + <i class="fa fa-plus"></i> + </button> + </div> + </div> + </td> + <td class="text-center td-price" name="price"> + <ul class="d-none js_add_cart_variants" t-att-data-attribute_exclusions="{'exclusions: []'}"></ul> + <div class="d-none oe_unchanged_value_ids" t-att-data-unchanged_value_ids="variant_values" ></div> + <div t-attf-class="text-danger oe_default_price oe_striked_price {{'' if combination_info['has_discounted_price'] else 'd-none'}}" + t-esc="combination_info['list_price']" + t-options='{ + "widget": "monetary", + "display_currency": (pricelist or product).currency_id + }' + /> + <span class="oe_price product_id" style="white-space: nowrap;" + t-att-data-product-id="product.id" + t-esc="combination_info['price']" + t-options='{ + "widget": "monetary", + "display_currency": (pricelist or product).currency_id + }'/> + <span class="js_raw_price d-none" t-esc="product.price"/> + </td> + </tr> + <tr class="o_total_row"> + <td colspan="4" class="text-right"> + <strong>Total:</strong> + <span class="js_price_total font-weight-bold" style="white-space: nowrap;" + t-att-data-product-id="product.id" + t-esc="combination_info['price'] * (add_qty or 1)" + t-options='{ + "widget": "monetary", + "display_currency": (pricelist or product).currency_id + }'/> + </td> + </tr> + <tr t-if="product.optional_product_ids" class="o_select_options"><td colspan="4"><h4>Available Options:</h4></td></tr> + <t t-call="sale_product_configurator.optional_product_items"> + <t t-set="parent_combination" t-value="combination"/> + </t> + </tbody> + </table> + </template> + + <!-- modal: optional products --> + <template id="optional_product_items"> + <t t-foreach="product.optional_product_ids" t-as="product"> + <t t-set="combination" t-value="product._get_first_possible_combination(parent_combination)"/> + <t t-if="product._is_add_to_cart_possible(parent_combination)"> + + <t t-set="combination_info" t-value="product._get_combination_info(combination, add_qty=add_qty or 1, pricelist=pricelist)"/> + <t t-set="product_variant" t-value="product.env['product.product'].browse(combination_info['product_id'])"/> + + <tr class="js_product"> + <td class="td-img"> + <input type="hidden" class="product_template_id" t-att-value="product.id"/> + <input type="hidden" class="product_id" t-attf-name="optional-product-#{product.id}" t-att-value="product_variant.id"/> + <img t-if="product_variant" t-att-src="'/web/image/product.product/%s/image_128' % product_variant.id" class="variant_image" alt="Product Image"/> + <img t-else="" t-att-src="'/web/image/product.template/%s/image_128' % product.id" class="variant_image" alt="Product Image"/> + </td> + <td class='td-product_name' colspan="2"> + <div class="float-left"> + <strong class="product-name product_display_name" t-esc="combination_info['display_name']"/> + <div class="text-muted small" t-field="product.description_sale"/> + </div> + <div class="float-right"> + <t t-call="sale.variants"/> + </div> + </td> + <td class="text-center td-qty d-none"> + <div class="css_quantity input-group"> + <div class="input-group-prepend"> + <button t-attf-href="#" class="btn btn-primary float_left js_add_cart_json d-none d-md-inline-block" aria-label="Remove one" title="Remove one"> + <i class="fa fa-minus"></i> + </button> + </div> + <input type="text" class="js_quantity form-control quantity" data-min="1" name="add_qty" t-att-value="add_qty or 1"/> + <div class="input-group-append"> + <button t-attf-href="#" class="btn btn-primary float_left js_add_cart_json d-none d-md-inline-block" aria-label="Add one" title="Add one"> + <i class="fa fa-plus"></i> + </button> + </div> + </div> + </td> + <td class="text-center td-price"> + <div t-attf-class="text-danger oe_default_price oe_optional oe_striked_price {{'' if combination_info['has_discounted_price'] else 'd-none'}}" + t-esc="combination_info['list_price']" + t-options='{ + "widget": "monetary", + "display_currency": (pricelist or product).currency_id + }'/> + <div class="oe_price" style="white-space: nowrap;" + t-esc="combination_info['price']" + t-options='{ + "widget": "monetary", + "display_currency": (pricelist or product).currency_id + }'/> + <span class="js_raw_price d-none" t-esc="combination_info['price']" /> + <p class="css_not_available_msg alert alert-warning">Option not available</p> + + <a role="button" href="#" class="js_add btn btn-primary btn-sm"><i class="fa fa-shopping-cart add-optionnal-item"></i> Add to cart</a> + <span class="js_remove d-none"> + <a role="button" href="#" class="js_remove"><i class="fa fa-trash-o remove-optionnal-item"></i></a> + </span> + </td> + </tr> + </t> + </t> + </template> +</odoo> diff --git a/addons/sale_product_configurator/wizard/__init__.py b/addons/sale_product_configurator/wizard/__init__.py new file mode 100644 index 00000000..a0eaada8 --- /dev/null +++ b/addons/sale_product_configurator/wizard/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import sale_product_configurator diff --git a/addons/sale_product_configurator/wizard/sale_product_configurator.py b/addons/sale_product_configurator/wizard/sale_product_configurator.py new file mode 100644 index 00000000..4d636383 --- /dev/null +++ b/addons/sale_product_configurator/wizard/sale_product_configurator.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import models, fields + + +class SaleProductConfigurator(models.TransientModel): + _name = 'sale.product.configurator' + _description = 'Sale Product Configurator' + + product_template_id = fields.Many2one( + 'product.template', string="Product", + required=True, domain=[('sale_ok', '=', True), ('attribute_line_ids.value_ids', '!=', False)]) + quantity = fields.Integer('Quantity') + pricelist_id = fields.Many2one('product.pricelist', 'Pricelist', readonly=True) + product_template_attribute_value_ids = fields.Many2many( + 'product.template.attribute.value', 'product_configurator_template_attribute_value_rel', string='Attribute Values', readonly=True) + product_custom_attribute_value_ids = fields.Many2many( + 'product.attribute.custom.value', 'product_configurator_custom_attribute_value_rel', string="Custom Values") + product_no_variant_attribute_value_ids = fields.Many2many( + 'product.template.attribute.value', 'product_configurator_no_variant_attribute_value_rel', string="Extra Values") diff --git a/addons/sale_product_configurator/wizard/sale_product_configurator_views.xml b/addons/sale_product_configurator/wizard/sale_product_configurator_views.xml new file mode 100644 index 00000000..8c7cf016 --- /dev/null +++ b/addons/sale_product_configurator/wizard/sale_product_configurator_views.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <record id="sale_product_configurator_view_form" model="ir.ui.view"> + <field name="name">sale_product_configurator.product.configurator.view.form</field> + <field name="model">sale.product.configurator</field> + <field name="arch" type="xml"> + <form js_class="product_configurator_form"> + <group> + <field name="product_template_id" class="oe_product_configurator_product_template_id" /> + <field name="product_template_attribute_value_ids" invisible="1"> + <tree limit="10000"/> + </field> + <field name="product_custom_attribute_value_ids" invisible="1" widget="one2many" > + <tree limit="10000"> + <field name="custom_product_template_attribute_value_id"/> + <field name="custom_value"/> + </tree> + </field> + <field name="product_no_variant_attribute_value_ids" invisible="1"> + <tree limit="10000"/> + </field> + <field name="quantity" invisible="1" /> + </group> + <footer> + <button string="Add" class="btn-primary o_sale_product_configurator_add" special="add"/> + <button string="Save" class="btn-primary o_sale_product_configurator_edit" style="display: none;" special="save"/> + <button string="Cancel" class="btn-secondary" special="cancel"/> + </footer> + </form> + </field> + </record> + + <record id="sale_product_configurator_action" model="ir.actions.act_window"> + <field name="name">Configure a product</field> + <field name="res_model">sale.product.configurator</field> + <field name="view_mode">form</field> + <field name="target">new</field> + <field name="view_id" ref="sale_product_configurator_view_form"/> + </record> +</odoo> |
