diff --git a/lighting/__manifest__.py b/lighting/__manifest__.py index 91eea860..d16c9b6b 100644 --- a/lighting/__manifest__.py +++ b/lighting/__manifest__.py @@ -60,5 +60,8 @@ "data/lighting_data.xml", "data/lighting_product_ral_data.xml", ], + "external_dependencies": { + "python": ["openupgradelib"], + }, "application": True, } diff --git a/lighting/i18n/es.po b/lighting/i18n/es.po index b51892f7..52538005 100644 --- a/lighting/i18n/es.po +++ b/lighting/i18n/es.po @@ -762,6 +762,7 @@ msgstr "Cerrar" #: model_terms:ir.ui.view,arch_db:lighting.product_family_search_view #: model_terms:ir.ui.view,arch_db:lighting.product_finish_form_view #: model_terms:ir.ui.view,arch_db:lighting.product_ral_form_view +#: model:ir.model.fields,field_description:lighting.field_lighting_catalog__code msgid "Code" msgstr "Código" @@ -5327,8 +5328,9 @@ msgstr "" #. module: lighting #: model:ir.model.fields,field_description:lighting.field_lighting_product__uom_id +#: model:ir.model.fields,field_description:lighting.field_lighting_dimension_type__uom_id msgid "Unit of Measure" -msgstr "" +msgstr "Unidad de medida" #. module: lighting #: model:ir.model.fields,field_description:lighting.field_lighting_product__uom_name diff --git a/lighting/i18n/fr.po b/lighting/i18n/fr.po index 35de9f41..c134eacb 100644 --- a/lighting/i18n/fr.po +++ b/lighting/i18n/fr.po @@ -758,6 +758,7 @@ msgstr "Fermer" #: model_terms:ir.ui.view,arch_db:lighting.product_family_search_view #: model_terms:ir.ui.view,arch_db:lighting.product_finish_form_view #: model_terms:ir.ui.view,arch_db:lighting.product_ral_form_view +#: model:ir.model.fields,field_description:lighting.field_lighting_catalog__code msgid "Code" msgstr "Code" @@ -5326,8 +5327,9 @@ msgstr "" #. module: lighting #: model:ir.model.fields,field_description:lighting.field_lighting_product__uom_id +#: model:ir.model.fields,field_description:lighting.field_lighting_dimension_type__uom_id msgid "Unit of Measure" -msgstr "" +msgstr "Unité de measure" #. module: lighting #: model:ir.model.fields,field_description:lighting.field_lighting_product__uom_name diff --git a/lighting/i18n/pt.po b/lighting/i18n/pt.po index 093d9fce..921e2a83 100644 --- a/lighting/i18n/pt.po +++ b/lighting/i18n/pt.po @@ -442,6 +442,7 @@ msgstr "Perto" #: model:ir.ui.view,arch_db:lighting.product_finish_form_view #: model:ir.model.fields,field_description:lighting.field_lighting_product_special_spectrum_code #: model:ir.model.fields,field_description:lighting.field_lighting_product_family_code +#: model:ir.model.fields,field_description:lighting.field_lighting_catalog__code msgid "Code" msgstr "Código" @@ -2776,6 +2777,12 @@ msgstr "Tipos" msgid "Categories" msgstr "Categorias" +#. module: lighting +#: model:ir.model.fields,field_description:lighting.field_lighting_dimension_type__uom_id +#: model:ir.model.fields,field_description:lighting.field_lighting_product__uom_id +msgid "Unit of Measure" +msgstr "Unidade de medida" + #. module: lighting #: model:ir.model.fields,field_description:lighting.field_lighting_product_category_id #: model:ir.ui.view,arch_db:lighting.lighting_product_view diff --git a/lighting/models/product_catalog.py b/lighting/models/product_catalog.py index e8d66d1c..39217b0e 100644 --- a/lighting/models/product_catalog.py +++ b/lighting/models/product_catalog.py @@ -19,6 +19,7 @@ class LightingCatalog(models.Model): string="Catalog", required=True, ) + code = fields.Char(required=True, tracking=True) description_show_ip = fields.Boolean( string="Description show IP", help="If checked, IP and IP2 will be shown on a generated product description " diff --git a/lighting/models/product_dimension_type.py b/lighting/models/product_dimension_type.py index 3f5d4bbd..0872c85c 100644 --- a/lighting/models/product_dimension_type.py +++ b/lighting/models/product_dimension_type.py @@ -20,6 +20,10 @@ class LightingDimensionType(models.Model): uom = fields.Char( help="Unit of measure", ) + uom_id = fields.Many2one( + comodel_name="uom.uom", + string="Unit of Measure", + ) description = fields.Char( string="Internal description", ) diff --git a/lighting/static/description/index.html b/lighting/static/description/index.html index 93f3bb4f..e8c6a615 100644 --- a/lighting/static/description/index.html +++ b/lighting/static/description/index.html @@ -8,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -274,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -300,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { diff --git a/lighting/views/product_catalog_views.xml b/lighting/views/product_catalog_views.xml index ee224079..913913e4 100644 --- a/lighting/views/product_catalog_views.xml +++ b/lighting/views/product_catalog_views.xml @@ -20,6 +20,7 @@ lighting.catalog + + @@ -70,6 +72,7 @@ + + diff --git a/lighting/views/product_dimension_type_views.xml b/lighting/views/product_dimension_type_views.xml index 76f7a0f5..835a9f83 100644 --- a/lighting/views/product_dimension_type_views.xml +++ b/lighting/views/product_dimension_type_views.xml @@ -44,6 +44,7 @@ + diff --git a/lighting_export_bmecat/README.rst b/lighting_export_bmecat/README.rst new file mode 100644 index 00000000..f4d6fa81 --- /dev/null +++ b/lighting_export_bmecat/README.rst @@ -0,0 +1,62 @@ +====================== +Lighting Export BMEcat +====================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:3c4da51cf6c645b6074d760f70a7b95c24bf6a15a9ae55d8162730670e9a1987 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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-NuoBiT%2Flighting--vertical-lightgray.png?logo=github + :target: https://github.com/NuoBiT/lighting-vertical/tree/16.0/lighting_export_bmecat + :alt: NuoBiT/lighting-vertical + +|badge1| |badge2| |badge3| + +This module adds the function generate_generic_name for display names models + +**Table of contents** + +.. contents:: + :local: + +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 +~~~~~~~ + +* NuoBiT Solutions SL + +Contributors +~~~~~~~~~~~~ + +* `NuoBiT `__: + + * Frank Cespedes + +Maintainers +~~~~~~~~~~~ + +This module is part of the `NuoBiT/lighting-vertical `_ project on GitHub. + +You are welcome to contribute. diff --git a/lighting_export_bmecat/__init__.py b/lighting_export_bmecat/__init__.py new file mode 100644 index 00000000..0650744f --- /dev/null +++ b/lighting_export_bmecat/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/lighting_export_bmecat/__manifest__.py b/lighting_export_bmecat/__manifest__.py new file mode 100644 index 00000000..bb6afea3 --- /dev/null +++ b/lighting_export_bmecat/__manifest__.py @@ -0,0 +1,25 @@ +# Copyright NuoBiT Solutions - Frank Cespedes +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) +{ + "name": "Lighting Export BMEcat", + "version": "16.0.1.0.0", + "author": "NuoBiT Solutions SL", + "license": "AGPL-3", + "category": "Lighting", + "website": "https://github.com/NuoBiT/lighting-vertical", + "depends": ["lighting", "report_xml", "queue_job", "mail"], + "data": [ + "security/ir.model.access.csv", + "security/lighting_bmecat_rule.xml", + "data/mime_codes_data.xml", + "data/packing_units_data.xml", + "views/queue_job_views.xml", + "views/lighting_export_bmecat_views.xml", + "views/lighting_bmecat_config_views.xml", + "views/product_catalog_views.xml", + "views/report_bmecat.xml", + ], + "external_dependencies": { + "python": ["pycountry"], + }, +} diff --git a/lighting_export_bmecat/data/BMEcat_ETIM_5.0/bmecat_etim_501.xsd b/lighting_export_bmecat/data/BMEcat_ETIM_5.0/bmecat_etim_501.xsd new file mode 100644 index 00000000..94964fe6 --- /dev/null +++ b/lighting_export_bmecat/data/BMEcat_ETIM_5.0/bmecat_etim_501.xsd @@ -0,0 +1,2575 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lighting_export_bmecat/data/mime_codes_data.xml b/lighting_export_bmecat/data/mime_codes_data.xml new file mode 100644 index 00000000..a4532aa6 --- /dev/null +++ b/lighting_export_bmecat/data/mime_codes_data.xml @@ -0,0 +1,275 @@ + + + + MD01 + MD01 - Product picture + + + MD02 + MD02 - Similar figure + + + MD03 + MD03 - Safety data sheet + + + MD04 + MD04 - Deeplink product page + + + MD05 + MD05 - Declaration REACH + + + MD06 + MD06 - Energy label + + + MD07 + MD07 - Product data sheet for energy label + + + MD08 + MD08 - Calibration certificate + + + MD09 + MD09 - Certificate + + + MD10 + MD10 - Circuit diagram + + + MD11 + MD11 - Construction Products Regulation + + + MD12 + MD12 - Dimensioned drawing + + + MD13 + MD13 - Environment label + + + MD14 + MD14 - Instructions for use + + + MD15 + MD15 - Light cone diagram + + + MD16 + MD16 - Light Distribution Curve + + + MD17 + MD17 - Logo 1c + + + MD18 + MD18 - Logo 4c + + + MD19 + MD19 - Luminaire data + + + MD20 + MD20 - Ambient picture + + + MD21 + MD21 - Mounting instruction + + + MD22 + MD22 - Product data sheet + + + MD23 + MD23 - Product picture back view + + + MD24 + MD24 - Product picture bottom view + + + MD25 + MD25 - Product picture detailed view + + + MD26 + MD26 - Product picture front view + + + MD27 + MD27 - Product picture sloping + + + MD28 + MD28 - Product picture top view + + + MD29 + MD29 - Product picture view from the left side + + + MD30 + MD30 - Product picture view from the right side + + + MD31 + MD31 - Seal of approval + + + MD32 + MD32 - Technical information + + + MD33 + MD33 - Test approval + + + MD34 + MD34 - Wiring diagram + + + MD35 + MD35 - Supplier’s declaration for products having preferential origin status + + + MD37 + MD37 - 3D / BIM object + + + MD38 + MD38 - Management, operation and maintenance document + + + MD39 + MD39 - Instructional video + + + MD40 + MD40 - Spare parts list + + + MD41 + MD41 - Sales brochure + + + MD42 + MD42 - AVCP certificate (Assessment and Verification of Constancy of Performance) + + + MD43 + MD43 - CLP (Classification, Labelling and Packaging) + + + MD44 + MD44 - ECOP (Environmental Code of Practice) + + + MD45 + MD45 - Product video + + + MD46 + MD46 - 360° view + + + MD47 + MD47 - Thumbnail of Product picture (MD01) + + + MD48 + MD48 - Pictogram/Icon + + + MD49 + MD49 - Declaration RoHS + + + MD50 + MD50 - Declaration CoC (Certificate of Conformity, requested for CPR) + + + MD51 + MD51 - Declaration DOP (Declaration of performance) + + + MD52 + MD52 - Declaration DOC CE (Declaration of conformity CE) + + + MD53 + MD53 - Declaration BREEAM + + + MD54 + MD54 - Declaration EPD (Environmental Product Declaration) + + + MD55 + MD55 - Declaration ETA (European Technical Assessment) + + + MD56 + MD56 - Declaration warranty (Warranty statement) + + + MD57 + MD57 - Application video + + + MD58 + MD58 - Question and Answer (Q&A video) + + + MD59 + MD59 - Product picture square format + + + MD60 + MD60 - Exploded view drawing + + + MD61 + MD61 - Flowchart + + + MD62 + MD62 - Product presentation + + + MD63 + MD63 - Specification text + + + MD64 + MD64 - Line drawing + + + MD65 + MD65 - Product family view + + + MD99 + MD99 - Others + + diff --git a/lighting_export_bmecat/data/packing_units_data.xml b/lighting_export_bmecat/data/packing_units_data.xml new file mode 100644 index 00000000..c17a45bc --- /dev/null +++ b/lighting_export_bmecat/data/packing_units_data.xml @@ -0,0 +1,234 @@ + + + + BE + BE - Bundle + + + BG + BG - Bag + + + BO + BO - Bottle + + + BX + BX - Box + + + C62 + C62 - One (unit) + + + CA + CA - Can + + + CL + CL - Coil + + + CQ + CQ - Cartridge + + + CR + CR - Crate + + + CS + CS - Case + + + CT + CT - Carton + + + CY + CY - Cylinder + + + D99 + D99 - Sleeve + + + DR + DR - Drum + + + EV + EV - Envelope + + + KG + KG - Keg + + + NE + NE - Unpacked * + + + PA + PA - Packet + + + PF + PF - Pallet (lift) + + + PK + PK - Pack + + + PL + PL - Pail + + + PR + PR - Pair + + + PU + PU - Tray / tray pack + + + RG + RG - Ring + + + RL + RL - Reel + + + RO + RO - Roll + + + SA + SA - Sack + + + SET + SET - Set + + + TN + TN - Tin + + + TU + TU - Tube + + + WR + WR - Wrap + + + Z2 + Z2 - Chest + + + Z3 + Z3 - Cask + + diff --git a/lighting_export_bmecat/i18n/es.po b/lighting_export_bmecat/i18n/es.po new file mode 100644 index 00000000..13fd5e70 --- /dev/null +++ b/lighting_export_bmecat/i18n/es.po @@ -0,0 +1,822 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * lighting_export_bmecat +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-03-03 16:37+0000\n" +"PO-Revision-Date: 2025-03-03 16:37+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_export_bmecat_view_form +msgid "000.000" +msgstr "" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.bmecat_catalog_product +msgid "36" +msgstr "" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.bmecat_header +msgid "5.0" +msgstr "" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_needaction +msgid "Action Needed" +msgstr "Acción requerida" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_ids +msgid "Activities" +msgstr "Actividades" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Decoración de excepción de actividad" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_state +msgid "Activity State" +msgstr "Estado de la actividad" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_type_icon +msgid "Activity Type Icon" +msgstr "Icono del tipo de actividad" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__attachment_id +msgid "Attachment" +msgstr "Adjunto" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_attachment_count +msgid "Attachment Count" +msgstr "Número de adjuntos" + +#. module: lighting_export_bmecat +#: model:ir.actions.act_window,name:lighting_export_bmecat.lighting_bmecat_config_action +#: model:ir.ui.menu,name:lighting_export_bmecat.lighting_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_export_bmecat_view_form +msgid "BMEcat" +msgstr "" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_catalog.py:0 +#, python-format +msgid "BMEcat Catalog" +msgstr "Catálogo BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.actions.act_window,name:lighting_export_bmecat.lighting_export_bmecat_action +msgid "BMEcat Catalogs" +msgstr "Catálogos BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.actions.report,name:lighting_export_bmecat.action_report_bmecat_header +msgid "BMEcat Export Header" +msgstr "Cabecera de exportación BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.actions.report,name:lighting_export_bmecat.action_report_bmecat_product +msgid "BMEcat Export Product" +msgstr "Producto de exportación BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_bmecat_config__version__etim_5_0 +msgid "BMEcat_ETIM_5.0" +msgstr "" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__bmecat_config_id +msgid "Bmecat Config" +msgstr "Configuración BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__cache_clear_limit +msgid "Cache Clear Limit" +msgstr "Límite de limpieza de caché" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__catalog_id +msgid "Catalog" +msgstr "Catálogo" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__catalog_version +msgid "Catalog Version" +msgstr "Versión del catálogo" + +#. module: lighting_export_bmecat +#: model:ir.ui.menu,name:lighting_export_bmecat.lighting_export_bmecat +msgid "Catalogs" +msgstr "Catálogos" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__chunk_size +msgid "Chunk Size (MB)" +msgstr "Tamaño del bloque (MB)" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_bmecat_config__chunk_size +msgid "" +"Chunk size in MB used when reading files. A larger chunk size can improve " +"performance for large files but may increase memory usage." +msgstr "" +"Tamaño del bloque en MB utilizado al leer archivos. Un tamaño de bloque " +"mayor puede mejorar el rendimiento en archivos grandes, pero puede aumentar " +"el uso de memoria." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__code +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__code +msgid "Code" +msgstr "Código" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__company_id +msgid "Company" +msgstr "Compañía" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__config_id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__config_id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__config_id +msgid "Config" +msgstr "Configuración" + +#. module: lighting_export_bmecat +#: model:ir.ui.menu,name:lighting_export_bmecat.lighting_bmecat_config_menu +msgid "Configuration" +msgstr "Configuración" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__create_job +msgid "Create Job" +msgstr "Crear Trabajo en Cola" + +#. module: lighting_export_bmecat +#: model_terms:ir.actions.act_window,help:lighting_export_bmecat.lighting_bmecat_config_action +#: model_terms:ir.actions.act_window,help:lighting_export_bmecat.lighting_export_bmecat_action +msgid "Create the first bmecat" +msgstr "Crear el primer bmecat" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__create_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__create_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__create_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__create_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__create_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__create_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__create_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__create_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__create_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__create_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__create_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__create_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__default +msgid "Default" +msgstr "Predeterminado" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__dimension +msgid "Dimension" +msgstr "Dimensión" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__display_name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__display_name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__display_name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__display_name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__display_name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__display_name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__display_name +msgid "Display Name" +msgstr "Nombre" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_export_bmecat_view_form +msgid "Download BMEcat file" +msgstr "Descargar archivo BMEcat" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_export_bmecat__state__draft +#, python-format +msgid "Draft" +msgstr "Borrador" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.bmecat_catalog_product +msgid "ECORAEE" +msgstr "" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.catalog_form_view +msgid "Export BMEcat" +msgstr "Exportar BMEcat" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "Failed to install xmlstarlet: %s" +msgstr "Error al instalar xmlstarlet: %s" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_follower_ids +msgid "Followers" +msgstr "Seguidores" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_partner_ids +msgid "Followers (Partners)" +msgstr "Seguidores (Contactos)" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Icono de Font Awesome, por ejemplo: fa-tasks" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_export_bmecat_view_form +msgid "Generate BMEcat file" +msgstr "Generar archivo BMEcat" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_export_bmecat__state__generated +#, python-format +msgid "Generated" +msgstr "Generado" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__generator_info +msgid "Generator Info" +msgstr "Información del generador" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__has_message +msgid "Has Message" +msgstr "Tiene mensaje" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__id +msgid "ID" +msgstr "" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_exception_icon +msgid "Icon" +msgstr "Icono" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "Icono para indicar una actividad con excepción." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Si está marcado, los nuevos mensajes requieren su atención." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__message_has_error +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "Si está marcado, algunos mensajes tienen un error de envío." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_bmecat_config__validate_xml +msgid "" +"If enabled, the XML files will be validated against their respective XSD " +"schema." +msgstr "" +"Si se habilita, los archivos XML serán validados contra su respectivo " +"esquema XSD." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_is_follower +msgid "Is Follower" +msgstr "Es seguidor" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__lang_iso392_2 +msgid "Lang Iso392 2" +msgstr "Idioma ISO392-2" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__language_id +msgid "Language" +msgstr "Idioma" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config____last_update +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details____last_update +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code____last_update +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping____last_update +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit____last_update +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping____last_update +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat____last_update +msgid "Last Modified on" +msgstr "Última modificación el" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__write_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__write_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__write_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__write_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__write_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__write_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__write_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__write_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__write_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__write_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__write_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__write_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__write_date +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_bmecat_config +msgid "Lighting BMEcat Configuration" +msgstr "Configuración de Lighting BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_bmecat_logistic_details +msgid "Lighting BMEcat Logistic Details" +msgstr "Detalles logísticos de Lighting BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_bmecat_mime_code +msgid "Lighting BMEcat Mime Code" +msgstr "Código MIME de Lighting BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_bmecat_mime_code_mapping +msgid "Lighting BMEcat Mime Code Mapping" +msgstr "Mapeo de código MIME de Lighting BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_bmecat_packing_unit +msgid "Lighting BMEcat Packing Unit" +msgstr "Unidad de empaque de Lighting BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_bmecat_packing_unit_mapping +msgid "Lighting BMEcat Packing Unit Mapping" +msgstr "Mapeo de unidad de empaque de Lighting BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_export_bmecat +msgid "Lighting Export BMEcat" +msgstr "Exportación Lighting BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__logistic_details_ids +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_bmecat_config_view_form +msgid "Logistic Details" +msgstr "Detalles logísticos" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_main_attachment_id +msgid "Main Attachment" +msgstr "Adjunto principal" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_bmecat_config_view_form +msgid "Mappings" +msgstr "Mapeos" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__state_marketing_filter +msgid "Marketing Status Filter" +msgstr "Filtro de estado de marketing" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_has_error +msgid "Message Delivery error" +msgstr "Error de entrega del mensaje" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_ids +msgid "Messages" +msgstr "Mensajes" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__mime_code_ids +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__mime_code_id +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_bmecat_config_view_form +msgid "Mime Code" +msgstr "Código MIME" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Fecha límite de mi actividad" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__name +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_export_bmecat_view_form +msgid "Name" +msgstr "Nombre" + +#. module: lighting_export_bmecat +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_bmecat_logistic_details__dimension__net_depth +msgid "Net Depth" +msgstr "Profundidad neta" + +#. module: lighting_export_bmecat +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_bmecat_logistic_details__dimension__net_diameter +msgid "Net Diameter" +msgstr "Diámetro neto" + +#. module: lighting_export_bmecat +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_bmecat_logistic_details__dimension__net_length +msgid "Net Length" +msgstr "Longitud neta" + +#. module: lighting_export_bmecat +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_bmecat_logistic_details__dimension__net_volume +msgid "Net Volume" +msgstr "Volumen neto" + +#. module: lighting_export_bmecat +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_bmecat_logistic_details__dimension__net_weight +msgid "Net Weight" +msgstr "Peso neto" + +#. module: lighting_export_bmecat +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_bmecat_logistic_details__dimension__net_width +msgid "Net Width" +msgstr "Ancho neto" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Fecha límite de la próxima actividad" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_summary +msgid "Next Activity Summary" +msgstr "Resumen de la próxima actividad" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_type_id +msgid "Next Activity Type" +msgstr "Tipo de la próxima actividad" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "No BMECat file has been generated yet." +msgstr "No se ha generado ningún archivo BMECat todavía." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_needaction_counter +msgid "Number of Actions" +msgstr "Número de acciones" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_has_error_counter +msgid "Number of errors" +msgstr "Número de errores" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "Número de mensajes que requieren acción" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Número de mensajes con error de entrega" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_bmecat_config__cache_clear_limit +msgid "Number of records to clear cache." +msgstr "Número de registros para limpiar la caché." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__packing_unit_ids +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__packing_unit_id +msgid "Packing Unit" +msgstr "Unidad de empaque" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_bmecat_config_view_form +msgid "Packing Units" +msgstr "Unidades de empaque" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_catalog +msgid "Product Catalog" +msgstr "iluminación.catalog" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__valid_start_date +msgid "Publication Date" +msgstr "Fecha de publicación" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_export_bmecat__state__published +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_export_bmecat_view_search +#, python-format +msgid "Published" +msgstr "Publicado" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__bmecat_jobs_ids +msgid "Queue Job" +msgstr "Trabajo en cola" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_export_bmecat_view_form +msgid "Queue Jobs" +msgstr "Trabajos en cola" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.queue_job_view_tree +msgid "Requeue" +msgstr "Reencolar" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_user_id +msgid "Responsible User" +msgstr "Usuario responsable" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_has_sms_error +msgid "SMS Delivery error" +msgstr "Error en la entrega de SMS" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_bmecat_config__state_marketing_filter +msgid "Select marketing states to filter products during export." +msgstr "" +"Seleccione los estados de marketing para filtrar productos durante la " +"exportación." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__state +msgid "State" +msgstr "Estado" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"Estado basado en las actividades\n" +"Atrasado: La fecha límite ya ha pasado\n" +"Hoy: La fecha de la actividad es hoy\n" +"Planificado: Actividades futuras." + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_bmecat_config_view_form +msgid "Technical Details" +msgstr "Detalles técnicos" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "The BMECat version is not supported." +msgstr "La versión de BMECat no es compatible." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "" +"The BMEcat catalog of %(catalog_name)s has been successfully generated." +msgstr "El catálogo BMEcat de %(catalog_name)s se ha generado correctamente." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_bmecat_mime_code_mapping.py:0 +#, python-format +msgid "The MIME Code '%s' is already assigned to this BMEcat." +msgstr "El código MIME '%s' ya está asignado a este BMEcat." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_bmecat_mime_code_mapping.py:0 +#, python-format +msgid "The MIME Type '%s' is already assigned to this BMEcat." +msgstr "El tipo MIME '%s' ya está asignado a este BMEcat." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "The XML is not valid: %s" +msgstr "El XML no es válido: %s" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "The catalog must have a code." +msgstr "El catálogo debe tener un código." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "" +"The catalog version is not correct. It should be in the format 'XXX.XXX'" +msgstr "" +"La versión del catálogo no es correcta. Debe tener el formato 'XXX.XXX'." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "The company must have an email." +msgstr "La empresa debe tener un correo electrónico." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "The following products do not have a description: %s" +msgstr "Los siguientes productos no tienen una descripción: %s" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "The following products do not have a reference: %s" +msgstr "Los siguientes productos no tienen una referencia: %s" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "The following products do not have taxes: %s" +msgstr "Los siguientes productos no tienen impuestos: %s" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "" +"The following products have no packing unit associated with their " +"measurement unit in the BMECat configuration: %s" +msgstr "" +"Los siguientes productos no tienen una unidad de embalaje asociada con su " +"unidad de medida en la configuración BMECat: %s" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_bmecat_packing_unit_mapping.py:0 +#, python-format +msgid "" +"The same Unit of Measure (UoM) cannot be used more than once in the same " +"BMEcat." +msgstr "" +"La misma unidad de medida (UoM) no se puede usar más de una vez en el mismo " +"BMEcat." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_bmecat_config.py:0 +#, python-format +msgid "There can only be one default BMEcat configuration." +msgstr "Solo puede haber una configuración BMEcat predeterminada." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__type_id +msgid "Type" +msgstr "Tipo" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Tipo de la actividad de excepción en el registro." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_bmecat_logistic_details.py:0 +#, python-format +msgid "UOM already exists in this BMEcat." +msgstr "La unidad de medida ya existe en este BMEcat." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__uom_id +msgid "Unit of Measure" +msgstr "Unidad de medida" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__uom_id +msgid "Uom" +msgstr "Unidad de medida" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__validate_xml +msgid "Validate XML" +msgstr "Validar XML" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_export_bmecat__state__validated +#, python-format +msgid "Validated" +msgstr "Validado" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__version +msgid "Version" +msgstr "Versión" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__website_message_ids +msgid "Website Messages" +msgstr "Mensajes del sitio web" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__website_message_ids +msgid "Website communication history" +msgstr "Historial de comunicaciones del sitio web" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "You must generate the BMEcat file first" +msgstr "Debe generar primero el archivo BMEcat" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.bmecat_catalog_product +msgid "base" +msgstr "" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "error %s" +msgstr "" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.bmecat_catalog_product +msgid "false" +msgstr "" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.bmecat_catalog_product +msgid "physical" +msgstr "" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.bmecat_catalog_product +msgid "true" +msgstr "" diff --git a/lighting_export_bmecat/i18n/fr.po b/lighting_export_bmecat/i18n/fr.po new file mode 100644 index 00000000..8673ae93 --- /dev/null +++ b/lighting_export_bmecat/i18n/fr.po @@ -0,0 +1,823 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * lighting_export_bmecat +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-03-03 16:40+0000\n" +"PO-Revision-Date: 2025-03-03 16:40+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_export_bmecat_view_form +msgid "000.000" +msgstr "" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.bmecat_catalog_product +msgid "36" +msgstr "" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.bmecat_header +msgid "5.0" +msgstr "" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_needaction +msgid "Action Needed" +msgstr "Action requise" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_ids +msgid "Activities" +msgstr "Activités" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Décoration d'exception d'activité" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_state +msgid "Activity State" +msgstr "État de l'activité" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_type_icon +msgid "Activity Type Icon" +msgstr "Icône de type d'activité" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__attachment_id +msgid "Attachment" +msgstr "Pièce jointe" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_attachment_count +msgid "Attachment Count" +msgstr "Nombre de pièces jointes" + +#. module: lighting_export_bmecat +#: model:ir.actions.act_window,name:lighting_export_bmecat.lighting_bmecat_config_action +#: model:ir.ui.menu,name:lighting_export_bmecat.lighting_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_export_bmecat_view_form +msgid "BMEcat" +msgstr "" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_catalog.py:0 +#, python-format +msgid "BMEcat Catalog" +msgstr "Catalogue BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.actions.act_window,name:lighting_export_bmecat.lighting_export_bmecat_action +msgid "BMEcat Catalogs" +msgstr "BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.actions.report,name:lighting_export_bmecat.action_report_bmecat_header +msgid "BMEcat Export Header" +msgstr "En-tête d'exportation BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.actions.report,name:lighting_export_bmecat.action_report_bmecat_product +msgid "BMEcat Export Product" +msgstr "Produit d'exportation BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_bmecat_config__version__etim_5_0 +msgid "BMEcat_ETIM_5.0" +msgstr "" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__bmecat_config_id +msgid "Bmecat Config" +msgstr "Configuration Bmecat" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__cache_clear_limit +msgid "Cache Clear Limit" +msgstr "Limite de vidage du cache" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__catalog_id +msgid "Catalog" +msgstr "Catalogue" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__catalog_version +msgid "Catalog Version" +msgstr "Version du catalogue" + +#. module: lighting_export_bmecat +#: model:ir.ui.menu,name:lighting_export_bmecat.lighting_export_bmecat +msgid "Catalogs" +msgstr "Catalogues" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__chunk_size +msgid "Chunk Size (MB)" +msgstr "Taille du segment (MB)" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_bmecat_config__chunk_size +msgid "" +"Chunk size in MB used when reading files. A larger chunk size can improve " +"performance for large files but may increase memory usage." +msgstr "" +"Taille du segment en Mo utilisée lors de la lecture des fichiers. Une taille" +" de segment plus grande peut améliorer les performances pour les gros " +"fichiers, mais peut augmenter l'utilisation de la mémoire." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__code +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__code +msgid "Code" +msgstr "" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__company_id +msgid "Company" +msgstr "Entreprise" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__config_id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__config_id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__config_id +msgid "Config" +msgstr "Configuration" + +#. module: lighting_export_bmecat +#: model:ir.ui.menu,name:lighting_export_bmecat.lighting_bmecat_config_menu +msgid "Configuration" +msgstr "" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__create_job +msgid "Create Job" +msgstr "Créer une tâche" + +#. module: lighting_export_bmecat +#: model_terms:ir.actions.act_window,help:lighting_export_bmecat.lighting_bmecat_config_action +#: model_terms:ir.actions.act_window,help:lighting_export_bmecat.lighting_export_bmecat_action +msgid "Create the first bmecat" +msgstr "Créer le premier BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__create_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__create_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__create_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__create_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__create_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__create_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__create_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__create_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__create_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__create_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__create_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__create_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__default +msgid "Default" +msgstr "Défaut" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__dimension +msgid "Dimension" +msgstr " Dimension BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__display_name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__display_name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__display_name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__display_name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__display_name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__display_name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__display_name +msgid "Display Name" +msgstr "Nom d'affichage" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_export_bmecat_view_form +msgid "Download BMEcat file" +msgstr "Télécharger le fichier BMEcat" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_export_bmecat__state__draft +#, python-format +msgid "Draft" +msgstr "Brouillon" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.bmecat_catalog_product +msgid "ECORAEE" +msgstr "" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.catalog_form_view +msgid "Export BMEcat" +msgstr "Exporter BMEcat" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "Failed to install xmlstarlet: %s" +msgstr "Impossible d'installer xmlstarlet: %s" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_follower_ids +msgid "Followers" +msgstr "Abonnés" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_partner_ids +msgid "Followers (Partners)" +msgstr "Abonnés (Partenaires)" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Icône Font Awesome par ex. fa-tasks" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_export_bmecat_view_form +msgid "Generate BMEcat file" +msgstr "Générer le fichier BMEcat" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_export_bmecat__state__generated +#, python-format +msgid "Generated" +msgstr "Généré" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__generator_info +msgid "Generator Info" +msgstr "Infos du générateur" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__has_message +msgid "Has Message" +msgstr "Contient un message" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__id +msgid "ID" +msgstr "" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_exception_icon +msgid "Icon" +msgstr "Icône" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "Icône pour indiquer une activité d'exception." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Si coché, les nouveaux messages requièrent votre attention." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__message_has_error +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "Si coché, certains messages présentent une erreur de livraison." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_bmecat_config__validate_xml +msgid "" +"If enabled, the XML files will be validated against their respective XSD " +"schema." +msgstr "" +"Si activé, les fichiers XML seront validés par rapport à leur schéma XSD " +"respectif." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_is_follower +msgid "Is Follower" +msgstr "Est abonné" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__lang_iso392_2 +msgid "Lang Iso392 2" +msgstr "Langue ISO392-2" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__language_id +msgid "Language" +msgstr "Langue" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config____last_update +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details____last_update +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code____last_update +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping____last_update +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit____last_update +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping____last_update +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat____last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__write_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__write_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__write_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__write_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__write_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__write_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__write_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__write_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__write_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__write_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__write_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__write_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_bmecat_config +msgid "Lighting BMEcat Configuration" +msgstr "Configuration Lighting BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_bmecat_logistic_details +msgid "Lighting BMEcat Logistic Details" +msgstr "Détails logistiques Lighting BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_bmecat_mime_code +msgid "Lighting BMEcat Mime Code" +msgstr "Code MIME Lighting BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_bmecat_mime_code_mapping +msgid "Lighting BMEcat Mime Code Mapping" +msgstr "Correspondance des codes MIME Lighting BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_bmecat_packing_unit +msgid "Lighting BMEcat Packing Unit" +msgstr "Unité d'emballage Lighting BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_bmecat_packing_unit_mapping +msgid "Lighting BMEcat Packing Unit Mapping" +msgstr "Correspondance des unités d'emballage Lighting BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_export_bmecat +msgid "Lighting Export BMEcat" +msgstr "Exportation Lighting BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__logistic_details_ids +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_bmecat_config_view_form +msgid "Logistic Details" +msgstr "Détails logistiques" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_main_attachment_id +msgid "Main Attachment" +msgstr "Pièce jointe principale" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_bmecat_config_view_form +msgid "Mappings" +msgstr "Correspondances" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__state_marketing_filter +msgid "Marketing Status Filter" +msgstr "Filtre d'état marketing" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_has_error +msgid "Message Delivery error" +msgstr "Erreur de livraison du message" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_ids +msgid "Messages" +msgstr "" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__mime_code_ids +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__mime_code_id +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_bmecat_config_view_form +msgid "Mime Code" +msgstr "Code MIME" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Date limite de mon activité" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__name +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_export_bmecat_view_form +msgid "Name" +msgstr "Nom" + +#. module: lighting_export_bmecat +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_bmecat_logistic_details__dimension__net_depth +msgid "Net Depth" +msgstr "Profondeur nette" + +#. module: lighting_export_bmecat +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_bmecat_logistic_details__dimension__net_diameter +msgid "Net Diameter" +msgstr "Diamètre net" + +#. module: lighting_export_bmecat +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_bmecat_logistic_details__dimension__net_length +msgid "Net Length" +msgstr "Longueur nette" + +#. module: lighting_export_bmecat +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_bmecat_logistic_details__dimension__net_volume +msgid "Net Volume" +msgstr "Volume net" + +#. module: lighting_export_bmecat +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_bmecat_logistic_details__dimension__net_weight +msgid "Net Weight" +msgstr "Poids net" + +#. module: lighting_export_bmecat +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_bmecat_logistic_details__dimension__net_width +msgid "Net Width" +msgstr "Largeur nette" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Prochaine date limite d'activité" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_summary +msgid "Next Activity Summary" +msgstr "Résumé de la prochaine activité" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_type_id +msgid "Next Activity Type" +msgstr "Type de la prochaine activité" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "No BMECat file has been generated yet." +msgstr "Aucun fichier BMECat n'a encore été généré." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_needaction_counter +msgid "Number of Actions" +msgstr "Nombre d'actions" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_has_error_counter +msgid "Number of errors" +msgstr "Nombre d'erreurs" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "Nombre de messages nécessitant une action" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Nombre de messages avec erreur de livraison" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_bmecat_config__cache_clear_limit +msgid "Number of records to clear cache." +msgstr "Nombre d'enregistrements pour vider le cache." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__packing_unit_ids +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__packing_unit_id +msgid "Packing Unit" +msgstr "Unité d'emballage" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_bmecat_config_view_form +msgid "Packing Units" +msgstr "Unités d'emballage" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_catalog +msgid "Product Catalog" +msgstr "éclairage.catalog" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__valid_start_date +msgid "Publication Date" +msgstr "Date de publication" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_export_bmecat__state__published +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_export_bmecat_view_search +#, python-format +msgid "Published" +msgstr "Publié" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__bmecat_jobs_ids +msgid "Queue Job" +msgstr "Travail en file d'attente" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_export_bmecat_view_form +msgid "Queue Jobs" +msgstr "Tâches en file d'attente" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.queue_job_view_tree +msgid "Requeue" +msgstr "Remettre en file d'attente" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_user_id +msgid "Responsible User" +msgstr "Utilisateur responsable" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_has_sms_error +msgid "SMS Delivery error" +msgstr "Erreur de livraison SMS" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_bmecat_config__state_marketing_filter +msgid "Select marketing states to filter products during export." +msgstr "" +"Sélectionnez les états marketing pour filtrer les produits lors de " +"l'exportation." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__state +msgid "State" +msgstr "État" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"Statut basé sur les activités\n" +"En retard : la date d'échéance est dépassée\n" +"Aujourd'hui : la date de l'activité est aujourd'hui\n" +"Planifié : activités futures." + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_bmecat_config_view_form +msgid "Technical Details" +msgstr "Détails techniques" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "The BMECat version is not supported." +msgstr "La version BMECat n'est pas prise en charge." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "" +"The BMEcat catalog of %(catalog_name)s has been successfully generated." +msgstr "Le catalogue BMEcat de %(catalog_name)s a été généré avec succès." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_bmecat_mime_code_mapping.py:0 +#, python-format +msgid "The MIME Code '%s' is already assigned to this BMEcat." +msgstr "Le code MIME '%s' est déjà attribué à ce BMEcat." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_bmecat_mime_code_mapping.py:0 +#, python-format +msgid "The MIME Type '%s' is already assigned to this BMEcat." +msgstr "Le type MIME '%s' est déjà attribué à ce BMEcat." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "The XML is not valid: %s" +msgstr "Le XML n'est pas valide : %s" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "The catalog must have a code." +msgstr "Le catalogue doit avoir un code." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "" +"The catalog version is not correct. It should be in the format 'XXX.XXX'" +msgstr "" +"La version du catalogue n'est pas correcte. Elle doit être au format " +"'XXX.XXX'." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "The company must have an email." +msgstr "L'entreprise doit avoir une adresse e-mail." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "The following products do not have a description: %s" +msgstr "Les produits suivants n'ont pas de description : %s" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "The following products do not have a reference: %s" +msgstr "Les produits suivants n'ont pas de référence : %s" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "The following products do not have taxes: %s" +msgstr "Les produits suivants n'ont pas de taxes : %s" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "" +"The following products have no packing unit associated with their " +"measurement unit in the BMECat configuration: %s" +msgstr "" +"Les produits suivants n'ont pas d'unité d'emballage associée à leur unité de " +"mesure dans la configuration BMECat : %s" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_bmecat_packing_unit_mapping.py:0 +#, python-format +msgid "" +"The same Unit of Measure (UoM) cannot be used more than once in the same " +"BMEcat." +msgstr "" +"La même unité de mesure (UoM) ne peut être utilisée plus d'une fois dans le " +"même BMEcat." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_bmecat_config.py:0 +#, python-format +msgid "There can only be one default BMEcat configuration." +msgstr "Il ne peut y avoir qu'une seule configuration BMEcat par défaut." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__type_id +msgid "Type" +msgstr "" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Type de l'activité d'exception sur l'enregistrement." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_bmecat_logistic_details.py:0 +#, python-format +msgid "UOM already exists in this BMEcat." +msgstr "L'unité de mesure existe déjà dans ce BMEcat." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__uom_id +msgid "Unit of Measure" +msgstr "Unité de mesure" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__uom_id +msgid "Uom" +msgstr "UoM" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__validate_xml +msgid "Validate XML" +msgstr "Valider le XML" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_export_bmecat__state__validated +#, python-format +msgid "Validated" +msgstr "Validé" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__version +msgid "Version" +msgstr "" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__website_message_ids +msgid "Website Messages" +msgstr "Messages du site web" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__website_message_ids +msgid "Website communication history" +msgstr "Historique de communication du site web" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "You must generate the BMEcat file first" +msgstr "Vous devez d'abord générer le fichier BMEcat" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.bmecat_catalog_product +msgid "base" +msgstr "" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "error %s" +msgstr "erreur %s" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.bmecat_catalog_product +msgid "false" +msgstr "" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.bmecat_catalog_product +msgid "physical" +msgstr "" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.bmecat_catalog_product +msgid "true" +msgstr "" diff --git a/lighting_export_bmecat/i18n/pt.po b/lighting_export_bmecat/i18n/pt.po new file mode 100644 index 00000000..8effd37b --- /dev/null +++ b/lighting_export_bmecat/i18n/pt.po @@ -0,0 +1,822 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * lighting_export_bmecat +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-03-03 16:39+0000\n" +"PO-Revision-Date: 2025-03-03 16:39+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_export_bmecat_view_form +msgid "000.000" +msgstr "" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.bmecat_catalog_product +msgid "36" +msgstr "" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.bmecat_header +msgid "5.0" +msgstr "" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_needaction +msgid "Action Needed" +msgstr "Ação Necessária" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_ids +msgid "Activities" +msgstr "Atividades" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Decoração de Exceção de Atividade" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_state +msgid "Activity State" +msgstr "Estado da Atividade" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_type_icon +msgid "Activity Type Icon" +msgstr "Ícone do Tipo de Atividade" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__attachment_id +msgid "Attachment" +msgstr "Anexo" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_attachment_count +msgid "Attachment Count" +msgstr "Contagem de Anexos" + +#. module: lighting_export_bmecat +#: model:ir.actions.act_window,name:lighting_export_bmecat.lighting_bmecat_config_action +#: model:ir.ui.menu,name:lighting_export_bmecat.lighting_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_export_bmecat_view_form +msgid "BMEcat" +msgstr "" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_catalog.py:0 +#, python-format +msgid "BMEcat Catalog" +msgstr "Catálogo BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.actions.act_window,name:lighting_export_bmecat.lighting_export_bmecat_action +msgid "BMEcat Catalogs" +msgstr "BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.actions.report,name:lighting_export_bmecat.action_report_bmecat_header +msgid "BMEcat Export Header" +msgstr "Cabeçalho de Exportação BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.actions.report,name:lighting_export_bmecat.action_report_bmecat_product +msgid "BMEcat Export Product" +msgstr "Exportação de Produto BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_bmecat_config__version__etim_5_0 +msgid "BMEcat_ETIM_5.0" +msgstr "" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__bmecat_config_id +msgid "Bmecat Config" +msgstr "Configuração Bmecat" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__cache_clear_limit +msgid "Cache Clear Limit" +msgstr "Limite para Limpar Cache" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__catalog_id +msgid "Catalog" +msgstr "Catálogo" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__catalog_version +msgid "Catalog Version" +msgstr "Versão do Catálogo" + +#. module: lighting_export_bmecat +#: model:ir.ui.menu,name:lighting_export_bmecat.lighting_export_bmecat +msgid "Catalogs" +msgstr "Catálogos" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__chunk_size +msgid "Chunk Size (MB)" +msgstr "Tamanho do Bloco (MB)" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_bmecat_config__chunk_size +msgid "" +"Chunk size in MB used when reading files. A larger chunk size can improve " +"performance for large files but may increase memory usage." +msgstr "" +"Tamanho do bloco em MB usado ao ler arquivos. Um tamanho de bloco maior pode" +" melhorar o desempenho para arquivos grandes, mas pode aumentar o uso de " +"memória." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__code +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__code +msgid "Code" +msgstr "Código" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__company_id +msgid "Company" +msgstr "Empresa" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__config_id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__config_id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__config_id +msgid "Config" +msgstr "Configuração" + +#. module: lighting_export_bmecat +#: model:ir.ui.menu,name:lighting_export_bmecat.lighting_bmecat_config_menu +msgid "Configuration" +msgstr "Configuração" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__create_job +msgid "Create Job" +msgstr "Criar Tarefa" + +#. module: lighting_export_bmecat +#: model_terms:ir.actions.act_window,help:lighting_export_bmecat.lighting_bmecat_config_action +#: model_terms:ir.actions.act_window,help:lighting_export_bmecat.lighting_export_bmecat_action +msgid "Create the first bmecat" +msgstr "Criar o primeiro bmecat" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__create_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__create_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__create_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__create_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__create_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__create_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__create_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__create_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__create_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__create_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__create_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__create_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__default +msgid "Default" +msgstr "Padrão" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__dimension +msgid "Dimension" +msgstr "Dimensão" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__display_name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__display_name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__display_name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__display_name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__display_name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__display_name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__display_name +msgid "Display Name" +msgstr "Nome de Exibição" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_export_bmecat_view_form +msgid "Download BMEcat file" +msgstr "Baixar arquivo BMEcat" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_export_bmecat__state__draft +#, python-format +msgid "Draft" +msgstr "Rascunho" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.bmecat_catalog_product +msgid "ECORAEE" +msgstr "" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.catalog_form_view +msgid "Export BMEcat" +msgstr "Exportar BMEcat" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "Failed to install xmlstarlet: %s" +msgstr "Falha ao instalar xmlstarlet: %s" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_follower_ids +msgid "Followers" +msgstr "Seguidores" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_partner_ids +msgid "Followers (Partners)" +msgstr "Seguidores (Parceiros)" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Ícone Font Awesome, ex: fa-tasks" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_export_bmecat_view_form +msgid "Generate BMEcat file" +msgstr "Gerar arquivo BMEcat" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_export_bmecat__state__generated +#, python-format +msgid "Generated" +msgstr "Gerado" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__generator_info +msgid "Generator Info" +msgstr "Informação do Gerador" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__has_message +msgid "Has Message" +msgstr "Tem Mensagem" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__id +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__id +msgid "ID" +msgstr "" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_exception_icon +msgid "Icon" +msgstr "Ícone" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "Ícone para indicar uma atividade de exceção." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Se marcado, novas mensagens requerem sua atenção." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__message_has_error +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "Se marcado, algumas mensagens apresentam erro de entrega." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_bmecat_config__validate_xml +msgid "" +"If enabled, the XML files will be validated against their respective XSD " +"schema." +msgstr "" +"Se ativado, os arquivos XML serão validados contra seus respectivos esquemas" +" XSD." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_is_follower +msgid "Is Follower" +msgstr "É Seguidor" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__lang_iso392_2 +msgid "Lang Iso392 2" +msgstr "Idioma ISO392 2" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__language_id +msgid "Language" +msgstr "Idioma" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config____last_update +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details____last_update +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code____last_update +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping____last_update +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit____last_update +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping____last_update +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat____last_update +msgid "Last Modified on" +msgstr "Última Modificação em" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__write_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__write_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__write_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__write_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__write_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__write_uid +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__write_uid +msgid "Last Updated by" +msgstr "Última Atualização por" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__write_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__write_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__write_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__write_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__write_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__write_date +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__write_date +msgid "Last Updated on" +msgstr "Última Atualização em" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_bmecat_config +msgid "Lighting BMEcat Configuration" +msgstr "Configuração do Lighting BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_bmecat_logistic_details +msgid "Lighting BMEcat Logistic Details" +msgstr "Detalhes Logísticos do Lighting BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_bmecat_mime_code +msgid "Lighting BMEcat Mime Code" +msgstr "Código MIME do Lighting BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_bmecat_mime_code_mapping +msgid "Lighting BMEcat Mime Code Mapping" +msgstr "Mapeamento de Código MIME do Lighting BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_bmecat_packing_unit +msgid "Lighting BMEcat Packing Unit" +msgstr "Unidade de Embalagem do Lighting BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_bmecat_packing_unit_mapping +msgid "Lighting BMEcat Packing Unit Mapping" +msgstr "Mapeamento de Unidade de Embalagem do Lighting BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_export_bmecat +msgid "Lighting Export BMEcat" +msgstr "Exportação Lighting BMEcat" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__logistic_details_ids +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_bmecat_config_view_form +msgid "Logistic Details" +msgstr "Detalhes Logísticos" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_main_attachment_id +msgid "Main Attachment" +msgstr "Anexo Principal" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_bmecat_config_view_form +msgid "Mappings" +msgstr "Mapeamentos" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__state_marketing_filter +msgid "Marketing Status Filter" +msgstr "Filtro de Status de Marketing" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_has_error +msgid "Message Delivery error" +msgstr "Erro na entrega da mensagem" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_ids +msgid "Messages" +msgstr "Mensagens" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__mime_code_ids +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__mime_code_id +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_bmecat_config_view_form +msgid "Mime Code" +msgstr "Código MIME" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Prazo da Minha Atividade" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code__name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit__name +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__name +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_export_bmecat_view_form +msgid "Name" +msgstr "Nome" + +#. module: lighting_export_bmecat +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_bmecat_logistic_details__dimension__net_depth +msgid "Net Depth" +msgstr "Profundidade Neta" + +#. module: lighting_export_bmecat +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_bmecat_logistic_details__dimension__net_diameter +msgid "Net Diameter" +msgstr "Diâmetro Neto" + +#. module: lighting_export_bmecat +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_bmecat_logistic_details__dimension__net_length +msgid "Net Length" +msgstr "Comprimento Neto" + +#. module: lighting_export_bmecat +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_bmecat_logistic_details__dimension__net_volume +msgid "Net Volume" +msgstr "Volume Neto" + +#. module: lighting_export_bmecat +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_bmecat_logistic_details__dimension__net_weight +msgid "Net Weight" +msgstr "Peso Líquido" + +#. module: lighting_export_bmecat +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_bmecat_logistic_details__dimension__net_width +msgid "Net Width" +msgstr "Largura Neta" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Prazo da Próxima Atividade" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_summary +msgid "Next Activity Summary" +msgstr "Resumo da Próxima Atividade" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_type_id +msgid "Next Activity Type" +msgstr "Tipo da Próxima Atividade" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "No BMECat file has been generated yet." +msgstr "Nenhum arquivo BMECat foi gerado ainda." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_needaction_counter +msgid "Number of Actions" +msgstr "Número de Ações" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_has_error_counter +msgid "Number of errors" +msgstr "Número de erros" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "Número de mensagens que requerem ação" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Número de mensagens com erro de entrega" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_bmecat_config__cache_clear_limit +msgid "Number of records to clear cache." +msgstr "Número de registros para limpar o cache." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__packing_unit_ids +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__packing_unit_id +msgid "Packing Unit" +msgstr "Unidade de Embalagem" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_bmecat_config_view_form +msgid "Packing Units" +msgstr "Unidades de Embalagem" + +#. module: lighting_export_bmecat +#: model:ir.model,name:lighting_export_bmecat.model_lighting_catalog +msgid "Product Catalog" +msgstr "lighting.catalog" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__valid_start_date +msgid "Publication Date" +msgstr "Data de Publicação" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_export_bmecat__state__published +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_export_bmecat_view_search +#, python-format +msgid "Published" +msgstr "Publicado" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__bmecat_jobs_ids +msgid "Queue Job" +msgstr "Job na Fila" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_export_bmecat_view_form +msgid "Queue Jobs" +msgstr "Jobs na Fila" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.queue_job_view_tree +msgid "Requeue" +msgstr "Reenfileirar" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__activity_user_id +msgid "Responsible User" +msgstr "Usuário Responsável" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__message_has_sms_error +msgid "SMS Delivery error" +msgstr "Erro na entrega do SMS" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_bmecat_config__state_marketing_filter +msgid "Select marketing states to filter products during export." +msgstr "" +"Selecione os estados de marketing para filtrar os produtos durante a " +"exportação." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__state +msgid "State" +msgstr "Estado" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"Status baseado em atividades\n" +"Atrasado: O prazo já expirou\n" +"Hoje: A data da atividade é hoje\n" +"Planejado: Atividades futuras." + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.lighting_bmecat_config_view_form +msgid "Technical Details" +msgstr "Detalhes Técnicos" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "The BMECat version is not supported." +msgstr "A versão BMECat não é suportada." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "" +"The BMEcat catalog of %(catalog_name)s has been successfully generated." +msgstr "O catálogo BMEcat de %(catalog_name)s foi gerado com sucesso." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_bmecat_mime_code_mapping.py:0 +#, python-format +msgid "The MIME Code '%s' is already assigned to this BMEcat." +msgstr "O Código MIME '%s' já está atribuído a este BMEcat." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_bmecat_mime_code_mapping.py:0 +#, python-format +msgid "The MIME Type '%s' is already assigned to this BMEcat." +msgstr "O Tipo MIME '%s' já está atribuído a este BMEcat." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "The XML is not valid: %s" +msgstr "O XML não é válido: %s" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "The catalog must have a code." +msgstr "O catálogo deve ter um código." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "" +"The catalog version is not correct. It should be in the format 'XXX.XXX'" +msgstr "" +"A versão do catálogo não está correta. Ela deve estar no formato 'XXX.XXX'" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "The company must have an email." +msgstr "A empresa deve ter um e-mail." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "The following products do not have a description: %s" +msgstr "Os seguintes produtos não têm uma descrição: %s" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "The following products do not have a reference: %s" +msgstr "Os seguintes produtos não têm uma referência: %s" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "The following products do not have taxes: %s" +msgstr "Os seguintes produtos não têm impostos: %s" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "" +"The following products have no packing unit associated with their " +"measurement unit in the BMECat configuration: %s" +msgstr "" +"Os seguintes produtos não têm uma unidade de embalagem associada à sua " +"unidade de medida na configuração BMECat: %s" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_bmecat_packing_unit_mapping.py:0 +#, python-format +msgid "" +"The same Unit of Measure (UoM) cannot be used more than once in the same " +"BMEcat." +msgstr "" +"A mesma Unidade de Medida (UoM) não pode ser usada mais de uma vez no mesmo " +"BMEcat." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_bmecat_config.py:0 +#, python-format +msgid "There can only be one default BMEcat configuration." +msgstr "Só pode haver uma configuração BMEcat padrão." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_mime_code_mapping__type_id +msgid "Type" +msgstr "Tipo" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Tipo da atividade de exceção no registro." + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_bmecat_logistic_details.py:0 +#, python-format +msgid "UOM already exists in this BMEcat." +msgstr "A Unidade de Medida já existe neste BMEcat." + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_logistic_details__uom_id +msgid "Unit of Measure" +msgstr "Unidade de Medida" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_packing_unit_mapping__uom_id +msgid "Uom" +msgstr "UoM" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__validate_xml +msgid "Validate XML" +msgstr "Validar XML" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#: model:ir.model.fields.selection,name:lighting_export_bmecat.selection__lighting_export_bmecat__state__validated +#, python-format +msgid "Validated" +msgstr "Validado" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_bmecat_config__version +msgid "Version" +msgstr "Versão" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,field_description:lighting_export_bmecat.field_lighting_export_bmecat__website_message_ids +msgid "Website Messages" +msgstr "Mensagens do Site" + +#. module: lighting_export_bmecat +#: model:ir.model.fields,help:lighting_export_bmecat.field_lighting_export_bmecat__website_message_ids +msgid "Website communication history" +msgstr "Histórico de comunicação do Site" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "You must generate the BMEcat file first" +msgstr "Você deve gerar o arquivo BMEcat primeiro" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.bmecat_catalog_product +msgid "base" +msgstr "" + +#. module: lighting_export_bmecat +#. odoo-python +#: code:addons/lighting_export_bmecat/models/lighting_export_bmecat.py:0 +#, python-format +msgid "error %s" +msgstr "erro %s" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.bmecat_catalog_product +msgid "false" +msgstr "" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.bmecat_catalog_product +msgid "physical" +msgstr "" + +#. module: lighting_export_bmecat +#: model_terms:ir.ui.view,arch_db:lighting_export_bmecat.bmecat_catalog_product +msgid "true" +msgstr "" diff --git a/lighting_export_bmecat/models/__init__.py b/lighting_export_bmecat/models/__init__.py new file mode 100644 index 00000000..1e8f9fa1 --- /dev/null +++ b/lighting_export_bmecat/models/__init__.py @@ -0,0 +1,8 @@ +from . import lighting_bmecat_packing_unit +from . import lighting_bmecat_mime_code +from . import lighting_bmecat_packing_unit_mapping +from . import lighting_bmecat_mime_code_mapping +from . import lighting_bmecat_logistic_details +from . import lighting_bmecat_config +from . import lighting_export_bmecat +from . import lighting_catalog diff --git a/lighting_export_bmecat/models/lighting_bmecat_config.py b/lighting_export_bmecat/models/lighting_bmecat_config.py new file mode 100644 index 00000000..436ea0e5 --- /dev/null +++ b/lighting_export_bmecat/models/lighting_bmecat_config.py @@ -0,0 +1,71 @@ +# Copyright NuoBiT Solutions - Frank Cespedes +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + + +class LightingBMEcatConfig(models.Model): + _name = "lighting.bmecat.config" + _description = "Lighting BMEcat Configuration" + + name = fields.Char() + default = fields.Boolean() + version = fields.Selection( + selection=[ + ("etim_5_0", "BMEcat_ETIM_5.0"), + ], + required=True, + default="etim_5_0", + ) + generator_info = fields.Char(default="Odoo Lighting") + chunk_size = fields.Integer( + string="Chunk Size (MB)", + default=1, + required=True, + help="Chunk size in MB used when reading files. A larger chunk size can " + "improve performance for large files but may increase memory usage.", + ) + cache_clear_limit = fields.Integer( + default=10000, + help="Number of records to clear cache.", + required=True, + ) + validate_xml = fields.Boolean( + string="Validate XML", + default=True, + help="If enabled, the XML files will be validated against their respective XSD schema.", + ) + state_marketing_filter = fields.Many2many( + "ir.model.fields.selection", + string="Marketing Status Filter", + domain=[ + ("field_id.model", "=", "lighting.product"), + ("field_id.name", "=", "state_marketing"), + ], + help="Select marketing states to filter products during export.", + ) + packing_unit_ids = fields.One2many( + comodel_name="lighting.bmecat.packing.unit.mapping", + inverse_name="config_id", + ) + mime_code_ids = fields.One2many( + comodel_name="lighting.bmecat.mime.code.mapping", + inverse_name="config_id", + ) + logistic_details_ids = fields.One2many( + comodel_name="lighting.bmecat.logistic.details", + inverse_name="config_id", + ) + + def get_chunk_size_bytes(self): + return self.chunk_size * 1024 * 1024 + + @api.constrains("default") + def _check_default(self): + for rec in self: + if rec.default: + if self.search([("default", "=", True), ("id", "!=", rec.id)]): + raise ValidationError( + _("There can only be one default BMEcat configuration.") + ) diff --git a/lighting_export_bmecat/models/lighting_bmecat_logistic_details.py b/lighting_export_bmecat/models/lighting_bmecat_logistic_details.py new file mode 100644 index 00000000..8494f418 --- /dev/null +++ b/lighting_export_bmecat/models/lighting_bmecat_logistic_details.py @@ -0,0 +1,43 @@ +# Copyright NuoBiT Solutions - Frank Cespedes +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + + +class LightingBMEcatLogisticDetails(models.Model): + _name = "lighting.bmecat.logistic.details" + _description = "Lighting BMEcat Logistic Details" + + config_id = fields.Many2one( + comodel_name="lighting.bmecat.config", + required=True, + ondelete="cascade", + ) + dimension = fields.Selection( + selection=[ + ("net_volume", "Net Volume"), + ("net_weight", "Net Weight"), + ("net_length", "Net Length"), + ("net_width", "Net Width"), + ("net_depth", "Net Depth"), + ("net_diameter", "Net Diameter"), + ], + required=True, + ) + uom_id = fields.Many2one( + comodel_name="uom.uom", required=True, string="Unit of Measure" + ) + + @api.constrains("uom_id") + def _check_uom(self): + for rec in self: + duplicate = rec.search( + [ + ("config_id", "=", rec.config_id.id), + ("uom_id", "=", rec.uom_id.id), + ("id", "!=", rec.id), + ] + ) + if duplicate: + raise ValidationError(_("UOM already exists in this BMEcat.")) diff --git a/lighting_export_bmecat/models/lighting_bmecat_mime_code.py b/lighting_export_bmecat/models/lighting_bmecat_mime_code.py new file mode 100644 index 00000000..ded95e56 --- /dev/null +++ b/lighting_export_bmecat/models/lighting_bmecat_mime_code.py @@ -0,0 +1,15 @@ +# Copyright NuoBiT Solutions - Frank Cespedes +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) +import logging + +from odoo import fields, models + +_logger = logging.getLogger(__name__) + + +class LightingBMEcatMimeCode(models.Model): + _name = "lighting.bmecat.mime.code" + _description = "Lighting BMEcat Mime Code" + + code = fields.Char(required=True) + name = fields.Char(required=True) diff --git a/lighting_export_bmecat/models/lighting_bmecat_mime_code_mapping.py b/lighting_export_bmecat/models/lighting_bmecat_mime_code_mapping.py new file mode 100644 index 00000000..fc2cc035 --- /dev/null +++ b/lighting_export_bmecat/models/lighting_bmecat_mime_code_mapping.py @@ -0,0 +1,51 @@ +# Copyright NuoBiT Solutions - Frank Cespedes +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) +import logging + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + +_logger = logging.getLogger(__name__) + + +class LightingBMEcatMimeCodeMapping(models.Model): + _name = "lighting.bmecat.mime.code.mapping" + _description = "Lighting BMEcat Mime Code Mapping" + + config_id = fields.Many2one( + comodel_name="lighting.bmecat.config", + required=True, + ondelete="cascade", + ) + mime_code_id = fields.Many2one( + comodel_name="lighting.bmecat.mime.code", required=True + ) + type_id = fields.Many2one(comodel_name="lighting.attachment.type", required=True) + + @api.constrains("code", "type_id", "config_id") + def _check_unique_code_and_type(self): + for rec in self: + duplicate_code = self.search( + [ + ("config_id", "=", rec.config_id.id), + ("mime_code_id", "=", rec.mime_code_id.id), + ("id", "!=", rec.id), + ] + ) + if duplicate_code: + raise ValidationError( + _("The MIME Code '%s' is already assigned to this BMEcat.") + % rec.code + ) + duplicate_type = self.search( + [ + ("config_id", "=", rec.config_id.id), + ("type_id", "=", rec.type_id.id), + ("id", "!=", rec.id), + ] + ) + if duplicate_type: + raise ValidationError( + _("The MIME Type '%s' is already assigned to this BMEcat.") + % rec.type_id.name + ) diff --git a/lighting_export_bmecat/models/lighting_bmecat_packing_unit.py b/lighting_export_bmecat/models/lighting_bmecat_packing_unit.py new file mode 100644 index 00000000..8d124f05 --- /dev/null +++ b/lighting_export_bmecat/models/lighting_bmecat_packing_unit.py @@ -0,0 +1,15 @@ +# Copyright NuoBiT Solutions - Frank Cespedes +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) +import logging + +from odoo import fields, models + +_logger = logging.getLogger(__name__) + + +class LightingBMEcatPackingUnit(models.Model): + _name = "lighting.bmecat.packing.unit" + _description = "Lighting BMEcat Packing Unit" + + code = fields.Char(required=True) + name = fields.Char(required=True) diff --git a/lighting_export_bmecat/models/lighting_bmecat_packing_unit_mapping.py b/lighting_export_bmecat/models/lighting_bmecat_packing_unit_mapping.py new file mode 100644 index 00000000..1e6d973a --- /dev/null +++ b/lighting_export_bmecat/models/lighting_bmecat_packing_unit_mapping.py @@ -0,0 +1,41 @@ +# Copyright NuoBiT Solutions - Frank Cespedes +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) +import logging + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + +_logger = logging.getLogger(__name__) + + +class LightingBMEcatPackingUnitMapping(models.Model): + _name = "lighting.bmecat.packing.unit.mapping" + _description = "Lighting BMEcat Packing Unit Mapping" + + config_id = fields.Many2one( + comodel_name="lighting.bmecat.config", + required=True, + ondelete="cascade", + ) + packing_unit_id = fields.Many2one( + comodel_name="lighting.bmecat.packing.unit", required=True + ) + uom_id = fields.Many2one(comodel_name="uom.uom", required=True) + + @api.constrains("uom_id") + def _check_unique_uom_id(self): + for rec in self: + duplicate = self.search( + [ + ("config_id", "=", rec.config_id.id), + ("uom_id", "=", rec.uom_id.id), + ("id", "!=", rec.id), + ] + ) + if duplicate: + raise ValidationError( + _( + "The same Unit of Measure (UoM) cannot be used " + "more than once in the same BMEcat." + ) + ) diff --git a/lighting_export_bmecat/models/lighting_catalog.py b/lighting_export_bmecat/models/lighting_catalog.py new file mode 100644 index 00000000..c09dc34f --- /dev/null +++ b/lighting_export_bmecat/models/lighting_catalog.py @@ -0,0 +1,22 @@ +# Copyright NuoBiT Solutions - Frank Cespedes +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo import _, models + + +class LightingCatalog(models.Model): + _inherit = "lighting.catalog" + + def action_export_bmecat(self): + self.ensure_one() + return { + "name": _("BMEcat Catalog"), + "type": "ir.actions.act_window", + "res_model": "lighting.export.bmecat", + "view_mode": "form", + "view_id": self.env.ref( + "lighting_export_bmecat.lighting_export_bmecat_view_form" + ).id, + "target": "current", + "context": {"default_catalog_id": self.id}, + } diff --git a/lighting_export_bmecat/models/lighting_export_bmecat.py b/lighting_export_bmecat/models/lighting_export_bmecat.py new file mode 100644 index 00000000..e0681701 --- /dev/null +++ b/lighting_export_bmecat/models/lighting_export_bmecat.py @@ -0,0 +1,378 @@ +# Copyright NuoBiT Solutions - Frank Cespedes +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) +import gzip +import hashlib +import os +import shutil +import subprocess + +from pycountry import languages + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError +from odoo.modules.module import get_module_resource + + +class LightingExportBMEcat(models.Model): + _name = "lighting.export.bmecat" + _description = "Lighting Export BMEcat" + _inherit = ["mail.thread", "mail.activity.mixin"] + _order = "valid_start_date desc" + + name = fields.Char(required=True) + bmecat_config_id = fields.Many2one( + comodel_name="lighting.bmecat.config", + required=True, + tracking=True, + default=lambda self: self.env["lighting.bmecat.config"] + .search([("default", "=", True)]) + .id, + ) + catalog_id = fields.Many2one( + comodel_name="lighting.catalog", required=True, tracking=True + ) + create_job = fields.Boolean() + state = fields.Selection( + selection=[ + ("draft", _("Draft")), + ("generated", _("Generated")), + ("validated", _("Validated")), + ("published", _("Published")), + ], + default="draft", + required=True, + tracking=True, + ) + attachment_id = fields.Many2one( + comodel_name="ir.attachment", copy=False, tracking=True + ) + company_id = fields.Many2one( + comodel_name="res.company", + required=True, + default=lambda self: self.env.company, + readonly=True, + ) + valid_start_date = fields.Date( + string="Publication Date", required=True, tracking=True + ) + language_id = fields.Many2one(comodel_name="res.lang", required=True, tracking=True) + bmecat_jobs_ids = fields.Many2many( + comodel_name="queue.job", + relation="lighting_export_bmecat_queue_job_rel", + column1="bmecat_id", + column2="job_id", + string="Queue Job", + copy=False, + ) + lang_iso392_2 = fields.Char(compute="_compute_lang_iso392_2") + + def _compute_lang_iso392_2(self): + for rec in self: + if rec.language_id: + rec.lang_iso392_2 = languages.get( + alpha_2=rec.language_id.iso_code + ).alpha_3 + else: + rec.lang_iso392_2 = False + + catalog_version = fields.Char( + compute="_compute_catalog_version", store=True, readonly=False, tracking=True + ) + + @api.depends("valid_start_date") + def _compute_catalog_version(self): + for rec in self: + if rec.valid_start_date: + rec.catalog_version = "{:03d}.000".format( + rec.valid_start_date.year % 1000 + ) + else: + rec.catalog_version = False + + @api.constrains("catalog_version") + def _check_catalog_version(self): + for rec in self: + if len(rec.catalog_version) != 7: + raise ValidationError( + _( + "The catalog version is not correct. It " + "should be in the format 'XXX.XXX'" + ) + ) + + @api.constrains("state") + def _check_state(self): + for rec in self: + if rec.state != "draft" and not rec.attachment_id: + raise ValidationError(_("You must generate the BMEcat file first")) + + def has_mime_code(self, attachments): + return any( + [ + attach.type_id in self.bmecat_config_id.mime_code_ids.mapped("type_id") + for attach in attachments + ] + ) + + def get_mime_code(self, attachment): + return self.bmecat_config_id.mime_code_ids.filtered( + lambda x: x.type_id == attachment.type_id + ).mime_code_id.code + + def get_packing_unit(self, product): + return self.bmecat_config_id.packing_unit_ids.filtered( + lambda x: x.uom_id == product.product_variant_id.uom_id + ).packing_unit_id.code + + def get_logistic_value(self, product, dimension_type): + logistic_value = self.bmecat_config_id.logistic_details_ids.filtered( + lambda x: x.dimension == dimension_type + ) + dimension = product.dimension_ids.filtered( + lambda x: logistic_value.uom_id in x.type_id.uom_id.category_id.uom_ids + and x.value + ) + if len(dimension) > 1: + raise ValidationError(_("error %s") % product.id) + value = dimension.value + if dimension: + if logistic_value.uom_id != dimension.type_id.uom_id: + value = dimension.type_id.uom_id._compute_quantity( + value, logistic_value.uom_id + ) + return value + + def validate_xml_with_xsd(self, xml_file_path): + if self.bmecat_config_id.version == "etim_5_0": + schema_path = get_module_resource( + "lighting_export_bmecat", + "data", + "BMEcat_ETIM_5.0", + "bmecat_etim_501.xsd", + ) + else: + raise ValidationError(_("The BMECat version is not supported.")) + # TODO REVIEW: Add installation of xmlstarlet in the pre_init_hook + if shutil.which("xmlstarlet") is None: + try: + subprocess.run( + ["sudo", "apt", "install", "-y", "xmlstarlet"], + check=True, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + text=True, + ) + except subprocess.CalledProcessError as e: + raise ValidationError( + _("Failed to install xmlstarlet: %s") % e.stderr + ) from e + result = subprocess.run( + ["xmlstarlet", "val", "--err", "--xsd", schema_path, xml_file_path], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + text=True, + ) + if result.returncode != 0: + raise ValidationError(_("The XML is not valid: %s") % result.stderr) + + def _check_bmecat_file_values(self, products): + self.ensure_one() + if not self.catalog_id.code: + raise ValidationError(_("The catalog must have a code.")) + if not self.company_id.email: + raise ValidationError(_("The company must have an email.")) + products_without_ref = products.filtered(lambda x: not x.reference) + if products_without_ref: + raise ValidationError( + _("The following products do not have a reference: %s") + % ", ".join(products_without_ref.mapped("name")) + ) + products_without_desc_short = products.filtered(lambda x: not x.description) + if products_without_desc_short: + raise ValidationError( + _("The following products do not have a description: %s") + % ", ".join(products_without_desc_short.mapped("reference")) + ) + products_without_packing_unit = products.filtered( + lambda product: not self.bmecat_config_id.packing_unit_ids.filtered( + lambda x: x.uom_id == product.product_variant_id.uom_id + ) + ) + if products_without_packing_unit: + raise ValidationError( + _( + "The following products have no packing unit associated with " + "their measurement unit in the BMECat configuration: %s" + ) + % ", ".join(products_without_packing_unit.mapped("reference")) + ) + products_without_taxes = products.filtered( + lambda x: not x.product_variant_id.taxes_id + ) + if products_without_taxes: + raise ValidationError( + _("The following products do not have taxes: %s") + % ", ".join(products_without_taxes.mapped("reference")) + ) + + def _compress_file(self, filename): + temp_compressed_filename = filename + ".gz" + chunk_size = self.bmecat_config_id.get_chunk_size_bytes() + with open(filename, "rb") as f_in, gzip.open( + temp_compressed_filename, "wb" + ) as f_out: + while True: + chunk = f_in.read(chunk_size) + if not chunk: + break + f_out.write(chunk) + os.remove(filename) + os.rename(temp_compressed_filename, filename) + + def _compute_file_hash_and_size(self, filename): + chunk_size = self.bmecat_config_id.get_chunk_size_bytes() + sha1 = hashlib.sha1() + with open(filename, "rb") as f: + while chunk := f.read(chunk_size): + sha1.update(chunk) + content_hash = sha1.hexdigest() + file_size = os.path.getsize(filename) + return content_hash, file_size + + def _move_file_to_filestore(self, filename, filestore_path, content_hash): + content_hash_dir = os.path.join(content_hash[:2], content_hash) + final_path = os.path.join(filestore_path, content_hash_dir) + if not os.path.exists(final_path): + os.rename(filename, final_path) + else: + os.remove(filename) + + def _get_bmecat_filename(self): + return ( + f"BMEcat_{self.catalog_id.name}_" + f"{self.valid_start_date.strftime('%Y-%m')}_" + f"{self.language_id.code}" + ) + + def _create_attachment(self, content_hash, file_size): + attachment_vals = { + "name": self._get_bmecat_filename() + ".zip", + "res_model": "lighting.export.bmecat", + "res_id": self.id, + "type": "binary", + "mimetype": "application/xml", + } + attachment = self.env["ir.attachment"].create(attachment_vals) + self.env.cr.execute( + "UPDATE ir_attachment SET store_fname=%s, file_size=%s, checksum=%s WHERE id=%s", + ( + os.path.join(content_hash[:2], content_hash), + file_size, + content_hash, + attachment.id, + ), + ) + return attachment + + def _write_bmecat_xml(self, file, products): + file.write(b'\n') + file.write( + b"\n" + ) + file.write( + self.env.ref("lighting_export_bmecat.action_report_bmecat_header")._render( + "lighting_export_bmecat.action_report_bmecat_header", + self.ids, + data={"bmecat": self}, + )[0] + ) + file.write(b"\n") + for counter, product in enumerate(products, start=1): + file.write( + self.env.ref( + "lighting_export_bmecat.action_report_bmecat_product" + )._render( + "lighting_export_bmecat.action_report_bmecat_product", + self.ids, + data={"bmecat": self, "product": product}, + )[ + 0 + ] + ) + if counter % self.bmecat_config_id.cache_clear_limit == 0: + self.env.cache.clear() + self.env.cache.clear() + file.write(b"\n") + file.write(b"\n") + + def send_bmecat_notification(self, attachment): + self.message_post(attachment_ids=[attachment.id]) + self.with_context(mail_notify_author=True).message_post( + body=_( + "The BMEcat catalog of %(catalog_name)s has been successfully generated." + ) + % {"catalog_name": self.catalog_id.name}, + subtype_xmlid="mail.mt_comment", + partner_ids=[self.env.user.partner_id.id], + ) + + def _generate_bmecat_file(self): + self.ensure_one() + products = self.env["lighting.product"].search( + [ + ("catalog_ids", "=", self.catalog_id.id), + ( + "state_marketing", + "in", + self.bmecat_config_id.state_marketing_filter.mapped("value"), + ), + ("state", "=", "published"), # TODO REVIEW: Reconsider logic + ] + ) + self._check_bmecat_file_values(products) + filestore_path = self.env["ir.attachment"]._filestore() + temp_filename = os.path.join( + filestore_path, self._get_bmecat_filename() + ".xml" + ) + with open(temp_filename, "w+b") as tmp_file: + self._write_bmecat_xml(tmp_file, products) + if self.bmecat_config_id.validate_xml: + self.validate_xml_with_xsd(temp_filename) + self._compress_file(temp_filename) + content_hash, file_size = self._compute_file_hash_and_size(temp_filename) + self._move_file_to_filestore(temp_filename, filestore_path, content_hash) + attachment = self._create_attachment(content_hash, file_size) + self.write( + { + "attachment_id": attachment.id, + "state": "validated" + if self.bmecat_config_id.validate_xml + else "generated", + } + ) + self.with_context(lang=self.env.user.lang).send_bmecat_notification(attachment) + + def generate_bmecat_file(self): + self.ensure_one() + self = self.with_context(lang=self.language_id.code) + if not self.create_job: + return self._generate_bmecat_file() + new_delay = self.with_delay()._generate_bmecat_file() + job = self.env["queue.job"].search([("uuid", "=", new_delay.uuid)], limit=1) + self.bmecat_jobs_ids |= job + + def action_download_bmecat_file(self): + self.ensure_one() + if not self.attachment_id: + raise ValidationError(_("No BMECat file has been generated yet.")) + return { + "type": "ir.actions.act_url", + "url": "/web/content/%s?download=true" % self.attachment_id.id, + "target": "self", + } diff --git a/lighting_export_bmecat/readme/CONTRIBUTORS.rst b/lighting_export_bmecat/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..277078c8 --- /dev/null +++ b/lighting_export_bmecat/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ +* `NuoBiT `__: + + * Frank Cespedes diff --git a/lighting_export_bmecat/readme/DESCRIPTION.rst b/lighting_export_bmecat/readme/DESCRIPTION.rst new file mode 100644 index 00000000..50bf4f2e --- /dev/null +++ b/lighting_export_bmecat/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This module adds the function generate_generic_name for display names models diff --git a/lighting_export_bmecat/security/ir.model.access.csv b/lighting_export_bmecat/security/ir.model.access.csv new file mode 100644 index 00000000..4119d907 --- /dev/null +++ b/lighting_export_bmecat/security/ir.model.access.csv @@ -0,0 +1,15 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_lighting_export_bmecat_manager,lighting.export.bmecat manager,model_lighting_export_bmecat,lighting.group_lighting_manager,1,1,1,1 +access_lighting_export_bmecat_user,lighting.export.bmecat user,model_lighting_export_bmecat,lighting.group_lighting_user,1,1,1,0 +access_lighting_bmecat_config_manager,lighting.bmecat.config manager,model_lighting_bmecat_config,lighting.group_lighting_manager,1,1,1,1 +access_lighting_bmecat_config_user,lighting.bmecat.config user,model_lighting_bmecat_config,lighting.group_lighting_user,1,0,0,0 +access_lighting_bmecat_packing_unit_manager,lighting.bmecat.packing.unit manager,model_lighting_bmecat_packing_unit,lighting.group_lighting_manager,1,1,1,1 +access_lighting_bmecat_packing_unit_user,lighting.bmecat.packing.unit user,model_lighting_bmecat_packing_unit,lighting.group_lighting_user,1,0,0,0 +access_lighting_bmecat_packing_unit_mapping_manager,lighting.bmecat.packing.unit.mapping manager,model_lighting_bmecat_packing_unit_mapping,lighting.group_lighting_manager,1,1,1,1 +access_lighting_bmecat_packing_unit_mapping_user,lighting.bmecat.packing.unit.mapping user,model_lighting_bmecat_packing_unit_mapping,lighting.group_lighting_user,1,0,0,0 +access_lighting_bmecat_mime_code_manager,lighting.bmecat.mime.code manager,model_lighting_bmecat_mime_code,lighting.group_lighting_manager,1,1,1,1 +access_lighting_bmecat_mime_code_user,lighting.bmecat.mime.code user,model_lighting_bmecat_mime_code,lighting.group_lighting_user,1,0,0,0 +access_lighting_bmecat_mime_code_mapping_manager,lighting.bmecat.mime.code.mapping manager,model_lighting_bmecat_mime_code_mapping,lighting.group_lighting_manager,1,1,1,1 +access_lighting_bmecat_mime_code_mapping_user,lighting.bmecat.mime.code.mapping user,model_lighting_bmecat_mime_code_mapping,lighting.group_lighting_user,1,0,0,0 +access_lighting_bmecat_logistic_details_manager,lighting.bmecat.logistic.details manager,model_lighting_bmecat_logistic_details,lighting.group_lighting_manager,1,1,1,1 +access_lighting_bmecat_logistic_details_user,lighting.bmecat.logistic.details user,model_lighting_bmecat_logistic_details,lighting.group_lighting_user,1,0,0,0 diff --git a/lighting_export_bmecat/security/lighting_bmecat_rule.xml b/lighting_export_bmecat/security/lighting_bmecat_rule.xml new file mode 100644 index 00000000..b97d07e7 --- /dev/null +++ b/lighting_export_bmecat/security/lighting_bmecat_rule.xml @@ -0,0 +1,9 @@ + + + + Lighting BMEcat multi-company + + + [('company_id', 'in', [False] + company_ids)] + + diff --git a/lighting_export_bmecat/static/description/icon.png b/lighting_export_bmecat/static/description/icon.png new file mode 100644 index 00000000..1cd641e7 Binary files /dev/null and b/lighting_export_bmecat/static/description/icon.png differ diff --git a/lighting_export_bmecat/static/description/index.html b/lighting_export_bmecat/static/description/index.html new file mode 100644 index 00000000..d163775c --- /dev/null +++ b/lighting_export_bmecat/static/description/index.html @@ -0,0 +1,419 @@ + + + + + +Lighting Export BMEcat + + + + +Lighting Export BMEcat + + + +This module adds the function generate_generic_name for display names models +Table of contents + + +Bug Tracker +Credits +Authors +Contributors +Maintainers + + + + + +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 + +NuoBiT Solutions SL + + + +Contributors + +NuoBiT: +Frank Cespedes <fcespedes@nuobit.com> + + + + + +Maintainers +This module is part of the NuoBiT/lighting-vertical project on GitHub. +You are welcome to contribute. + + + + + diff --git a/lighting_export_bmecat/views/lighting_bmecat_config_views.xml b/lighting_export_bmecat/views/lighting_bmecat_config_views.xml new file mode 100644 index 00000000..fe1a6863 --- /dev/null +++ b/lighting_export_bmecat/views/lighting_bmecat_config_views.xml @@ -0,0 +1,95 @@ + + + + + lighting.bmecat.config.form + lighting.bmecat.config + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lighting.bmecat.config.tree + lighting.bmecat.config + + + + + + + + + + BMEcat + lighting.bmecat.config + tree,form + + Create the first bmecat + + + + + + diff --git a/lighting_export_bmecat/views/lighting_export_bmecat_views.xml b/lighting_export_bmecat/views/lighting_export_bmecat_views.xml new file mode 100644 index 00000000..d3a99521 --- /dev/null +++ b/lighting_export_bmecat/views/lighting_export_bmecat_views.xml @@ -0,0 +1,160 @@ + + + + + lighting.export.bmecat.form + lighting.export.bmecat + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lighting.export.bmecat.tree + lighting.export.bmecat + + + + + + + + + + + + + + lighting.export.bmecat.search + lighting.export.bmecat + + + + + + + + + BMEcat Catalogs + lighting.export.bmecat + tree,form + {'search_default_filter_state_published': 1} + + Create the first bmecat + + + + + + + diff --git a/lighting_export_bmecat/views/product_catalog_views.xml b/lighting_export_bmecat/views/product_catalog_views.xml new file mode 100644 index 00000000..51627bc8 --- /dev/null +++ b/lighting_export_bmecat/views/product_catalog_views.xml @@ -0,0 +1,20 @@ + + + + + catalog.form + lighting.catalog + + + + + + + + diff --git a/lighting_export_bmecat/views/queue_job_views.xml b/lighting_export_bmecat/views/queue_job_views.xml new file mode 100644 index 00000000..e43e329a --- /dev/null +++ b/lighting_export_bmecat/views/queue_job_views.xml @@ -0,0 +1,24 @@ + + + + + queue.job + + + + + + + + + + + + diff --git a/lighting_export_bmecat/views/report_bmecat.xml b/lighting_export_bmecat/views/report_bmecat.xml new file mode 100644 index 00000000..a3ca3121 --- /dev/null +++ b/lighting_export_bmecat/views/report_bmecat.xml @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5.0 + + + + + + + + + + + physical + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + 1 + + false + 1 + + + + + + + + + + + + + + + + + + true + true + true + + + ECORAEE + base + + + + 36 + + + + + + + + + + + + lighting_export_bmecat.bmecat_header + BMEcat Export Header + qweb-xml + lighting.export.bmecat + + + + lighting_export_bmecat.bmecat_catalog_product + BMEcat Export Product + qweb-xml + lighting.export.bmecat + + diff --git a/requirements.txt b/requirements.txt index bc23bb05..e5e9c4cb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,8 @@ # generated from manifests external_dependencies hdbcli +openupgradelib paramiko Pillow +pycountry pysmb requests diff --git a/setup/lighting_export_bmecat/odoo/addons/lighting_export_bmecat b/setup/lighting_export_bmecat/odoo/addons/lighting_export_bmecat new file mode 120000 index 00000000..260ab0eb --- /dev/null +++ b/setup/lighting_export_bmecat/odoo/addons/lighting_export_bmecat @@ -0,0 +1 @@ +../../../../lighting_export_bmecat \ No newline at end of file diff --git a/setup/lighting_export_bmecat/setup.py b/setup/lighting_export_bmecat/setup.py new file mode 100644 index 00000000..28c57bb6 --- /dev/null +++ b/setup/lighting_export_bmecat/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +)
This module adds the function generate_generic_name for display names models
Table of contents
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.
This module is part of the NuoBiT/lighting-vertical project on GitHub.
You are welcome to contribute.
Create the first bmecat +
Create the first bmecat