diff --git a/product_variant_default_code/README.rst b/product_variant_default_code/README.rst new file mode 100644 index 000000000..862b62a84 --- /dev/null +++ b/product_variant_default_code/README.rst @@ -0,0 +1,176 @@ +============================ +Product Variant Default Code +============================ + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:42f13ad70dacb35beedc51c40bf0a16dd9edba56fab52c09515d91aea0303275 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproduct--variant-lightgray.png?logo=github + :target: https://github.com/OCA/product-variant/tree/17.0/product_variant_default_code + :alt: OCA/product-variant +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/product-variant-17-0/product-variant-17-0-product_variant_default_code + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/product-variant&target_branch=17.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module automatically generate Product Reference (default_code) +according to attributes data with a configurable behavior. + +It defines a reference mask on the product templates so the variants +references are automatically set. For example: + +- Product template: Jacket +- Attributes: + + - Color: White, Black + - Size: M, L + +- Reference mask: JKT01-[Color]-[Size] +- Reference on variants: + + - JKT01-Wh-M Jacket White M + - JKT01-Bl-M Jacket Black M + - JKT01-Wh-L Jacket White L + - JKT01-Bl-L Jacket Black L + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +To set the reference mask up on any product template 'Variant reference +mask' new field. + +When creating a new product template without specifying the *Variant +reference mask*, a default value for *Variant reference mask* will be +automatically generated according to the attribute line settings on the +product template (if any). The mask will then be used as an instruction +to generate default code of each product variant of the product template +with the corresponding *Attribute Code* (of the attribute value) +inserted. Besides the default value, *Variant reference mask* can be +configured to your liking, make sure putting the *Attribute Name* inside +[] marks (it is case sensitive). + +Example: + +Creating a product named *Jacket* with two attributes, *Size* and +*Color*: + +:: + + Product: Jacket + Color: Black(Bl), White(Wh) # Black and White are the attribute values; + 'Bl' and 'Wh' are the corresponding codes + Size: L (L), XL(XL) + +The automatically generated default value for the Variant reference mask +will be [Color]-[Size] and so the 'default code' on the variants will be +Bl-L, Wh-L, Bl-XL and Wh-XL. + +The mask value can be fully customized whatever you like. You can even +have the attribute name appear more than once in the mask such as, +Jacket/[Size]~[Color]~[Size], and the generated code on variants will be +something like Jacket/L~Bl~L (for variant with Color "Black" and Size +"L"). + +When the code attribute is changed, it automatically regenerates the +'default code' on all variants affected. + +Aditionally, a product attribute can be set and so it will be appended +to the product default_code. In the first example, setting a Color code +to CO would give default_code like this: COBl-L, COWh-L, COBl-XL and +COWh-XL. + +Avoiding mask in variants +------------------------- + +You can avoid this behavior or force a manual default_code on variant. +To do so, go to *Product Variants > [any variant you want to set up]* +and set manually its reference code. The field manual code will be set +to on and the variant internal reference will no longer be changed by +this module. + +Unset manual code and the reference code will be unlocked again. + +Known issues / Roadmap +====================== + +- In case of attribute name update, related mask are not updated. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* AvancOSC +* Shine IT +* Tecnativa +* Akretion + +Contributors +------------ + +- Alfredo de la Fuente +- Tony Gu +- David Beal +- Daniel Campos +- Kévin Roche +- Tecnativa : + + - David Vidal + - Pedro M. Baeza + - João Marques + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-Kev-Roche| image:: https://github.com/Kev-Roche.png?size=40px + :target: https://github.com/Kev-Roche + :alt: Kev-Roche + +Current `maintainer `__: + +|maintainer-Kev-Roche| + +This module is part of the `OCA/product-variant `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/product_variant_default_code/__init__.py b/product_variant_default_code/__init__.py new file mode 100644 index 000000000..0650744f6 --- /dev/null +++ b/product_variant_default_code/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/product_variant_default_code/__manifest__.py b/product_variant_default_code/__manifest__.py new file mode 100644 index 000000000..40d5b7f97 --- /dev/null +++ b/product_variant_default_code/__manifest__.py @@ -0,0 +1,28 @@ +# Copyright 2014 AvancOSC - Alfredo de la Fuente +# Copyright 2014 Tecnativa - Pedro M. Baeza +# Copyright 2014 Shine IT - Tony Gu +# Copyright 2017 Tecnativa - David Vidal +# Copyright 2017 Akretion - David Beal +# Copyright 2018 AvancOSC - Daniel Campos +# Copyright 2020 Tecnativa - João Marques +# Copyright 2021 Akretion - Kévin Roche +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +{ + "name": "Product Variant Default Code", + "version": "17.0.1.0.0", + "author": "AvancOSC, Shine IT, Tecnativa, Akretion, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/product-variant", + "license": "AGPL-3", + "category": "Product", + "maintainers": ["Kev-Roche"], + "depends": ["product"], + "data": [ + "security/product_security.xml", + "data/ir_config_parameter.xml", + "views/product_attribute_view.xml", + "views/product_view.xml", + "views/config_settings_view.xml", + ], + "demo": ["demo/attribute_demo.xml"], + "installable": True, +} diff --git a/product_variant_default_code/data/ir_config_parameter.xml b/product_variant_default_code/data/ir_config_parameter.xml new file mode 100644 index 000000000..21da4e991 --- /dev/null +++ b/product_variant_default_code/data/ir_config_parameter.xml @@ -0,0 +1,11 @@ + + + + default_reference_separator + - + + + default_reference_missing_placeholder + / + + diff --git a/product_variant_default_code/demo/attribute_demo.xml b/product_variant_default_code/demo/attribute_demo.xml new file mode 100644 index 000000000..ae8d5f76b --- /dev/null +++ b/product_variant_default_code/demo/attribute_demo.xml @@ -0,0 +1,15 @@ + + + + + M + + + + C + + + + W + + diff --git a/product_variant_default_code/i18n/ar.po b/product_variant_default_code/i18n/ar.po new file mode 100644 index 000000000..4332f6e2f --- /dev/null +++ b/product_variant_default_code/i18n/ar.po @@ -0,0 +1,174 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_variant_default_code +# +# Translators: +# abdullah alsabi , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-23 03:56+0000\n" +"PO-Revision-Date: 2017-12-23 03:56+0000\n" +"Last-Translator: abdullah alsabi , 2017\n" +"Language-Team: Arabic (https://www.transifex.com/oca/teams/23907/ar/)\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \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: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__code_prefix +msgid "Add prefix to product variant reference (default code)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute__code +msgid "Attribute Code" +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#: model:ir.model.constraint,message:product_variant_default_code.constraint_product_attribute_number_uniq +#, python-format +msgid "Attribute Name must be unique!" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute_value +msgid "Attribute Value" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute_value__code +msgid "Attribute Value Code" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines how you want to manage the Variant default.\n" +" Check this if you want to use Manual Mask.\n" +" Default: Automask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines the variant \"Reference Prefix\" as the default reference " +"(default_code) of the variant." +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#, python-format +msgid "Found unrecognized attribute name in \"Variant Reference Mask\"" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__default_code +msgid "Internal Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__manual_code +msgid "Manual Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_template +msgid "Product" +msgstr "المنتج" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute +msgid "Product Attribute" +msgstr "" + +#. module: product_variant_default_code +#: model:res.groups,name:product_variant_default_code.group_product_default_code_manual_mask +msgid "Product Default Code Behavior" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "Product Default Code Manual Mask" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +#, fuzzy +msgid "Product Variants" +msgstr "المنتج" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__code_prefix +msgid "Reference Prefix" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__prefix_as_default_code +msgid "Reference Prefix as default Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__reference_mask +msgid "" +"Reference mask for building internal references of a variant generated from " +"this template.\n" +"Example:\n" +"A product named ABC with 2 attributes: Size and Color:\n" +"Product: ABC\n" +"Color: Red(r), Yellow(y), Black(b) #Red, Yellow, Black are the attribute " +"value, `r`, `y`, `b` are the corresponding code\n" +"Size: L (l), XL(x)\n" +"When setting Variant reference mask to `[Color]-[Size]`, the default code on " +"the variants will be something like `r-l` `b-l` `r-x` ...\n" +"If you like, You can even have the attribute name appear more than once in " +"the mask. Such as,`fancyA/[Size]~[Color]~[Size]`\n" +" When saved, the default code on variants will be something like \n" +" `fancyA/l~r~l` (for variant with Color \"Red\" and Size \"L\") `fancyA/" +"x~y~x` (for variant with Color \"Yellow\" and Size \"XL\")\n" +"Note: make sure characters \"[,]\" do not appear in your attribute name" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "" +"Set behaviour of codes. Default: Automask (depends on variant use: see Sales/" +"Purchases configuration)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__variant_default_code_error +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__variant_default_code_error +msgid "Variant Default Code Error" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__reference_mask +msgid "Variant reference mask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.product_template_only_form_view +msgid "[attribute3]-[attribute1]" +msgstr "" diff --git a/product_variant_default_code/i18n/ca.po b/product_variant_default_code/i18n/ca.po new file mode 100644 index 000000000..b7b365eca --- /dev/null +++ b/product_variant_default_code/i18n/ca.po @@ -0,0 +1,176 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_variant_default_code +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-23 03:56+0000\n" +"PO-Revision-Date: 2017-12-23 03:56+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n" +"Language: ca\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: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__code_prefix +msgid "Add prefix to product variant reference (default code)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute__code +msgid "Attribute Code" +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#: model:ir.model.constraint,message:product_variant_default_code.constraint_product_attribute_number_uniq +#, python-format +msgid "Attribute Name must be unique!" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute_value +msgid "Attribute Value" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute_value__code +msgid "Attribute Value Code" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines how you want to manage the Variant default.\n" +" Check this if you want to use Manual Mask.\n" +" Default: Automask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines the variant \"Reference Prefix\" as the default reference " +"(default_code) of the variant." +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#, python-format +msgid "Found unrecognized attribute name in \"Variant Reference Mask\"" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__default_code +msgid "Internal Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__manual_code +msgid "Manual Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_template +msgid "Product" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute +msgid "Product Attribute" +msgstr "" + +#. module: product_variant_default_code +#: model:res.groups,name:product_variant_default_code.group_product_default_code_manual_mask +msgid "Product Default Code Behavior" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "Product Default Code Manual Mask" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +#, fuzzy +msgid "Product Variants" +msgstr "Plantilla del producte" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__code_prefix +msgid "Reference Prefix" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__prefix_as_default_code +msgid "Reference Prefix as default Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__reference_mask +msgid "" +"Reference mask for building internal references of a variant generated from " +"this template.\n" +"Example:\n" +"A product named ABC with 2 attributes: Size and Color:\n" +"Product: ABC\n" +"Color: Red(r), Yellow(y), Black(b) #Red, Yellow, Black are the attribute " +"value, `r`, `y`, `b` are the corresponding code\n" +"Size: L (l), XL(x)\n" +"When setting Variant reference mask to `[Color]-[Size]`, the default code on " +"the variants will be something like `r-l` `b-l` `r-x` ...\n" +"If you like, You can even have the attribute name appear more than once in " +"the mask. Such as,`fancyA/[Size]~[Color]~[Size]`\n" +" When saved, the default code on variants will be something like \n" +" `fancyA/l~r~l` (for variant with Color \"Red\" and Size \"L\") `fancyA/" +"x~y~x` (for variant with Color \"Yellow\" and Size \"XL\")\n" +"Note: make sure characters \"[,]\" do not appear in your attribute name" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "" +"Set behaviour of codes. Default: Automask (depends on variant use: see Sales/" +"Purchases configuration)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__variant_default_code_error +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__variant_default_code_error +msgid "Variant Default Code Error" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__reference_mask +msgid "Variant reference mask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.product_template_only_form_view +msgid "[attribute3]-[attribute1]" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Plantilla del producte" diff --git a/product_variant_default_code/i18n/de.po b/product_variant_default_code/i18n/de.po new file mode 100644 index 000000000..c77f7d425 --- /dev/null +++ b/product_variant_default_code/i18n/de.po @@ -0,0 +1,176 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_variant_default_code +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-23 03:56+0000\n" +"PO-Revision-Date: 2017-12-23 03:56+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\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: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__code_prefix +msgid "Add prefix to product variant reference (default code)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute__code +msgid "Attribute Code" +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#: model:ir.model.constraint,message:product_variant_default_code.constraint_product_attribute_number_uniq +#, python-format +msgid "Attribute Name must be unique!" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute_value +msgid "Attribute Value" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute_value__code +msgid "Attribute Value Code" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines how you want to manage the Variant default.\n" +" Check this if you want to use Manual Mask.\n" +" Default: Automask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines the variant \"Reference Prefix\" as the default reference " +"(default_code) of the variant." +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#, python-format +msgid "Found unrecognized attribute name in \"Variant Reference Mask\"" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__default_code +msgid "Internal Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__manual_code +msgid "Manual Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_template +msgid "Product" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute +msgid "Product Attribute" +msgstr "" + +#. module: product_variant_default_code +#: model:res.groups,name:product_variant_default_code.group_product_default_code_manual_mask +msgid "Product Default Code Behavior" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "Product Default Code Manual Mask" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +#, fuzzy +msgid "Product Variants" +msgstr "Produktvorlage" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__code_prefix +msgid "Reference Prefix" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__prefix_as_default_code +msgid "Reference Prefix as default Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__reference_mask +msgid "" +"Reference mask for building internal references of a variant generated from " +"this template.\n" +"Example:\n" +"A product named ABC with 2 attributes: Size and Color:\n" +"Product: ABC\n" +"Color: Red(r), Yellow(y), Black(b) #Red, Yellow, Black are the attribute " +"value, `r`, `y`, `b` are the corresponding code\n" +"Size: L (l), XL(x)\n" +"When setting Variant reference mask to `[Color]-[Size]`, the default code on " +"the variants will be something like `r-l` `b-l` `r-x` ...\n" +"If you like, You can even have the attribute name appear more than once in " +"the mask. Such as,`fancyA/[Size]~[Color]~[Size]`\n" +" When saved, the default code on variants will be something like \n" +" `fancyA/l~r~l` (for variant with Color \"Red\" and Size \"L\") `fancyA/" +"x~y~x` (for variant with Color \"Yellow\" and Size \"XL\")\n" +"Note: make sure characters \"[,]\" do not appear in your attribute name" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "" +"Set behaviour of codes. Default: Automask (depends on variant use: see Sales/" +"Purchases configuration)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__variant_default_code_error +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__variant_default_code_error +msgid "Variant Default Code Error" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__reference_mask +msgid "Variant reference mask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.product_template_only_form_view +msgid "[attribute3]-[attribute1]" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Produktvorlage" diff --git a/product_variant_default_code/i18n/es.po b/product_variant_default_code/i18n/es.po new file mode 100644 index 000000000..ae781e7a4 --- /dev/null +++ b/product_variant_default_code/i18n/es.po @@ -0,0 +1,183 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_variant_default_code +# +# Translators: +# OCA Transbot , 2017 +# Luis M. Ontalba , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-23 03:56+0000\n" +"PO-Revision-Date: 2017-12-23 03:56+0000\n" +"Last-Translator: Luis M. Ontalba , 2017\n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\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: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__code_prefix +msgid "Add prefix to product variant reference (default code)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute__code +msgid "Attribute Code" +msgstr "Código de atributo" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#: model:ir.model.constraint,message:product_variant_default_code.constraint_product_attribute_number_uniq +#, python-format +msgid "Attribute Name must be unique!" +msgstr "El nombre del atributo debe ser único!." + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute_value +#, fuzzy +msgid "Attribute Value" +msgstr "Código de valor de atributo" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute_value__code +msgid "Attribute Value Code" +msgstr "Código de valor de atributo" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines how you want to manage the Variant default.\n" +" Check this if you want to use Manual Mask.\n" +" Default: Automask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines the variant \"Reference Prefix\" as the default reference " +"(default_code) of the variant." +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#, python-format +msgid "Found unrecognized attribute name in \"Variant Reference Mask\"" +msgstr "" +"Encontrado un nombre de atribuco no reconocido en la \"Referencia máscara " +"variante\"" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__default_code +msgid "Internal Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__manual_code +msgid "Manual Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_template +msgid "Product" +msgstr "Producto" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute +msgid "Product Attribute" +msgstr "Atributo de producto" + +#. module: product_variant_default_code +#: model:res.groups,name:product_variant_default_code.group_product_default_code_manual_mask +msgid "Product Default Code Behavior" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "Product Default Code Manual Mask" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +#, fuzzy +msgid "Product Variants" +msgstr "Atributo de producto" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__code_prefix +msgid "Reference Prefix" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__prefix_as_default_code +msgid "Reference Prefix as default Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__reference_mask +msgid "" +"Reference mask for building internal references of a variant generated from " +"this template.\n" +"Example:\n" +"A product named ABC with 2 attributes: Size and Color:\n" +"Product: ABC\n" +"Color: Red(r), Yellow(y), Black(b) #Red, Yellow, Black are the attribute " +"value, `r`, `y`, `b` are the corresponding code\n" +"Size: L (l), XL(x)\n" +"When setting Variant reference mask to `[Color]-[Size]`, the default code on " +"the variants will be something like `r-l` `b-l` `r-x` ...\n" +"If you like, You can even have the attribute name appear more than once in " +"the mask. Such as,`fancyA/[Size]~[Color]~[Size]`\n" +" When saved, the default code on variants will be something like \n" +" `fancyA/l~r~l` (for variant with Color \"Red\" and Size \"L\") `fancyA/" +"x~y~x` (for variant with Color \"Yellow\" and Size \"XL\")\n" +"Note: make sure characters \"[,]\" do not appear in your attribute name" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "" +"Set behaviour of codes. Default: Automask (depends on variant use: see Sales/" +"Purchases configuration)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__variant_default_code_error +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__variant_default_code_error +msgid "Variant Default Code Error" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__reference_mask +msgid "Variant reference mask" +msgstr "Máscara de referencia para la variante" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.product_template_only_form_view +msgid "[attribute3]-[attribute1]" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Plantilla de producto" + +#~ msgid "product.attribute.value" +#~ msgstr "product.attribute.value" diff --git a/product_variant_default_code/i18n/es_MX.po b/product_variant_default_code/i18n/es_MX.po new file mode 100644 index 000000000..52bda383c --- /dev/null +++ b/product_variant_default_code/i18n/es_MX.po @@ -0,0 +1,177 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_variant_default_code +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-23 03:56+0000\n" +"PO-Revision-Date: 2017-12-23 03:56+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/" +"es_MX/)\n" +"Language: es_MX\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: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__code_prefix +msgid "Add prefix to product variant reference (default code)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute__code +msgid "Attribute Code" +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#: model:ir.model.constraint,message:product_variant_default_code.constraint_product_attribute_number_uniq +#, python-format +msgid "Attribute Name must be unique!" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute_value +msgid "Attribute Value" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute_value__code +msgid "Attribute Value Code" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines how you want to manage the Variant default.\n" +" Check this if you want to use Manual Mask.\n" +" Default: Automask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines the variant \"Reference Prefix\" as the default reference " +"(default_code) of the variant." +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#, python-format +msgid "Found unrecognized attribute name in \"Variant Reference Mask\"" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__default_code +msgid "Internal Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__manual_code +msgid "Manual Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_template +msgid "Product" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute +msgid "Product Attribute" +msgstr "" + +#. module: product_variant_default_code +#: model:res.groups,name:product_variant_default_code.group_product_default_code_manual_mask +msgid "Product Default Code Behavior" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "Product Default Code Manual Mask" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +#, fuzzy +msgid "Product Variants" +msgstr "Plantilla del producto" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__code_prefix +msgid "Reference Prefix" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__prefix_as_default_code +msgid "Reference Prefix as default Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__reference_mask +msgid "" +"Reference mask for building internal references of a variant generated from " +"this template.\n" +"Example:\n" +"A product named ABC with 2 attributes: Size and Color:\n" +"Product: ABC\n" +"Color: Red(r), Yellow(y), Black(b) #Red, Yellow, Black are the attribute " +"value, `r`, `y`, `b` are the corresponding code\n" +"Size: L (l), XL(x)\n" +"When setting Variant reference mask to `[Color]-[Size]`, the default code on " +"the variants will be something like `r-l` `b-l` `r-x` ...\n" +"If you like, You can even have the attribute name appear more than once in " +"the mask. Such as,`fancyA/[Size]~[Color]~[Size]`\n" +" When saved, the default code on variants will be something like \n" +" `fancyA/l~r~l` (for variant with Color \"Red\" and Size \"L\") `fancyA/" +"x~y~x` (for variant with Color \"Yellow\" and Size \"XL\")\n" +"Note: make sure characters \"[,]\" do not appear in your attribute name" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "" +"Set behaviour of codes. Default: Automask (depends on variant use: see Sales/" +"Purchases configuration)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__variant_default_code_error +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__variant_default_code_error +msgid "Variant Default Code Error" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__reference_mask +msgid "Variant reference mask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.product_template_only_form_view +msgid "[attribute3]-[attribute1]" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Plantilla del producto" diff --git a/product_variant_default_code/i18n/fi.po b/product_variant_default_code/i18n/fi.po new file mode 100644 index 000000000..e296a20cd --- /dev/null +++ b/product_variant_default_code/i18n/fi.po @@ -0,0 +1,176 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_variant_default_code +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-23 03:56+0000\n" +"PO-Revision-Date: 2017-12-23 03:56+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n" +"Language: fi\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: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__code_prefix +msgid "Add prefix to product variant reference (default code)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute__code +msgid "Attribute Code" +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#: model:ir.model.constraint,message:product_variant_default_code.constraint_product_attribute_number_uniq +#, python-format +msgid "Attribute Name must be unique!" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute_value +msgid "Attribute Value" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute_value__code +msgid "Attribute Value Code" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines how you want to manage the Variant default.\n" +" Check this if you want to use Manual Mask.\n" +" Default: Automask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines the variant \"Reference Prefix\" as the default reference " +"(default_code) of the variant." +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#, python-format +msgid "Found unrecognized attribute name in \"Variant Reference Mask\"" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__default_code +msgid "Internal Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__manual_code +msgid "Manual Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_template +msgid "Product" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute +msgid "Product Attribute" +msgstr "" + +#. module: product_variant_default_code +#: model:res.groups,name:product_variant_default_code.group_product_default_code_manual_mask +msgid "Product Default Code Behavior" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "Product Default Code Manual Mask" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +#, fuzzy +msgid "Product Variants" +msgstr "Tuotteen malli" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__code_prefix +msgid "Reference Prefix" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__prefix_as_default_code +msgid "Reference Prefix as default Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__reference_mask +msgid "" +"Reference mask for building internal references of a variant generated from " +"this template.\n" +"Example:\n" +"A product named ABC with 2 attributes: Size and Color:\n" +"Product: ABC\n" +"Color: Red(r), Yellow(y), Black(b) #Red, Yellow, Black are the attribute " +"value, `r`, `y`, `b` are the corresponding code\n" +"Size: L (l), XL(x)\n" +"When setting Variant reference mask to `[Color]-[Size]`, the default code on " +"the variants will be something like `r-l` `b-l` `r-x` ...\n" +"If you like, You can even have the attribute name appear more than once in " +"the mask. Such as,`fancyA/[Size]~[Color]~[Size]`\n" +" When saved, the default code on variants will be something like \n" +" `fancyA/l~r~l` (for variant with Color \"Red\" and Size \"L\") `fancyA/" +"x~y~x` (for variant with Color \"Yellow\" and Size \"XL\")\n" +"Note: make sure characters \"[,]\" do not appear in your attribute name" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "" +"Set behaviour of codes. Default: Automask (depends on variant use: see Sales/" +"Purchases configuration)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__variant_default_code_error +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__variant_default_code_error +msgid "Variant Default Code Error" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__reference_mask +msgid "Variant reference mask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.product_template_only_form_view +msgid "[attribute3]-[attribute1]" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Tuotteen malli" diff --git a/product_variant_default_code/i18n/fr.po b/product_variant_default_code/i18n/fr.po new file mode 100644 index 000000000..9ea1ef7ce --- /dev/null +++ b/product_variant_default_code/i18n/fr.po @@ -0,0 +1,216 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_variant_default_code +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-07 12:42+0000\n" +"PO-Revision-Date: 2018-06-07 12:42+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__code_prefix +msgid "Add prefix to product variant reference (default code)" +msgstr "" +"Ajouter un préfixe à la référence de la variante de produit (default code)" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute__code +msgid "Attribute Code" +msgstr "Code de l'attribut" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#: model:ir.model.constraint,message:product_variant_default_code.constraint_product_attribute_number_uniq +#, python-format +msgid "Attribute Name must be unique!" +msgstr "Le nom de l'attribut doit être unique !" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute_value +#, fuzzy +msgid "Attribute Value" +msgstr "Code valeur de l'attribut" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute_value__code +msgid "Attribute Value Code" +msgstr "Code valeur de l'attribut" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_res_config_settings +#, fuzzy +msgid "Config Settings" +msgstr "res.config.settings" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines how you want to manage the Variant default.\n" +" Check this if you want to use Manual Mask.\n" +" Default: Automask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines the variant \"Reference Prefix\" as the default reference " +"(default_code) of the variant." +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#, python-format +msgid "Found unrecognized attribute name in \"Variant Reference Mask\"" +msgstr "" +"Nom d'attribut non reconnu trouvé dans \"Masque de référence de la variante\"" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__default_code +msgid "Internal Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__manual_code +msgid "Manual Reference" +msgstr "Référence manuelle" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_template +msgid "Product" +msgstr "Article" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute +msgid "Product Attribute" +msgstr "Attribut de l'article" + +#. module: product_variant_default_code +#: model:res.groups,name:product_variant_default_code.group_product_default_code_manual_mask +msgid "Product Default Code Behavior" +msgstr "Comportement du code par défaut du produit" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "Product Default Code Manual Mask" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +#, fuzzy +msgid "Product Variants" +msgstr "Attribut de l'article" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__code_prefix +msgid "Reference Prefix" +msgstr "Préfixe de la référence" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__prefix_as_default_code +msgid "Reference Prefix as default Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__reference_mask +msgid "" +"Reference mask for building internal references of a variant generated from " +"this template.\n" +"Example:\n" +"A product named ABC with 2 attributes: Size and Color:\n" +"Product: ABC\n" +"Color: Red(r), Yellow(y), Black(b) #Red, Yellow, Black are the attribute " +"value, `r`, `y`, `b` are the corresponding code\n" +"Size: L (l), XL(x)\n" +"When setting Variant reference mask to `[Color]-[Size]`, the default code on " +"the variants will be something like `r-l` `b-l` `r-x` ...\n" +"If you like, You can even have the attribute name appear more than once in " +"the mask. Such as,`fancyA/[Size]~[Color]~[Size]`\n" +" When saved, the default code on variants will be something like \n" +" `fancyA/l~r~l` (for variant with Color \"Red\" and Size \"L\") `fancyA/" +"x~y~x` (for variant with Color \"Yellow\" and Size \"XL\")\n" +"Note: make sure characters \"[,]\" do not appear in your attribute name" +msgstr "" +"Masque de référence pour construire les références internes des variantes " +"génénées depuis ce modèle.\n" +"Exemple:\n" +"Un produit nommé ABC avec 2 attributs : Taille et Couleur :\n" +"Produit: ABC\n" +"Couleur: Rouge(r), Jaune(j), Noir(n) #Rouge, Jaune, Noir sont les valeurs " +"d'attributes, `r`, `j`, `n` sont les codes correspondants\n" +"Taille: L (l), XL(x)\n" +"Quand vous mettez en place un masque de référence de la variante `[Couleur]-" +"[Taille]`, le code par défaut de la variante sera quelque chose comme `r-l` " +"`n-l` `r-x` ...\n" +"Si vous préférez, vous pouvez aussi avoir le nom de l'attribut qui apparait " +"plusieurs fois dans le masque. Comme,`fancyA/[Taille]~[Couleur]~[Taille]`\n" +" Quand il est enregistré, le code par défaut sur la variante sera quelque " +"chose comme \n" +" `fancyA/l~r~l` (pour la variante avec Couleur \"Rouge\" et Taille \"L\") " +"`fancyA/x~y~x` (pour la variante avec Couleur \"Jaune\" et Taille\"XL\")\n" +"Note : assurez-vous que les caractères \"[,]\" n'apparaissent pas dans le " +"nom de l'attribut" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "" +"Set behaviour of codes. Default: Automask (depends on variant use: see Sales/" +"Purchases configuration)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__variant_default_code_error +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__variant_default_code_error +msgid "Variant Default Code Error" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__reference_mask +msgid "Variant reference mask" +msgstr "Masque de référence de la variante" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.product_template_only_form_view +msgid "[attribute3]-[attribute1]" +msgstr "[attribute3]-[attribute1]" + +#~ msgid "Product Template" +#~ msgstr "Modèle d'article" + +#~ msgid "Automask" +#~ msgstr "Masque automatique" + +#~ msgid "Manual Mask" +#~ msgstr "Masque manuel" + +#~ msgid "Product Default Code behaviour" +#~ msgstr "Comportement du code par défaut du produit" + +#~ msgid "" +#~ "Set behaviour of codes (depends on variant use: see Sales/Purchases " +#~ "configuration)" +#~ msgstr "" +#~ "Définir le comportement des codes (dépend de l'utilisation des " +#~ "variantes : voir la configuration Achats/Ventes" + +#~ msgid "product.attribute.value" +#~ msgstr "product.attribute.value" diff --git a/product_variant_default_code/i18n/fr_CH.po b/product_variant_default_code/i18n/fr_CH.po new file mode 100644 index 000000000..35281045a --- /dev/null +++ b/product_variant_default_code/i18n/fr_CH.po @@ -0,0 +1,177 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_variant_default_code +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-23 03:56+0000\n" +"PO-Revision-Date: 2017-12-23 03:56+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (Switzerland) (https://www.transifex.com/oca/" +"teams/23907/fr_CH/)\n" +"Language: fr_CH\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: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__code_prefix +msgid "Add prefix to product variant reference (default code)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute__code +msgid "Attribute Code" +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#: model:ir.model.constraint,message:product_variant_default_code.constraint_product_attribute_number_uniq +#, python-format +msgid "Attribute Name must be unique!" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute_value +msgid "Attribute Value" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute_value__code +msgid "Attribute Value Code" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines how you want to manage the Variant default.\n" +" Check this if you want to use Manual Mask.\n" +" Default: Automask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines the variant \"Reference Prefix\" as the default reference " +"(default_code) of the variant." +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#, python-format +msgid "Found unrecognized attribute name in \"Variant Reference Mask\"" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__default_code +msgid "Internal Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__manual_code +msgid "Manual Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_template +msgid "Product" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute +msgid "Product Attribute" +msgstr "" + +#. module: product_variant_default_code +#: model:res.groups,name:product_variant_default_code.group_product_default_code_manual_mask +msgid "Product Default Code Behavior" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "Product Default Code Manual Mask" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +#, fuzzy +msgid "Product Variants" +msgstr "Template de produit" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__code_prefix +msgid "Reference Prefix" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__prefix_as_default_code +msgid "Reference Prefix as default Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__reference_mask +msgid "" +"Reference mask for building internal references of a variant generated from " +"this template.\n" +"Example:\n" +"A product named ABC with 2 attributes: Size and Color:\n" +"Product: ABC\n" +"Color: Red(r), Yellow(y), Black(b) #Red, Yellow, Black are the attribute " +"value, `r`, `y`, `b` are the corresponding code\n" +"Size: L (l), XL(x)\n" +"When setting Variant reference mask to `[Color]-[Size]`, the default code on " +"the variants will be something like `r-l` `b-l` `r-x` ...\n" +"If you like, You can even have the attribute name appear more than once in " +"the mask. Such as,`fancyA/[Size]~[Color]~[Size]`\n" +" When saved, the default code on variants will be something like \n" +" `fancyA/l~r~l` (for variant with Color \"Red\" and Size \"L\") `fancyA/" +"x~y~x` (for variant with Color \"Yellow\" and Size \"XL\")\n" +"Note: make sure characters \"[,]\" do not appear in your attribute name" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "" +"Set behaviour of codes. Default: Automask (depends on variant use: see Sales/" +"Purchases configuration)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__variant_default_code_error +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__variant_default_code_error +msgid "Variant Default Code Error" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__reference_mask +msgid "Variant reference mask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.product_template_only_form_view +msgid "[attribute3]-[attribute1]" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Template de produit" diff --git a/product_variant_default_code/i18n/hr.po b/product_variant_default_code/i18n/hr.po new file mode 100644 index 000000000..21042f28a --- /dev/null +++ b/product_variant_default_code/i18n/hr.po @@ -0,0 +1,187 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_variant_default_code +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-23 03:56+0000\n" +"PO-Revision-Date: 2019-12-04 14:04+0000\n" +"Last-Translator: Bole \n" +"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/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" +"X-Generator: Weblate 3.9.1\n" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__code_prefix +msgid "Add prefix to product variant reference (default code)" +msgstr "Dodaj prefix na referencu varijante proizvoda (šifru)" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute__code +msgid "Attribute Code" +msgstr "Šifra atributa" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#: model:ir.model.constraint,message:product_variant_default_code.constraint_product_attribute_number_uniq +#, python-format +msgid "Attribute Name must be unique!" +msgstr "Šifra atributa mora biti jedinstvena!" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute_value +msgid "Attribute Value" +msgstr "Vrijednost atributa" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute_value__code +msgid "Attribute Value Code" +msgstr "Šifra vrijednosti atributa" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_res_config_settings +msgid "Config Settings" +msgstr "Postavke" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines how you want to manage the Variant default.\n" +" Check this if you want to use Manual Mask.\n" +" Default: Automask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines the variant \"Reference Prefix\" as the default reference " +"(default_code) of the variant." +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#, python-format +msgid "Found unrecognized attribute name in \"Variant Reference Mask\"" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__default_code +msgid "Internal Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__manual_code +msgid "Manual Reference" +msgstr "Ručna šifra" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_template +msgid "Product" +msgstr "Proizvod" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute +msgid "Product Attribute" +msgstr "Atribut proizvoda" + +#. module: product_variant_default_code +#: model:res.groups,name:product_variant_default_code.group_product_default_code_manual_mask +msgid "Product Default Code Behavior" +msgstr "Zadano ponašanje šifre proizvoda" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "Product Default Code Manual Mask" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +#, fuzzy +msgid "Product Variants" +msgstr "Predložak proizvoda" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__code_prefix +msgid "Reference Prefix" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__prefix_as_default_code +msgid "Reference Prefix as default Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__reference_mask +msgid "" +"Reference mask for building internal references of a variant generated from " +"this template.\n" +"Example:\n" +"A product named ABC with 2 attributes: Size and Color:\n" +"Product: ABC\n" +"Color: Red(r), Yellow(y), Black(b) #Red, Yellow, Black are the attribute " +"value, `r`, `y`, `b` are the corresponding code\n" +"Size: L (l), XL(x)\n" +"When setting Variant reference mask to `[Color]-[Size]`, the default code on " +"the variants will be something like `r-l` `b-l` `r-x` ...\n" +"If you like, You can even have the attribute name appear more than once in " +"the mask. Such as,`fancyA/[Size]~[Color]~[Size]`\n" +" When saved, the default code on variants will be something like \n" +" `fancyA/l~r~l` (for variant with Color \"Red\" and Size \"L\") `fancyA/" +"x~y~x` (for variant with Color \"Yellow\" and Size \"XL\")\n" +"Note: make sure characters \"[,]\" do not appear in your attribute name" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "" +"Set behaviour of codes. Default: Automask (depends on variant use: see Sales/" +"Purchases configuration)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__variant_default_code_error +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__variant_default_code_error +msgid "Variant Default Code Error" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__reference_mask +msgid "Variant reference mask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.product_template_only_form_view +msgid "[attribute3]-[attribute1]" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Predložak proizvoda" + +#~ msgid "Automask" +#~ msgstr "Auto-maskiranje" + +#~ msgid "Defines how you want to manage the Variant default code" +#~ msgstr "Definira kako želite upravljati zadanom šifrom varijante" + +#~ msgid "Manual Mask" +#~ msgstr "Ručna maska" diff --git a/product_variant_default_code/i18n/hr_HR.po b/product_variant_default_code/i18n/hr_HR.po new file mode 100644 index 000000000..f7e4a3940 --- /dev/null +++ b/product_variant_default_code/i18n/hr_HR.po @@ -0,0 +1,179 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_variant_default_code +# +# Translators: +# Bole , 2017 +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-23 03:56+0000\n" +"PO-Revision-Date: 2017-12-23 03:56+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/" +"hr_HR/)\n" +"Language: hr_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: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__code_prefix +msgid "Add prefix to product variant reference (default code)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute__code +msgid "Attribute Code" +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#: model:ir.model.constraint,message:product_variant_default_code.constraint_product_attribute_number_uniq +#, python-format +msgid "Attribute Name must be unique!" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute_value +msgid "Attribute Value" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute_value__code +msgid "Attribute Value Code" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines how you want to manage the Variant default.\n" +" Check this if you want to use Manual Mask.\n" +" Default: Automask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines the variant \"Reference Prefix\" as the default reference " +"(default_code) of the variant." +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#, python-format +msgid "Found unrecognized attribute name in \"Variant Reference Mask\"" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__default_code +msgid "Internal Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__manual_code +msgid "Manual Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_template +msgid "Product" +msgstr "Proizvod" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute +msgid "Product Attribute" +msgstr "" + +#. module: product_variant_default_code +#: model:res.groups,name:product_variant_default_code.group_product_default_code_manual_mask +msgid "Product Default Code Behavior" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "Product Default Code Manual Mask" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +#, fuzzy +msgid "Product Variants" +msgstr "Predložak proizvoda" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__code_prefix +msgid "Reference Prefix" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__prefix_as_default_code +msgid "Reference Prefix as default Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__reference_mask +msgid "" +"Reference mask for building internal references of a variant generated from " +"this template.\n" +"Example:\n" +"A product named ABC with 2 attributes: Size and Color:\n" +"Product: ABC\n" +"Color: Red(r), Yellow(y), Black(b) #Red, Yellow, Black are the attribute " +"value, `r`, `y`, `b` are the corresponding code\n" +"Size: L (l), XL(x)\n" +"When setting Variant reference mask to `[Color]-[Size]`, the default code on " +"the variants will be something like `r-l` `b-l` `r-x` ...\n" +"If you like, You can even have the attribute name appear more than once in " +"the mask. Such as,`fancyA/[Size]~[Color]~[Size]`\n" +" When saved, the default code on variants will be something like \n" +" `fancyA/l~r~l` (for variant with Color \"Red\" and Size \"L\") `fancyA/" +"x~y~x` (for variant with Color \"Yellow\" and Size \"XL\")\n" +"Note: make sure characters \"[,]\" do not appear in your attribute name" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "" +"Set behaviour of codes. Default: Automask (depends on variant use: see Sales/" +"Purchases configuration)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__variant_default_code_error +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__variant_default_code_error +msgid "Variant Default Code Error" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__reference_mask +msgid "Variant reference mask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.product_template_only_form_view +msgid "[attribute3]-[attribute1]" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Predložak proizvoda" diff --git a/product_variant_default_code/i18n/it.po b/product_variant_default_code/i18n/it.po new file mode 100644 index 000000000..3840fb94f --- /dev/null +++ b/product_variant_default_code/i18n/it.po @@ -0,0 +1,219 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_variant_default_code +# +# Translators: +# OCA Transbot , 2017 +# Paolo Valier , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-30 08:37+0000\n" +"PO-Revision-Date: 2022-05-31 18:05+0000\n" +"Last-Translator: Francesco Foresti \n" +"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"Language: it\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" +"X-Generator: Weblate 4.3.2\n" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__code_prefix +msgid "Add prefix to product variant reference (default code)" +msgstr "" +"Aggiungi prefisso al riferimento variante prodotto (codice predefinito)" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute__code +msgid "Attribute Code" +msgstr "Codice Attributo" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#: model:ir.model.constraint,message:product_variant_default_code.constraint_product_attribute_number_uniq +#, python-format +msgid "Attribute Name must be unique!" +msgstr "Il Nome Attributo deve essere univoco!" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute_value +msgid "Attribute Value" +msgstr "Valore Attributo" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute_value__code +msgid "Attribute Value Code" +msgstr "Codice Valore Attributo" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_res_config_settings +msgid "Config Settings" +msgstr "Impostazioni di configurazione" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines how you want to manage the Variant default.\n" +" Check this if you want to use Manual Mask.\n" +" Default: Automask" +msgstr "" +"Definisce come vuoi gestire il predefinito per variante.\n" +" Abilita se vuoi utilizzare la maschera " +"manuale.\n" +" Predefinito: Maschera automatica" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines the variant \"Reference Prefix\" as the default reference " +"(default_code) of the variant." +msgstr "" +"Definisce la variante \"Riferimento prefisso\" come il riferimento " +"predefinito (default_code) della variante." + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#, python-format +msgid "Found unrecognized attribute name in \"Variant Reference Mask\"" +msgstr "" +"Trovato nome attributo non riconosciuto nella \"Maschera riferimento variante" +"\"" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__default_code +msgid "Internal Reference" +msgstr "Riferimento Interno" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__manual_code +msgid "Manual Reference" +msgstr "Riferimento Manuale" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_template +msgid "Product" +msgstr "Prodotto" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute +msgid "Product Attribute" +msgstr "Attributo Prodotto" + +#. module: product_variant_default_code +#: model:res.groups,name:product_variant_default_code.group_product_default_code_manual_mask +msgid "Product Default Code Behavior" +msgstr "Comportamento codice predefinito prodotto" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "Product Default Code Manual Mask" +msgstr "Maschera manuale codice predefinito prodotto" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "Product Variants" +msgstr "Varianti Prodotto" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__code_prefix +msgid "Reference Prefix" +msgstr "Prefisso Riferimento" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__prefix_as_default_code +msgid "Reference Prefix as default Reference" +msgstr "Prefisso riferimento come Riferimento Predefinito" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__reference_mask +msgid "" +"Reference mask for building internal references of a variant generated from " +"this template.\n" +"Example:\n" +"A product named ABC with 2 attributes: Size and Color:\n" +"Product: ABC\n" +"Color: Red(r), Yellow(y), Black(b) #Red, Yellow, Black are the attribute " +"value, `r`, `y`, `b` are the corresponding code\n" +"Size: L (l), XL(x)\n" +"When setting Variant reference mask to `[Color]-[Size]`, the default code on " +"the variants will be something like `r-l` `b-l` `r-x` ...\n" +"If you like, You can even have the attribute name appear more than once in " +"the mask. Such as,`fancyA/[Size]~[Color]~[Size]`\n" +" When saved, the default code on variants will be something like \n" +" `fancyA/l~r~l` (for variant with Color \"Red\" and Size \"L\") `fancyA/" +"x~y~x` (for variant with Color \"Yellow\" and Size \"XL\")\n" +"Note: make sure characters \"[,]\" do not appear in your attribute name" +msgstr "" +"Maschera riferimento per costruire riferimenti interni di una variante " +"generata da questo template.\n" +"Esempio:\n" +"Un prodotto con nome ABC con 2 attributi: Taglia e Colore:\n" +"Prodotto: ABC\n" +"Colori: Rosso(r), Giallo(g), Nero(n) #Rosso, Giallo, Nero sono i valori " +"attributo, `r`, `g`, `n` sono i codici corrispondenti\n" +"Taglia: L (l), XL(x)\n" +"Impostando la maschera riferimento a `[Colore]-[Taglia]`, il codice " +"predefinito nelle varianti sarà una cosa tipo `r-l` `n-l` `r-x` ...\n" +"Se vuoi, puoi anche ripetere più di una volta il nome attributo nella " +"maschera. Ad esempio,`fancyA/[Taglia]~[Colore]~[Taglia]`\n" +" Una volta salvato, il codice predefinito nelle varianti sarà una cosa " +"come: \n" +" `fancyA/l~r~l` (per la variante colore \"Rosso\" e taglia \"L\") `fancyA/" +"x~g~x` (per la variante colore \"Giallo\" e taglia \"XL\")\n" +"Attenzione: assicurati che i caratteri \"[,]\" non siano presenti nel nome " +"attributo" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "" +"Set behaviour of codes. Default: Automask (depends on variant use: see Sales/" +"Purchases configuration)" +msgstr "" +"Imposta i comportamenti dei codici. Predefinito: Maschera automatica " +"(dipende dall'uso delle varianti: vedi la configurazione in Vendite o " +"Acquisti)" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__variant_default_code_error +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__variant_default_code_error +msgid "Variant Default Code Error" +msgstr "Errore codice predefinito variante" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__reference_mask +msgid "Variant reference mask" +msgstr "Maschera riferimento variante" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.product_template_only_form_view +msgid "[attribute3]-[attribute1]" +msgstr "[attribute3]-[attribute1]" + +#~ msgid "Display Name" +#~ msgstr "Nome visualizzato" + +#~ msgid "ID" +#~ msgstr "ID" + +#~ msgid "Last Modified on" +#~ msgstr "Ultima Modifica il" + +#~ msgid "Product Template" +#~ msgstr "Modello prodotto" + +#~ msgid "product.attribute.value" +#~ msgstr "product.attribute.value" diff --git a/product_variant_default_code/i18n/nl_NL.po b/product_variant_default_code/i18n/nl_NL.po new file mode 100644 index 000000000..8b3fd4bd9 --- /dev/null +++ b/product_variant_default_code/i18n/nl_NL.po @@ -0,0 +1,177 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_variant_default_code +# +# Translators: +# Peter Hageman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-23 03:56+0000\n" +"PO-Revision-Date: 2017-12-23 03:56+0000\n" +"Last-Translator: Peter Hageman , 2017\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/" +"teams/23907/nl_NL/)\n" +"Language: nl_NL\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: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__code_prefix +msgid "Add prefix to product variant reference (default code)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute__code +msgid "Attribute Code" +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#: model:ir.model.constraint,message:product_variant_default_code.constraint_product_attribute_number_uniq +#, python-format +msgid "Attribute Name must be unique!" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute_value +msgid "Attribute Value" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute_value__code +msgid "Attribute Value Code" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines how you want to manage the Variant default.\n" +" Check this if you want to use Manual Mask.\n" +" Default: Automask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines the variant \"Reference Prefix\" as the default reference " +"(default_code) of the variant." +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#, python-format +msgid "Found unrecognized attribute name in \"Variant Reference Mask\"" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__default_code +msgid "Internal Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__manual_code +msgid "Manual Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_template +msgid "Product" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute +msgid "Product Attribute" +msgstr "" + +#. module: product_variant_default_code +#: model:res.groups,name:product_variant_default_code.group_product_default_code_manual_mask +msgid "Product Default Code Behavior" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "Product Default Code Manual Mask" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +#, fuzzy +msgid "Product Variants" +msgstr "Productsjabloon" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__code_prefix +msgid "Reference Prefix" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__prefix_as_default_code +msgid "Reference Prefix as default Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__reference_mask +msgid "" +"Reference mask for building internal references of a variant generated from " +"this template.\n" +"Example:\n" +"A product named ABC with 2 attributes: Size and Color:\n" +"Product: ABC\n" +"Color: Red(r), Yellow(y), Black(b) #Red, Yellow, Black are the attribute " +"value, `r`, `y`, `b` are the corresponding code\n" +"Size: L (l), XL(x)\n" +"When setting Variant reference mask to `[Color]-[Size]`, the default code on " +"the variants will be something like `r-l` `b-l` `r-x` ...\n" +"If you like, You can even have the attribute name appear more than once in " +"the mask. Such as,`fancyA/[Size]~[Color]~[Size]`\n" +" When saved, the default code on variants will be something like \n" +" `fancyA/l~r~l` (for variant with Color \"Red\" and Size \"L\") `fancyA/" +"x~y~x` (for variant with Color \"Yellow\" and Size \"XL\")\n" +"Note: make sure characters \"[,]\" do not appear in your attribute name" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "" +"Set behaviour of codes. Default: Automask (depends on variant use: see Sales/" +"Purchases configuration)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__variant_default_code_error +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__variant_default_code_error +msgid "Variant Default Code Error" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__reference_mask +msgid "Variant reference mask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.product_template_only_form_view +msgid "[attribute3]-[attribute1]" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Productsjabloon" diff --git a/product_variant_default_code/i18n/product_variant_default_code.pot b/product_variant_default_code/i18n/product_variant_default_code.pot new file mode 100644 index 000000000..399059492 --- /dev/null +++ b/product_variant_default_code/i18n/product_variant_default_code.pot @@ -0,0 +1,162 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_variant_default_code +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \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: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__code_prefix +msgid "Add prefix to product variant reference (default code)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute__code +msgid "Attribute Code" +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#: model:ir.model.constraint,message:product_variant_default_code.constraint_product_attribute_number_uniq +#, python-format +msgid "Attribute Name must be unique!" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute_value +msgid "Attribute Value" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute_value__code +msgid "Attribute Value Code" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines how you want to manage the Variant default.\n" +" Check this if you want to use Manual Mask.\n" +" Default: Automask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines the variant \"Reference Prefix\" as the default reference " +"(default_code) of the variant." +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#, python-format +msgid "Found unrecognized attribute name in \"Variant Reference Mask\"" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__default_code +msgid "Internal Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__manual_code +msgid "Manual Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_template +msgid "Product" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute +msgid "Product Attribute" +msgstr "" + +#. module: product_variant_default_code +#: model:res.groups,name:product_variant_default_code.group_product_default_code_manual_mask +msgid "Product Default Code Behavior" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "Product Default Code Manual Mask" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "Product Variants" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__code_prefix +msgid "Reference Prefix" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__prefix_as_default_code +msgid "Reference Prefix as default Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__reference_mask +msgid "" +"Reference mask for building internal references of a variant generated from this template.\n" +"Example:\n" +"A product named ABC with 2 attributes: Size and Color:\n" +"Product: ABC\n" +"Color: Red(r), Yellow(y), Black(b) #Red, Yellow, Black are the attribute value, `r`, `y`, `b` are the corresponding code\n" +"Size: L (l), XL(x)\n" +"When setting Variant reference mask to `[Color]-[Size]`, the default code on the variants will be something like `r-l` `b-l` `r-x` ...\n" +"If you like, You can even have the attribute name appear more than once in the mask. Such as,`fancyA/[Size]~[Color]~[Size]`\n" +" When saved, the default code on variants will be something like \n" +" `fancyA/l~r~l` (for variant with Color \"Red\" and Size \"L\") `fancyA/x~y~x` (for variant with Color \"Yellow\" and Size \"XL\")\n" +"Note: make sure characters \"[,]\" do not appear in your attribute name" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "" +"Set behaviour of codes. Default: Automask (depends on variant use: see " +"Sales/Purchases configuration)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__variant_default_code_error +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__variant_default_code_error +msgid "Variant Default Code Error" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__reference_mask +msgid "Variant reference mask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.product_template_only_form_view +msgid "[attribute3]-[attribute1]" +msgstr "" diff --git a/product_variant_default_code/i18n/pt.po b/product_variant_default_code/i18n/pt.po new file mode 100644 index 000000000..fa7ad01d2 --- /dev/null +++ b/product_variant_default_code/i18n/pt.po @@ -0,0 +1,212 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_variant_default_code +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-06-02 20:19+0000\n" +"Last-Translator: Pedro Castro Silva \n" +"Language-Team: none\n" +"Language: pt\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" +"X-Generator: Weblate 3.10\n" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__code_prefix +msgid "Add prefix to product variant reference (default code)" +msgstr "" +"Adicionar prefixo à referência da variante de produto (código pré-definido)" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute__code +msgid "Attribute Code" +msgstr "Código do Atributo" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#: model:ir.model.constraint,message:product_variant_default_code.constraint_product_attribute_number_uniq +#, python-format +msgid "Attribute Name must be unique!" +msgstr "O Nome do Atributo tem que ser único!" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute_value +msgid "Attribute Value" +msgstr "Valor do Atributo" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute_value__code +msgid "Attribute Value Code" +msgstr "Código do Valor do Atributo" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_res_config_settings +msgid "Config Settings" +msgstr "Config Configurações" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines how you want to manage the Variant default.\n" +" Check this if you want to use Manual Mask.\n" +" Default: Automask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines the variant \"Reference Prefix\" as the default reference " +"(default_code) of the variant." +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#, python-format +msgid "Found unrecognized attribute name in \"Variant Reference Mask\"" +msgstr "" +"Foi encontrado um nome de atributo não reconhecido na \"Máscara de " +"Referência da Variante\"" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__default_code +msgid "Internal Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__manual_code +msgid "Manual Reference" +msgstr "Referência Manual" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_template +msgid "Product" +msgstr "Produto" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute +msgid "Product Attribute" +msgstr "Atributo de Produto" + +#. module: product_variant_default_code +#: model:res.groups,name:product_variant_default_code.group_product_default_code_manual_mask +msgid "Product Default Code Behavior" +msgstr "Comportamento do Código Pré-definido do Produto" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "Product Default Code Manual Mask" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "Product Variants" +msgstr "Variantes de Produto" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__code_prefix +msgid "Reference Prefix" +msgstr "Prefixo da Referência" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__prefix_as_default_code +msgid "Reference Prefix as default Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__reference_mask +msgid "" +"Reference mask for building internal references of a variant generated from " +"this template.\n" +"Example:\n" +"A product named ABC with 2 attributes: Size and Color:\n" +"Product: ABC\n" +"Color: Red(r), Yellow(y), Black(b) #Red, Yellow, Black are the attribute " +"value, `r`, `y`, `b` are the corresponding code\n" +"Size: L (l), XL(x)\n" +"When setting Variant reference mask to `[Color]-[Size]`, the default code on " +"the variants will be something like `r-l` `b-l` `r-x` ...\n" +"If you like, You can even have the attribute name appear more than once in " +"the mask. Such as,`fancyA/[Size]~[Color]~[Size]`\n" +" When saved, the default code on variants will be something like \n" +" `fancyA/l~r~l` (for variant with Color \"Red\" and Size \"L\") `fancyA/" +"x~y~x` (for variant with Color \"Yellow\" and Size \"XL\")\n" +"Note: make sure characters \"[,]\" do not appear in your attribute name" +msgstr "" +"Máscara da referência para a construção de referências internas de uma " +"variante gerada a partir deste modelo.\n" +"Exemplo:\n" +"Um produto chamado ABC com 2 atributos: Tamanho e Cor:\n" +"Produto: ABC\n" +"Cor: Vermelho(r), Amarelo(y), Preto(b) #Vermelho, Amarelo e Preto são os " +"valores do atributo, `r`, `y`, `b` são os códigos correspondentes\n" +"Tamanho: L (l), XL(x)\n" +"Definindo a máscara de referência da variante como `[Cor]-[Tamanho]`, o " +"código pré-definido nas variantes será algo como `r-l` `b-l` `r-x` ...\n" +"Se quiser, pode até ter o nome do atributo a aparecer mais do que uma vez na " +"máscara. P. ex.,`fancyA/[Tamanho]~[Cor]~[Tamanho]`\n" +"Uma vez gravado, o código pré-definido nas variantes será algo do tipo \n" +" `fancyA/l~r~l` (para a variante com Cor \"Vermelho\" e Tamanho \"L\") " +"`fancyA/x~y~x` (na variante com Cor \"Amarelo\" e Tamanho \"XL\")\n" +"Nota: certifique-se de que os caracteres \"[,]\" não aparecem no nome do seu " +"atributo" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "" +"Set behaviour of codes. Default: Automask (depends on variant use: see Sales/" +"Purchases configuration)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__variant_default_code_error +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__variant_default_code_error +msgid "Variant Default Code Error" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__reference_mask +msgid "Variant reference mask" +msgstr "Máscara de referência da variante" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.product_template_only_form_view +msgid "[attribute3]-[attribute1]" +msgstr "[atributo3]-[atributo1]" + +#~ msgid "Product Template" +#~ msgstr "Modelo de Produto" + +#~ msgid "Automask" +#~ msgstr "Auto-máscara" + +#~ msgid "Defines how you want to manage the Variant default code" +#~ msgstr "Define como quer gerir o código pré-definido da Variante" + +#~ msgid "Manual Mask" +#~ msgstr "Máscara Manual" + +#~ msgid "Product Default Code behaviour" +#~ msgstr "Comportamento do Código Pré-definido do Produto" + +#~ msgid "" +#~ "Set behaviour of codes (depends on variant use: see Sales/Purchases " +#~ "configuration)" +#~ msgstr "" +#~ "Definir o comportamento dos códigos (depende da utilização de variantes: " +#~ "veja a configuração de Vendas/Compras)" diff --git a/product_variant_default_code/i18n/pt_BR.po b/product_variant_default_code/i18n/pt_BR.po new file mode 100644 index 000000000..f79047a6b --- /dev/null +++ b/product_variant_default_code/i18n/pt_BR.po @@ -0,0 +1,177 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_variant_default_code +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-23 03:56+0000\n" +"PO-Revision-Date: 2017-12-23 03:56+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/" +"teams/23907/pt_BR/)\n" +"Language: pt_BR\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: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__code_prefix +msgid "Add prefix to product variant reference (default code)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute__code +msgid "Attribute Code" +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#: model:ir.model.constraint,message:product_variant_default_code.constraint_product_attribute_number_uniq +#, python-format +msgid "Attribute Name must be unique!" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute_value +msgid "Attribute Value" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute_value__code +msgid "Attribute Value Code" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines how you want to manage the Variant default.\n" +" Check this if you want to use Manual Mask.\n" +" Default: Automask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines the variant \"Reference Prefix\" as the default reference " +"(default_code) of the variant." +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#, python-format +msgid "Found unrecognized attribute name in \"Variant Reference Mask\"" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__default_code +msgid "Internal Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__manual_code +msgid "Manual Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_template +msgid "Product" +msgstr "Produto" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute +msgid "Product Attribute" +msgstr "" + +#. module: product_variant_default_code +#: model:res.groups,name:product_variant_default_code.group_product_default_code_manual_mask +msgid "Product Default Code Behavior" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "Product Default Code Manual Mask" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +#, fuzzy +msgid "Product Variants" +msgstr "Produto Modelo" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__code_prefix +msgid "Reference Prefix" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__prefix_as_default_code +msgid "Reference Prefix as default Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__reference_mask +msgid "" +"Reference mask for building internal references of a variant generated from " +"this template.\n" +"Example:\n" +"A product named ABC with 2 attributes: Size and Color:\n" +"Product: ABC\n" +"Color: Red(r), Yellow(y), Black(b) #Red, Yellow, Black are the attribute " +"value, `r`, `y`, `b` are the corresponding code\n" +"Size: L (l), XL(x)\n" +"When setting Variant reference mask to `[Color]-[Size]`, the default code on " +"the variants will be something like `r-l` `b-l` `r-x` ...\n" +"If you like, You can even have the attribute name appear more than once in " +"the mask. Such as,`fancyA/[Size]~[Color]~[Size]`\n" +" When saved, the default code on variants will be something like \n" +" `fancyA/l~r~l` (for variant with Color \"Red\" and Size \"L\") `fancyA/" +"x~y~x` (for variant with Color \"Yellow\" and Size \"XL\")\n" +"Note: make sure characters \"[,]\" do not appear in your attribute name" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "" +"Set behaviour of codes. Default: Automask (depends on variant use: see Sales/" +"Purchases configuration)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__variant_default_code_error +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__variant_default_code_error +msgid "Variant Default Code Error" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__reference_mask +msgid "Variant reference mask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.product_template_only_form_view +msgid "[attribute3]-[attribute1]" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Produto Modelo" diff --git a/product_variant_default_code/i18n/ro.po b/product_variant_default_code/i18n/ro.po new file mode 100644 index 000000000..3d4ce4ac7 --- /dev/null +++ b/product_variant_default_code/i18n/ro.po @@ -0,0 +1,177 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_variant_default_code +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-23 03:56+0000\n" +"PO-Revision-Date: 2017-12-23 03:56+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/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: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__code_prefix +msgid "Add prefix to product variant reference (default code)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute__code +msgid "Attribute Code" +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#: model:ir.model.constraint,message:product_variant_default_code.constraint_product_attribute_number_uniq +#, python-format +msgid "Attribute Name must be unique!" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute_value +msgid "Attribute Value" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute_value__code +msgid "Attribute Value Code" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines how you want to manage the Variant default.\n" +" Check this if you want to use Manual Mask.\n" +" Default: Automask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines the variant \"Reference Prefix\" as the default reference " +"(default_code) of the variant." +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#, python-format +msgid "Found unrecognized attribute name in \"Variant Reference Mask\"" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__default_code +msgid "Internal Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__manual_code +msgid "Manual Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_template +msgid "Product" +msgstr "Produs" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute +msgid "Product Attribute" +msgstr "Atribute produs" + +#. module: product_variant_default_code +#: model:res.groups,name:product_variant_default_code.group_product_default_code_manual_mask +msgid "Product Default Code Behavior" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "Product Default Code Manual Mask" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +#, fuzzy +msgid "Product Variants" +msgstr "Atribute produs" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__code_prefix +msgid "Reference Prefix" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__prefix_as_default_code +msgid "Reference Prefix as default Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__reference_mask +msgid "" +"Reference mask for building internal references of a variant generated from " +"this template.\n" +"Example:\n" +"A product named ABC with 2 attributes: Size and Color:\n" +"Product: ABC\n" +"Color: Red(r), Yellow(y), Black(b) #Red, Yellow, Black are the attribute " +"value, `r`, `y`, `b` are the corresponding code\n" +"Size: L (l), XL(x)\n" +"When setting Variant reference mask to `[Color]-[Size]`, the default code on " +"the variants will be something like `r-l` `b-l` `r-x` ...\n" +"If you like, You can even have the attribute name appear more than once in " +"the mask. Such as,`fancyA/[Size]~[Color]~[Size]`\n" +" When saved, the default code on variants will be something like \n" +" `fancyA/l~r~l` (for variant with Color \"Red\" and Size \"L\") `fancyA/" +"x~y~x` (for variant with Color \"Yellow\" and Size \"XL\")\n" +"Note: make sure characters \"[,]\" do not appear in your attribute name" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "" +"Set behaviour of codes. Default: Automask (depends on variant use: see Sales/" +"Purchases configuration)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__variant_default_code_error +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__variant_default_code_error +msgid "Variant Default Code Error" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__reference_mask +msgid "Variant reference mask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.product_template_only_form_view +msgid "[attribute3]-[attribute1]" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Produs șablon" diff --git a/product_variant_default_code/i18n/sl.po b/product_variant_default_code/i18n/sl.po new file mode 100644 index 000000000..97c51a194 --- /dev/null +++ b/product_variant_default_code/i18n/sl.po @@ -0,0 +1,178 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_variant_default_code +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-23 03:56+0000\n" +"PO-Revision-Date: 2017-12-23 03:56+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__code_prefix +msgid "Add prefix to product variant reference (default code)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute__code +msgid "Attribute Code" +msgstr "Koda atributa" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#: model:ir.model.constraint,message:product_variant_default_code.constraint_product_attribute_number_uniq +#, python-format +msgid "Attribute Name must be unique!" +msgstr "Naziv atributa mora biti unikaten!" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute_value +#, fuzzy +msgid "Attribute Value" +msgstr "Koda atributa" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute_value__code +msgid "Attribute Value Code" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines how you want to manage the Variant default.\n" +" Check this if you want to use Manual Mask.\n" +" Default: Automask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines the variant \"Reference Prefix\" as the default reference " +"(default_code) of the variant." +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#, python-format +msgid "Found unrecognized attribute name in \"Variant Reference Mask\"" +msgstr "V 'maski sklica variante' najden nerazpoznaven naziv atributa" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__default_code +msgid "Internal Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__manual_code +msgid "Manual Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_template +msgid "Product" +msgstr "Proizvod" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute +msgid "Product Attribute" +msgstr "Atribut proizvoda" + +#. module: product_variant_default_code +#: model:res.groups,name:product_variant_default_code.group_product_default_code_manual_mask +msgid "Product Default Code Behavior" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "Product Default Code Manual Mask" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +#, fuzzy +msgid "Product Variants" +msgstr "Atribut proizvoda" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__code_prefix +msgid "Reference Prefix" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__prefix_as_default_code +msgid "Reference Prefix as default Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__reference_mask +msgid "" +"Reference mask for building internal references of a variant generated from " +"this template.\n" +"Example:\n" +"A product named ABC with 2 attributes: Size and Color:\n" +"Product: ABC\n" +"Color: Red(r), Yellow(y), Black(b) #Red, Yellow, Black are the attribute " +"value, `r`, `y`, `b` are the corresponding code\n" +"Size: L (l), XL(x)\n" +"When setting Variant reference mask to `[Color]-[Size]`, the default code on " +"the variants will be something like `r-l` `b-l` `r-x` ...\n" +"If you like, You can even have the attribute name appear more than once in " +"the mask. Such as,`fancyA/[Size]~[Color]~[Size]`\n" +" When saved, the default code on variants will be something like \n" +" `fancyA/l~r~l` (for variant with Color \"Red\" and Size \"L\") `fancyA/" +"x~y~x` (for variant with Color \"Yellow\" and Size \"XL\")\n" +"Note: make sure characters \"[,]\" do not appear in your attribute name" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "" +"Set behaviour of codes. Default: Automask (depends on variant use: see Sales/" +"Purchases configuration)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__variant_default_code_error +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__variant_default_code_error +msgid "Variant Default Code Error" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__reference_mask +msgid "Variant reference mask" +msgstr "Maska sklica variante" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.product_template_only_form_view +msgid "[attribute3]-[attribute1]" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Predloga proizvoda" diff --git a/product_variant_default_code/i18n/tr_TR.po b/product_variant_default_code/i18n/tr_TR.po new file mode 100644 index 000000000..7ae5fa427 --- /dev/null +++ b/product_variant_default_code/i18n/tr_TR.po @@ -0,0 +1,177 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_variant_default_code +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-23 03:56+0000\n" +"PO-Revision-Date: 2017-12-23 03:56+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/" +"tr_TR/)\n" +"Language: tr_TR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__code_prefix +msgid "Add prefix to product variant reference (default code)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute__code +msgid "Attribute Code" +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#: model:ir.model.constraint,message:product_variant_default_code.constraint_product_attribute_number_uniq +#, python-format +msgid "Attribute Name must be unique!" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute_value +msgid "Attribute Value" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute_value__code +msgid "Attribute Value Code" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines how you want to manage the Variant default.\n" +" Check this if you want to use Manual Mask.\n" +" Default: Automask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines the variant \"Reference Prefix\" as the default reference " +"(default_code) of the variant." +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#, python-format +msgid "Found unrecognized attribute name in \"Variant Reference Mask\"" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__default_code +msgid "Internal Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__manual_code +msgid "Manual Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_template +msgid "Product" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute +msgid "Product Attribute" +msgstr "" + +#. module: product_variant_default_code +#: model:res.groups,name:product_variant_default_code.group_product_default_code_manual_mask +msgid "Product Default Code Behavior" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "Product Default Code Manual Mask" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +#, fuzzy +msgid "Product Variants" +msgstr "Ürün şablonu" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__code_prefix +msgid "Reference Prefix" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__prefix_as_default_code +msgid "Reference Prefix as default Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__reference_mask +msgid "" +"Reference mask for building internal references of a variant generated from " +"this template.\n" +"Example:\n" +"A product named ABC with 2 attributes: Size and Color:\n" +"Product: ABC\n" +"Color: Red(r), Yellow(y), Black(b) #Red, Yellow, Black are the attribute " +"value, `r`, `y`, `b` are the corresponding code\n" +"Size: L (l), XL(x)\n" +"When setting Variant reference mask to `[Color]-[Size]`, the default code on " +"the variants will be something like `r-l` `b-l` `r-x` ...\n" +"If you like, You can even have the attribute name appear more than once in " +"the mask. Such as,`fancyA/[Size]~[Color]~[Size]`\n" +" When saved, the default code on variants will be something like \n" +" `fancyA/l~r~l` (for variant with Color \"Red\" and Size \"L\") `fancyA/" +"x~y~x` (for variant with Color \"Yellow\" and Size \"XL\")\n" +"Note: make sure characters \"[,]\" do not appear in your attribute name" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "" +"Set behaviour of codes. Default: Automask (depends on variant use: see Sales/" +"Purchases configuration)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__variant_default_code_error +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__variant_default_code_error +msgid "Variant Default Code Error" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__reference_mask +msgid "Variant reference mask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.product_template_only_form_view +msgid "[attribute3]-[attribute1]" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Ürün şablonu" diff --git a/product_variant_default_code/i18n/vi_VN.po b/product_variant_default_code/i18n/vi_VN.po new file mode 100644 index 000000000..0a285f5ef --- /dev/null +++ b/product_variant_default_code/i18n/vi_VN.po @@ -0,0 +1,177 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_variant_default_code +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-23 03:56+0000\n" +"PO-Revision-Date: 2017-12-23 03:56+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Vietnamese (Viet Nam) (https://www.transifex.com/oca/" +"teams/23907/vi_VN/)\n" +"Language: vi_VN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__code_prefix +msgid "Add prefix to product variant reference (default code)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute__code +msgid "Attribute Code" +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#: model:ir.model.constraint,message:product_variant_default_code.constraint_product_attribute_number_uniq +#, python-format +msgid "Attribute Name must be unique!" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute_value +msgid "Attribute Value" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute_value__code +msgid "Attribute Value Code" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines how you want to manage the Variant default.\n" +" Check this if you want to use Manual Mask.\n" +" Default: Automask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines the variant \"Reference Prefix\" as the default reference " +"(default_code) of the variant." +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#, python-format +msgid "Found unrecognized attribute name in \"Variant Reference Mask\"" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__default_code +msgid "Internal Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__manual_code +msgid "Manual Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_template +msgid "Product" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute +msgid "Product Attribute" +msgstr "" + +#. module: product_variant_default_code +#: model:res.groups,name:product_variant_default_code.group_product_default_code_manual_mask +msgid "Product Default Code Behavior" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "Product Default Code Manual Mask" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +#, fuzzy +msgid "Product Variants" +msgstr "Mẫu sản phẩm" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__code_prefix +msgid "Reference Prefix" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__prefix_as_default_code +msgid "Reference Prefix as default Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__reference_mask +msgid "" +"Reference mask for building internal references of a variant generated from " +"this template.\n" +"Example:\n" +"A product named ABC with 2 attributes: Size and Color:\n" +"Product: ABC\n" +"Color: Red(r), Yellow(y), Black(b) #Red, Yellow, Black are the attribute " +"value, `r`, `y`, `b` are the corresponding code\n" +"Size: L (l), XL(x)\n" +"When setting Variant reference mask to `[Color]-[Size]`, the default code on " +"the variants will be something like `r-l` `b-l` `r-x` ...\n" +"If you like, You can even have the attribute name appear more than once in " +"the mask. Such as,`fancyA/[Size]~[Color]~[Size]`\n" +" When saved, the default code on variants will be something like \n" +" `fancyA/l~r~l` (for variant with Color \"Red\" and Size \"L\") `fancyA/" +"x~y~x` (for variant with Color \"Yellow\" and Size \"XL\")\n" +"Note: make sure characters \"[,]\" do not appear in your attribute name" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "" +"Set behaviour of codes. Default: Automask (depends on variant use: see Sales/" +"Purchases configuration)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__variant_default_code_error +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__variant_default_code_error +msgid "Variant Default Code Error" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__reference_mask +msgid "Variant reference mask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.product_template_only_form_view +msgid "[attribute3]-[attribute1]" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Mẫu sản phẩm" diff --git a/product_variant_default_code/i18n/zh_CN.po b/product_variant_default_code/i18n/zh_CN.po new file mode 100644 index 000000000..0ea39295b --- /dev/null +++ b/product_variant_default_code/i18n/zh_CN.po @@ -0,0 +1,177 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_variant_default_code +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-23 03:56+0000\n" +"PO-Revision-Date: 2017-12-23 03:56+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/" +"zh_CN/)\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__code_prefix +msgid "Add prefix to product variant reference (default code)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute__code +msgid "Attribute Code" +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#: model:ir.model.constraint,message:product_variant_default_code.constraint_product_attribute_number_uniq +#, python-format +msgid "Attribute Name must be unique!" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute_value +msgid "Attribute Value" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_attribute_value__code +msgid "Attribute Value Code" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines how you want to manage the Variant default.\n" +" Check this if you want to use Manual Mask.\n" +" Default: Automask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +msgid "" +"Defines the variant \"Reference Prefix\" as the default reference " +"(default_code) of the variant." +msgstr "" + +#. module: product_variant_default_code +#. odoo-python +#: code:addons/product_variant_default_code/models/product.py:0 +#, python-format +msgid "Found unrecognized attribute name in \"Variant Reference Mask\"" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__default_code +msgid "Internal Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__manual_code +msgid "Manual Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_template +msgid "Product" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_attribute +msgid "Product Attribute" +msgstr "" + +#. module: product_variant_default_code +#: model:res.groups,name:product_variant_default_code.group_product_default_code_manual_mask +msgid "Product Default Code Behavior" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "Product Default Code Manual Mask" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model,name:product_variant_default_code.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.view_general_configuration +#, fuzzy +msgid "Product Variants" +msgstr "产品模板" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__code_prefix +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__code_prefix +msgid "Reference Prefix" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_res_config_settings__prefix_as_default_code +msgid "Reference Prefix as default Reference" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,help:product_variant_default_code.field_product_template__reference_mask +msgid "" +"Reference mask for building internal references of a variant generated from " +"this template.\n" +"Example:\n" +"A product named ABC with 2 attributes: Size and Color:\n" +"Product: ABC\n" +"Color: Red(r), Yellow(y), Black(b) #Red, Yellow, Black are the attribute " +"value, `r`, `y`, `b` are the corresponding code\n" +"Size: L (l), XL(x)\n" +"When setting Variant reference mask to `[Color]-[Size]`, the default code on " +"the variants will be something like `r-l` `b-l` `r-x` ...\n" +"If you like, You can even have the attribute name appear more than once in " +"the mask. Such as,`fancyA/[Size]~[Color]~[Size]`\n" +" When saved, the default code on variants will be something like \n" +" `fancyA/l~r~l` (for variant with Color \"Red\" and Size \"L\") `fancyA/" +"x~y~x` (for variant with Color \"Yellow\" and Size \"XL\")\n" +"Note: make sure characters \"[,]\" do not appear in your attribute name" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,help:product_variant_default_code.field_res_config_settings__group_product_default_code_manual_mask +msgid "" +"Set behaviour of codes. Default: Automask (depends on variant use: see Sales/" +"Purchases configuration)" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__variant_default_code_error +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__variant_default_code_error +msgid "Variant Default Code Error" +msgstr "" + +#. module: product_variant_default_code +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_product__reference_mask +#: model:ir.model.fields,field_description:product_variant_default_code.field_product_template__reference_mask +msgid "Variant reference mask" +msgstr "" + +#. module: product_variant_default_code +#: model_terms:ir.ui.view,arch_db:product_variant_default_code.product_template_only_form_view +msgid "[attribute3]-[attribute1]" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "产品模板" diff --git a/product_variant_default_code/models/__init__.py b/product_variant_default_code/models/__init__.py new file mode 100644 index 000000000..267a23829 --- /dev/null +++ b/product_variant_default_code/models/__init__.py @@ -0,0 +1,5 @@ +# Copyright 2017 Tecnativa - David Vidal +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import product +from . import config_settings diff --git a/product_variant_default_code/models/config_settings.py b/product_variant_default_code/models/config_settings.py new file mode 100644 index 000000000..d16060a09 --- /dev/null +++ b/product_variant_default_code/models/config_settings.py @@ -0,0 +1,25 @@ +# Copyright 2017 Tecnativa - David Vidal +# Copyright 2020 Tecnativa - João Marques +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class BaseConfiguration(models.TransientModel): + _inherit = "res.config.settings" + + group_product_default_code_manual_mask = fields.Boolean( + string="Product Default Code Manual Mask", + default=False, + help="Set behaviour of codes. Default: Automask" + " (depends on variant use: " + "see Sales/Purchases configuration)", + implied_group="product_variant_default_code" + ".group_product_default_code_manual_mask", + ) + + prefix_as_default_code = fields.Boolean( + string="Reference Prefix as default Reference", + default=False, + config_parameter="product_variant_default_code.prefix_as_default_code", + ) diff --git a/product_variant_default_code/models/product.py b/product_variant_default_code/models/product.py new file mode 100644 index 000000000..94ce24873 --- /dev/null +++ b/product_variant_default_code/models/product.py @@ -0,0 +1,271 @@ +# Copyright 2014 AvancOSC - Alfredo de la Fuente +# Copyright 2014 Tecnativa - Pedro M. Baeza +# Copyright 2014 Shine IT - Tony Gu +# Copyright 2017 Tecnativa - David Vidal +# Copyright 2018 Avanzosc S.L. - Daniel Campos +# Copyright 2020 Tecnativa - João Marques +# Copyright 2021 Akretion - Kévin Roche +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import re +from collections import defaultdict +from string import Template + +from odoo import _, api, fields, models +from odoo.exceptions import UserError + + +class ReferenceMask(Template): + pattern = r"""\[(?: + (?P\[) | + (?P[^\]]+?)\] | + (?P[^\]]+?)\] | + (?P) + )""" + + +def extract_token(s): + pattern = re.compile(r"\[([^\]]+?)\]") + return set(pattern.findall(s)) + + +def sanitize_reference_mask(product, mask): + main_lang = product._guess_main_lang() + tokens = extract_token(mask) + attribute_names = set() + for line in product.attribute_line_ids: + attribute_names.add(line.attribute_id.with_context(lang=main_lang).name) + if not tokens.issubset(attribute_names): + raise UserError( + _('Found unrecognized attribute name in "Variant ' 'Reference Mask"') + ) + + +class ProductTemplate(models.Model): + _inherit = "product.template" + + code_prefix = fields.Char( + string="Reference Prefix", + help="Add prefix to product variant reference (default code)", + ) + reference_mask = fields.Char( + string="Variant reference mask", + copy=False, + store=True, + compute="_compute_reference_mask", + inverse="_inverse_reference_mask", + help="Reference mask for building internal references of a " + "variant generated from this template.\n" + "Example:\n" + "A product named ABC with 2 attributes: Size and Color:\n" + "Product: ABC\n" + "Color: Red(r), Yellow(y), Black(b) #Red, Yellow, Black are " + "the attribute value, `r`, `y`, `b` are the corresponding code\n" + "Size: L (l), XL(x)\n" + "When setting Variant reference mask to `[Color]-[Size]`, the " + "default code on the variants will be something like `r-l` " + "`b-l` `r-x` ...\n" + "If you like, You can even have the attribute name appear more" + " than once in the mask. Such as," + "`fancyA/[Size]~[Color]~[Size]`\n" + " When saved, the default code on variants will be " + "something like \n" + ' `fancyA/l~r~l` (for variant with Color "Red" and Size "L") ' + ' `fancyA/x~y~x` (for variant with Color "Yellow" and Size "XL")' + '\nNote: make sure characters "[,]" do not appear in your ' + "attribute name", + ) + + variant_default_code_error = fields.Text( + compute="_compute_variant_default_code_error" + ) + + def is_automask(self): + return bool( + not self.user_has_groups( + "product_variant_default_code.group_product_default_code_manual_mask" + ) + ) + + @api.depends( + "code_prefix", + "attribute_line_ids.value_ids", + "attribute_line_ids.value_ids.code", + "attribute_line_ids.value_ids.name", + ) + def _compute_variant_default_code_error(self): + automask = self.is_automask() + for rec in self: + error_txt = "" + if not rec.code_prefix and automask: + error_txt += "Reference Prefix is missing.\n" + invalid_values = self.attribute_line_ids.value_ids.filtered( + lambda s: not s.code + ) + if invalid_values: + error_txt += ( + "Following attribute value have an empty code :\n- " + + "\n- ".join(invalid_values.mapped("name")) + ) + if error_txt: + error_txt = "Default Code can not be computed.\n" + error_txt + rec.variant_default_code_error = error_txt or False + + @api.depends( + "code_prefix", + "attribute_line_ids", + "attribute_line_ids.attribute_id.name", + ) + def _compute_reference_mask(self): + automask = self.is_automask() + for rec in self: + if rec.default_code and not rec.code_prefix: + rec.code_prefix = rec.default_code + if automask or not rec.reference_mask: + rec.reference_mask = rec._get_default_mask() + elif ( + not automask + and rec.code_prefix + and rec.code_prefix not in rec.reference_mask + ): + rec.reference_mask = rec.code_prefix + rec.reference_mask + + def _inverse_reference_mask(self): + self._compute_reference_mask() + + def _get_default_mask(self): + attribute_names = [] + default_reference_separator = ( + self.env["ir.config_parameter"] + .sudo() + .get_param("default_reference_separator") + or "" + ) + # Get the attribute name in the main lang format, otherwise we could not + # match mask with the proper values + main_lang = self._guess_main_lang() + for line in self.attribute_line_ids: + attribute_names.append( + f"[{line.attribute_id.with_context(lang=main_lang).name}]" + ) + default_mask = (self.code_prefix or "") + default_reference_separator.join( + attribute_names + ) + return default_mask + + @api.model_create_multi + def create(self, vals_list): + for vals in vals_list: + product = self.new(vals) + if ( + not vals.get("reference_mask") + and product.attribute_line_ids + or not self.user_has_groups( + "product_variant_default_code.group_product_default_code_manual_mask" + ) + ): + vals["reference_mask"] = product._get_default_mask() + elif vals.get("reference_mask"): + sanitize_reference_mask(product, vals["reference_mask"]) + return super().create(vals_list) + + @api.model + def _guess_main_lang(self): + """Used by get_rendered_default_code()""" + english = self.env.ref("base.lang_en") + if english.active: + return english.code + else: + # Naive/simple implementation: + # you may inherit to override it in your custom code + # to return the language code of your choice + return self.env["res.lang"].search([], limit=1).code + + @api.depends( + "product_variant_ids", "product_variant_ids.default_code", "code_prefix" + ) + def _compute_default_code(self): + super()._compute_default_code() + if self.env["ir.config_parameter"].get_param("prefix_as_default_code"): + unique_variants = self.filtered( + lambda template: len(template.product_variant_ids) == 1 + ) + for template in self - unique_variants: + template.default_code = template.code_prefix + return True + + +class ProductProduct(models.Model): + _inherit = "product.product" + + manual_code = fields.Boolean(string="Manual Reference", default=False) + default_code = fields.Char( + compute="_compute_default_code", + inverse="_inverse_default_code", + readonly=False, + store=True, + ) + + @api.depends( + "product_tmpl_id.reference_mask", + "product_template_attribute_value_ids.attribute_id.code", + "product_template_attribute_value_ids.product_attribute_value_id.code", + ) + def _compute_default_code(self): + self.env.cr.flush() # https://github.com/odoo/odoo/blob/16.0/odoo/models.py#L5592 + for rec in self: + if not rec.manual_code: + rec.default_code = rec._generate_default_code() + + def _inverse_default_code(self): + for rec in self: + rec.manual_code = bool(rec.default_code) + + def _generate_default_code(self): + value_codes = self.product_tmpl_id.attribute_line_ids.value_ids.mapped("code") + if (not self.code_prefix and self.product_tmpl_id.is_automask()) or not all( + value_codes + ): + return None + else: + product_attrs = defaultdict(str) + reference_mask = ReferenceMask(self.product_tmpl_id.reference_mask) + main_lang = self.product_tmpl_id._guess_main_lang() + for attr in self.product_template_attribute_value_ids: + value = attr.product_attribute_value_id + attr_name = value.attribute_id.with_context(lang=main_lang).name + if value.attribute_id.code: + product_attrs[attr_name] += value.attribute_id.code + if value.code: + product_attrs[attr_name] += value.code + default_code = reference_mask.safe_substitute(product_attrs) + return default_code + + +class ProductAttribute(models.Model): + _inherit = "product.attribute" + + code = fields.Char( + string="Attribute Code", + ) + + _sql_constraints = [ + ("number_uniq", "unique(name)", _("Attribute Name must be unique!")) + ] + + +class ProductAttributeValue(models.Model): + _inherit = "product.attribute.value" + + code = fields.Char( + string="Attribute Value Code", + compute="_compute_code", + readonly=False, + store=True, + ) + + @api.depends("code", "name") + def _compute_code(self): + for rec in self: + if rec.name and not rec.code: + rec.code = rec.name[:2] diff --git a/product_variant_default_code/pyproject.toml b/product_variant_default_code/pyproject.toml new file mode 100644 index 000000000..4231d0ccc --- /dev/null +++ b/product_variant_default_code/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/product_variant_default_code/readme/CONFIGURATION.rst b/product_variant_default_code/readme/CONFIGURATION.rst new file mode 100644 index 000000000..e69de29bb diff --git a/product_variant_default_code/readme/CONTRIBUTORS.md b/product_variant_default_code/readme/CONTRIBUTORS.md new file mode 100644 index 000000000..93e848773 --- /dev/null +++ b/product_variant_default_code/readme/CONTRIBUTORS.md @@ -0,0 +1,11 @@ +- Alfredo de la Fuente \<\> +- Tony Gu \<\> +- David Beal \<\> +- Daniel Campos \<\> +- Kévin Roche \<\> +- Tecnativa \: + - David Vidal + - Pedro M. Baeza + - João Marques +- [360ERP](https://www.360erp.com): + - Andrea Stirpe diff --git a/product_variant_default_code/readme/DESCRIPTION.md b/product_variant_default_code/readme/DESCRIPTION.md new file mode 100644 index 000000000..6fd1f275b --- /dev/null +++ b/product_variant_default_code/readme/DESCRIPTION.md @@ -0,0 +1,16 @@ +This module automatically generate Product Reference (default_code) +according to attributes data with a configurable behavior. + +It defines a reference mask on the product templates so the variants +references are automatically set. For example: + +- Product template: Jacket +- Attributes: + - Color: White, Black + - Size: M, L +- Reference mask: JKT01-\[Color\]-\[Size\] +- Reference on variants: + - JKT01-Wh-M Jacket White M + - JKT01-Bl-M Jacket Black M + - JKT01-Wh-L Jacket White L + - JKT01-Bl-L Jacket Black L diff --git a/product_variant_default_code/readme/ROADMAP.md b/product_variant_default_code/readme/ROADMAP.md new file mode 100644 index 000000000..eb87f2edb --- /dev/null +++ b/product_variant_default_code/readme/ROADMAP.md @@ -0,0 +1 @@ +- In case of attribute name update, related mask are not updated. diff --git a/product_variant_default_code/readme/USAGE.md b/product_variant_default_code/readme/USAGE.md new file mode 100644 index 000000000..74c81e182 --- /dev/null +++ b/product_variant_default_code/readme/USAGE.md @@ -0,0 +1,50 @@ +To set the reference mask up on any product template 'Variant reference +mask' new field. + +When creating a new product template without specifying the *Variant +reference mask*, a default value for *Variant reference mask* will be +automatically generated according to the attribute line settings on the +product template (if any). The mask will then be used as an instruction +to generate default code of each product variant of the product template +with the corresponding *Attribute Code* (of the attribute value) +inserted. Besides the default value, *Variant reference mask* can be +configured to your liking, make sure putting the *Attribute Name* inside +\[\] marks (it is case sensitive). + +Example: + +Creating a product named *Jacket* with two attributes, *Size* and +*Color*: + + Product: Jacket + Color: Black(Bl), White(Wh) # Black and White are the attribute values; + 'Bl' and 'Wh' are the corresponding codes + Size: L (L), XL(XL) + +The automatically generated default value for the Variant reference mask +will be \[Color\]-\[Size\] and so the 'default code' on the variants +will be Bl-L, Wh-L, Bl-XL and Wh-XL. + +The mask value can be fully customized whatever you like. You can even +have the attribute name appear more than once in the mask such as, +Jacket/\[Size\]~\[Color\]~\[Size\], and the generated code on variants +will be something like Jacket/L~Bl~L (for variant with Color "Black" and +Size "L"). + +When the code attribute is changed, it automatically regenerates the +'default code' on all variants affected. + +Aditionally, a product attribute can be set and so it will be appended +to the product default_code. In the first example, setting a Color code +to CO would give default_code like this: COBl-L, COWh-L, COBl-XL and +COWh-XL. + +## Avoiding mask in variants + +You can avoid this behavior or force a manual default_code on variant. +To do so, go to *Product Variants \> \[any variant you want to set up\]* +and set manually its reference code. The field manual code will be set +to on and the variant internal reference will no longer be changed by +this module. + +Unset manual code and the reference code will be unlocked again. diff --git a/product_variant_default_code/security/product_security.xml b/product_variant_default_code/security/product_security.xml new file mode 100644 index 000000000..024d46a5d --- /dev/null +++ b/product_variant_default_code/security/product_security.xml @@ -0,0 +1,7 @@ + + + + Product Default Code Behavior + + + diff --git a/product_variant_default_code/static/description/icon.png b/product_variant_default_code/static/description/icon.png new file mode 100644 index 000000000..3a0328b51 Binary files /dev/null and b/product_variant_default_code/static/description/icon.png differ diff --git a/product_variant_default_code/static/description/index.html b/product_variant_default_code/static/description/index.html new file mode 100644 index 000000000..93791f776 --- /dev/null +++ b/product_variant_default_code/static/description/index.html @@ -0,0 +1,512 @@ + + + + + + +Product Variant Default Code + + + +
+

Product Variant Default Code

+ + +

Beta License: AGPL-3 OCA/product-variant Translate me on Weblate Try me on Runboat

+

This module automatically generate Product Reference (default_code) +according to attributes data with a configurable behavior.

+

It defines a reference mask on the product templates so the variants +references are automatically set. For example:

+
    +
  • Product template: Jacket
  • +
  • Attributes:
      +
    • Color: White, Black
    • +
    • Size: M, L
    • +
    +
  • +
  • Reference mask: JKT01-[Color]-[Size]
  • +
  • Reference on variants:
      +
    • JKT01-Wh-M Jacket White M
    • +
    • JKT01-Bl-M Jacket Black M
    • +
    • JKT01-Wh-L Jacket White L
    • +
    • JKT01-Bl-L Jacket Black L
    • +
    +
  • +
+

Table of contents

+ +
+

Usage

+

To set the reference mask up on any product template ‘Variant reference +mask’ new field.

+

When creating a new product template without specifying the Variant +reference mask, a default value for Variant reference mask will be +automatically generated according to the attribute line settings on the +product template (if any). The mask will then be used as an instruction +to generate default code of each product variant of the product template +with the corresponding Attribute Code (of the attribute value) +inserted. Besides the default value, Variant reference mask can be +configured to your liking, make sure putting the Attribute Name inside +[] marks (it is case sensitive).

+

Example:

+

Creating a product named Jacket with two attributes, Size and +Color:

+
+Product: Jacket
+Color: Black(Bl), White(Wh) # Black and White are the attribute values;
+                              'Bl' and 'Wh' are the corresponding codes
+Size: L (L), XL(XL)
+
+

The automatically generated default value for the Variant reference mask +will be [Color]-[Size] and so the ‘default code’ on the variants will be +Bl-L, Wh-L, Bl-XL and Wh-XL.

+

The mask value can be fully customized whatever you like. You can even +have the attribute name appear more than once in the mask such as, +Jacket/[Size]~[Color]~[Size], and the generated code on variants will be +something like Jacket/L~Bl~L (for variant with Color “Black” and Size +“L”).

+

When the code attribute is changed, it automatically regenerates the +‘default code’ on all variants affected.

+

Aditionally, a product attribute can be set and so it will be appended +to the product default_code. In the first example, setting a Color code +to CO would give default_code like this: COBl-L, COWh-L, COBl-XL and +COWh-XL.

+
+

Avoiding mask in variants

+

You can avoid this behavior or force a manual default_code on variant. +To do so, go to Product Variants > [any variant you want to set up] +and set manually its reference code. The field manual code will be set +to on and the variant internal reference will no longer be changed by +this module.

+

Unset manual code and the reference code will be unlocked again.

+
+
+
+

Known issues / Roadmap

+
    +
  • In case of attribute name update, related mask are not updated.
  • +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • AvancOSC
  • +
  • Shine IT
  • +
  • Tecnativa
  • +
  • Akretion
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

Current maintainer:

+

Kev-Roche

+

This module is part of the OCA/product-variant project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/product_variant_default_code/tests/__init__.py b/product_variant_default_code/tests/__init__.py new file mode 100644 index 000000000..d8bd61891 --- /dev/null +++ b/product_variant_default_code/tests/__init__.py @@ -0,0 +1 @@ +from . import test_variant_default_code diff --git a/product_variant_default_code/tests/test_variant_default_code.py b/product_variant_default_code/tests/test_variant_default_code.py new file mode 100644 index 000000000..3b7c21f23 --- /dev/null +++ b/product_variant_default_code/tests/test_variant_default_code.py @@ -0,0 +1,384 @@ +# Copyright 2017 Tecnativa - David Vidal +# Copyright 2020-2021 Tecnativa - João Marques +# Copyright 2021 Akretion - Kévin Roche +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo.exceptions import UserError +from odoo.tests.common import TransactionCase + + +class TestVariantDefaultCode(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.group_default_code = cls.env.ref( + "product_variant_default_code.group_product_default_code_manual_mask" + ) + cls.attr1 = cls.env["product.attribute"].create( + { + "name": "TSize", + "sequence": 0, + } + ) + cls.attr2 = cls.env["product.attribute"].create( + { + "name": "TColor", + "sequence": 1, + } + ) + cls.attr1_1 = cls.env["product.attribute.value"].create( + {"name": "L", "attribute_id": cls.attr1.id} + ) + cls.attr1_2 = cls.env["product.attribute.value"].create( + {"name": "XL", "attribute_id": cls.attr1.id} + ) + cls.attr2_1 = cls.env["product.attribute.value"].create( + {"name": "Red", "attribute_id": cls.attr2.id} + ) + cls.attr2_2 = cls.env["product.attribute.value"].create( + {"name": "Green", "attribute_id": cls.attr2.id} + ) + cls.template1 = cls.env["product.template"].create( + { + "name": "Jacket", + "code_prefix": "prefix/", + "attribute_line_ids": [ + ( + 0, + 0, + { + "attribute_id": cls.attr1.id, + "value_ids": [(6, 0, [cls.attr1_1.id, cls.attr1_2.id])], + }, + ), + ( + 0, + 0, + { + "attribute_id": cls.attr2.id, + "value_ids": [(6, 0, [cls.attr2_1.id, cls.attr2_2.id])], + }, + ), + ], + } + ) + + def test_01_check_default_codes(self): + # As no mask was set, a default one should be: + self.assertEqual(self.template1.reference_mask, "prefix/[TSize]-[TColor]") + # Check that variants code are generated according to rules + for product in self.template1.mapped("product_variant_ids"): + expected_code = ( + self.template1.code_prefix + + product.product_template_attribute_value_ids.filtered( + lambda x: x.product_attribute_value_id.attribute_id == self.attr1 + ).name[0:2] + + "-" + + product.product_template_attribute_value_ids.filtered( + lambda x: x.product_attribute_value_id.attribute_id == self.attr2 + ).name[0:2] + ) + self.assertEqual(product.default_code, expected_code) + + def test_02_check_default_codes_preexistent_mask(self): + self.env.user.groups_id |= self.group_default_code + # Second template with custom reference mask must be created with correct + # user permissions + template2 = self.template1.copy( + { + "name": "Pants", + "reference_mask": "P01/[TSize][TColor]", + } + ) + for product in template2.mapped("product_variant_ids"): + expected_code = ( + "P01/" + + product.product_template_attribute_value_ids.filtered( + lambda x: x.product_attribute_value_id.attribute_id == self.attr1 + ).name[0:2] + + product.product_template_attribute_value_ids.filtered( + lambda x: x.product_attribute_value_id.attribute_id == self.attr2 + ).name[0:2] + ) + self.assertEqual(product.default_code, expected_code) + + def test_03_reset_reference_mask_to_default(self): + # Erase the previous mask: 'P01/[TSize][TColor]' + self.template1.reference_mask = "" + # Mask is set to default now: + self.assertEqual(self.template1.reference_mask, "prefix/[TSize]-[TColor]") + + def test_04_custom_reference_mask(self): + self.env.user.groups_id |= self.group_default_code + self.template1.reference_mask = "JKTÜ/[TColor]#[TSize]" + for product in self.template1.mapped("product_variant_ids"): + expected_code = ( + self.template1.code_prefix + + "JKTÜ/" + + product.product_template_attribute_value_ids.filtered( + lambda x: x.product_attribute_value_id.attribute_id == self.attr2 + ).name[0:2] + + "#" + + product.product_template_attribute_value_ids.filtered( + lambda x: x.product_attribute_value_id.attribute_id == self.attr1 + ).name[0:2] + ) + self.assertEqual(product.default_code, expected_code) + + def test_05_manual_code(self): + self.env.user.groups_id |= self.group_default_code + self.assertEqual(self.template1.product_variant_ids[0].manual_code, False) + self.template1.product_variant_ids[0].default_code = "CANT-TOUCH-THIS" + self.assertEqual(self.template1.product_variant_ids[0].manual_code, True) + # Set a reference mask and check the other variants are changed + self.template1.reference_mask = "J[TColor][TSize]" + for product in self.template1.mapped("product_variant_ids")[1:]: + expected_code = ( + self.template1.code_prefix + + "J" + + product.product_template_attribute_value_ids.filtered( + lambda x: x.product_attribute_value_id.attribute_id == self.attr2 + ).name[0:2] + + product.product_template_attribute_value_ids.filtered( + lambda x: x.product_attribute_value_id.attribute_id == self.attr1 + ).name[0:2] + ) + self.assertEqual(product.default_code, expected_code) + # But this one isn't: + self.assertEqual( + self.template1.product_variant_ids[0].default_code, "CANT-TOUCH-THIS" + ) + + def test_06_attribute_value_code_change_propagation(self): + self.attr1_1.code = "OO" + # Check that the change spreads to every product + products = self.env["product.product"].search( + [ + ( + "product_template_attribute_value_ids.product_attribute_value_id", + "=", + self.attr1_1.id, + ) + ] + ) + for product in products: + self.assertTrue("OO" in product.default_code) + + def test_07_attribute_value_name_change(self): + """Only set a default code if it wasn't set""" + self.attr1_1.name = "New Name" + self.assertEqual(self.attr1_1.code, "L") + products = self.env["product.product"].search( + [ + ( + "product_template_attribute_value_ids.product_attribute_value_id", + "=", + self.attr1_1.id, + ) + ] + ) + # Check that the code persists + for product in products: + self.assertTrue("L" in product.default_code) + # Otherwise, if there's no code a default value is set + self.attr1_1.code = False + self.attr1_1.name = "Odoo" + self.assertEqual(self.attr1_1.code, "Od") + for product in products: + self.assertTrue("Od" in product.default_code) + + def test_08_sanitize_exception(self): + self.env.user.groups_id |= self.group_default_code + with self.assertRaises(UserError): + self.env["product.template"].create( + { + "name": "Shirt", + "attribute_line_ids": [ + ( + 0, + 0, + { + "attribute_id": self.attr1.id, + "value_ids": [(6, 0, [self.attr1_1.id])], + }, + ), + ], + "reference_mask": "FAIL:[TSize][TWrongAttr]", + } + ) + + def test_09_code_change_propagation(self): + self.attr1.code = "AC" + # Check that the change spreads to every product + for product in ( + self.attr1.mapped("attribute_line_ids") + .mapped("product_tmpl_id") + .mapped("product_variant_ids") + ): + self.assertTrue("AC" in product.default_code) + + self.attr1_1.code = ":-)" + self.assertTrue(":-)" in self.template1.product_variant_ids[0].default_code) + + def test_10_code_change_propagation_archived_variant(self): + self.template1.product_variant_ids[0].active = False + self.attr1.code = "o_o" + self.assertTrue("o_o" in self.template1.product_variant_ids[0].default_code) + self.attr1_1.code = "^_^" + self.assertTrue("^_^" in self.template1.product_variant_ids[0].default_code) + + def test_11_prefix_code_as_default_code_by_default(self): + self.assertFalse(self.template1.default_code) + self.env["ir.config_parameter"].set_param("prefix_as_default_code", True) + self.template1.code_prefix = "prefix_code" + self.assertTrue(self.template1.default_code, self.template1.code_prefix) + + def test_12_prefix_change(self): + for product in self.template1.mapped("product_variant_ids"): + expected_code = ( + self.template1.code_prefix + + product.product_template_attribute_value_ids.filtered( + lambda x: x.product_attribute_value_id.attribute_id == self.attr1 + ).name[0:2] + + "-" + + product.product_template_attribute_value_ids.filtered( + lambda x: x.product_attribute_value_id.attribute_id == self.attr2 + ).name[0:2] + ) + self.assertEqual(product.default_code, expected_code) + + def test_13_new_attribute(self): + self.assertEqual(self.template1.reference_mask, "prefix/[TSize]-[TColor]") + self.assertEqual(len(self.template1.mapped("product_variant_ids")), 4) + + self.attr3 = self.env["product.attribute"].create({"name": "TCollection"}) + self.attr3_1 = self.env["product.attribute.value"].create( + {"name": "New", "attribute_id": self.attr3.id} + ) + self.attr3_2 = self.env["product.attribute.value"].create( + {"name": "Old", "attribute_id": self.attr3.id} + ) + + self.template1.write( + { + "attribute_line_ids": [ + ( + 0, + 0, + { + "attribute_id": self.attr3.id, + "value_ids": [(6, 0, [self.attr3_1.id, self.attr3_2.id])], + }, + ), + ] + } + ) + + self.assertEqual( + self.template1.reference_mask, "prefix/[TSize]-[TColor]-[TCollection]" + ) + self.assertEqual(len(self.template1.mapped("product_variant_ids")), 8) + + for product in self.template1.mapped("product_variant_ids"): + expected_code = ( + self.template1.code_prefix + + product.product_template_attribute_value_ids.filtered( + lambda x: x.product_attribute_value_id.attribute_id == self.attr1 + ).name[0:2] + + "-" + + product.product_template_attribute_value_ids.filtered( + lambda x: x.product_attribute_value_id.attribute_id == self.attr2 + ).name[0:2] + + "-" + + product.product_template_attribute_value_ids.filtered( + lambda x: x.product_attribute_value_id.attribute_id == self.attr3 + ).name[0:2] + ) + self.assertEqual(product.default_code, expected_code) + + def test_14_rename_attribute(self): + self.assertEqual(self.template1.reference_mask, "prefix/[TSize]-[TColor]") + self.attr1.name = "TNewSize" + self.assertEqual(self.template1.reference_mask, "prefix/[TNewSize]-[TColor]") + + def test_15_sequence_change(self): + self.assertEqual(self.template1.reference_mask, "prefix/[TSize]-[TColor]") + self.attr1.sequence = 1 + self.attr2.sequence = 0 + self.template1.reference_mask = "prefix/[TColor]-[TSize]" + self.template1.write({"name": "New"}) + self.assertEqual(self.template1.reference_mask, "prefix/[TColor]-[TSize]") + + def test_16_missing_prefix(self): + self.template1.code_prefix = None + for product in self.template1.mapped("product_variant_ids"): + self.assertFalse(product.default_code) + expected_error = ( + "Default Code can not be computed.\nReference Prefix is missing.\n" + ) + self.assertEqual(self.template1.variant_default_code_error, expected_error) + + def test_17_missing_attribute_value_code(self): + self.assertEqual( + len( + list( + filter( + None, self.template1.product_variant_ids.mapped("default_code") + ) + ) + ), + 4, + ) + # 1 missing value code + self.attr1_2.code = "" + self.assertEqual( + len( + list( + filter( + None, self.template1.product_variant_ids.mapped("default_code") + ) + ) + ), + 2, + ) + expected_error = "Default Code can not be computed.\n" + expected_error += "Following attribute value have an empty code :\n" + expected_error += "- XL" + self.assertEqual(self.template1.variant_default_code_error, expected_error) + # 2 missing value codes + self.attr2_2.code = "" + expected_error += "\n- Green" + self.assertEqual( + len( + list( + filter( + None, self.template1.product_variant_ids.mapped("default_code") + ) + ) + ), + 1, + ) + self.assertEqual(self.template1.variant_default_code_error, expected_error) + + def test_18_both_prefix_and_mask_changing(self): + self.env.user.groups_id |= self.group_default_code + self.template1.write( + { + "code_prefix": "pre/", + "reference_mask": "fix-[TColor]/[TSize]", + } + ) + + for product in self.template1.mapped("product_variant_ids"): + expected_code = ( + self.template1.code_prefix + + "fix-" + + product.product_template_attribute_value_ids.filtered( + lambda x: x.product_attribute_value_id.attribute_id == self.attr2 + ).name[0:2] + + "/" + + product.product_template_attribute_value_ids.filtered( + lambda x: x.product_attribute_value_id.attribute_id == self.attr1 + ).name[0:2] + ) + self.assertEqual(product.default_code, expected_code) diff --git a/product_variant_default_code/views/config_settings_view.xml b/product_variant_default_code/views/config_settings_view.xml new file mode 100644 index 000000000..df6aa7025 --- /dev/null +++ b/product_variant_default_code/views/config_settings_view.xml @@ -0,0 +1,23 @@ + + + + res.config.settings + + + + + + + + + + + + + + + diff --git a/product_variant_default_code/views/product_attribute_view.xml b/product_variant_default_code/views/product_attribute_view.xml new file mode 100644 index 000000000..f4faaebb6 --- /dev/null +++ b/product_variant_default_code/views/product_attribute_view.xml @@ -0,0 +1,41 @@ + + + + + product.attribute + + + + + + + + + product.attribute + + + + + + + + + product.attribute + + + + + + + + + + + diff --git a/product_variant_default_code/views/product_view.xml b/product_variant_default_code/views/product_view.xml new file mode 100644 index 000000000..f2c3e45dd --- /dev/null +++ b/product_variant_default_code/views/product_view.xml @@ -0,0 +1,44 @@ + + + + product.template + + + + + + + + + + + + + product.product + + + + + + + + + product.product + + + + + + + +