diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..aa4d0fd --- /dev/null +++ b/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import controllers +from . import models diff --git a/__manifest__.py b/__manifest__.py new file mode 100644 index 0000000..90aa9c1 --- /dev/null +++ b/__manifest__.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +{ + 'name': "Website Sale Product Configurator", + 'summary': "Bridge module for website_sale / sale_product_configurator", + 'description': """ +Bridge module to make the website e-commerce compatible with the product configurator + """, + 'category': 'Hidden', + 'depends': ['website_sale', 'sale_product_configurator'], + 'auto_install': True, + 'data': [ + 'views/templates.xml', + ], + 'demo': [ + 'data/demo.xml', + ], + 'assets': { + 'web.assets_frontend': [ + ('before', 'website_sale/static/src/js/website_sale.js', 'website_sale_product_configurator/static/src/js/sale_product_configurator_modal.js'), + 'website_sale/static/src/scss/product_configurator.scss', + 'website_sale_product_configurator/static/src/scss/website_sale_options.scss', + 'website_sale_product_configurator/static/src/js/website_sale_options.js', + ], + 'web.assets_tests': [ + 'website_sale_product_configurator/static/tests/**/*', + ], + }, + 'license': 'LGPL-3', +} diff --git a/controllers/__init__.py b/controllers/__init__.py new file mode 100644 index 0000000..66be1a9 --- /dev/null +++ b/controllers/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import main +from . import website_sale diff --git a/controllers/main.py b/controllers/main.py new file mode 100644 index 0000000..343ec00 --- /dev/null +++ b/controllers/main.py @@ -0,0 +1,71 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo.http import Controller, request, route + + +class WebsiteSaleProductConfiguratorController(Controller): + + @route( + '/sale_product_configurator/show_advanced_configurator', + type='json', auth='public', methods=['POST'], website=True, + ) + def show_advanced_configurator( + self, product_id, variant_values, add_qty=1, force_dialog=False, **kw, + ): + product = request.env['product.product'].browse(int(product_id)) + product_template = product.product_tmpl_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) + and (not request.website.prevent_zero_price_sale or p._get_contextual_price()) + ) + + already_configured = bool(combination) + if not force_dialog and not has_optional_products and ( + product.product_variant_count <= 1 or already_configured + ): + # The modal is not shown if there are no optional products and + # the main product either has no variants or is already configured + return False + + add_qty = float(add_qty) + combination_info = product_template._get_combination_info( + combination=combination, + product_id=product.id, + add_qty=add_qty, + ) + + return request.env['ir.ui.view']._render_template( + 'website_sale_product_configurator.optional_products_modal', + { + 'product': product, + 'product_template': product_template, + 'combination': combination, + 'combination_info': combination_info, + 'add_qty': add_qty, + 'parent_name': product.name, + 'variant_values': variant_values, + 'already_configured': already_configured, + 'mode': kw.get('mode', 'add'), + 'product_custom_attribute_values': kw.get('product_custom_attribute_values', None), + 'no_attribute': kw.get('no_attribute', False), + 'custom_attribute': kw.get('custom_attribute', False), + } + ) + + @route( + '/sale_product_configurator/optional_product_items', + type='json', auth='public', methods=['POST'], website=True, + ) + def optional_product_items(self, product_id, add_qty=1, **kw): + product = request.env['product.product'].browse(int(product_id)) + + return request.env['ir.ui.view']._render_template( + 'website_sale_product_configurator.optional_product_items', + { + 'product': product, + 'parent_name': product.name, + 'parent_combination': product.product_template_attribute_value_ids, + 'add_qty': float(add_qty) or 1.0, + } + ) diff --git a/controllers/website_sale.py b/controllers/website_sale.py new file mode 100644 index 0000000..56fd3d7 --- /dev/null +++ b/controllers/website_sale.py @@ -0,0 +1,85 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import json + +from odoo.http import request, route + +from odoo.addons.website_sale.controllers import main + + +class WebsiteSale(main.WebsiteSale): + + def _prepare_product_values(self, product, category, search, **kwargs): + values = super()._prepare_product_values(product, category, search, **kwargs) + + values['optional_product_ids'] = [p.with_context(active_id=p.id) for p in product.optional_product_ids] + return values + + @route( + '/shop/cart/update_option', + type='json', + auth='public', + methods=['POST'], + website=True, + multilang=False, + ) + def cart_options_update_json(self, product_and_options, lang=None, **kwargs): + """This route is called when submitting the optional product modal. + The product without parent is the main product, the other are options. + Options need to be linked to their parents with a unique ID. + The main product is the first product in the list and the options + need to be right after their parent. + product_and_options { + 'product_id', + 'product_template_id', + 'quantity', + 'parent_unique_id', + 'unique_id', + 'product_custom_attribute_values', + 'no_variant_attribute_values' + } + """ + if lang: + request.website = request.website.with_context(lang=lang) + + order = request.website.sale_get_order(force_create=True) + if order.state != 'draft': + request.session['sale_order_id'] = None + order = request.website.sale_get_order(force_create=True) + + product_and_options = json.loads(product_and_options) + if product_and_options: + # The main product is the first, optional products are the rest + main_product = product_and_options[0] + values = order._cart_update( + product_id=main_product['product_id'], + add_qty=main_product['quantity'], + product_custom_attribute_values=main_product['product_custom_attribute_values'], + no_variant_attribute_values=main_product['no_variant_attribute_values'], + **kwargs + ) + + line_ids = [values['line_id']] + + if values['line_id']: + # Link option with its parent iff line has been created. + option_parent = {main_product['unique_id']: values['line_id']} + for option in product_and_options[1:]: + parent_unique_id = option['parent_unique_id'] + option_values = order._cart_update( + product_id=option['product_id'], + set_qty=option['quantity'], + linked_line_id=option_parent[parent_unique_id], + product_custom_attribute_values=option['product_custom_attribute_values'], + no_variant_attribute_values=option['no_variant_attribute_values'], + **kwargs + ) + option_parent[option['unique_id']] = option_values['line_id'] + line_ids.append(option_values['line_id']) + + values['notification_info'] = self._get_cart_notification_information(order, line_ids) + + values['cart_quantity'] = order.cart_quantity + request.session['website_sale_cart_quantity'] = order.cart_quantity + + return values diff --git a/data/demo.xml b/data/demo.xml new file mode 100644 index 0000000..6697d42 --- /dev/null +++ b/data/demo.xml @@ -0,0 +1,10 @@ + + + + 9980 + + + + + + diff --git a/i18n/ar.po b/i18n/ar.po new file mode 100644 index 0000000..e0e30d8 --- /dev/null +++ b/i18n/ar.po @@ -0,0 +1,114 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Wil Odoo, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2023\n" +"Language-Team: Arabic (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr "" +" إضافة إلى عربة التسوق " + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "السعر " + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "المنتج " + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "الإجمالي:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "إجراء الإضافة إلى عربة التسوق " + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "إضافة واحدة" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "إضافة إلى عربة التسوق " + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "الخيارات المتاحة:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "متابعة التسوق" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "اترك القرار للمستخدم (حوار) " + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "الخيار غير متاح" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "متابعة عملية الشراء" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "صورة المنتج" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "الكمية" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "إزالة واحد " + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "أمر البيع" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "الموقع الإلكتروني" diff --git a/i18n/bg.po b/i18n/bg.po new file mode 100644 index 0000000..8f5961c --- /dev/null +++ b/i18n/bg.po @@ -0,0 +1,118 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Anton Vassilev, 2023 +# Camille Dantinne , 2023 +# Rosen Vladimirov , 2023 +# Martin Trigaux, 2023 +# Igor Sheludko , 2023 +# Maria Boyadjieva , 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Maria Boyadjieva , 2023\n" +"Language-Team: Bulgarian (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr " Добави в количката" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Общо:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Добави в количката" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Продължете да пазарувате" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Продължете към плащане" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Изображение на продукта" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Количество" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Поръчка" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Уебсайт" diff --git a/i18n/ca.po b/i18n/ca.po new file mode 100644 index 0000000..8f895ab --- /dev/null +++ b/i18n/ca.po @@ -0,0 +1,121 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# marcescu, 2023 +# Ivan Espinola, 2023 +# Carles Antoli , 2023 +# Quim - eccit , 2023 +# Sandra Franch , 2023 +# Arnau Ros, 2023 +# Óscar Fonseca , 2023 +# Martin Trigaux, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Martin Trigaux, 2023\n" +"Language-Team: Catalan (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr "" +" Afegir a la cistella" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Preu" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Producte" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Total:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Afegeix a l'acció Cart" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Afegir-ne un" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Afegir a la cistella" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Opcions disponibles:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Continuar comprant" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "Deixa que l'usuari decideixi (diàleg)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Opció no disponible" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Vés a la caixa" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Imatge de Producte" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Quantitat" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Eliminar un" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Comanda" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Lloc web" diff --git a/i18n/cs.po b/i18n/cs.po new file mode 100644 index 0000000..c118d5d --- /dev/null +++ b/i18n/cs.po @@ -0,0 +1,116 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Jiří Podhorecký, 2023 +# Wil Odoo, 2023 +# Jakub Smolka, 2023 +# Vojtech Smolka, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Vojtech Smolka, 2024\n" +"Language-Team: Czech (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr " Přidat do košíku" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Cena" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Produkt" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Celkem:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Přidat do košíku" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Přidat jeden" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Přidat do košíku" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Dostupné možnosti:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Pokračovat v nákupu" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Možnost není k dispozici" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Pokračujte k pokladně" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Produktový obrázek" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Množství" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Odebrat jeden" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Prodejní objednávka" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Webová stránka" diff --git a/i18n/da.po b/i18n/da.po new file mode 100644 index 0000000..1d601a6 --- /dev/null +++ b/i18n/da.po @@ -0,0 +1,115 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# lhmflexerp , 2023 +# Martin Trigaux, 2023 +# Sanne Kristensen , 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Sanne Kristensen , 2024\n" +"Language-Team: Danish (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr " Tilføj til kurv" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Pris" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Produkt" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Total:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Tilføj til kurv handling" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Tilføj en" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Tilføj til kurv" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Tilgængelige muligheder:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Fortsæt med at handle" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "Lad brugeren bestemme (dialog)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Valgmulighed ikke tilgængelig" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Fortsæt til checkout" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Produktbillede" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Antal" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Fjern én" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Salgsordre" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Hjemmeside" diff --git a/i18n/de.po b/i18n/de.po new file mode 100644 index 0000000..6694996 --- /dev/null +++ b/i18n/de.po @@ -0,0 +1,114 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Wil Odoo, 2023 +# Larissa Manderfeld, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Larissa Manderfeld, 2023\n" +"Language-Team: German (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr "In den Warenkorb" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Preis" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Produkt" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Gesamt:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Aktion „In den Warenkorb“" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "1 hinzufügen" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "In den Warenkorb" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Verfügbare Optionen:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Weiter einkaufen" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "Den Benutzer entscheiden lassen (Dialog)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Option nicht verfügbar" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Zur Kasse" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Produktbild" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Menge" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "1 entfernen" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Verkaufsauftrag" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Website" diff --git a/i18n/es.po b/i18n/es.po new file mode 100644 index 0000000..58b1d7c --- /dev/null +++ b/i18n/es.po @@ -0,0 +1,114 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Wil Odoo, 2023 +# Larissa Manderfeld, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Larissa Manderfeld, 2024\n" +"Language-Team: Spanish (https://app.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=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr " Agregar al carrito" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Precio" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Producto" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Total:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Agregar al carrito" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Agregue uno" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Agregar al carrito" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Opciones disponibles: " + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Siga comprando" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "Dejar que el usuario decida (diálogo)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Opción no disponible" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Proceder a la compra" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Imagen del producto" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Cantidad" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Quitar uno" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Orden de venta" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Sitio web" diff --git a/i18n/es_419.po b/i18n/es_419.po new file mode 100644 index 0000000..d37eb21 --- /dev/null +++ b/i18n/es_419.po @@ -0,0 +1,114 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Wil Odoo, 2023 +# Fernanda Alvarez, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Fernanda Alvarez, 2023\n" +"Language-Team: Spanish (Latin America) (https://app.transifex.com/odoo/teams/41243/es_419/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_419\n" +"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr " Agregar al carrito" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Precio" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Producto" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Total:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Agregar al carrito" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Agregar uno" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Agregar al carrito" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Opciones disponibles: " + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Continuar comprando" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "Permitir que el usuario decida (diálogo)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Opción no disponible" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Proceder al pago" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Imagen del producto" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Cantidad" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Eliminar uno" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Orden de venta" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Sitio web" diff --git a/i18n/et.po b/i18n/et.po new file mode 100644 index 0000000..6e56e51 --- /dev/null +++ b/i18n/et.po @@ -0,0 +1,118 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Leaanika Randmets, 2023 +# Marek Pontus, 2023 +# Egon Raamat , 2023 +# Anna, 2023 +# Algo Kärp , 2023 +# Eneli Õigus , 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Eneli Õigus , 2023\n" +"Language-Team: Estonian (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr " Lisa ostukorvi" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Hind" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Toode" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Kokku:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Lisa ostukorvi nupu toiming" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Lisage üks" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Lisa ostukorvi" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Lisavalikud:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Jätka ostlemist" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "Lase kasutajal ise otsustada (dialoog)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Valik pole saadaval" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Mine ostukorvi" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Toote pilt" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Kogus" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Eemaldage üks" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Müügitellimus" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Veebileht" diff --git a/i18n/fa.po b/i18n/fa.po new file mode 100644 index 0000000..74b0ac3 --- /dev/null +++ b/i18n/fa.po @@ -0,0 +1,116 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Mohsen Mohammadi , 2023 +# Hamed Mohammadi , 2023 +# Martin Trigaux, 2023 +# Hanna Kheradroosta, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Hanna Kheradroosta, 2023\n" +"Language-Team: Persian (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr " افزودن به سبد" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "جمع کل:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "افزودن یکی" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "افزودن به سبد" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "گزینه های موجود:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "ادامه خرید" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "پیشنهاد در دسترس نیست" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "تصویر محصول" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "تعداد" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "حذف یکی" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "سفارش فروش" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "تارنما" diff --git a/i18n/fi.po b/i18n/fi.po new file mode 100644 index 0000000..00a9d6b --- /dev/null +++ b/i18n/fi.po @@ -0,0 +1,120 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Mikko Salmela , 2023 +# Svante Suominen , 2023 +# Ossi Mantylahti , 2023 +# Tuomo Aura , 2023 +# Martin Trigaux, 2023 +# Tuomas Lyyra , 2023 +# Kari Lindgren , 2023 +# Jarmo Kortetjärvi , 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Jarmo Kortetjärvi , 2023\n" +"Language-Team: Finnish (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr " Lisää tilaukselle" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Hinta" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Tuote" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Yhteensä:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Lisää ostoskoriin Toiminta" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Lisää yksi" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Lisää ostoskoriin" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Valittavissa olevat vaihtoehdot: " + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Palaa kauppaan" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "Anna käyttäjän päättää (dialogi)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Vaihtoehtoa ei ole saatavana" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Jatka tilaamaan" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Tuotekuva" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Määrä" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Poista yksi" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Myyntitilaus" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Verkkosivu" diff --git a/i18n/fr.po b/i18n/fr.po new file mode 100644 index 0000000..044ea52 --- /dev/null +++ b/i18n/fr.po @@ -0,0 +1,114 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Wil Odoo, 2023 +# Jolien De Paepe, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Jolien De Paepe, 2023\n" +"Language-Team: French (https://app.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=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr " Ajouter au panier" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Prix" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Produit" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Total :" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Action ajouter au panier" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Ajouter" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Ajouter au panier" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Options disponibles :" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Continuer les achats" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "Laisser l'utilisateur décider (dialogue)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Option non disponible" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Finaliser les achats" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Image du produit" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Quantité" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Supprimer" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Bon de commande" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Site Web" diff --git a/i18n/he.po b/i18n/he.po new file mode 100644 index 0000000..afb2758 --- /dev/null +++ b/i18n/he.po @@ -0,0 +1,116 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Lilach Gilliam , 2023 +# NoaFarkash, 2023 +# Yihya Hugirat , 2023 +# ZVI BLONDER , 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: ZVI BLONDER , 2023\n" +"Language-Team: Hebrew (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr " הוסף לעגלה" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "מחיר" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "מוצר" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "סה\"כ:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "הוסף אחד" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "הוסף לעגלה" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "אפשרויות זמינות:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "המשך בקנייה" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "אפשר למשתמש להחליט (דיאלוג)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "האפשרות אינה זמינה" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "התקדם לתשלום" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "תמונת מוצר" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "כמות" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "הסר אחד" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "הזמנת לקוח" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "אתר אינטרנט" diff --git a/i18n/hr.po b/i18n/hr.po new file mode 100644 index 0000000..3d99936 --- /dev/null +++ b/i18n/hr.po @@ -0,0 +1,126 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Ivana Šimek , 2022 +# Martin Trigaux, 2022 +# Vladimir Olujić , 2022 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~15.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-05-16 13:50+0000\n" +"PO-Revision-Date: 2022-09-22 05:57+0000\n" +"Last-Translator: Vladimir Olujić , 2022\n" +"Language-Team: Croatian (https://app.transifex.com/odoo/teams/41243/hr/)\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Dodaj u košaricu" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Prodajni nalog" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Web stranica" diff --git a/i18n/hu.po b/i18n/hu.po new file mode 100644 index 0000000..253e3d8 --- /dev/null +++ b/i18n/hu.po @@ -0,0 +1,119 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Kovács Tibor , 2023 +# Szabolcs Rádi, 2023 +# Istvan , 2023 +# krnkris, 2023 +# Ákos Nagy , 2023 +# Gergő Kertész , 2023 +# Tamás Németh , 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Tamás Németh , 2023\n" +"Language-Team: Hungarian (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr " Kosárba tesz" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Összesen:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Hozzáadás" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Kosárhoz ad" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Elérhető opciók:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Vásárlás folytatása" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Az opció nem elérhető" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Továbblépés a véglegesítéshez" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Termék képe" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Mennyiség" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Eltávolítás" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Megrendelések" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Honlap" diff --git a/i18n/id.po b/i18n/id.po new file mode 100644 index 0000000..9b140ed --- /dev/null +++ b/i18n/id.po @@ -0,0 +1,114 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Wil Odoo, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2023\n" +"Language-Team: Indonesian (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr "" +" Tambahkan ke keranjang" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Harga" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Produk" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Total:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Tindakan Tambah Ke Keranjang" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Tambahkan satu" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Tambahkan ke keranjang" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Opsi yang Tersedia:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Lanjutkan Belanja" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "Biarkan user menentukan (dialog)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Opsi tidak tersedia" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Lanjutkan ke Checkout" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Gambar Produk" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Kuantitas" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Hapus satu" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Order Penjualan" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Website" diff --git a/i18n/it.po b/i18n/it.po new file mode 100644 index 0000000..8cd4012 --- /dev/null +++ b/i18n/it.po @@ -0,0 +1,115 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Wil Odoo, 2023 +# Marianna Ciofani, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Marianna Ciofani, 2023\n" +"Language-Team: Italian (https://app.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=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr "" +" Aggiungi al carrello" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Prezzo" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Prodotto" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Totale:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Azione aggiungi al carrello" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Aggiungi unità" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Aggiungi al carrello" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Opzioni disponibili:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Continua gli acquisti" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "Lascia decidere l'utente (Finestra di dialogo)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Opzione non disponibile" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Procedi al pagamento" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Immagine prodotto" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Quantità" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Rimuovi unità" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Ordine di vendita" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Sito web" diff --git a/i18n/ja.po b/i18n/ja.po new file mode 100644 index 0000000..fca2c33 --- /dev/null +++ b/i18n/ja.po @@ -0,0 +1,114 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Wil Odoo, 2023 +# Ryoko Tsuda , 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Ryoko Tsuda , 2024\n" +"Language-Team: Japanese (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr " カートに入れる" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "価格" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "プロダクト" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "合計:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "カートに入れるアクション" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "一つを追加" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "カートに入れる" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "利用可能なオプション:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "買い物を続ける" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "ユーザが決める (ダイアログ)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "オプションは利用できません" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "チェックアウト" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "製品画像" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "数量" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "一つを削除" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "販売オーダ" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "ウェブサイト" diff --git a/i18n/ko.po b/i18n/ko.po new file mode 100644 index 0000000..235bc8f --- /dev/null +++ b/i18n/ko.po @@ -0,0 +1,113 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Wil Odoo, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2023\n" +"Language-Team: Korean (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr " 장바구니에 담기" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "가격" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "품목" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "합계 :" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "장바구니 추가 작업" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "하나 추가하기" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "장바구니에 담기" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "사용 가능한 선택 사항 :" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "쇼핑 계속하기" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "사용자가 결정하도록 허용(대화 상자)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "사용할 수 없는 선택 사항" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "결제 진행" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "품목 이미지" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "수량" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "하나만 제거하기" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "판매 주문" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "웹사이트" diff --git a/i18n/lb.po b/i18n/lb.po new file mode 100644 index 0000000..4931049 --- /dev/null +++ b/i18n/lb.po @@ -0,0 +1,120 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-05-16 13:50+0000\n" +"PO-Revision-Date: 2019-08-26 09:16+0000\n" +"Language-Team: Luxembourgish (https://www.transifex.com/odoo/teams/41243/lb/)\n" +"Language: lb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "" diff --git a/i18n/lt.po b/i18n/lt.po new file mode 100644 index 0000000..9e7c8e4 --- /dev/null +++ b/i18n/lt.po @@ -0,0 +1,115 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Antanas Muliuolis , 2023 +# Martin Trigaux, 2023 +# Linas Versada , 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Linas Versada , 2023\n" +"Language-Team: Lithuanian (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr "Pridėti į krepšelį" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Suma:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Pridėti vieną" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Pridėti į krepšelį" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Galimi pasirinkimai:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Tęsti apsipirkimą" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Pasirinkimas negalimas" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Tęsti į apmokėjimą" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Produkto paveikslėlis" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Kiekis" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Pašalinti vieną" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Pardavimo užsakymas" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Svetainė" diff --git a/i18n/lv.po b/i18n/lv.po new file mode 100644 index 0000000..7ea9c42 --- /dev/null +++ b/i18n/lv.po @@ -0,0 +1,116 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Will Sensors, 2023 +# Arnis Putniņš , 2023 +# Martin Trigaux, 2023 +# Armīns Jeltajevs , 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Armīns Jeltajevs , 2024\n" +"Language-Team: Latvian (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Kopā:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Pievienot grozam" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Produkta attēls" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Daudzums" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Pasūtījums" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Mājas lapa" diff --git a/i18n/mn.po b/i18n/mn.po new file mode 100644 index 0000000..75e7cd3 --- /dev/null +++ b/i18n/mn.po @@ -0,0 +1,126 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# nurbakhit nurka , 2022 +# Baskhuu Lodoikhuu , 2022 +# Martin Trigaux, 2022 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~15.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-05-16 13:50+0000\n" +"PO-Revision-Date: 2022-09-22 05:57+0000\n" +"Last-Translator: Martin Trigaux, 2022\n" +"Language-Team: Mongolian (https://app.transifex.com/odoo/teams/41243/mn/)\n" +"Language: mn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Сагсанд нэмэх" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Худалдан авалтаа үргэлжлүүлэх" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Худалдан авалтаа дуусгах" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Борлуулалтын захиалга" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Вэбсайт" diff --git a/i18n/nb.po b/i18n/nb.po new file mode 100644 index 0000000..ed05fcc --- /dev/null +++ b/i18n/nb.po @@ -0,0 +1,126 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Martin Trigaux, 2022 +# Marius Stedjan , 2022 +# Henning Fyllingsnes, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~15.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-05-16 13:50+0000\n" +"PO-Revision-Date: 2022-09-22 05:57+0000\n" +"Last-Translator: Henning Fyllingsnes, 2023\n" +"Language-Team: Norwegian Bokmål (https://app.transifex.com/odoo/teams/41243/nb/)\n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Legg i handlekurv funksjon" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Legg i handlekurv" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Fortsett å handle" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Fortsett til utsjekk" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Salgsordre" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Nettsted" diff --git a/i18n/nl.po b/i18n/nl.po new file mode 100644 index 0000000..61179ac --- /dev/null +++ b/i18n/nl.po @@ -0,0 +1,115 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Wil Odoo, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2023\n" +"Language-Team: Dutch (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr "" +" Toevoegen aan " +"winkelmandje" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Prijs" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Product" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Totaal:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Aan winkelmandje toevoegen actie" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Voeg één toe" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Toevoegen aan winkelmandje" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Beschikbare opties:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Verder gaan met winkelen" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "Laat de gebruiker beslissen (dialoog)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Optie niet beschikbaar" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Ga naar afrekenen" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Productafbeelding" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Hoeveelheid" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Verwijder één" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Verkooporder" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Website" diff --git a/i18n/pl.po b/i18n/pl.po new file mode 100644 index 0000000..50c611e --- /dev/null +++ b/i18n/pl.po @@ -0,0 +1,113 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Wil Odoo, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2023\n" +"Language-Team: Polish (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr "Dodaj do koszyka" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Cena" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Produkt" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Suma:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Akcja dodaj do koszyka" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Dodaj jeden" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Dodaj do koszyka" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Dostępne Opcje:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Kontynuuj zakupy" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "Pozwól zdecydować użytkownikowi (dialog)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Opcja niedostępna" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Kontynuuj aby sprawdzić" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Obraz produktu" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Ilość" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Usuń jeden" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Zamówienie sprzedaży" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Strona internetowa" diff --git a/i18n/pt.po b/i18n/pt.po new file mode 100644 index 0000000..04d81e5 --- /dev/null +++ b/i18n/pt.po @@ -0,0 +1,116 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Reinaldo Ramos , 2023 +# a75f12d3d37ea5bf159c4b3e85eb30e7_0fa6927, 2023 +# Wil Odoo, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2023\n" +"Language-Team: Portuguese (https://app.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=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr "" +" Adicionar ao carrinho" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Preço" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Total:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Adicionar um" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Continuar a Comprar" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Imagem do Artigo" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Quantidade" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Remover um" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Ordem de Vendas" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Website" diff --git a/i18n/pt_BR.po b/i18n/pt_BR.po new file mode 100644 index 0000000..4f5a8f9 --- /dev/null +++ b/i18n/pt_BR.po @@ -0,0 +1,116 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Wil Odoo, 2023 +# Maitê Dietze, 2023 +# Layna Nascimento, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Layna Nascimento, 2023\n" +"Language-Team: Portuguese (Brazil) (https://app.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=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr "" +" Adicionar no carrinho" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Preço" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Produto" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Total:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Ação de adicionar ao carrinho" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Adicionar um" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Adicionar ao carrinho" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Opções disponíveis:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Continuar as compras" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "Deixar o usuário decidir (diálogo)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Opção não disponível" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Checkout" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Imagem do produto" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Quantidade" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Remover um" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Pedido de venda" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Site" diff --git a/i18n/ro.po b/i18n/ro.po new file mode 100644 index 0000000..93dc7a4 --- /dev/null +++ b/i18n/ro.po @@ -0,0 +1,126 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Dorin Hongu , 2022 +# Martin Trigaux, 2022 +# Cozmin Candea , 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~15.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-05-16 13:50+0000\n" +"PO-Revision-Date: 2022-09-22 05:57+0000\n" +"Last-Translator: Cozmin Candea , 2023\n" +"Language-Team: Romanian (https://app.transifex.com/odoo/teams/41243/ro/)\n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Acțiune de adăugare în coș" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Adaugă în coș" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Continuați cumpărăturile" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Continuă către plată" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Comandă de vânzare" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure +msgid "This combination does not exist." +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure +msgid "This product has no valid combination." +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Pagină web" diff --git a/i18n/ru.po b/i18n/ru.po new file mode 100644 index 0000000..eff1a7e --- /dev/null +++ b/i18n/ru.po @@ -0,0 +1,116 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Martin Trigaux, 2023 +# Ivan Kropotkin , 2023 +# Константин Коровин , 2023 +# Wil Odoo, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2024\n" +"Language-Team: Russian (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr " Добавить в корзину" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Цена" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Продукт" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Общая:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Действие “В корзину”" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Добавить один" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Добавить в корзину" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "\\0" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Продолжить покупки" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "Пусть пользователь сам решает (диалог)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Опция недоступна" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Перейти к оформлению заказа" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Изображение товара" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Количество" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Удалить один" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Заказ на продажу" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Сайт" diff --git a/i18n/sk.po b/i18n/sk.po new file mode 100644 index 0000000..c0e83b8 --- /dev/null +++ b/i18n/sk.po @@ -0,0 +1,113 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Wil Odoo, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2023\n" +"Language-Team: Slovak (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr "Vlož do košíka" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Celkom:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Pridaj jeden" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Pridať do košíka" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Dostupné možnosti:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Pokračovať v nákupe" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Možnosť nie je k dispozícii" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Pokračujte k pokladni" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Obrázok produktu" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Množstvo" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Odstráň jednu" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Objednávka " + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Webstránka" diff --git a/i18n/sl.po b/i18n/sl.po new file mode 100644 index 0000000..14fa759 --- /dev/null +++ b/i18n/sl.po @@ -0,0 +1,118 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Jasmina Macur , 2023 +# Nejc G , 2023 +# Tadej Lupšina , 2023 +# matjaz k , 2023 +# Tomaž Jug , 2023 +# Martin Trigaux, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Martin Trigaux, 2023\n" +"Language-Team: Slovenian (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr " Dodaj v košarico" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Cena" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Izdelek" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Skupaj:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Akcija dodajanja v košarico" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Dodajte ga" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Dodaj v voziček" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Možnosti:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Nadaljuj z nakupovanjem" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "Naj se uporabnik odloči (pojavno okno)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Možnost ni na voljo" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Zaključi nakup" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Slika izdelka" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Količina" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Odstrani ga" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Prodajni nalog" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Spletna stran" diff --git a/i18n/sr.po b/i18n/sr.po new file mode 100644 index 0000000..faa27ec --- /dev/null +++ b/i18n/sr.po @@ -0,0 +1,115 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Milan Bojovic , 2023 +# Dragan Vukosavljevic , 2023 +# コフスタジオ, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: コフスタジオ, 2024\n" +"Language-Team: Serbian (https://app.transifex.com/odoo/teams/41243/sr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sr\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr " Dodaj u korpu" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Price" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Product" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Ukupno:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Dodaj u korpu akcija" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Dodaj jedan" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Dodaj u korpu" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Available Options:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Nastavite sa kupovinom" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "Dozvoli korisniku da odluči (dijalog)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Option not available" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Nastavite sa poručivanjem" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Slika proizvoda" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Količina" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Ukloni jedan" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Porudžbenica" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Web stranica" diff --git a/i18n/sv.po b/i18n/sv.po new file mode 100644 index 0000000..90f10e4 --- /dev/null +++ b/i18n/sv.po @@ -0,0 +1,118 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Kim Asplund , 2023 +# Anders Wallenquist , 2023 +# Lasse L, 2023 +# Chrille Hedberg , 2023 +# Martin Trigaux, 2023 +# Claes-Johan Dahlin, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Claes-Johan Dahlin, 2024\n" +"Language-Team: Swedish (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr " Lägg i varukorgen" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Totalt:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Lägg till i varukorgen Händelse" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Lägg till en" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Lägg i varukorgen" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Tillgängliga alternativ:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Fortsätt handla" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Alternativ inte tillgängligt" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Fortsätt till betalning" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Produkt Bild" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Antal" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Ta bort en" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Order" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Webbplats" diff --git a/i18n/th.po b/i18n/th.po new file mode 100644 index 0000000..ebfec7a --- /dev/null +++ b/i18n/th.po @@ -0,0 +1,114 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Wil Odoo, 2023 +# Rasareeyar Lappiam, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Rasareeyar Lappiam, 2024\n" +"Language-Team: Thai (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr " เพิ่มในตะกร้า" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "ราคา" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "สินค้า" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "ทั้งหมด:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "การดำเนินการเพิ่มลงตะกร้า" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "เพิ่มหนึ่ง" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "เพิ่มในตะกร้า" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "ตัวเลือกที่มีอยู่:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "ช้อปปิ้งต่อ" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "ให้ผู้ใช้ตัดสินใจ (โต้ตอบ)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "ไม่มีตัวเลือก" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "ดำเนินการชำระเงิน" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "รูปภาพสินค้า" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "ปริมาณ" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "นำออกหนึ่ง" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "คำสั่งขาย" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "เว็บไซต์" diff --git a/i18n/tr.po b/i18n/tr.po new file mode 100644 index 0000000..b5d82ee --- /dev/null +++ b/i18n/tr.po @@ -0,0 +1,120 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Mehmet Demirel , 2023 +# Halil, 2023 +# Ugur Yilmaz , 2023 +# Tugay Hatıl , 2023 +# abc Def , 2023 +# Ediz Duman , 2023 +# Martin Trigaux, 2023 +# Murat Kaplan , 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Murat Kaplan , 2023\n" +"Language-Team: Turkish (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr " Sepete ekle" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Fiyat" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Ürün" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Toplam:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Sepete Ekle Eylemi" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Ekle" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Sepete Ekle" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Mevcut Seçenekler:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Alışverişi sürdür" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "Kullanıcının karar vermesine izin verin (iletişim kutusu)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Seçenek mevcut değil" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Kasa ödemesini Takip et" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Ürün Görseli" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Miktar" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Birini kaldır" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Satış Siparişi" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Websitesi" diff --git a/i18n/uk.po b/i18n/uk.po new file mode 100644 index 0000000..dd95578 --- /dev/null +++ b/i18n/uk.po @@ -0,0 +1,115 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Martin Trigaux, 2023 +# Alina Lisnenko , 2023 +# Wil Odoo, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2023\n" +"Language-Team: Ukrainian (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr " Додати до кошика" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Ціна" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Товар" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Всього:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Дія додати в кошик" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Додати один" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Додати до кошика" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Доступні функції:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Продовжити покупки" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "Дозвольте користувачу обирати (діалог)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Функція не доступна" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Перейти до замовлення" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Зображення товару" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Кількість" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Вилучити один" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Замовлення на продаж" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Веб-сайт" diff --git a/i18n/vi.po b/i18n/vi.po new file mode 100644 index 0000000..14a7b7e --- /dev/null +++ b/i18n/vi.po @@ -0,0 +1,113 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Wil Odoo, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2023\n" +"Language-Team: Vietnamese (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr "Thêm vào giỏ hàng" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "Giá " + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "Sản phẩm" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "Tổng:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "Hành động Thêm vào giỏ hàng" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "Thêm" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "Thêm vào giỏ hàng" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "Tuỳ chọn khả dụng:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "Tiếp tục mua hàng" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "Để người dùng quyết định (hộp thoại)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "Tùy chọn không khả dụng" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "Tiến hành thanh toán" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "Hình ảnh sản phẩm" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "Số lượng" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "Xóa một" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "Đơn bán hàng" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "Trang web" diff --git a/i18n/website_sale_product_configurator.pot b/i18n/website_sale_product_configurator.pot new file mode 100644 index 0000000..96b3aee --- /dev/null +++ b/i18n/website_sale_product_configurator.pot @@ -0,0 +1,109 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 21:56+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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "" diff --git a/i18n/zh_CN.po b/i18n/zh_CN.po new file mode 100644 index 0000000..d163f78 --- /dev/null +++ b/i18n/zh_CN.po @@ -0,0 +1,114 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Wil Odoo, 2023 +# 山西清水欧度(QQ:54773801) <54773801@qq.com>, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: 山西清水欧度(QQ:54773801) <54773801@qq.com>, 2023\n" +"Language-Team: Chinese (China) (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr "添加到购物车" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "单价" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "产品" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "总计:" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "添加到购物车动作" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "添加一行" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "加入购物车" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "有效选项:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "继续购物" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "让用户决定(对话框)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "选项无效" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "结算" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "产品图像" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "数量" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "移除一行" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "销售订单" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "网站" diff --git a/i18n/zh_TW.po b/i18n/zh_TW.po new file mode 100644 index 0000000..9bafac1 --- /dev/null +++ b/i18n/zh_TW.po @@ -0,0 +1,113 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_product_configurator +# +# Translators: +# Wil Odoo, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:56+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2023\n" +"Language-Team: Chinese (Taiwan) (https://app.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: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid " Add to cart" +msgstr " 加入購物車" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Price" +msgstr "價格" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Product" +msgstr "產品" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Total:" +msgstr "總計" + +#. module: website_sale_product_configurator +#: model:ir.model.fields,field_description:website_sale_product_configurator.field_website__add_to_cart_action +msgid "Add To Cart Action" +msgstr "「加入購物車」操作" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Add one" +msgstr "添加一行" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Add to cart" +msgstr "加入購物車" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Available Options:" +msgstr "可用選項:" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Continue Shopping" +msgstr "繼續購物" + +#. module: website_sale_product_configurator +#: model:ir.model.fields.selection,name:website_sale_product_configurator.selection__website__add_to_cart_action__force_dialog +msgid "Let the user decide (dialog)" +msgstr "讓用戶決定(對話框)" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Option not available" +msgstr "選項不可用" + +#. module: website_sale_product_configurator +#. odoo-javascript +#: code:addons/website_sale_product_configurator/static/src/js/website_sale_options.js:0 +#, python-format +msgid "Proceed to Checkout" +msgstr "前往結賬" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.optional_product_items +msgid "Product Image" +msgstr "產品圖片" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.configure_optional_products +msgid "Quantity" +msgstr "數量" + +#. module: website_sale_product_configurator +#: model_terms:ir.ui.view,arch_db:website_sale_product_configurator.product_quantity_config +msgid "Remove one" +msgstr "刪除一行" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_sale_order +msgid "Sales Order" +msgstr "銷售訂單" + +#. module: website_sale_product_configurator +#: model:ir.model,name:website_sale_product_configurator.model_website +msgid "Website" +msgstr "網站" diff --git a/models/__init__.py b/models/__init__.py new file mode 100644 index 0000000..4929acd --- /dev/null +++ b/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import sale_order +from . import website diff --git a/models/sale_order.py b/models/sale_order.py new file mode 100644 index 0000000..9b853e8 --- /dev/null +++ b/models/sale_order.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import models + + +class SaleOrder(models.Model): + _inherit = "sale.order" + + def _cart_find_product_line( + self, product_id=None, line_id=None, + linked_line_id=False, optional_product_ids=None, **kwargs + ): + lines = super()._cart_find_product_line(product_id, line_id, **kwargs) + if line_id: # in this case we get the exact line we want, so filtering below would be wrong + return lines + + lines = lines.filtered(lambda line: line.linked_line_id.id == linked_line_id) + if optional_product_ids: + # only match the lines with the same chosen optional products on the existing lines + lines = lines.filtered(lambda line: optional_product_ids == set(line.option_line_ids.product_id.id)) + else: + lines = lines.filtered(lambda line: not line.option_line_ids) + + return lines diff --git a/models/website.py b/models/website.py new file mode 100644 index 0000000..8a8340b --- /dev/null +++ b/models/website.py @@ -0,0 +1,12 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models + + +class Website(models.Model): + _inherit = 'website' + + add_to_cart_action = fields.Selection( + selection_add=[('force_dialog', "Let the user decide (dialog)")], + ondelete={'force_dialog': 'set default'}) diff --git a/static/src/js/sale_product_configurator_modal.js b/static/src/js/sale_product_configurator_modal.js new file mode 100644 index 0000000..a1cbea7 --- /dev/null +++ b/static/src/js/sale_product_configurator_modal.js @@ -0,0 +1,540 @@ +/** @odoo-module */ + +import Dialog from '@web/legacy/js/core/dialog'; +import VariantMixin from '@website_sale/js/sale_variant_mixin'; +import { uniqueId } from '@web/core/utils/functions'; +import { jsonrpc } from '@web/core/network/rpc_service'; + +export const OptionalProductsModal = Dialog.extend(VariantMixin, { + events: Object.assign({}, 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 {boolean} params.isWebsite If we're on a web shop page, we need some + * custom behavior + * @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 = Object.assign({ + size: 'large', + buttons: [{ + text: params.okButtonText, + click: this._onConfirmButtonClick, + // the o_sale_product_configurator_edit class is used for tours. + classes: 'btn-primary o_sale_product_configurator_edit' + }, { + text: params.cancelButtonText, + click: this._onCancelButtonClick + }], + technical: !params.isWebsite, + }, params || {}); + + this._super(parent, options); + + this.isWebsite = params.isWebsite; + this.forceDialog = params.forceDialog; + + this.dialogClass = 'oe_advanced_configurator_modal' + (params.isWebsite ? ' oe_website_sale' : ''); + this.context = params.context; + this.rootProduct = params.rootProduct; + this.container = parent; + this.pricelistId = params.pricelistId; + this.previousModalHeight = params.previousModalHeight; + this.mode = params.mode; + this.dialogClass = 'oe_advanced_configurator_modal'; + this._productImageField = 'image_128'; + + this._opened.then(function () { + if (self.previousModalHeight) { + self.$el.closest('.modal-content').css('min-height', self.previousModalHeight + 'px'); + } + }); + + this.rpc = this.bindService("rpc"); + }, + /** + * @override + */ + willStart: function () { + var self = this; + + var getModalContent = jsonrpc("/sale_product_configurator/show_advanced_configurator", { + mode: self.mode, + product_id: self.rootProduct.product_id, + variant_values: self.rootProduct.variant_values, + product_custom_attribute_values: self.rootProduct.product_custom_attribute_values, + pricelist_id: self.pricelistId || false, + add_qty: self.rootProduct.quantity, + force_dialog: self.forceDialog, + no_attribute: self.rootProduct.no_variant_attribute_values, + custom_attribute: self.rootProduct.product_custom_attribute_values, + context: Object.assign({'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($('
')).then(function () { + if (!self.preventOpening) { + self.$modal.find(".modal-body").replaceWith(self.$el); + self.$modal.attr('open', true); + self.$modal.appendTo(self.container); + const modal = new Modal(self.$modal[0], { + focus: true, + }); + modal.show(); + self._openedResolver(); + } + }); + 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').toArray(); + $products.forEach((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 + */ + getAndCreateSelectedProducts: async function () { + var self = this; + const products = []; + let productCustomVariantValues; + let noVariantAttributeValues; + for (const product of self.$modal.find('.js_product.in_cart')) { + var $item = $(product); + var quantity = parseFloat($item.find('input[name="add_qty"]').val().replace(',', '.') || 1); + var parentUniqueId = product.dataset.parentUniqueId; + var uniqueId = product.dataset.uniqueId; + productCustomVariantValues = $item.find('.custom-attribute-info').data("attribute-value") || self.getCustomVariantValues($item); + noVariantAttributeValues = $item.find('.no-attribute-info').data("attribute-value") || self.getNoVariantAttributeValues($item); + + const productID = await self.selectOrCreateProduct( + $item, + parseInt($item.find('input.product_id').val(), 10), + parseInt($item.find('input.product_template_id').val(), 10), + true + ); + products.push({ + 'product_id': productID, + '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 = $('
'); + $updatedDescription.append($('

', { + text: $productDescription.text() + })); + $.each(this.rootProduct.product_custom_attribute_values, function () { + if (this.custom_value) { + const $customInput = $modalContent + .find(".main_product [data-is_custom='True']") + .closest(`[data-value_id='${this.custom_product_template_attribute_value_id.res_id}']`); + $customInput.attr('previous_custom_value', this.custom_value); + VariantMixin.handleCustomValues($customInput); + } + }); + + $.each(this.rootProduct.no_variant_attribute_values, function () { + if (this.is_custom !== 'True') { + var $currentDescription = $updatedDescription.find(`div[name=ptal-${this.id}]`); + if ($currentDescription?.length > 0) { // one row per multicheckbox + $currentDescription.text($currentDescription.text() + ', ' + this.attribute_value_name); + } else { + $updatedDescription.append($('

', { + text: this.attribute_name + ': ' + this.attribute_value_name, + name: `ptal-${this.id}`, + })); + } + } + }); + + $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_advanced_configurator_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-start'); + + var $customAttributeValuesDescription = $('
', { + class: 'custom_attribute_values_description text-muted small' + }); + if (productCustomVariantValues.length !== 0 || noVariantAttributeValues.length !== 0) { + $customAttributeValuesDescription.append($('
')); + } + + $.each(productCustomVariantValues, function (){ + $customAttributeValuesDescription.append($('
', { + text: this.attribute_value_name + ': ' + this.custom_value + })); + }); + + $.each(noVariantAttributeValues, function (){ + if (this.is_custom !== 'True'){ + var $currentDescription = $customAttributeValuesDescription.find(`div[name=ptal-${this.id}]`); + if ($currentDescription?.length > 0) { // one row per multicheckbox + $currentDescription.text($currentDescription.text() + ', ' + this.attribute_value_name); + } else { + $customAttributeValuesDescription.append($('
', { + text: this.attribute_name + ': ' + this.attribute_value_name, + name: `ptal-${this.id}`, + })); + } + } + }); + + $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); + + jsonrpc("/sale_product_configurator/optional_product_items", { + '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 = parseFloat($(this).find('input[name="add_qty"]').first().val().replace(',', '.') || 1); + 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 !this.isWebsite; + }, + /** + * 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; + }, +}); diff --git a/static/src/js/website_sale_options.js b/static/src/js/website_sale_options.js new file mode 100644 index 0000000..f347732 --- /dev/null +++ b/static/src/js/website_sale_options.js @@ -0,0 +1,124 @@ +/** @odoo-module **/ + +import publicWidget from "@web/legacy/js/public/public_widget"; +import wSaleUtils from "@website_sale/js/website_sale_utils"; +import { OptionalProductsModal } from "@website_sale_product_configurator/js/sale_product_configurator_modal"; +import "@website_sale/js/website_sale"; +import { _t } from "@web/core/l10n/translation"; + +publicWidget.registry.WebsiteSale.include({ + + //-------------------------------------------------------------------------- + // Private + //-------------------------------------------------------------------------- + + _onProductReady: function () { + if (this.isBuyNow) { + return this._submitForm(); + } + this.optionalProductsModal = new OptionalProductsModal(this.$form, { + rootProduct: this.rootProduct, + isWebsite: true, + okButtonText: _t('Proceed to Checkout'), + cancelButtonText: _t('Continue Shopping'), + title: _t('Add to cart'), + context: this._getContext(), + forceDialog: this.forceDialog, + }).open(); + + this.optionalProductsModal.on('options_empty', null, this._submitForm.bind(this)); + this.optionalProductsModal.on('update_quantity', null, this._onOptionsUpdateQuantity.bind(this)); + this.optionalProductsModal.on('confirm', null, this._onModalSubmit.bind(this, true)); + this.optionalProductsModal.on('back', null, this._onModalSubmit.bind(this, false)); + + return this.optionalProductsModal.opened(); + }, + /** + * Overridden to resolve _opened promise on modal + * when stayOnPageOption is activated. + * + * @override + */ + _submitForm() { + var ret = this._super(...arguments); + if (this.optionalProductsModal && this.stayOnPageOption) { + ret.then(()=>{ + this.optionalProductsModal._openedResolver() + }); + } + return ret; + }, + /** + * Update web shop base form quantity + * when quantity is updated in the optional products window + * + * @private + * @param {integer} quantity + */ + _onOptionsUpdateQuantity: function (quantity) { + var $qtyInput = this.$form + .find('.js_main_product input[name="add_qty"]') + .first(); + + if ($qtyInput.length) { + $qtyInput.val(quantity).trigger('change'); + } else { + // This handles the case when the "Select Quantity" customize show + // is disabled, and therefore the above selector does not find an + // element. + // To avoid duplicating all RPC, only trigger the variant change if + // it is not already done from the above trigger. + this.optionalProductsModal.triggerVariantChange(this.optionalProductsModal.$el); + } + }, + + /** + * Submits the form with additional parameters + * - lang + * - product_custom_attribute_values: The products custom variant values + * + * @private + * @param {Boolean} goToShop Triggers a page refresh to the url "shop/cart" + */ + _onModalSubmit: function (goToShop) { + const mainProduct = this.$('.js_product.in_cart.main_product').children('.product_id'); + const productTrackingInfo = mainProduct.data('product-tracking-info'); + if (productTrackingInfo) { + const currency = productTrackingInfo['currency']; + const productsTrackingInfo = []; + this.$('.js_product.in_cart').each((i, el) => { + productsTrackingInfo.push({ + 'item_id': el.getElementsByClassName('product_id')[0].value, + 'item_name': el.getElementsByClassName('product_display_name')[0].textContent, + 'quantity': el.getElementsByClassName('js_quantity')[0].value, + 'currency': currency, + 'price': el.getElementsByClassName('oe_price')[0].getElementsByClassName('oe_currency_value')[0].textContent, + }); + }); + if (productsTrackingInfo) { + this.$el.trigger('add_to_cart_event', productsTrackingInfo); + } + } + + const callService = this.call.bind(this) + this.optionalProductsModal.getAndCreateSelectedProducts() + .then((products) => { + const productAndOptions = JSON.stringify(products); + this.rpc('/shop/cart/update_option', { + product_and_options: productAndOptions, + ...this._getOptionalCombinationInfoParam(), + }).then(function (values) { + if (goToShop) { + window.location.pathname = "/shop/cart"; + } else { + wSaleUtils.updateCartNavBar(values); + wSaleUtils.showCartNotification(callService, values.notification_info); + } + }).then(() => { + this._getCombinationInfo($.Event('click', {target: $("#add_to_cart")})); + }); + }); + }, +}); + +export default publicWidget.registry.WebsiteSaleOptions; diff --git a/static/src/scss/website_sale_options.scss b/static/src/scss/website_sale_options.scss new file mode 100644 index 0000000..bc88ece --- /dev/null +++ b/static/src/scss/website_sale_options.scss @@ -0,0 +1,15 @@ +.css_not_available.js_product { + .product_price { + display: none !important; + } +} + +div#modal_optional_products table tr td { + border: 0; +} + +@include media-breakpoint-down(md) { + div#modal_optional_products .td-qty { + display: none; + } +} \ No newline at end of file diff --git a/static/tests/tours/website_sale_buy.js b/static/tests/tours/website_sale_buy.js new file mode 100644 index 0000000..f1aedd5 --- /dev/null +++ b/static/tests/tours/website_sale_buy.js @@ -0,0 +1,20 @@ +/** @odoo-module **/ +/** + * Add custom steps to handle the optional products modal introduced + * by the product configurator module. + */ +import { registry } from "@web/core/registry"; +import { patch } from "@web/core/utils/patch"; +import "@website_sale/../tests/tours/website_sale_buy"; + +patch(registry.category("web_tour.tours").get("shop_buy_product"), { + steps() { + const originalSteps = super.steps(); + const addCartStepIndex = originalSteps.findIndex((step) => step.id === "add_cart_step"); + originalSteps.splice(addCartStepIndex + 1, 1, { + content: "click in modal on 'Proceed to checkout' button", + trigger: 'button:contains("Proceed to Checkout")', + }); + return originalSteps; + }, +}); diff --git a/static/tests/tours/website_sale_preconfigured_variant_price.js b/static/tests/tours/website_sale_preconfigured_variant_price.js new file mode 100644 index 0000000..136666d --- /dev/null +++ b/static/tests/tours/website_sale_preconfigured_variant_price.js @@ -0,0 +1,19 @@ +/** @odoo-module **/ + +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add('website_sale_product_configurator_optional_products_tour', { + test: true, + steps: () => [{ + name: 'Click Aluminium Option', + trigger: 'ul.js_add_cart_variants span:contains("Aluminium")', + extra_trigger: 'ul.js_add_cart_variants span:contains("Aluminium") ~ span.badge:contains("50.40")', +}, { + name: 'Add to cart', + trigger: '#add_to_cart', +}, { + name: 'Check that modal was opened with the correct variant price', + trigger: 'main.oe_advanced_configurator_modal', + extra_trigger: 'main.oe_advanced_configurator_modal span:contains("800.40")', + run: () => {}, +}]}); diff --git a/static/tests/tours/website_sale_shop_custom_attributes_value.js b/static/tests/tours/website_sale_shop_custom_attributes_value.js new file mode 100644 index 0000000..eb90d90 --- /dev/null +++ b/static/tests/tours/website_sale_shop_custom_attributes_value.js @@ -0,0 +1,57 @@ +/** @odoo-module **/ + +import { registry } from "@web/core/registry"; +var optionVariantImage; + +registry.category("web_tour.tours").add("a_shop_custom_attribute_value", { + url: "/shop?search=Customizable Desk", + test: true, + steps: () => [{ + content: "click on Customizable Desk", + trigger: '.oe_product_cart a:contains("Customizable Desk (TEST)")', +}, { + trigger: 'a.js_add_cart_json:has(i.fa-plus)', + run: 'click', +}, { + trigger: 'span.oe_currency_value:contains(750)', + run: function (){}, // check +}, { + id: 'add_cart_step', + trigger: 'a:contains(Add to cart)', + run: 'click', +}, { + trigger: '.oe_advanced_configurator_modal .js_product:eq(1) div:contains("Conference Chair (TEST) (Steel)")', + run: function () { + optionVariantImage = $('.oe_advanced_configurator_modal .js_product:eq(1) img.variant_image').attr('src'); + } +}, { + trigger: '.oe_advanced_configurator_modal .js_product:eq(1) input[data-value_name="Aluminium"]', +}, { + trigger: '.oe_advanced_configurator_modal .js_product:eq(1) div:contains("Conference Chair (TEST) (Aluminium)")', + run: function () { + var newVariantImage = $('.oe_advanced_configurator_modal .js_product:eq(1) img.variant_image').attr('src'); + if (newVariantImage !== optionVariantImage) { + $('

').text('image variant option src changed').insertAfter('.oe_advanced_configurator_modal .js_product:eq(1) .product-name'); + } + } +}, { + extra_trigger: '.oe_advanced_configurator_modal .js_product:eq(1) div:contains("image variant option src changed")', + trigger: '.oe_advanced_configurator_modal .js_product:eq(1) input[data-value_name="Steel"]', +}, { + trigger: '.oe_price span:contains(22.90)', + run: function (){}, // check +}, { + trigger: '.oe_advanced_configurator_modal .js_product:has(strong:contains(Conference Chair)) .js_add', + extra_trigger: '.oe_advanced_configurator_modal .js_product:has(strong:contains(Conference Chair))', + run: 'click' +}, { + trigger: '.oe_advanced_configurator_modal .js_product:has(strong:contains(Chair floor protection)) .js_add', + extra_trigger: '.oe_advanced_configurator_modal .js_product:has(strong:contains(Chair floor protection))', + run: 'click' +}, { + trigger: 'span:contains(1,557.00)', + run: function (){}, // check +}, { + trigger: 'button:has(span:contains(Proceed to Checkout))', + run: 'click', +}]}); diff --git a/static/tests/tours/website_sale_variants_modal_window.js b/static/tests/tours/website_sale_variants_modal_window.js new file mode 100644 index 0000000..2e0ab10 --- /dev/null +++ b/static/tests/tours/website_sale_variants_modal_window.js @@ -0,0 +1,65 @@ +/** @odoo-module **/ + + import { registry } from "@web/core/registry"; + + // This tour relies on a data created from the python test. + registry.category("web_tour.tours").add('tour_variants_modal_window', { + test: true, + url: '/shop?search=Short (TEST)', + steps: () => [ + { + content: "Select the Short (TEST) product", + trigger: '.oe_product_cart a:containsExact("Short (TEST)")', + }, + { + content: "Click on the always variant", + trigger: 'input[data-attribute_name="Always attribute size"][data-value_name="M always"]', + }, + { + content: "Click on the dynamic variant", + trigger: 'input[data-attribute_name="Dynamic attribute size"][data-value_name="M dynamic"]', + }, + { + content: "Click on the never variant", + trigger: 'input[data-attribute_name="Never attribute size"][data-value_name="M never"]', + }, + { + content: "Click on the never custom variant", + trigger: 'input[data-attribute_name="Never attribute size custom"][data-value_name="Yes never custom"]', + }, + { + trigger: 'input.variant_custom_value', + run: 'text TEST', + }, + { + content: "Click add to cart", + trigger: '#add_to_cart', + }, + { + content: "Go through the modal window of the product configurator", + extra_trigger: '.oe_advanced_configurator_modal', + trigger: 'button span:contains(Proceed to Checkout)', + run: 'click' + }, + { + content: "Check the product is in the cart", + trigger: 'div>a>h6:contains(Short (TEST))', + }, + { + content: "Check always variant", + trigger: 'div>a>h6:contains(M always)', + }, + { + content: "Check dynamic variant", + trigger: 'div>a>h6:contains(M dynamic)', + }, + { + content: "Check never variant", + trigger: 'div.text-muted>span:contains(Never attribute size: M never)', + }, + { + content: "Check never custom variant", + trigger: 'div.text-muted>span:contains(Never attribute size custom: Yes never custom: TEST)', + isCheck: true, + } + ]}); diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..a89d4e7 --- /dev/null +++ b/tests/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import test_customize +from . import test_website_sale_configurator diff --git a/tests/test_customize.py b/tests/test_customize.py new file mode 100644 index 0000000..b97b078 --- /dev/null +++ b/tests/test_customize.py @@ -0,0 +1,15 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo.tests.common import HttpCase +from odoo.addons.sale_product_configurator.tests.common import TestProductConfiguratorCommon +from odoo.tests import tagged + + +@tagged('post_install', '-at_install') +class TestUi(HttpCase, TestProductConfiguratorCommon): + + def test_01_admin_shop_custom_attribute_value_tour(self): + # Ensure that no pricelist is available during the test. + # This ensures that tours which triggers on the amounts will run properly. + self.env['product.pricelist'].search([]).action_archive() + self.start_tour("/", 'a_shop_custom_attribute_value', login="admin") diff --git a/tests/test_website_sale_configurator.py b/tests/test_website_sale_configurator.py new file mode 100644 index 0000000..65666e4 --- /dev/null +++ b/tests/test_website_sale_configurator.py @@ -0,0 +1,148 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo.tests import tagged +from odoo.addons.sale_product_configurator.tests.common import TestProductConfiguratorCommon +from odoo.addons.base.tests.common import HttpCaseWithUserPortal, HttpCaseWithUserDemo + + +@tagged('post_install', '-at_install') +class TestWebsiteSaleProductConfigurator(TestProductConfiguratorCommon, HttpCaseWithUserPortal, HttpCaseWithUserDemo): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.product_product_custo_desk.write({ + 'optional_product_ids': [(4, cls.product_product_conf_chair.id)], + 'website_published': True, + }) + cls.product_product_conf_chair.website_published = True + + ptav_ids = cls.product_product_custo_desk.attribute_line_ids.product_template_value_ids + ptav_ids.filtered(lambda ptav: ptav.name == 'Aluminium').price_extra = 50.4 + + def test_01_product_configurator_variant_price(self): + product = self.product_product_conf_chair.with_user(self.user_portal) + ptav_ids = self.product_product_custo_desk.attribute_line_ids.product_template_value_ids + parent_combination = ptav_ids.filtered(lambda ptav: ptav.name in ('Aluminium', 'White')) + self.assertEqual(product._is_add_to_cart_possible(parent_combination), True) + # This is a regression test. The product configurator menu is proposed + # whenever a product has optional products. However, as the end user + # already picked a variant, the variant configuration menu is omitted + # in this case. However, we still want to make sure that the correct + # variant attributes are taken into account when calculating the price. + url = self.product_product_custo_desk.website_url + # Ensure that no pricelist is available during the test. + # This ensures that tours with triggers on the amounts will run properly. + self.env['product.pricelist'].search([]).action_archive() + self.start_tour(url, 'website_sale_product_configurator_optional_products_tour', login='portal') + + def test_02_variants_modal_window(self): + """ + The objective is to verify that the data concerning the variants are well transmitted + even when passing through a modal window (product configurator). + + We create a product with the different attributes and we will modify them. + If the information is not correctly transmitted, + the default values of the variants will be used (the first one). + """ + + always_attribute, dynamic_attribute, never_attribute, never_attribute_custom = self.env['product.attribute'].create([ + { + 'name': 'Always attribute size', + 'display_type': 'radio', + 'create_variant': 'always' + }, + { + 'name': 'Dynamic attribute size', + 'display_type': 'radio', + 'create_variant': 'dynamic' + }, + { + 'name': 'Never attribute size', + 'display_type': 'radio', + 'create_variant': 'no_variant' + }, + { + 'name': 'Never attribute size custom', + 'display_type': 'radio', + 'create_variant': 'no_variant' + } + ]) + always_S, always_M, dynamic_S, dynamic_M, never_S, never_M, never_custom_no, never_custom_yes = self.env['product.attribute.value'].create([ + { + 'name': 'S always', + 'attribute_id': always_attribute.id, + }, + { + 'name': 'M always', + 'attribute_id': always_attribute.id, + }, + { + 'name': 'S dynamic', + 'attribute_id': dynamic_attribute.id, + }, + { + 'name': 'M dynamic', + 'attribute_id': dynamic_attribute.id, + }, + { + 'name': 'S never', + 'attribute_id': never_attribute.id, + }, + { + 'name': 'M never', + 'attribute_id': never_attribute.id, + }, + { + 'name': 'No never custom', + 'attribute_id': never_attribute_custom.id, + }, + { + 'name': 'Yes never custom', + 'attribute_id': never_attribute_custom.id, + 'is_custom': True, + } + ]) + + product_short = self.env['product.template'].create({ + 'name': 'Short (TEST)', + 'website_published': True, + }) + + self.env['product.template.attribute.line'].create([ + { + 'product_tmpl_id': product_short.id, + 'attribute_id': always_attribute.id, + 'value_ids': [(4, always_S.id), (4, always_M.id)], + }, + { + 'product_tmpl_id': product_short.id, + 'attribute_id': dynamic_attribute.id, + 'value_ids': [(4, dynamic_S.id), (4, dynamic_M.id)], + }, + { + 'product_tmpl_id': product_short.id, + 'attribute_id': never_attribute.id, + 'value_ids': [(4, never_S.id), (4, never_M.id)], + }, + { + 'product_tmpl_id': product_short.id, + 'attribute_id': never_attribute_custom.id, + 'value_ids': [(4, never_custom_no.id), (4, never_custom_yes.id)], + }, + ]) + + # Add an optional product to trigger the modal window + optional_product = self.env['product.template'].create({ + 'name': 'Optional product (TEST)', + 'website_published': True, + }) + product_short.optional_product_ids = [(4, optional_product.id)] + + old_sale_order = self.env['sale.order'].search([]) + self.start_tour("/", 'tour_variants_modal_window', login="demo") + + # Check the name of the created sale order line + new_sale_order = self.env['sale.order'].search([]) - old_sale_order + new_order_line = new_sale_order.order_line + self.assertEqual(new_order_line.name, 'Short (TEST) (M always, M dynamic)\n\nNever attribute size: M never\nNever attribute size custom: Yes never custom: TEST') diff --git a/views/templates.xml b/views/templates.xml new file mode 100644 index 0000000..775ed93 --- /dev/null +++ b/views/templates.xml @@ -0,0 +1,172 @@ + + + + + + + + + + + +