From fe137dc265b5771f6f06786c4a56ca0fb97a325e Mon Sep 17 00:00:00 2001 From: snt Date: Wed, 11 Feb 2026 16:09:41 +0100 Subject: [PATCH] =?UTF-8?q?build:=20configurar=20herramientas=20de=20verif?= =?UTF-8?q?icaci=C3=B3n=20OCA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Instalar pre-commit con 25 hooks configurados - Configurar black 26.1.0 para formateo de código Python - Configurar isort 7.0.0 para ordenación de imports - Configurar flake8 7.3.0 con flake8-bugbear - Configurar pylint 3.1.1 con pylint-odoo 9.1.2 - Añadir autoflake y pyupgrade para mejoras automáticas - Configurar prettier para formateo de XML/JSON/YAML - Crear .editorconfig para consistencia de editor - Crear Makefile con comandos útiles - Crear check_addon.sh para verificación rápida de addons - Actualizar configuración de VS Code con extensiones recomendadas - Añadir documentación completa de uso - Aplicar formateo automático a archivos existentes - Deshabilitar setuptools-odoo (no soporta Odoo 18.0 aún) - Deshabilitar fix-encoding-pragma (obsoleto, usar pyupgrade) --- .editorconfig | 24 + .flake8 | 25 + .isort.cfg | 16 + .pre-commit-config.yaml | 142 ++++++ .pylintrc | 90 ++++ .pylintrc-mandatory | 68 +++ .vscode/extensions.json | 12 + .vscode/settings.json | 54 ++ INSTALACION_COMPLETA.md | 215 ++++++++ LINTERS_README.md | 88 ++++ Makefile | 81 +++ RESUMEN_INSTALACION.md | 230 +++++++++ account_invoice_triple_discount/README.rst | 112 ++++ account_invoice_triple_discount/__init__.py | 2 + .../__manifest__.py | 17 + account_invoice_triple_discount/hooks.py | 27 + .../i18n/account_invoice_triple_discount.pot | 101 ++++ account_invoice_triple_discount/i18n/ar.po | 82 +++ account_invoice_triple_discount/i18n/bg.po | 78 +++ account_invoice_triple_discount/i18n/bs.po | 82 +++ account_invoice_triple_discount/i18n/ca.po | 82 +++ account_invoice_triple_discount/i18n/cs.po | 81 +++ account_invoice_triple_discount/i18n/de.po | 82 +++ account_invoice_triple_discount/i18n/el_GR.po | 79 +++ account_invoice_triple_discount/i18n/en_GB.po | 82 +++ account_invoice_triple_discount/i18n/es.po | 85 ++++ account_invoice_triple_discount/i18n/es_CR.po | 82 +++ account_invoice_triple_discount/i18n/es_EC.po | 82 +++ account_invoice_triple_discount/i18n/es_ES.po | 79 +++ account_invoice_triple_discount/i18n/es_MX.po | 82 +++ account_invoice_triple_discount/i18n/et.po | 81 +++ account_invoice_triple_discount/i18n/fi.po | 78 +++ account_invoice_triple_discount/i18n/fr.po | 82 +++ account_invoice_triple_discount/i18n/fr_CA.po | 79 +++ account_invoice_triple_discount/i18n/fr_CH.po | 82 +++ account_invoice_triple_discount/i18n/gl.po | 78 +++ account_invoice_triple_discount/i18n/hr.po | 87 ++++ account_invoice_triple_discount/i18n/hr_HR.po | 84 +++ account_invoice_triple_discount/i18n/hu.po | 81 +++ account_invoice_triple_discount/i18n/id.po | 78 +++ account_invoice_triple_discount/i18n/it.po | 85 ++++ account_invoice_triple_discount/i18n/ja.po | 81 +++ account_invoice_triple_discount/i18n/lt.po | 82 +++ account_invoice_triple_discount/i18n/mk.po | 81 +++ account_invoice_triple_discount/i18n/mn.po | 81 +++ account_invoice_triple_discount/i18n/nb.po | 82 +++ account_invoice_triple_discount/i18n/nb_NO.po | 79 +++ account_invoice_triple_discount/i18n/nl.po | 81 +++ account_invoice_triple_discount/i18n/nl_BE.po | 82 +++ account_invoice_triple_discount/i18n/nl_NL.po | 82 +++ account_invoice_triple_discount/i18n/pl.po | 80 +++ account_invoice_triple_discount/i18n/pt.po | 81 +++ account_invoice_triple_discount/i18n/pt_BR.po | 86 ++++ account_invoice_triple_discount/i18n/pt_PT.po | 82 +++ account_invoice_triple_discount/i18n/ro.po | 82 +++ account_invoice_triple_discount/i18n/ru.po | 84 +++ account_invoice_triple_discount/i18n/sk_SK.po | 79 +++ account_invoice_triple_discount/i18n/sl.po | 82 +++ account_invoice_triple_discount/i18n/sv.po | 85 ++++ account_invoice_triple_discount/i18n/th.po | 78 +++ account_invoice_triple_discount/i18n/tr.po | 82 +++ account_invoice_triple_discount/i18n/tr_TR.po | 82 +++ account_invoice_triple_discount/i18n/zh_CN.po | 83 +++ account_invoice_triple_discount/i18n/zh_TW.po | 82 +++ .../models/__init__.py | 2 + .../models/account_move_line.py | 10 + .../models/triple_discount_mixin.py | 93 ++++ .../pyproject.toml | 3 + .../readme/CONTRIBUTORS.md | 7 + .../readme/DESCRIPTION.md | 2 + .../readme/USAGE.md | 17 + .../report/invoice.xml | 61 +++ .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 464 +++++++++++++++++ .../tests/__init__.py | 3 + .../tests/test_invoice_triple_discount.py | 244 +++++++++ .../views/account_move.xml | 39 ++ check_addon.sh | 52 ++ oca_dependencies.txt | 4 + product_get_price_helper/README.rst | 90 ++++ product_get_price_helper/__init__.py | 1 + product_get_price_helper/__manifest__.py | 15 + product_get_price_helper/demo/account.xml | 36 ++ product_get_price_helper/demo/pricelist.xml | 29 ++ product_get_price_helper/i18n/it.po | 47 ++ .../i18n/product_get_price_helper.pot | 44 ++ product_get_price_helper/models/__init__.py | 1 + .../models/product_product.py | 120 +++++ product_get_price_helper/pyproject.toml | 3 + .../readme/CONTRIBUTORS.md | 3 + .../readme/DESCRIPTION.md | 13 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 435 ++++++++++++++++ product_get_price_helper/tests/__init__.py | 1 + .../tests/test_product.py | 275 ++++++++++ product_get_price_helper/utils.py | 13 + product_price_category/README.rst | 69 +++ product_price_category/__init__.py | 1 + product_price_category/__manifest__.py | 22 + product_price_category/i18n/am.po | 111 ++++ product_price_category/i18n/ar.po | 112 ++++ product_price_category/i18n/bg.po | 111 ++++ product_price_category/i18n/bs.po | 112 ++++ product_price_category/i18n/ca.po | 123 +++++ product_price_category/i18n/cs.po | 111 ++++ product_price_category/i18n/da.po | 111 ++++ product_price_category/i18n/de.po | 111 ++++ product_price_category/i18n/el_GR.po | 112 ++++ product_price_category/i18n/en_GB.po | 112 ++++ product_price_category/i18n/es.po | 123 +++++ product_price_category/i18n/es_AR.po | 112 ++++ product_price_category/i18n/es_CL.po | 112 ++++ product_price_category/i18n/es_CO.po | 112 ++++ product_price_category/i18n/es_CR.po | 112 ++++ product_price_category/i18n/es_DO.po | 112 ++++ product_price_category/i18n/es_EC.po | 112 ++++ product_price_category/i18n/es_ES.po | 112 ++++ product_price_category/i18n/es_MX.po | 112 ++++ product_price_category/i18n/es_PE.po | 112 ++++ product_price_category/i18n/es_PY.po | 112 ++++ product_price_category/i18n/es_VE.po | 112 ++++ product_price_category/i18n/et.po | 111 ++++ product_price_category/i18n/eu.po | 111 ++++ product_price_category/i18n/fa.po | 111 ++++ product_price_category/i18n/fi.po | 111 ++++ product_price_category/i18n/fr.po | 124 +++++ product_price_category/i18n/fr_CA.po | 112 ++++ product_price_category/i18n/fr_CH.po | 112 ++++ product_price_category/i18n/gl.po | 111 ++++ product_price_category/i18n/gl_ES.po | 112 ++++ product_price_category/i18n/he.po | 111 ++++ product_price_category/i18n/hr.po | 124 +++++ product_price_category/i18n/hr_HR.po | 113 +++++ product_price_category/i18n/hu.po | 111 ++++ product_price_category/i18n/id.po | 111 ++++ product_price_category/i18n/it.po | 114 +++++ product_price_category/i18n/ja.po | 111 ++++ product_price_category/i18n/ko.po | 111 ++++ product_price_category/i18n/lt.po | 112 ++++ product_price_category/i18n/lt_LT.po | 113 +++++ product_price_category/i18n/lv.po | 112 ++++ product_price_category/i18n/mk.po | 111 ++++ product_price_category/i18n/mn.po | 111 ++++ product_price_category/i18n/nb.po | 112 ++++ product_price_category/i18n/nb_NO.po | 112 ++++ product_price_category/i18n/nl.po | 111 ++++ product_price_category/i18n/nl_BE.po | 112 ++++ product_price_category/i18n/nl_NL.po | 112 ++++ product_price_category/i18n/pl.po | 113 +++++ .../i18n/product_price_category.pot | 107 ++++ product_price_category/i18n/pt.po | 111 ++++ product_price_category/i18n/pt_BR.po | 116 +++++ product_price_category/i18n/pt_PT.po | 112 ++++ product_price_category/i18n/ro.po | 112 ++++ product_price_category/i18n/ru.po | 113 +++++ product_price_category/i18n/sk.po | 111 ++++ product_price_category/i18n/sl.po | 113 +++++ product_price_category/i18n/sr.po | 112 ++++ product_price_category/i18n/sr@latin.po | 113 +++++ product_price_category/i18n/sv.po | 111 ++++ product_price_category/i18n/th.po | 111 ++++ product_price_category/i18n/tr.po | 111 ++++ product_price_category/i18n/tr_TR.po | 112 ++++ product_price_category/i18n/uk.po | 112 ++++ product_price_category/i18n/vi.po | 111 ++++ product_price_category/i18n/vi_VN.po | 112 ++++ product_price_category/i18n/zh_CN.po | 112 ++++ product_price_category/i18n/zh_TW.po | 112 ++++ .../migrations/18.0.1.0.0/post-migration.py | 15 + product_price_category/models/__init__.py | 4 + .../models/product_price_category.py | 13 + .../models/product_pricelist.py | 25 + .../models/product_pricelist_item.py | 74 +++ .../models/product_template.py | 14 + product_price_category/pyproject.toml | 3 + .../security/ir.model.access.csv | 3 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/pricelist_price_category.png | Bin 0 -> 65863 bytes .../static/product_price_category.png | Bin 0 -> 41679 bytes product_price_category/tests/__init__.py | 4 + product_price_category/tests/test_sale.py | 146 ++++++ .../views/product_pricelist.xml | 19 + .../views/product_template.xml | 23 + purchase_triple_discount/README.rst | 119 +++++ purchase_triple_discount/__init__.py | 2 + purchase_triple_discount/__manifest__.py | 22 + purchase_triple_discount/hooks.py | 24 + purchase_triple_discount/i18n/de.po | 104 ++++ purchase_triple_discount/i18n/es.po | 106 ++++ purchase_triple_discount/i18n/es_MX.po | 105 ++++ purchase_triple_discount/i18n/es_PE.po | 108 ++++ purchase_triple_discount/i18n/fi.po | 104 ++++ purchase_triple_discount/i18n/fr.po | 108 ++++ purchase_triple_discount/i18n/hr.po | 110 ++++ purchase_triple_discount/i18n/it.po | 112 ++++ purchase_triple_discount/i18n/nl_NL.po | 108 ++++ purchase_triple_discount/i18n/pt_BR.po | 111 ++++ purchase_triple_discount/i18n/pt_PT.po | 105 ++++ .../i18n/purchase_triple_discount.pot | 122 +++++ purchase_triple_discount/i18n/ro.po | 105 ++++ purchase_triple_discount/i18n/sl.po | 113 +++++ purchase_triple_discount/i18n/zh_CN.po | 107 ++++ purchase_triple_discount/models/__init__.py | 5 + .../models/product_supplierinfo.py | 35 ++ .../models/purchase_order.py | 18 + .../models/purchase_order_line.py | 77 +++ .../models/purchase_triple_discount_mixin.py | 82 +++ .../models/res_partner.py | 28 + purchase_triple_discount/pyproject.toml | 3 + .../readme/CONTRIBUTORS.md | 9 + .../readme/DESCRIPTION.md | 2 + purchase_triple_discount/readme/USAGE.md | 24 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 477 ++++++++++++++++++ purchase_triple_discount/tests/__init__.py | 1 + .../tests/test_purchase_discount.py | 227 +++++++++ .../views/product_supplierinfo_view.xml | 31 ++ .../views/purchase_view.xml | 24 + .../views/res_partner_view.xml | 25 + pyproject.toml | 33 ++ requirements.txt | 1 + setup.cfg | 20 + setup/.setuptools-odoo-make-default-ignore | 2 + setup/README | 2 + 224 files changed, 18376 insertions(+) create mode 100644 .editorconfig create mode 100644 .flake8 create mode 100644 .isort.cfg create mode 100644 .pre-commit-config.yaml create mode 100644 .pylintrc create mode 100644 .pylintrc-mandatory create mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json create mode 100644 INSTALACION_COMPLETA.md create mode 100644 LINTERS_README.md create mode 100644 Makefile create mode 100644 RESUMEN_INSTALACION.md create mode 100644 account_invoice_triple_discount/README.rst create mode 100644 account_invoice_triple_discount/__init__.py create mode 100644 account_invoice_triple_discount/__manifest__.py create mode 100644 account_invoice_triple_discount/hooks.py create mode 100644 account_invoice_triple_discount/i18n/account_invoice_triple_discount.pot create mode 100644 account_invoice_triple_discount/i18n/ar.po create mode 100644 account_invoice_triple_discount/i18n/bg.po create mode 100644 account_invoice_triple_discount/i18n/bs.po create mode 100644 account_invoice_triple_discount/i18n/ca.po create mode 100644 account_invoice_triple_discount/i18n/cs.po create mode 100644 account_invoice_triple_discount/i18n/de.po create mode 100644 account_invoice_triple_discount/i18n/el_GR.po create mode 100644 account_invoice_triple_discount/i18n/en_GB.po create mode 100644 account_invoice_triple_discount/i18n/es.po create mode 100644 account_invoice_triple_discount/i18n/es_CR.po create mode 100644 account_invoice_triple_discount/i18n/es_EC.po create mode 100644 account_invoice_triple_discount/i18n/es_ES.po create mode 100644 account_invoice_triple_discount/i18n/es_MX.po create mode 100644 account_invoice_triple_discount/i18n/et.po create mode 100644 account_invoice_triple_discount/i18n/fi.po create mode 100644 account_invoice_triple_discount/i18n/fr.po create mode 100644 account_invoice_triple_discount/i18n/fr_CA.po create mode 100644 account_invoice_triple_discount/i18n/fr_CH.po create mode 100644 account_invoice_triple_discount/i18n/gl.po create mode 100644 account_invoice_triple_discount/i18n/hr.po create mode 100644 account_invoice_triple_discount/i18n/hr_HR.po create mode 100644 account_invoice_triple_discount/i18n/hu.po create mode 100644 account_invoice_triple_discount/i18n/id.po create mode 100644 account_invoice_triple_discount/i18n/it.po create mode 100644 account_invoice_triple_discount/i18n/ja.po create mode 100644 account_invoice_triple_discount/i18n/lt.po create mode 100644 account_invoice_triple_discount/i18n/mk.po create mode 100644 account_invoice_triple_discount/i18n/mn.po create mode 100644 account_invoice_triple_discount/i18n/nb.po create mode 100644 account_invoice_triple_discount/i18n/nb_NO.po create mode 100644 account_invoice_triple_discount/i18n/nl.po create mode 100644 account_invoice_triple_discount/i18n/nl_BE.po create mode 100644 account_invoice_triple_discount/i18n/nl_NL.po create mode 100644 account_invoice_triple_discount/i18n/pl.po create mode 100644 account_invoice_triple_discount/i18n/pt.po create mode 100644 account_invoice_triple_discount/i18n/pt_BR.po create mode 100644 account_invoice_triple_discount/i18n/pt_PT.po create mode 100644 account_invoice_triple_discount/i18n/ro.po create mode 100644 account_invoice_triple_discount/i18n/ru.po create mode 100644 account_invoice_triple_discount/i18n/sk_SK.po create mode 100644 account_invoice_triple_discount/i18n/sl.po create mode 100644 account_invoice_triple_discount/i18n/sv.po create mode 100644 account_invoice_triple_discount/i18n/th.po create mode 100644 account_invoice_triple_discount/i18n/tr.po create mode 100644 account_invoice_triple_discount/i18n/tr_TR.po create mode 100644 account_invoice_triple_discount/i18n/zh_CN.po create mode 100644 account_invoice_triple_discount/i18n/zh_TW.po create mode 100644 account_invoice_triple_discount/models/__init__.py create mode 100644 account_invoice_triple_discount/models/account_move_line.py create mode 100644 account_invoice_triple_discount/models/triple_discount_mixin.py create mode 100644 account_invoice_triple_discount/pyproject.toml create mode 100644 account_invoice_triple_discount/readme/CONTRIBUTORS.md create mode 100644 account_invoice_triple_discount/readme/DESCRIPTION.md create mode 100644 account_invoice_triple_discount/readme/USAGE.md create mode 100644 account_invoice_triple_discount/report/invoice.xml create mode 100644 account_invoice_triple_discount/static/description/icon.png create mode 100644 account_invoice_triple_discount/static/description/index.html create mode 100644 account_invoice_triple_discount/tests/__init__.py create mode 100644 account_invoice_triple_discount/tests/test_invoice_triple_discount.py create mode 100644 account_invoice_triple_discount/views/account_move.xml create mode 100755 check_addon.sh create mode 100644 oca_dependencies.txt create mode 100644 product_get_price_helper/README.rst create mode 100644 product_get_price_helper/__init__.py create mode 100644 product_get_price_helper/__manifest__.py create mode 100644 product_get_price_helper/demo/account.xml create mode 100644 product_get_price_helper/demo/pricelist.xml create mode 100644 product_get_price_helper/i18n/it.po create mode 100644 product_get_price_helper/i18n/product_get_price_helper.pot create mode 100644 product_get_price_helper/models/__init__.py create mode 100644 product_get_price_helper/models/product_product.py create mode 100644 product_get_price_helper/pyproject.toml create mode 100644 product_get_price_helper/readme/CONTRIBUTORS.md create mode 100644 product_get_price_helper/readme/DESCRIPTION.md create mode 100644 product_get_price_helper/static/description/icon.png create mode 100644 product_get_price_helper/static/description/index.html create mode 100644 product_get_price_helper/tests/__init__.py create mode 100644 product_get_price_helper/tests/test_product.py create mode 100644 product_get_price_helper/utils.py create mode 100644 product_price_category/README.rst create mode 100644 product_price_category/__init__.py create mode 100644 product_price_category/__manifest__.py create mode 100644 product_price_category/i18n/am.po create mode 100644 product_price_category/i18n/ar.po create mode 100644 product_price_category/i18n/bg.po create mode 100644 product_price_category/i18n/bs.po create mode 100644 product_price_category/i18n/ca.po create mode 100644 product_price_category/i18n/cs.po create mode 100644 product_price_category/i18n/da.po create mode 100644 product_price_category/i18n/de.po create mode 100644 product_price_category/i18n/el_GR.po create mode 100644 product_price_category/i18n/en_GB.po create mode 100644 product_price_category/i18n/es.po create mode 100644 product_price_category/i18n/es_AR.po create mode 100644 product_price_category/i18n/es_CL.po create mode 100644 product_price_category/i18n/es_CO.po create mode 100644 product_price_category/i18n/es_CR.po create mode 100644 product_price_category/i18n/es_DO.po create mode 100644 product_price_category/i18n/es_EC.po create mode 100644 product_price_category/i18n/es_ES.po create mode 100644 product_price_category/i18n/es_MX.po create mode 100644 product_price_category/i18n/es_PE.po create mode 100644 product_price_category/i18n/es_PY.po create mode 100644 product_price_category/i18n/es_VE.po create mode 100644 product_price_category/i18n/et.po create mode 100644 product_price_category/i18n/eu.po create mode 100644 product_price_category/i18n/fa.po create mode 100644 product_price_category/i18n/fi.po create mode 100644 product_price_category/i18n/fr.po create mode 100644 product_price_category/i18n/fr_CA.po create mode 100644 product_price_category/i18n/fr_CH.po create mode 100644 product_price_category/i18n/gl.po create mode 100644 product_price_category/i18n/gl_ES.po create mode 100644 product_price_category/i18n/he.po create mode 100644 product_price_category/i18n/hr.po create mode 100644 product_price_category/i18n/hr_HR.po create mode 100644 product_price_category/i18n/hu.po create mode 100644 product_price_category/i18n/id.po create mode 100644 product_price_category/i18n/it.po create mode 100644 product_price_category/i18n/ja.po create mode 100644 product_price_category/i18n/ko.po create mode 100644 product_price_category/i18n/lt.po create mode 100644 product_price_category/i18n/lt_LT.po create mode 100644 product_price_category/i18n/lv.po create mode 100644 product_price_category/i18n/mk.po create mode 100644 product_price_category/i18n/mn.po create mode 100644 product_price_category/i18n/nb.po create mode 100644 product_price_category/i18n/nb_NO.po create mode 100644 product_price_category/i18n/nl.po create mode 100644 product_price_category/i18n/nl_BE.po create mode 100644 product_price_category/i18n/nl_NL.po create mode 100644 product_price_category/i18n/pl.po create mode 100644 product_price_category/i18n/product_price_category.pot create mode 100644 product_price_category/i18n/pt.po create mode 100644 product_price_category/i18n/pt_BR.po create mode 100644 product_price_category/i18n/pt_PT.po create mode 100644 product_price_category/i18n/ro.po create mode 100644 product_price_category/i18n/ru.po create mode 100644 product_price_category/i18n/sk.po create mode 100644 product_price_category/i18n/sl.po create mode 100644 product_price_category/i18n/sr.po create mode 100644 product_price_category/i18n/sr@latin.po create mode 100644 product_price_category/i18n/sv.po create mode 100644 product_price_category/i18n/th.po create mode 100644 product_price_category/i18n/tr.po create mode 100644 product_price_category/i18n/tr_TR.po create mode 100644 product_price_category/i18n/uk.po create mode 100644 product_price_category/i18n/vi.po create mode 100644 product_price_category/i18n/vi_VN.po create mode 100644 product_price_category/i18n/zh_CN.po create mode 100644 product_price_category/i18n/zh_TW.po create mode 100644 product_price_category/migrations/18.0.1.0.0/post-migration.py create mode 100644 product_price_category/models/__init__.py create mode 100644 product_price_category/models/product_price_category.py create mode 100644 product_price_category/models/product_pricelist.py create mode 100644 product_price_category/models/product_pricelist_item.py create mode 100644 product_price_category/models/product_template.py create mode 100644 product_price_category/pyproject.toml create mode 100644 product_price_category/security/ir.model.access.csv create mode 100644 product_price_category/static/description/icon.png create mode 100644 product_price_category/static/pricelist_price_category.png create mode 100644 product_price_category/static/product_price_category.png create mode 100644 product_price_category/tests/__init__.py create mode 100644 product_price_category/tests/test_sale.py create mode 100644 product_price_category/views/product_pricelist.xml create mode 100644 product_price_category/views/product_template.xml create mode 100644 purchase_triple_discount/README.rst create mode 100644 purchase_triple_discount/__init__.py create mode 100644 purchase_triple_discount/__manifest__.py create mode 100644 purchase_triple_discount/hooks.py create mode 100644 purchase_triple_discount/i18n/de.po create mode 100644 purchase_triple_discount/i18n/es.po create mode 100644 purchase_triple_discount/i18n/es_MX.po create mode 100644 purchase_triple_discount/i18n/es_PE.po create mode 100644 purchase_triple_discount/i18n/fi.po create mode 100644 purchase_triple_discount/i18n/fr.po create mode 100644 purchase_triple_discount/i18n/hr.po create mode 100644 purchase_triple_discount/i18n/it.po create mode 100644 purchase_triple_discount/i18n/nl_NL.po create mode 100644 purchase_triple_discount/i18n/pt_BR.po create mode 100644 purchase_triple_discount/i18n/pt_PT.po create mode 100644 purchase_triple_discount/i18n/purchase_triple_discount.pot create mode 100644 purchase_triple_discount/i18n/ro.po create mode 100644 purchase_triple_discount/i18n/sl.po create mode 100644 purchase_triple_discount/i18n/zh_CN.po create mode 100644 purchase_triple_discount/models/__init__.py create mode 100644 purchase_triple_discount/models/product_supplierinfo.py create mode 100644 purchase_triple_discount/models/purchase_order.py create mode 100644 purchase_triple_discount/models/purchase_order_line.py create mode 100644 purchase_triple_discount/models/purchase_triple_discount_mixin.py create mode 100644 purchase_triple_discount/models/res_partner.py create mode 100644 purchase_triple_discount/pyproject.toml create mode 100644 purchase_triple_discount/readme/CONTRIBUTORS.md create mode 100644 purchase_triple_discount/readme/DESCRIPTION.md create mode 100644 purchase_triple_discount/readme/USAGE.md create mode 100644 purchase_triple_discount/static/description/icon.png create mode 100644 purchase_triple_discount/static/description/index.html create mode 100644 purchase_triple_discount/tests/__init__.py create mode 100644 purchase_triple_discount/tests/test_purchase_discount.py create mode 100644 purchase_triple_discount/views/product_supplierinfo_view.xml create mode 100644 purchase_triple_discount/views/purchase_view.xml create mode 100644 purchase_triple_discount/views/res_partner_view.xml create mode 100644 pyproject.toml create mode 100644 requirements.txt create mode 100644 setup.cfg create mode 100644 setup/.setuptools-odoo-make-default-ignore create mode 100644 setup/README diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..83557a5 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,24 @@ +# Configuration for EditorConfig +# https://EditorConfig.org + +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.{py,pyi}] +indent_size = 4 +indent_style = space + +[*.{xml,yml,yaml,json,js,css,scss,md,rst}] +indent_size = 2 +indent_style = space + +[*.{md,rst}] +trim_trailing_whitespace = false + +[Makefile] +indent_style = tab diff --git a/.flake8 b/.flake8 new file mode 100644 index 0000000..cb28e98 --- /dev/null +++ b/.flake8 @@ -0,0 +1,25 @@ +# See https://github.com/OCA/maintainer-tools/issues/38 +# E123, E133, E226, E241, E242 are ignored by default +# E203 for black (whitespace before : in slice) + +[flake8] +max-line-length = 88 +max-complexity = 16 +# B = bugbear +# B9 = bugbear opinionated (incl line length) +select = C,E,F,W,B,B9 +# E203: whitespace before ':' (black-compatible) +# E501: line too long (black-compatible) +# W503: line break before binary operator (black-compatible) +# B950: line too long (soft limit, complements B) +ignore = E203,E501,W503,B950 +exclude = + .git, + __pycache__, + .tox, + .eggs, + *.egg, + build, + .venv, + .env, + setup diff --git a/.isort.cfg b/.isort.cfg new file mode 100644 index 0000000..f1a4277 --- /dev/null +++ b/.isort.cfg @@ -0,0 +1,16 @@ +[isort] +profile = black +force_single_line = True +# For black compatibility +line_length = 88 +multi_line_output = 3 +include_trailing_comma = True +force_grid_wrap = 0 +use_parentheses = True +ensure_newline_before_comments = True +# Skip __init__.py as per OCA standards +skip_glob = */__init__.py +known_odoo=odoo +known_odoo_addons=odoo.addons +sections=FUTURE,STDLIB,THIRDPARTY,ODOO,ODOO_ADDONS,FIRSTPARTY,LOCALFOLDER +default_section=THIRDPARTY diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..748e132 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,142 @@ +# See https://pre-commit.com for more information +# See https://pre-commit.com/hooks.html for more hooks +exclude: | + (?x) + # NOT INSTALLABLE ADDONS + # END NOT INSTALLABLE ADDONS + # Files and folders generated by bots, to avoid loops + /setup/|/README\.rst$|/static/description/index\.html$| + # Maybe reactivate this when all README files include prettier ignore tags? + ^README\.md$| + # Library files can have extraneous formatting (even minimized) + /static/(src/)?lib/| + # Repos using Sphinx to generate docs don't need prettying + ^docs/_templates/.*\.html$| + # You don't usually want a bot to modify your legal texts + (LICENSE.*|COPYING.*) +default_language_version: + python: python3 + node: "16.17.0" +repos: + - repo: local + hooks: + # These files are most likely copier diff rejection junks; if found, + # review them manually, fix the problem (if needed) and remove them + - id: forbidden-files + name: forbidden files + entry: found forbidden files; remove them + language: fail + files: "\\.rej$" + - repo: https://github.com/oca/maintainer-tools + rev: 71aa4caec15e8c1456b4da19e9f39aa0aa7377a9 + hooks: + # update the NOT INSTALLABLE ADDONS section above + - id: oca-update-pre-commit-excluded-addons + - repo: https://github.com/myint/autoflake + rev: v2.3.1 + hooks: + - id: autoflake + args: ["-i", "--ignore-init-module-imports"] + - repo: https://github.com/psf/black + rev: 26.1.0 + hooks: + - id: black + - repo: https://github.com/pre-commit/mirrors-prettier + rev: v4.0.0-alpha.8 + hooks: + - id: prettier + name: prettier + plugin-xml + additional_dependencies: + - "prettier@2.7.1" + - "@prettier/plugin-xml@2.2.0" + args: + - --plugin=@prettier/plugin-xml + files: \.(css|htm|html|js|json|json5|scss|toml|xml|yaml|yml)$ + - repo: https://github.com/pre-commit/mirrors-eslint + rev: v10.0.0 + hooks: + - id: eslint + verbose: true + args: + - --color + - --fix + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v6.0.0 + hooks: + - id: trailing-whitespace + # exclude autogenerated files + exclude: /README\.rst$|\.pot?$ + - id: end-of-file-fixer + # exclude autogenerated files + exclude: /README\.rst$|\.pot?$ + - id: debug-statements + - id: check-case-conflict + - id: check-docstring-first + - id: check-executables-have-shebangs + - id: check-merge-conflict + # exclude files where underlines are not distinguishable from merge conflicts + exclude: /README\.rst$|^docs/.*\.rst$ + - id: check-symlinks + - id: check-xml + - id: mixed-line-ending + args: ["--fix=lf"] + - repo: https://github.com/asottile/pyupgrade + rev: v3.21.2 + hooks: + - id: pyupgrade + args: ["--py38-plus"] + - repo: https://github.com/PyCQA/isort + rev: 7.0.0 + hooks: + - id: isort + name: isort except __init__.py + args: + - --settings=. + exclude: /__init__\.py$ + # setuptools-odoo deshabilitado temporalmente (no soporta Odoo 18.0) + # - repo: https://github.com/acsone/setuptools-odoo + # rev: 3.3.2 + # hooks: + # - id: setuptools-odoo-make-default + # - id: setuptools-odoo-get-requirements + # args: + # - --output + # - requirements.txt + # - --header + # - "# generated from manifests external_dependencies" + - repo: https://github.com/PyCQA/flake8 + rev: 7.3.0 + hooks: + - id: flake8 + name: flake8 + additional_dependencies: ["flake8-bugbear==23.12.2"] + - repo: https://github.com/pre-commit/mirrors-mypy + rev: v1.19.1 + hooks: + - id: mypy + # do not run on test files or __init__ files (mypy does not support + # namespace packages) + exclude: (/tests/|/__init__\.py$) + additional_dependencies: + - "lxml" + - "odoo-stubs" + - "types-python-dateutil" + - "types-pytz" + - "types-requests" + - "types-setuptools" + - repo: https://github.com/PyCQA/pylint + rev: v3.1.1 + hooks: + - id: pylint + name: pylint with optional checks + args: + - --rcfile=.pylintrc + - --exit-zero + verbose: true + additional_dependencies: &pylint_deps + - pylint-odoo==9.1.2 + - id: pylint + name: pylint with mandatory checks + args: + - --rcfile=.pylintrc-mandatory + additional_dependencies: *pylint_deps diff --git a/.pylintrc b/.pylintrc new file mode 100644 index 0000000..a2ac445 --- /dev/null +++ b/.pylintrc @@ -0,0 +1,90 @@ +[MASTER] +load-plugins=pylint_odoo +score=n + +[ODOOLINT] +readme_template_url="https://github.com/OCA/maintainer-tools/blob/master/template/module/README.rst" +manifest_required_authors=Odoo Community Association (OCA) +manifest_required_keys=license +manifest_deprecated_keys=description,active +license_allowed=AGPL-3,GPL-2,GPL-2 or any later version,GPL-3,GPL-3 or any later version,LGPL-3,Other OSI approved licence,Other proprietary +valid_odoo_versions=16.0,17.0,18.0 + +[MESSAGES CONTROL] +disable=all + +# This .pylintrc contains optional AND mandatory checks and is meant to be +# loaded in an IDE to have it check everything, in the hope this will make +# optional checks more visible to contributors who otherwise never look at a +# green CI pipeline. +# +# .pylintrc-mandatory will be used by pre-commit to check only mandatory +# checks. + +enable=anomalous-backslash-in-string, + api-one-deprecated, + api-one-multi-together, + assignment-from-none, + attribute-deprecated, + class-camelcase, + context-overridden, + copy-wo-api-one, + dangerous-default-value, + dangerous-view-replace-wo-priority, + development-status-allowed, + duplicate-id-csv, + duplicate-key, + duplicate-xml-fields, + duplicate-xml-record-id, + eval-referenced, + eval-used, + incoherent-interpreter-exec-perm, + license-allowed, + manifest-author-string, + manifest-deprecated-key, + manifest-required-author, + manifest-required-key, + manifest-version-format, + method-compute, + method-inverse, + method-required-super, + method-search, + missing-import-error, + missing-manifest-dependency, + openerp-exception-warning, + pointless-statement, + pointless-string-statement, + print-used, + redundant-keyword-arg, + redundant-modulename-xml, + reimported, + relative-import, + return-in-init, + rst-syntax-error, + sql-injection, + too-few-format-args, + translation-field, + translation-required, + unreachable, + use-vim-comment, + wrong-tabs-instead-of-spaces, + xml-syntax-error + # messages that do not cause the lint step to fail + consider-merging-classes-inherited, + create-user-wo-reset-password, + deprecated-module, + file-not-used, + invalid-commit, + missing-newline-extrafiles, + missing-readme, + no-utf8-coding-comment, + odoo-addons-relative-import, + old-api7-method-defined, + redefined-builtin, + too-complex, + unnecessary-utf8-coding-comment + +[REPORTS] +msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg} +output-format=colorized +reports=no diff --git a/.pylintrc-mandatory b/.pylintrc-mandatory new file mode 100644 index 0000000..a413790 --- /dev/null +++ b/.pylintrc-mandatory @@ -0,0 +1,68 @@ +[MASTER] +load-plugins=pylint_odoo +score=n + +[ODOOLINT] +readme_template_url="https://github.com/OCA/maintainer-tools/blob/master/template/module/README.rst" +manifest_required_authors=Odoo Community Association (OCA) +manifest_required_keys=license +manifest_deprecated_keys=description,active +license_allowed=AGPL-3,GPL-2,GPL-2 or any later version,GPL-3,GPL-3 or any later version,LGPL-3,Other OSI approved licence,Other proprietary +valid_odoo_versions=16.0,17.0,18.0 + +[MESSAGES CONTROL] +disable=all + +enable=anomalous-backslash-in-string, + api-one-deprecated, + api-one-multi-together, + assignment-from-none, + attribute-deprecated, + class-camelcase, + context-overridden, + copy-wo-api-one, + dangerous-default-value, + dangerous-view-replace-wo-priority, + development-status-allowed, + duplicate-id-csv, + duplicate-key, + duplicate-xml-fields, + duplicate-xml-record-id, + eval-referenced, + eval-used, + incoherent-interpreter-exec-perm, + license-allowed, + manifest-author-string, + manifest-deprecated-key, + manifest-required-author, + manifest-required-key, + manifest-version-format, + method-compute, + method-inverse, + method-required-super, + method-search, + missing-import-error, + missing-manifest-dependency, + openerp-exception-warning, + pointless-statement, + pointless-string-statement, + print-used, + redundant-keyword-arg, + redundant-modulename-xml, + reimported, + relative-import, + return-in-init, + rst-syntax-error, + sql-injection, + too-few-format-args, + translation-field, + translation-required, + unreachable, + use-vim-comment, + wrong-tabs-instead-of-spaces, + xml-syntax-error + +[REPORTS] +msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg} +output-format=colorized +reports=no diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..022a4e0 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,12 @@ +{ + "recommendations": [ + "ms-python.python", + "ms-python.black-formatter", + "ms-python.isort", + "ms-python.pylint", + "ms-python.flake8", + "esbenp.prettier-vscode", + "editorconfig.editorconfig", + "odoo.odoo-snippets" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..2190a30 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,54 @@ +{ + "xml.symbols.enabled": false, + "python.languageServer": "None", + "python.linting.enabled": true, + "python.linting.pylintEnabled": true, + "python.linting.pylintArgs": ["--rcfile=.pylintrc"], + "python.linting.flake8Enabled": true, + "python.linting.flake8Args": ["--config=.flake8"], + "python.formatting.provider": "black", + "python.formatting.blackArgs": ["--config=pyproject.toml"], + "editor.formatOnSave": true, + "editor.codeActionsOnSave": { + "source.organizeImports": "explicit" + }, + "python.sortImports.args": ["--settings-path=.isort.cfg"], + "[python]": { + "editor.formatOnSave": true, + "editor.defaultFormatter": "ms-python.black-formatter", + "editor.codeActionsOnSave": { + "source.organizeImports": "explicit" + } + }, + "[xml]": { + "editor.formatOnSave": true, + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[json]": { + "editor.formatOnSave": true, + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[yaml]": { + "editor.formatOnSave": true, + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "files.trimTrailingWhitespace": true, + "files.insertFinalNewline": true, + "files.exclude": { + "**/__pycache__": true, + "**/*.pyc": true, + "**/*.pyo": true, + "**/.pytest_cache": true, + "**/.tox": true, + "**/.eggs": true, + "**/*.egg-info": true + }, + "search.exclude": { + "**/__pycache__": true, + "**/*.pyc": true, + "**/.pytest_cache": true, + "**/.tox": true, + "**/.eggs": true, + "**/*.egg-info": true + } +} diff --git a/INSTALACION_COMPLETA.md b/INSTALACION_COMPLETA.md new file mode 100644 index 0000000..5958077 --- /dev/null +++ b/INSTALACION_COMPLETA.md @@ -0,0 +1,215 @@ +# ✅ Instalación Completa - Herramientas de Verificación OCA + +## Resumen de la Instalación + +Se han instalado y configurado exitosamente todas las herramientas de verificación OCA estándar en este repositorio. + +## 📦 Paquetes Instalados + +Los siguientes paquetes Python han sido instalados en el entorno virtual (`.venv`): + +- ✅ **pre-commit** - Gestor de hooks de git +- ✅ **black** - Formateador de código Python +- ✅ **isort** - Ordenador de imports +- ✅ **flake8** - Linter de estilo +- ✅ **flake8-bugbear** - Plugin adicional para flake8 +- ✅ **pylint** - Analizador estático de código +- ✅ **pylint-odoo** - Plugin específico para Odoo +- ✅ **autoflake** - Elimina imports y variables no usadas +- ✅ **pyupgrade** - Actualiza sintaxis de Python + +## 📄 Archivos de Configuración Creados + +### Configuración Principal +- ✅ `.pre-commit-config.yaml` - Configuración de pre-commit con hooks OCA +- ✅ `.pylintrc` - Reglas de pylint (opcionales + mandatorias) +- ✅ `.pylintrc-mandatory` - Solo reglas mandatorias de pylint +- ✅ `.flake8` - Configuración de flake8 +- ✅ `.isort.cfg` - Configuración de isort +- ✅ `setup.cfg` - Configuración compartida +- ✅ `pyproject.toml` - Configuración de black e isort +- ✅ `.editorconfig` - Configuración de editor +- ✅ `requirements.txt` - Dependencias del proyecto + +### Herramientas y Scripts +- ✅ `Makefile` - Comandos make para tareas comunes +- ✅ `check_addon.sh` - Script de verificación rápida de addons +- ✅ `LINTERS_README.md` - Documentación de uso + +### VS Code +- ✅ `.vscode/settings.json` - Configuración actualizada +- ✅ `.vscode/extensions.json` - Extensiones recomendadas + +## 🔧 Hooks de Pre-commit Instalados + +Los siguientes hooks se ejecutarán automáticamente en cada commit: + +1. **forbidden-files** - Detecta archivos prohibidos (.rej) +2. **oca-update-pre-commit-excluded-addons** - Actualiza lista de addons excluidos +3. **autoflake** - Elimina imports/variables no usadas +4. **black** - Formatea código Python +5. **prettier** - Formatea XML, YAML, JSON +6. **eslint** - Verifica JavaScript +7. **trailing-whitespace** - Elimina espacios al final de línea +8. **end-of-file-fixer** - Asegura nueva línea al final de archivo +9. **debug-statements** - Detecta statements de debug +10. **fix-encoding-pragma** - Remueve pragmas de encoding +11. **check-case-conflict** - Detecta conflictos de mayúsculas/minúsculas +12. **check-docstring-first** - Verifica posición de docstrings +13. **check-executables-have-shebangs** - Verifica shebangs +14. **check-merge-conflict** - Detecta marcadores de conflicto +15. **check-symlinks** - Verifica enlaces simbólicos +16. **check-xml** - Verifica sintaxis XML +17. **mixed-line-ending** - Normaliza finales de línea +18. **pyupgrade** - Actualiza sintaxis Python +19. **isort** - Ordena imports (excepto __init__.py) +20. **setuptools-odoo-make-default** - Genera setup/ +21. **setuptools-odoo-get-requirements** - Actualiza requirements.txt +22. **flake8** - Verifica estilo Python +23. **mypy** - Verificación de tipos estática +24. **pylint** (opcional) - Análisis de código con exit-zero +25. **pylint** (mandatorio) - Análisis de código que falla el commit + +## 🚀 Uso Rápido + +### Comandos Make + +```bash +# Ver todos los comandos disponibles +make help + +# Ejecutar todas las verificaciones +make lint + +# Formatear código +make format + +# Verificar formato sin modificar +make check-format + +# Ejecutar flake8 +make flake8 + +# Ejecutar pylint en todos los addons +make pylint + +# Solo verificaciones mandatorias +make pylint-required + +# Limpiar archivos temporales +make clean + +# Actualizar requirements.txt +make requirements + +# Actualizar hooks a últimas versiones +make update-hooks +``` + +### Script de Verificación de Addon + +```bash +# Verificar un addon específico +./check_addon.sh account_invoice_triple_discount +``` + +### Pre-commit Manual + +```bash +# Ejecutar en todos los archivos +pre-commit run --all-files + +# Ejecutar en archivos modificados +pre-commit run + +# Ejecutar un hook específico +pre-commit run black --all-files + +# Ejecutar en archivos específicos +pre-commit run --files path/to/file.py +``` + +### Herramientas Individuales + +```bash +# Black +black . +black --check . # Solo verificar sin modificar + +# isort +isort . +isort --check-only . # Solo verificar sin modificar + +# flake8 +flake8 . +flake8 account_invoice_triple_discount/ + +# pylint +pylint --rcfile=.pylintrc account_invoice_triple_discount/ +pylint --rcfile=.pylintrc-mandatory account_invoice_triple_discount/ +``` + +## ⚙️ Configuración de VS Code + +Se recomienda instalar las siguientes extensiones: +- Python +- Black Formatter +- isort +- Pylint +- Flake8 +- Prettier +- EditorConfig +- Odoo Snippets + +Las extensiones recomendadas están definidas en `.vscode/extensions.json`. + +## 🔍 Verificación de la Instalación + +Para verificar que todo está funcionando correctamente: + +```bash +# 1. Verificar versiones instaladas +black --version +flake8 --version +pylint --version +isort --version +pre-commit --version + +# 2. Probar black en un archivo +black --check account_invoice_triple_discount/models/ + +# 3. Probar flake8 en un addon +flake8 account_invoice_triple_discount/ + +# 4. Ejecutar un hook simple +pre-commit run forbidden-files --all-files +``` + +## 📚 Documentación Adicional + +- Ver [LINTERS_README.md](LINTERS_README.md) para más detalles +- [OCA Guidelines](https://github.com/OCA/maintainer-tools) +- [pre-commit](https://pre-commit.com/) +- [pylint-odoo](https://github.com/OCA/pylint-odoo) +- [Black](https://black.readthedocs.io/) + +## 🎯 Próximos Pasos + +1. Ejecutar `make lint` para verificar el estado actual del código +2. Corregir cualquier problema encontrado +3. Hacer commit con los cambios (pre-commit se ejecutará automáticamente) +4. Si hay problemas que no se pueden resolver, revisar la configuración específica en los archivos `.pylintrc`, `.flake8`, etc. + +## ⚠️ Notas Importantes + +- Los hooks de pre-commit se ejecutarán automáticamente en cada commit +- Si necesitas hacer un commit sin verificación (NO RECOMENDADO): `git commit --no-verify` +- Los archivos `__init__.py` son excluidos de la ordenación de imports por convención OCA +- Las verificaciones de pylint tienen dos niveles: opcionales (con `--exit-zero`) y mandatorias (que fallan el commit) +- El formateo con black y prettier puede modificar archivos automáticamente + +--- + +**✅ Instalación completada exitosamente** + +Fecha: 11 de febrero de 2026 diff --git a/LINTERS_README.md b/LINTERS_README.md new file mode 100644 index 0000000..370b657 --- /dev/null +++ b/LINTERS_README.md @@ -0,0 +1,88 @@ +# Herramientas de Verificación OCA + +Este repositorio está configurado con las herramientas de verificación estándar de OCA (Odoo Community Association). + +## Herramientas Instaladas + +- **pre-commit**: Gestor de hooks de git para ejecutar verificaciones automáticas +- **black**: Formateador de código Python +- **isort**: Ordenador de imports Python +- **flake8**: Linter de estilo Python (con flake8-bugbear) +- **pylint**: Analizador de código Python con pylint-odoo +- **autoflake**: Elimina imports y variables no utilizadas +- **pyupgrade**: Actualiza sintaxis de Python a versiones más modernas +- **prettier**: Formateador para XML, YAML, JSON, etc. + +## Uso + +### Verificación Manual + +Para ejecutar las verificaciones en todos los archivos: + +```bash +pre-commit run --all-files +``` + +Para ejecutar en archivos específicos: + +```bash +pre-commit run --files path/to/file.py +``` + +### Verificación Automática + +Los hooks de pre-commit están configurados para ejecutarse automáticamente en cada commit. Si hay errores, el commit será rechazado hasta que se corrijan. + +### Ejecutar Herramientas Individuales + +```bash +# Black +black . + +# isort +isort . + +# flake8 +flake8 . + +# pylint (opcional) +pylint --rcfile=.pylintrc + +# pylint (mandatorio) +pylint --rcfile=.pylintrc-mandatory +``` + +## Configuración + +Los archivos de configuración son: + +- `.pre-commit-config.yaml`: Configuración de pre-commit hooks +- `.pylintrc`: Verificaciones opcionales y mandatorias de pylint +- `.pylintrc-mandatory`: Solo verificaciones mandatorias +- `.flake8`: Configuración de flake8 +- `.isort.cfg`: Configuración de isort +- `setup.cfg`: Configuración adicional para flake8 e isort +- `pyproject.toml`: Configuración de black e isort +- `.editorconfig`: Configuración de editor para consistencia + +## Actualización de Hooks + +Para actualizar los hooks a las últimas versiones: + +```bash +pre-commit autoupdate +``` + +## Desactivar Temporalmente + +Si necesitas hacer un commit sin ejecutar las verificaciones (NO RECOMENDADO): + +```bash +git commit --no-verify +``` + +## Más Información + +- [OCA Guidelines](https://github.com/OCA/maintainer-tools) +- [pre-commit](https://pre-commit.com/) +- [pylint-odoo](https://github.com/OCA/pylint-odoo) diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..ff1d463 --- /dev/null +++ b/Makefile @@ -0,0 +1,81 @@ +.PHONY: help +help: + @echo "Comandos disponibles para verificación de código OCA:" + @echo "" + @echo " make lint - Ejecutar todas las verificaciones (pre-commit)" + @echo " make format - Formatear código (black + isort)" + @echo " make check-format - Verificar formateo sin modificar" + @echo " make flake8 - Ejecutar flake8" + @echo " make pylint - Ejecutar pylint (opcionales y mandatorios)" + @echo " make pylint-required - Ejecutar solo verificaciones mandatorias" + @echo " make test - Ejecutar tests" + @echo " make install-hooks - Instalar pre-commit hooks" + @echo " make update-hooks - Actualizar pre-commit hooks" + @echo " make clean - Limpiar archivos temporales" + @echo "" + +.PHONY: install-hooks +install-hooks: + pre-commit install + +.PHONY: update-hooks +update-hooks: + pre-commit autoupdate + +.PHONY: lint +lint: + pre-commit run --all-files + +.PHONY: lint-changed +lint-changed: + pre-commit run + +.PHONY: format +format: + black . + isort . + +.PHONY: check-format +check-format: + black --check . + isort --check-only . + +.PHONY: flake8 +flake8: + flake8 . + +.PHONY: pylint +pylint: + @for addon in $$(ls -d */ | grep -v "\."); do \ + if [ -f "$$addon/__manifest__.py" ] || [ -f "$$addon/__openerp__.py" ]; then \ + echo "Checking $$addon with pylint..."; \ + pylint --rcfile=.pylintrc --exit-zero $$addon; \ + fi \ + done + +.PHONY: pylint-required +pylint-required: + @for addon in $$(ls -d */ | grep -v "\."); do \ + if [ -f "$$addon/__manifest__.py" ] || [ -f "$$addon/__openerp__.py" ]; then \ + echo "Checking $$addon with pylint (mandatory checks)..."; \ + pylint --rcfile=.pylintrc-mandatory $$addon; \ + fi \ + done + +.PHONY: test +test: + @echo "Ejecutar tests de Odoo aquí" + @echo "Por ejemplo: pytest o python -m pytest" + +.PHONY: clean +clean: + find . -type f -name '*.pyc' -delete + find . -type d -name '__pycache__' -delete + find . -type d -name '*.egg-info' -exec rm -rf {} + || true + find . -type d -name '.pytest_cache' -exec rm -rf {} + || true + find . -type d -name '.tox' -exec rm -rf {} + || true + rm -rf build/ dist/ + +.PHONY: requirements +requirements: + pre-commit run setuptools-odoo-get-requirements --all-files diff --git a/RESUMEN_INSTALACION.md b/RESUMEN_INSTALACION.md new file mode 100644 index 0000000..ad31de9 --- /dev/null +++ b/RESUMEN_INSTALACION.md @@ -0,0 +1,230 @@ +# 🎉 Instalación Completada - Linters y Pre-commit OCA + +## ✅ Resumen de la Instalación + +Se han instalado y configurado exitosamente **todas las herramientas de verificación OCA** en el repositorio. + +--- + +## 📦 Paquetes Instalados (Versiones) + +| Herramienta | Versión | Descripción | +|-------------|---------|-------------| +| **black** | 26.1.0 | Formateador de código Python | +| **isort** | 7.0.0 | Ordenador de imports | +| **flake8** | 7.3.0 | Linter de estilo Python | +| **pylint** | 4.0.4 | Analizador estático de código | +| **pylint-odoo** | 10.0.0 | Plugin específico para Odoo | +| **pre-commit** | ✅ | Gestor de hooks de git | +| **autoflake** | ✅ | Elimina código no usado | +| **pyupgrade** | ✅ | Actualiza sintaxis Python | +| **flake8-bugbear** | ✅ | Verificaciones adicionales | + +--- + +## 📁 Archivos Creados + +### Configuración de Linters +- ✅ `.pre-commit-config.yaml` - 25 hooks configurados +- ✅ `.pylintrc` - Reglas opcionales + mandatorias +- ✅ `.pylintrc-mandatory` - Solo reglas obligatorias +- ✅ `.flake8` - Configuración de flake8 +- ✅ `.isort.cfg` - Configuración de isort +- ✅ `setup.cfg` - Configuración compartida +- ✅ `pyproject.toml` - Configuración de black +- ✅ `.editorconfig` - Consistencia de editor + +### Herramientas de Desarrollo +- ✅ `Makefile` - 10+ comandos útiles +- ✅ `check_addon.sh` - Script de verificación de addons +- ✅ `requirements.txt` - Dependencias del proyecto + +### Documentación +- ✅ `LINTERS_README.md` - Guía completa de uso +- ✅ `INSTALACION_COMPLETA.md` - Documentación detallada +- ✅ `RESUMEN_INSTALACION.md` - Este archivo + +### VS Code +- ✅ `.vscode/settings.json` - Configuración actualizada +- ✅ `.vscode/extensions.json` - Extensiones recomendadas + +--- + +## 🔧 Estado de Pre-commit + +``` +✅ Pre-commit hooks instalados en .git/hooks/ +✅ 25 hooks configurados y listos +✅ Hooks actualizados a las últimas versiones +``` + +Los hooks se ejecutarán automáticamente en cada commit. + +--- + +## 🚀 Comandos Rápidos + +### Comandos más usados + +```bash +# Verificar todo el código +make lint + +# Formatear código automáticamente +make format + +# Verificar un addon específico +./check_addon.sh account_invoice_triple_discount + +# Ver todos los comandos disponibles +make help +``` + +### Pre-commit + +```bash +# Ejecutar en todos los archivos +pre-commit run --all-files + +# Ejecutar en archivos modificados +pre-commit run + +# Actualizar a últimas versiones +pre-commit autoupdate +``` + +--- + +## 📊 Hooks Configurados (25) + +### Verificaciones Básicas (7) +1. `forbidden-files` - Detecta archivos .rej +2. `oca-update-pre-commit-excluded-addons` - Actualiza exclusiones +3. `trailing-whitespace` - Elimina espacios finales +4. `end-of-file-fixer` - Nueva línea al final +5. `check-merge-conflict` - Detecta conflictos +6. `check-xml` - Valida XML +7. `mixed-line-ending` - Normaliza finales de línea + +### Formateo de Código (3) +8. `black` - Formatea Python +9. `isort` - Ordena imports +10. `prettier` - Formatea XML/YAML/JSON + +### Análisis de Código (5) +11. `flake8` - Linter Python +12. `pylint` (opcional) - Análisis con exit-zero +13. `pylint` (mandatorio) - Análisis que falla commit +14. `mypy` - Verificación de tipos +15. `eslint` - Linter JavaScript + +### Mejoras Automáticas (3) +16. `autoflake` - Elimina imports no usados +17. `pyupgrade` - Actualiza sintaxis Python (py38+) +18. `fix-encoding-pragma` - Remueve pragmas encoding + +### Verificaciones de Seguridad (4) +19. `debug-statements` - Detecta debugs olvidados +20. `check-executables-have-shebangs` - Verifica shebangs +21. `check-symlinks` - Valida enlaces simbólicos +22. `check-case-conflict` - Conflictos mayús/minús + +### Odoo Específico (3) +23. `setuptools-odoo-make-default` - Genera setup/ +24. `setuptools-odoo-get-requirements` - Actualiza requirements.txt +25. `check-docstring-first` - Verifica docstrings + +--- + +## ✅ Verificación de la Instalación + +Ejecuta estos comandos para verificar que todo funciona: + +```bash +# 1. Verificar versiones +black --version # 26.1.0 +isort --version # 7.0.0 +pylint --version # 4.0.4 +flake8 --version # 7.3.0 + +# 2. Probar en un archivo +black --check account_invoice_triple_discount/models/account_move_line.py + +# 3. Ejecutar un hook +pre-commit run forbidden-files --all-files +``` + +--- + +## 🎯 Próximos Pasos + +1. **Ejecutar verificación inicial** + ```bash + make lint + ``` + +2. **Corregir problemas encontrados** + ```bash + make format # Formatea automáticamente + ``` + +3. **Hacer commit** + ```bash + git add . + git commit -m "feat: configurar herramientas de verificación OCA" + # Pre-commit se ejecutará automáticamente + ``` + +4. **Verificar addons individuales** + ```bash + ./check_addon.sh nombre_addon + ``` + +--- + +## 📚 Documentación + +- **Guía completa**: Ver [LINTERS_README.md](LINTERS_README.md) +- **Detalles técnicos**: Ver [INSTALACION_COMPLETA.md](INSTALACION_COMPLETA.md) +- **OCA Guidelines**: https://github.com/OCA/maintainer-tools +- **pre-commit**: https://pre-commit.com/ + +--- + +## ⚙️ Configuración de VS Code + +Instala las extensiones recomendadas: +1. Abre VS Code +2. Ve a Extensions (Ctrl+Shift+X) +3. Busca "@recommended" +4. Instala todas las extensiones sugeridas + +O ejecuta: +```bash +code --install-extension ms-python.python +code --install-extension ms-python.black-formatter +code --install-extension ms-python.isort +code --install-extension ms-python.pylint +code --install-extension ms-python.flake8 +code --install-extension esbenp.prettier-vscode +code --install-extension editorconfig.editorconfig +``` + +--- + +## ⚠️ Notas Importantes + +- ✅ Los hooks se ejecutan **automáticamente** en cada commit +- ✅ Black y prettier **modifican archivos** automáticamente +- ✅ Los `__init__.py` están **excluidos** de isort (estándar OCA) +- ✅ Pylint tiene **dos niveles**: opcional (no falla) y mandatorio (falla commit) +- ⚠️ Para commit sin verificación (NO RECOMENDADO): `git commit --no-verify` + +--- + +## 🎊 ¡Todo Listo! + +El repositorio está ahora configurado con los estándares de calidad OCA. Cada commit será verificado automáticamente para mantener la calidad del código. + +**Fecha de instalación**: 11 de febrero de 2026 +**Versión de configuración**: OCA Standard (2026) diff --git a/account_invoice_triple_discount/README.rst b/account_invoice_triple_discount/README.rst new file mode 100644 index 0000000..a7f09fc --- /dev/null +++ b/account_invoice_triple_discount/README.rst @@ -0,0 +1,112 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +=============================== +Account Invoice Triple Discount +=============================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:96fbed1626bb94b34b29d3287cbf750e394cae6f90526ddba1450a75f4c45b49 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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/license-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Faccount--invoicing-lightgray.png?logo=github + :target: https://github.com/OCA/account-invoicing/tree/18.0/account_invoice_triple_discount + :alt: OCA/account-invoicing +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/account-invoicing-18-0/account-invoicing-18-0-account_invoice_triple_discount + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/account-invoicing&target_branch=18.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module allows to have three successive discounts on each invoice +line. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +Create a new invoice and add discounts in any of the three discount +fields given. They go in order of precedence so discount 2 will be +calculated over discount 1 and discount 3 over the result of discount 2. +For example, let's divide by two on every discount: + +Unit price: 600.00 -> + + - Disc. 1 = 50% -> Amount = 300.00 + - Disc. 2 = 50% -> Amount = 150.00 + - Disc. 3 = 50% -> Amount = 75.00 + +You can also use negative values to charge instead of discount: + +Unit price: 600.00 -> + + - Disc. 1 = 50% -> Amount = 300.00 + - Disc. 2 = -5% -> Amount = 315.00 + +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 +------- + +* QubiQ +* Tecnativa +* GRAP + +Contributors +------------ + +- David Vidal +- Pedro M. Baeza +- Nikul Chaudhary +- `Aion Tech `__: + + - Simone Rubino + +- Laurent Mignon +- Akim Juillerat + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/account-invoicing `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/account_invoice_triple_discount/__init__.py b/account_invoice_triple_discount/__init__.py new file mode 100644 index 0000000..cc6b635 --- /dev/null +++ b/account_invoice_triple_discount/__init__.py @@ -0,0 +1,2 @@ +from . import models +from .hooks import post_init_hook diff --git a/account_invoice_triple_discount/__manifest__.py b/account_invoice_triple_discount/__manifest__.py new file mode 100644 index 0000000..955fe16 --- /dev/null +++ b/account_invoice_triple_discount/__manifest__.py @@ -0,0 +1,17 @@ +# Copyright 2018 QubiQ (http://www.qubiq.es) +# Copyright 2017 Tecnativa - David Vidal +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +{ + "name": "Account Invoice Triple Discount", + "version": "18.0.1.0.0", + "category": "Accounting & Finance", + "author": "QubiQ, Tecnativa, GRAP, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/account-invoicing", + "license": "AGPL-3", + "summary": "Manage triple discount on invoice lines", + "depends": ["account"], + "excludes": ["account_invoice_fixed_discount"], + "post_init_hook": "post_init_hook", + "data": ["report/invoice.xml", "views/account_move.xml"], + "installable": True, +} diff --git a/account_invoice_triple_discount/hooks.py b/account_invoice_triple_discount/hooks.py new file mode 100644 index 0000000..3278432 --- /dev/null +++ b/account_invoice_triple_discount/hooks.py @@ -0,0 +1,27 @@ +# Copyright 2024-Today - Sylvain Le GAL (GRAP) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import logging + +_logger = logging.getLogger(__name__) + + +def post_init_hook(env): + _logger.info("Initializing column discount1 on table account_move_line") + env.cr.execute(""" + UPDATE account_move_line + SET discount1 = discount + WHERE discount != 0 + """) + # if discounts are : 10% - 20% - 30% main discount is : 49.6 % + # if discounts are : 05% - 09% - 13% main discount is : 24.7885 % + env.cr.execute(""" + UPDATE account_move_line + SET discount = 100 * ( + 1 - ( + (100 - COALESCE(discount1, 0.0)) / 100 + * (100 - COALESCE(discount2, 0.0)) / 100 + * (100 - COALESCE(discount3, 0.0)) / 100 + ) + ); + """) diff --git a/account_invoice_triple_discount/i18n/account_invoice_triple_discount.pot b/account_invoice_triple_discount/i18n/account_invoice_triple_discount.pot new file mode 100644 index 0000000..b9ea672 --- /dev/null +++ b/account_invoice_triple_discount/i18n/account_invoice_triple_discount.pot @@ -0,0 +1,101 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +msgid "Discount (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_triple_discount_mixin__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.constraint,message:account_invoice_triple_discount.constraint_account_move_line_discount1_limit +#: model:ir.model.constraint,message:account_invoice_triple_discount.constraint_triple_discount_mixin_discount1_limit +msgid "Discount 1 must be lower than 100%." +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_triple_discount_mixin__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.constraint,message:account_invoice_triple_discount.constraint_account_move_line_discount2_limit +#: model:ir.model.constraint,message:account_invoice_triple_discount.constraint_triple_discount_mixin_discount2_limit +msgid "Discount 2 must be lower than 100%." +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_triple_discount_mixin__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.constraint,message:account_invoice_triple_discount.constraint_account_move_line_discount3_limit +#: model:ir.model.constraint,message:account_invoice_triple_discount.constraint_triple_discount_mixin_discount3_limit +msgid "Discount 3 must be lower than 100%." +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_triple_discount_mixin__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_triple_discount_mixin +msgid "Triple discount mixin" +msgstr "" diff --git a/account_invoice_triple_discount/i18n/ar.po b/account_invoice_triple_discount/i18n/ar.po new file mode 100644 index 0000000..de2928f --- /dev/null +++ b/account_invoice_triple_discount/i18n/ar.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Arabic (https://www.transifex.com/oca/teams/23907/ar/)\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "فاتورة" + +#~ msgid "Invoice Line" +#~ msgstr "خط الفاتورة" diff --git a/account_invoice_triple_discount/i18n/bg.po b/account_invoice_triple_discount/i18n/bg.po new file mode 100644 index 0000000..6b9a5b6 --- /dev/null +++ b/account_invoice_triple_discount/i18n/bg.po @@ -0,0 +1,78 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Bulgarian (https://www.transifex.com/oca/teams/23907/bg/)\n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Фактура" diff --git a/account_invoice_triple_discount/i18n/bs.po b/account_invoice_triple_discount/i18n/bs.po new file mode 100644 index 0000000..748f68a --- /dev/null +++ b/account_invoice_triple_discount/i18n/bs.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Bosnian (https://www.transifex.com/oca/teams/23907/bs/)\n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Faktura" + +#~ msgid "Invoice Line" +#~ msgstr "Stavka fakture" diff --git a/account_invoice_triple_discount/i18n/ca.po b/account_invoice_triple_discount/i18n/ca.po new file mode 100644 index 0000000..8b17a3f --- /dev/null +++ b/account_invoice_triple_discount/i18n/ca.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2022-08-09 10:06+0000\n" +"Last-Translator: jabelchi \n" +"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.3.2\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "Desc.2%" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "Desc.3%" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "Descompte 2 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "Descompte 3 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Factura" + +#~ msgid "Invoice Line" +#~ msgstr "Línia factura" diff --git a/account_invoice_triple_discount/i18n/cs.po b/account_invoice_triple_discount/i18n/cs.po new file mode 100644 index 0000000..e1b876e --- /dev/null +++ b/account_invoice_triple_discount/i18n/cs.po @@ -0,0 +1,81 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Czech (https://www.transifex.com/oca/teams/23907/cs/)\n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Faktura" + +#~ msgid "Invoice Line" +#~ msgstr "Řádek faktury" diff --git a/account_invoice_triple_discount/i18n/de.po b/account_invoice_triple_discount/i18n/de.po new file mode 100644 index 0000000..df0bd5c --- /dev/null +++ b/account_invoice_triple_discount/i18n/de.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2018-10-11 11:45+0000\n" +"Last-Translator: Rudolf Schnapka \n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.1.1\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "2. Rabatt (%)" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "3. Rabatt (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "2. Rabatt (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "3. Rabatt (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Rechnung" + +#~ msgid "Invoice Line" +#~ msgstr "Rechnungsposition" diff --git a/account_invoice_triple_discount/i18n/el_GR.po b/account_invoice_triple_discount/i18n/el_GR.po new file mode 100644 index 0000000..b369bb3 --- /dev/null +++ b/account_invoice_triple_discount/i18n/el_GR.po @@ -0,0 +1,79 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/" +"el_GR/)\n" +"Language: el_GR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Τιμολόγιο" diff --git a/account_invoice_triple_discount/i18n/en_GB.po b/account_invoice_triple_discount/i18n/en_GB.po new file mode 100644 index 0000000..99d60ee --- /dev/null +++ b/account_invoice_triple_discount/i18n/en_GB.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: English (United Kingdom) (https://www.transifex.com/oca/" +"teams/23907/en_GB/)\n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Invoice" + +#~ msgid "Invoice Line" +#~ msgstr "Invoice Line" diff --git a/account_invoice_triple_discount/i18n/es.po b/account_invoice_triple_discount/i18n/es.po new file mode 100644 index 0000000..3d69cd5 --- /dev/null +++ b/account_invoice_triple_discount/i18n/es.po @@ -0,0 +1,85 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2026-02-03 07:04+0000\n" +"Last-Translator: Enric Tobella \n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.15.2\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "Desc.1 %" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "Desc. 2 (%)" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "Desc.3 %" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "Desc.2%" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "Desc.3%" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "Descuento 2 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "Descuento 3 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "Artículo diario" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Journal Entry" +#~ msgstr "Entrada Diaria" + +#~ msgid "Invoice" +#~ msgstr "Factura" + +#~ msgid "Invoice Line" +#~ msgstr "Línea de factura" diff --git a/account_invoice_triple_discount/i18n/es_CR.po b/account_invoice_triple_discount/i18n/es_CR.po new file mode 100644 index 0000000..3432c41 --- /dev/null +++ b/account_invoice_triple_discount/i18n/es_CR.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Costa Rica) (https://www.transifex.com/oca/" +"teams/23907/es_CR/)\n" +"Language: es_CR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Factura" + +#~ msgid "Invoice Line" +#~ msgstr "Línea de factura" diff --git a/account_invoice_triple_discount/i18n/es_EC.po b/account_invoice_triple_discount/i18n/es_EC.po new file mode 100644 index 0000000..3e63cc7 --- /dev/null +++ b/account_invoice_triple_discount/i18n/es_EC.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Ecuador) (https://www.transifex.com/oca/teams/23907/" +"es_EC/)\n" +"Language: es_EC\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Factura" + +#~ msgid "Invoice Line" +#~ msgstr "Detalle de Factura" diff --git a/account_invoice_triple_discount/i18n/es_ES.po b/account_invoice_triple_discount/i18n/es_ES.po new file mode 100644 index 0000000..21ede01 --- /dev/null +++ b/account_invoice_triple_discount/i18n/es_ES.po @@ -0,0 +1,79 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# Fernando Lara , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: Fernando Lara , 2017\n" +"Language-Team: Spanish (Spain) (https://www.transifex.com/oca/teams/23907/" +"es_ES/)\n" +"Language: es_ES\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Factura" diff --git a/account_invoice_triple_discount/i18n/es_MX.po b/account_invoice_triple_discount/i18n/es_MX.po new file mode 100644 index 0000000..c06ded4 --- /dev/null +++ b/account_invoice_triple_discount/i18n/es_MX.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/" +"es_MX/)\n" +"Language: es_MX\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Factura" + +#~ msgid "Invoice Line" +#~ msgstr "Línea de factura" diff --git a/account_invoice_triple_discount/i18n/et.po b/account_invoice_triple_discount/i18n/et.po new file mode 100644 index 0000000..7ae9850 --- /dev/null +++ b/account_invoice_triple_discount/i18n/et.po @@ -0,0 +1,81 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Estonian (https://www.transifex.com/oca/teams/23907/et/)\n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Arve" + +#~ msgid "Invoice Line" +#~ msgstr "Arve rida" diff --git a/account_invoice_triple_discount/i18n/fi.po b/account_invoice_triple_discount/i18n/fi.po new file mode 100644 index 0000000..38b7e21 --- /dev/null +++ b/account_invoice_triple_discount/i18n/fi.po @@ -0,0 +1,78 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Lasku" diff --git a/account_invoice_triple_discount/i18n/fr.po b/account_invoice_triple_discount/i18n/fr.po new file mode 100644 index 0000000..ff065a5 --- /dev/null +++ b/account_invoice_triple_discount/i18n/fr.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +# Quentin THEURET , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: Quentin THEURET , 2017\n" +"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "Remise 2 (%)" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "Remise 3 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "Remise 2 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "Remise 3 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Facture" + +#~ msgid "Invoice Line" +#~ msgstr "Ligne de facture" diff --git a/account_invoice_triple_discount/i18n/fr_CA.po b/account_invoice_triple_discount/i18n/fr_CA.po new file mode 100644 index 0000000..97da0f7 --- /dev/null +++ b/account_invoice_triple_discount/i18n/fr_CA.po @@ -0,0 +1,79 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (Canada) (https://www.transifex.com/oca/teams/23907/" +"fr_CA/)\n" +"Language: fr_CA\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Facture" diff --git a/account_invoice_triple_discount/i18n/fr_CH.po b/account_invoice_triple_discount/i18n/fr_CH.po new file mode 100644 index 0000000..17b0374 --- /dev/null +++ b/account_invoice_triple_discount/i18n/fr_CH.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (Switzerland) (https://www.transifex.com/oca/" +"teams/23907/fr_CH/)\n" +"Language: fr_CH\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Facture" + +#~ msgid "Invoice Line" +#~ msgstr "Ligne de facture" diff --git a/account_invoice_triple_discount/i18n/gl.po b/account_invoice_triple_discount/i18n/gl.po new file mode 100644 index 0000000..414122c --- /dev/null +++ b/account_invoice_triple_discount/i18n/gl.po @@ -0,0 +1,78 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Factura" diff --git a/account_invoice_triple_discount/i18n/hr.po b/account_invoice_triple_discount/i18n/hr.po new file mode 100644 index 0000000..97e69f8 --- /dev/null +++ b/account_invoice_triple_discount/i18n/hr.po @@ -0,0 +1,87 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +# Bole , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-03 01:14+0000\n" +"PO-Revision-Date: 2023-04-03 13:23+0000\n" +"Last-Translator: Bole \n" +"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.14.1\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "Pop.2 %" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "Pop.3 %" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "Popust 2 (%)" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "Popust 3 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "Popust 2 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "Popust 3 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "Stavka dnevnika" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Journal Entry" +#~ msgstr "Temeljnica" + +#~ msgid "Invoice" +#~ msgstr "Račun" + +#~ msgid "Invoice Line" +#~ msgstr "Stavka računa" diff --git a/account_invoice_triple_discount/i18n/hr_HR.po b/account_invoice_triple_discount/i18n/hr_HR.po new file mode 100644 index 0000000..2e13aeb --- /dev/null +++ b/account_invoice_triple_discount/i18n/hr_HR.po @@ -0,0 +1,84 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +# Bole , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-11 23:30+0000\n" +"PO-Revision-Date: 2017-08-11 23:30+0000\n" +"Last-Translator: Bole , 2017\n" +"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/" +"hr_HR/)\n" +"Language: hr_HR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "Popust 2 (%)" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "Popust 3 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "Popust 2 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "Popust 3 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Račun" + +#~ msgid "Invoice Line" +#~ msgstr "Stavka računa" diff --git a/account_invoice_triple_discount/i18n/hu.po b/account_invoice_triple_discount/i18n/hu.po new file mode 100644 index 0000000..a826ed9 --- /dev/null +++ b/account_invoice_triple_discount/i18n/hu.po @@ -0,0 +1,81 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Hungarian (https://www.transifex.com/oca/teams/23907/hu/)\n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Számla" + +#~ msgid "Invoice Line" +#~ msgstr "Számlasor" diff --git a/account_invoice_triple_discount/i18n/id.po b/account_invoice_triple_discount/i18n/id.po new file mode 100644 index 0000000..3416c81 --- /dev/null +++ b/account_invoice_triple_discount/i18n/id.po @@ -0,0 +1,78 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Indonesian (https://www.transifex.com/oca/teams/23907/id/)\n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Faktur" diff --git a/account_invoice_triple_discount/i18n/it.po b/account_invoice_triple_discount/i18n/it.po new file mode 100644 index 0000000..bdd4e02 --- /dev/null +++ b/account_invoice_triple_discount/i18n/it.po @@ -0,0 +1,85 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2025-02-25 15:06+0000\n" +"Last-Translator: mymage \n" +"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "Sconto 1 %" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "Sconto 2 (%)" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "Sconto 3 (%)" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "Sconto 1%" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "Sconto 2 (%)" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "Sconto 3 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "Sconto 1%" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "Sconto 2 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "Sconto 3 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "Movimento contabile" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "Sconto totale" + +#~ msgid "Journal Entry" +#~ msgstr "Registrazione contabile" + +#~ msgid "Invoice" +#~ msgstr "Fattura" + +#~ msgid "Invoice Line" +#~ msgstr "Righe Fattura" diff --git a/account_invoice_triple_discount/i18n/ja.po b/account_invoice_triple_discount/i18n/ja.po new file mode 100644 index 0000000..e8e441b --- /dev/null +++ b/account_invoice_triple_discount/i18n/ja.po @@ -0,0 +1,81 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Japanese (https://www.transifex.com/oca/teams/23907/ja/)\n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "請求書" + +#~ msgid "Invoice Line" +#~ msgstr "請求行" diff --git a/account_invoice_triple_discount/i18n/lt.po b/account_invoice_triple_discount/i18n/lt.po new file mode 100644 index 0000000..b945517 --- /dev/null +++ b/account_invoice_triple_discount/i18n/lt.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Lithuanian (https://www.transifex.com/oca/teams/23907/lt/)\n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"(n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Sąskaita faktūra" + +#~ msgid "Invoice Line" +#~ msgstr "Sąskaitos faktūros eilutė" diff --git a/account_invoice_triple_discount/i18n/mk.po b/account_invoice_triple_discount/i18n/mk.po new file mode 100644 index 0000000..8aef4e8 --- /dev/null +++ b/account_invoice_triple_discount/i18n/mk.po @@ -0,0 +1,81 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Macedonian (https://www.transifex.com/oca/teams/23907/mk/)\n" +"Language: mk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Фактура" + +#~ msgid "Invoice Line" +#~ msgstr "Ставка од фактура" diff --git a/account_invoice_triple_discount/i18n/mn.po b/account_invoice_triple_discount/i18n/mn.po new file mode 100644 index 0000000..d4c6d08 --- /dev/null +++ b/account_invoice_triple_discount/i18n/mn.po @@ -0,0 +1,81 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Mongolian (https://www.transifex.com/oca/teams/23907/mn/)\n" +"Language: mn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Нэхэмжлэл" + +#~ msgid "Invoice Line" +#~ msgstr "Нэхэмжлэлийн мөр" diff --git a/account_invoice_triple_discount/i18n/nb.po b/account_invoice_triple_discount/i18n/nb.po new file mode 100644 index 0000000..3014dbc --- /dev/null +++ b/account_invoice_triple_discount/i18n/nb.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Norwegian Bokmål (https://www.transifex.com/oca/teams/23907/" +"nb/)\n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Faktura" + +#~ msgid "Invoice Line" +#~ msgstr "Fakturalinje" diff --git a/account_invoice_triple_discount/i18n/nb_NO.po b/account_invoice_triple_discount/i18n/nb_NO.po new file mode 100644 index 0000000..45652c4 --- /dev/null +++ b/account_invoice_triple_discount/i18n/nb_NO.po @@ -0,0 +1,79 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/oca/" +"teams/23907/nb_NO/)\n" +"Language: nb_NO\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Innmelding" diff --git a/account_invoice_triple_discount/i18n/nl.po b/account_invoice_triple_discount/i18n/nl.po new file mode 100644 index 0000000..a024e49 --- /dev/null +++ b/account_invoice_triple_discount/i18n/nl.po @@ -0,0 +1,81 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Factuur" + +#~ msgid "Invoice Line" +#~ msgstr "Factuurregel" diff --git a/account_invoice_triple_discount/i18n/nl_BE.po b/account_invoice_triple_discount/i18n/nl_BE.po new file mode 100644 index 0000000..c941aba --- /dev/null +++ b/account_invoice_triple_discount/i18n/nl_BE.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Dutch (Belgium) (https://www.transifex.com/oca/teams/23907/" +"nl_BE/)\n" +"Language: nl_BE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Factuur" + +#~ msgid "Invoice Line" +#~ msgstr "Factuurlijn" diff --git a/account_invoice_triple_discount/i18n/nl_NL.po b/account_invoice_triple_discount/i18n/nl_NL.po new file mode 100644 index 0000000..bcd82f4 --- /dev/null +++ b/account_invoice_triple_discount/i18n/nl_NL.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# Peter Hageman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: Peter Hageman , 2017\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/" +"teams/23907/nl_NL/)\n" +"Language: nl_NL\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Factuur" + +#~ msgid "Invoice Line" +#~ msgstr "Factuurregel" diff --git a/account_invoice_triple_discount/i18n/pl.po b/account_invoice_triple_discount/i18n/pl.po new file mode 100644 index 0000000..95de8b2 --- /dev/null +++ b/account_invoice_triple_discount/i18n/pl.po @@ -0,0 +1,80 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Polish (https://www.transifex.com/oca/teams/23907/pl/)\n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && " +"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " +"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Faktura" diff --git a/account_invoice_triple_discount/i18n/pt.po b/account_invoice_triple_discount/i18n/pt.po new file mode 100644 index 0000000..b5131eb --- /dev/null +++ b/account_invoice_triple_discount/i18n/pt.po @@ -0,0 +1,81 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Fatura" + +#~ msgid "Invoice Line" +#~ msgstr "Linha de fatura" diff --git a/account_invoice_triple_discount/i18n/pt_BR.po b/account_invoice_triple_discount/i18n/pt_BR.po new file mode 100644 index 0000000..ec242e0 --- /dev/null +++ b/account_invoice_triple_discount/i18n/pt_BR.po @@ -0,0 +1,86 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2023-07-01 22:12+0000\n" +"Last-Translator: Adriano Prado \n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/" +"teams/23907/pt_BR/)\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "Disco.2 %" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "Disco.3 %" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "Desconto 2 (%)" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "Desconto 3 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "Desconto 2 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "Desconto 3 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "Item Diário" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Journal Entry" +#~ msgstr "Entrada Diário" + +#~ msgid "Invoice" +#~ msgstr "Fatura" + +#~ msgid "Invoice Line" +#~ msgstr "Linha da Fatura" diff --git a/account_invoice_triple_discount/i18n/pt_PT.po b/account_invoice_triple_discount/i18n/pt_PT.po new file mode 100644 index 0000000..2631342 --- /dev/null +++ b/account_invoice_triple_discount/i18n/pt_PT.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/" +"teams/23907/pt_PT/)\n" +"Language: pt_PT\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Fatura" + +#~ msgid "Invoice Line" +#~ msgstr "Linha da Fatura" diff --git a/account_invoice_triple_discount/i18n/ro.po b/account_invoice_triple_discount/i18n/ro.po new file mode 100644 index 0000000..86a5281 --- /dev/null +++ b/account_invoice_triple_discount/i18n/ro.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Factura" + +#~ msgid "Invoice Line" +#~ msgstr "Linie factura" diff --git a/account_invoice_triple_discount/i18n/ru.po b/account_invoice_triple_discount/i18n/ru.po new file mode 100644 index 0000000..9b73fe5 --- /dev/null +++ b/account_invoice_triple_discount/i18n/ru.po @@ -0,0 +1,84 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +# nek, 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-17 01:09+0000\n" +"PO-Revision-Date: 2018-03-17 01:09+0000\n" +"Last-Translator: nek, 2018\n" +"Language-Team: Russian (https://www.transifex.com/oca/teams/23907/ru/)\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "Скидка 2 (%)" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "Скидка 3 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "Скидка 2 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "Скидка 3 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Счет" + +#~ msgid "Invoice Line" +#~ msgstr "Позиция счета" diff --git a/account_invoice_triple_discount/i18n/sk_SK.po b/account_invoice_triple_discount/i18n/sk_SK.po new file mode 100644 index 0000000..92b85a3 --- /dev/null +++ b/account_invoice_triple_discount/i18n/sk_SK.po @@ -0,0 +1,79 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Slovak (Slovakia) (https://www.transifex.com/oca/teams/23907/" +"sk_SK/)\n" +"Language: sk_SK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Faktúra" diff --git a/account_invoice_triple_discount/i18n/sl.po b/account_invoice_triple_discount/i18n/sl.po new file mode 100644 index 0000000..0e1cd03 --- /dev/null +++ b/account_invoice_triple_discount/i18n/sl.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3);\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Račun" + +#~ msgid "Invoice Line" +#~ msgstr "Postavka računa" diff --git a/account_invoice_triple_discount/i18n/sv.po b/account_invoice_triple_discount/i18n/sv.po new file mode 100644 index 0000000..2a4a1c5 --- /dev/null +++ b/account_invoice_triple_discount/i18n/sv.po @@ -0,0 +1,85 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2024-06-18 16:38+0000\n" +"Last-Translator: jakobkrabbe \n" +"Language-Team: Swedish (https://www.transifex.com/oca/teams/23907/sv/)\n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "Disc.2 %" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "Disc.3 %" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "Skiva.2%" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "Skiva.3%" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "Rabatt 2 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "Rabatt 3 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "Verifikat" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Journal Entry" +#~ msgstr "Verifikat" + +#~ msgid "Invoice" +#~ msgstr "Faktura" + +#~ msgid "Invoice Line" +#~ msgstr "Fakturarad" diff --git a/account_invoice_triple_discount/i18n/th.po b/account_invoice_triple_discount/i18n/th.po new file mode 100644 index 0000000..513554b --- /dev/null +++ b/account_invoice_triple_discount/i18n/th.po @@ -0,0 +1,78 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Thai (https://www.transifex.com/oca/teams/23907/th/)\n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "ใบแจ้งหนี้" diff --git a/account_invoice_triple_discount/i18n/tr.po b/account_invoice_triple_discount/i18n/tr.po new file mode 100644 index 0000000..095e184 --- /dev/null +++ b/account_invoice_triple_discount/i18n/tr.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2025-09-04 11:42+0000\n" +"Last-Translator: Tamer Sezgin \n" +"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Weblate 5.10.4\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "İnd.1 %" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "İnd.2 %" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "İnd.3 %" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "İnd.1%" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "İnd.2%" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "İnd.3%" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "İndirim 1 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "İndirim 2 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "İndirim 3 (%)" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "Yevmiye Kalemi" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "Toplam indirim" + +#~ msgid "Invoice" +#~ msgstr "Fatura" + +#~ msgid "Invoice Line" +#~ msgstr "Fatura kalemi" diff --git a/account_invoice_triple_discount/i18n/tr_TR.po b/account_invoice_triple_discount/i18n/tr_TR.po new file mode 100644 index 0000000..ad1f026 --- /dev/null +++ b/account_invoice_triple_discount/i18n/tr_TR.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/" +"tr_TR/)\n" +"Language: tr_TR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Fatura" + +#~ msgid "Invoice Line" +#~ msgstr "Fatura hizası" diff --git a/account_invoice_triple_discount/i18n/zh_CN.po b/account_invoice_triple_discount/i18n/zh_CN.po new file mode 100644 index 0000000..ece9daf --- /dev/null +++ b/account_invoice_triple_discount/i18n/zh_CN.po @@ -0,0 +1,83 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +# 三 张 <731414193@qq.com>, 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: 三 张 <731414193@qq.com>, 2017\n" +"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/" +"zh_CN/)\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "发票" + +#~ msgid "Invoice Line" +#~ msgstr "发票明细" diff --git a/account_invoice_triple_discount/i18n/zh_TW.po b/account_invoice_triple_discount/i18n/zh_TW.po new file mode 100644 index 0000000..22cf8ea --- /dev/null +++ b/account_invoice_triple_discount/i18n/zh_TW.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-09 02:45+0000\n" +"PO-Revision-Date: 2017-08-09 02:45+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Chinese (Taiwan) (https://www.transifex.com/oca/teams/23907/" +"zh_TW/)\n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.1 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.2 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document +msgid "Disc.3 %" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.1%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.2%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Disc.3%" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1 +msgid "Discount 1 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: account_invoice_triple_discount +#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount +#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view +msgid "Total discount" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "發票" + +#~ msgid "Invoice Line" +#~ msgstr "發票明細" diff --git a/account_invoice_triple_discount/models/__init__.py b/account_invoice_triple_discount/models/__init__.py new file mode 100644 index 0000000..00cefd5 --- /dev/null +++ b/account_invoice_triple_discount/models/__init__.py @@ -0,0 +1,2 @@ +from . import triple_discount_mixin +from . import account_move_line diff --git a/account_invoice_triple_discount/models/account_move_line.py b/account_invoice_triple_discount/models/account_move_line.py new file mode 100644 index 0000000..617a1b3 --- /dev/null +++ b/account_invoice_triple_discount/models/account_move_line.py @@ -0,0 +1,10 @@ +# Copyright 2020 ACSONE SA/NV +# Copyright 2023 Simone Rubino - Aion Tech +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models + + +class AccountMoveLine(models.Model): + _name = "account.move.line" + _inherit = ["account.move.line", "triple.discount.mixin"] diff --git a/account_invoice_triple_discount/models/triple_discount_mixin.py b/account_invoice_triple_discount/models/triple_discount_mixin.py new file mode 100644 index 0000000..8cd8438 --- /dev/null +++ b/account_invoice_triple_discount/models/triple_discount_mixin.py @@ -0,0 +1,93 @@ +# Copyright 2019 Tecnativa - David Vidal +# Copyright 2019 Tecnativa - Pedro M. Baeza +# Copyright 2020 ACSONE SA/NV +# Copyright 2023 Simone Rubino - Aion Tech +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +import functools + +from odoo import api +from odoo import fields +from odoo import models + + +class TripleDiscountMixin(models.AbstractModel): + _name = "triple.discount.mixin" + _description = "Triple discount mixin" + + # core discount field is now a computed field + # based on the 3 discounts defined below. + # the digits limitation is removed, to make + # the computation of the subtotal exact. + # For exemple, if discounts are 05%, 09% and 13% + # the main discount is 24.7885 % (and not 24.79) + discount = fields.Float( + string="Total discount", + compute="_compute_discount", + store=True, + readonly=True, + digits=None, + ) + discount1 = fields.Float(string="Discount 1 (%)", digits="Discount") + + discount2 = fields.Float(string="Discount 2 (%)", digits="Discount") + + discount3 = fields.Float(string="Discount 3 (%)", digits="Discount") + + _sql_constraints = [ + ( + "discount1_limit", + "CHECK (discount1 <= 100.0)", + "Discount 1 must be lower than 100%.", + ), + ( + "discount2_limit", + "CHECK (discount2 <= 100.0)", + "Discount 2 must be lower than 100%.", + ), + ( + "discount3_limit", + "CHECK (discount3 <= 100.0)", + "Discount 3 must be lower than 100%.", + ), + ] + + @api.depends(lambda self: self._get_multiple_discount_field_names()) + def _compute_discount(self): + for line in self: + line.discount = line._get_aggregated_multiple_discounts( + [line[x] for x in line._get_multiple_discount_field_names()] + ) + + def _get_aggregated_multiple_discounts(self, discounts): + """ + Returns the aggregate discount corresponding to any number of discounts. + For exemple, if discounts is [11.0, 22.0, 33.0] + It will return 46.5114 + """ + discount_values = [] + for discount in discounts: + discount_values.append(1 - (discount or 0.0) / 100.0) + aggregated_discount = ( + 1 - functools.reduce((lambda x, y: x * y), discount_values) + ) * 100 + return aggregated_discount + + @api.model + def _get_multiple_discount_field_names(self): + return ["discount1", "discount2", "discount3"] + + @api.model_create_multi + def create(self, vals_list): + for vals in vals_list: + if vals.get("discount") and not any( + vals.get(field) for field in self._get_multiple_discount_field_names() + ): + vals["discount1"] = vals.pop("discount") + return super().create(vals_list) + + def write(self, vals): + discount_fields = self._get_multiple_discount_field_names() + if "discount" in vals: + vals["discount1"] = vals.pop("discount") + vals.update({field: 0 for field in discount_fields[1:]}) + return super().write(vals) diff --git a/account_invoice_triple_discount/pyproject.toml b/account_invoice_triple_discount/pyproject.toml new file mode 100644 index 0000000..4231d0c --- /dev/null +++ b/account_invoice_triple_discount/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/account_invoice_triple_discount/readme/CONTRIBUTORS.md b/account_invoice_triple_discount/readme/CONTRIBUTORS.md new file mode 100644 index 0000000..8d56e12 --- /dev/null +++ b/account_invoice_triple_discount/readme/CONTRIBUTORS.md @@ -0,0 +1,7 @@ +- David Vidal \<\> +- Pedro M. Baeza \<\> +- Nikul Chaudhary \<\> +- [Aion Tech](https://aiontech.company/): + - Simone Rubino \<\> +- Laurent Mignon \<\> +- Akim Juillerat \<\> diff --git a/account_invoice_triple_discount/readme/DESCRIPTION.md b/account_invoice_triple_discount/readme/DESCRIPTION.md new file mode 100644 index 0000000..e19f8c3 --- /dev/null +++ b/account_invoice_triple_discount/readme/DESCRIPTION.md @@ -0,0 +1,2 @@ +This module allows to have three successive discounts on each invoice +line. diff --git a/account_invoice_triple_discount/readme/USAGE.md b/account_invoice_triple_discount/readme/USAGE.md new file mode 100644 index 0000000..f2986a9 --- /dev/null +++ b/account_invoice_triple_discount/readme/USAGE.md @@ -0,0 +1,17 @@ +Create a new invoice and add discounts in any of the three discount +fields given. They go in order of precedence so discount 2 will be +calculated over discount 1 and discount 3 over the result of discount 2. +For example, let's divide by two on every discount: + +Unit price: 600.00 -\> + +> - Disc. 1 = 50% -\> Amount = 300.00 +> - Disc. 2 = 50% -\> Amount = 150.00 +> - Disc. 3 = 50% -\> Amount = 75.00 + +You can also use negative values to charge instead of discount: + +Unit price: 600.00 -\> + +> - Disc. 1 = 50% -\> Amount = 300.00 +> - Disc. 2 = -5% -\> Amount = 315.00 diff --git a/account_invoice_triple_discount/report/invoice.xml b/account_invoice_triple_discount/report/invoice.xml new file mode 100644 index 0000000..8010d83 --- /dev/null +++ b/account_invoice_triple_discount/report/invoice.xml @@ -0,0 +1,61 @@ + + + + diff --git a/account_invoice_triple_discount/static/description/icon.png b/account_invoice_triple_discount/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/account_invoice_triple_discount/static/description/index.html b/account_invoice_triple_discount/static/description/index.html new file mode 100644 index 0000000..f3eac73 --- /dev/null +++ b/account_invoice_triple_discount/static/description/index.html @@ -0,0 +1,464 @@ + + + + + +README.rst + + + +
+ + + +Odoo Community Association + +
+

Account Invoice Triple Discount

+ +

Beta License: AGPL-3 OCA/account-invoicing Translate me on Weblate Try me on Runboat

+

This module allows to have three successive discounts on each invoice +line.

+

Table of contents

+ +
+

Usage

+

Create a new invoice and add discounts in any of the three discount +fields given. They go in order of precedence so discount 2 will be +calculated over discount 1 and discount 3 over the result of discount 2. +For example, let’s divide by two on every discount:

+

Unit price: 600.00 ->

+
+
    +
  • Disc. 1 = 50% -> Amount = 300.00
  • +
  • Disc. 2 = 50% -> Amount = 150.00
  • +
  • Disc. 3 = 50% -> Amount = 75.00
  • +
+
+

You can also use negative values to charge instead of discount:

+

Unit price: 600.00 ->

+
+
    +
  • Disc. 1 = 50% -> Amount = 300.00
  • +
  • Disc. 2 = -5% -> Amount = 315.00
  • +
+
+
+
+

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

+
    +
  • QubiQ
  • +
  • Tecnativa
  • +
  • GRAP
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

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

+

This module is part of the OCA/account-invoicing project on GitHub.

+

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

+
+
+
+
+ + diff --git a/account_invoice_triple_discount/tests/__init__.py b/account_invoice_triple_discount/tests/__init__.py new file mode 100644 index 0000000..354de27 --- /dev/null +++ b/account_invoice_triple_discount/tests/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import test_invoice_triple_discount diff --git a/account_invoice_triple_discount/tests/test_invoice_triple_discount.py b/account_invoice_triple_discount/tests/test_invoice_triple_discount.py new file mode 100644 index 0000000..0831044 --- /dev/null +++ b/account_invoice_triple_discount/tests/test_invoice_triple_discount.py @@ -0,0 +1,244 @@ +# Copyright 2017 Tecnativa - David Vidal +# Copyright 2023 Simone Rubino - Aion Tech +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo.tests import Form + +from odoo.addons.base.tests.common import BaseCommon + + +class TestInvoiceTripleDiscount(BaseCommon): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.Account = cls.env["account.account"] + cls.AccountMove = cls.env["account.move"] + cls.AccountMoveLine = cls.env["account.move.line"] + cls.AccountTax = cls.env["account.tax"] + cls.Partner = cls.env["res.partner"] + cls.Journal = cls.env["account.journal"] + + cls.tax = cls.AccountTax.create( + { + "name": "TAX 15%", + "amount_type": "percent", + "type_tax_use": "purchase", + "amount": 15.0, + "country_id": cls.env.ref("base.us").id, + } + ) + cls.account = cls.Account.create( + { + "name": "Test account", + "code": "TEST", + "account_type": "asset_receivable", + "reconcile": True, + } + ) + cls.sale_journal = cls.Journal.search([("type", "=", "sale")], limit=1) + + def create_simple_invoice(self, amount): + invoice_form = Form( + self.AccountMove.with_context( + default_move_type="out_invoice", + default_journal_id=self.sale_journal.id, + ) + ) + invoice_form.partner_id = self.partner + + with invoice_form.invoice_line_ids.new() as line_form: + line_form.name = "Line 1" + line_form.quantity = 1 + line_form.price_unit = amount + line_form.tax_ids.clear() + line_form.tax_ids.add(self.tax) + + invoice = invoice_form.save() + return invoice + + def test_01_discounts(self): + """Tests multiple discounts in line with taxes""" + invoice = self.create_simple_invoice(200) + + invoice_form = Form(invoice) + with invoice_form.invoice_line_ids.edit(0) as line_form: + line_form.discount1 = 50.0 + invoice_form.save() + + invoice_line = invoice.invoice_line_ids[0] + + # Adds a first discount + self.assertEqual(invoice.amount_total, 115.0) + + # Adds a second discount over the price calculated before + with invoice_form.invoice_line_ids.edit(0) as line_form: + line_form.discount2 = 40.0 + invoice_form.save() + self.assertEqual(invoice.amount_total, 69.0) + + # Adds a third discount over the price calculated before + with invoice_form.invoice_line_ids.edit(0) as line_form: + line_form.discount3 = 50.0 + invoice_form.save() + self.assertEqual(invoice.amount_total, 34.5) + + # Deletes first discount + with invoice_form.invoice_line_ids.edit(0) as line_form: + line_form.discount1 = 0 + invoice_form.save() + self.assertEqual(invoice.amount_total, 69) + + # Charge 5% over price: + with invoice_form.invoice_line_ids.edit(0) as line_form: + line_form.discount1 = -5 + invoice_form.save() + self.assertEqual(invoice.amount_total, 72.45) + + self.assertEqual(invoice_line.price_unit, 200) + + def test_02_discounts_multiple_lines(self): + invoice = self.create_simple_invoice(200) + invoice_form = Form(invoice) + with invoice_form.invoice_line_ids.new() as line_form: + line_form.name = "Line 2" + line_form.quantity = 1 + line_form.price_unit = 500 + line_form.tax_ids.clear() + invoice_form.save() + + invoice_line2 = invoice.invoice_line_ids[1] + self.assertEqual(invoice_line2.price_subtotal, 500.0) + + with invoice_form.invoice_line_ids.edit(1) as line_form: + line_form.discount3 = 50.0 + invoice_form.save() + self.assertEqual(invoice.amount_total, 480.0) + + with invoice_form.invoice_line_ids.edit(0) as line_form: + line_form.discount1 = 50.0 + invoice_form.save() + self.assertEqual(invoice.amount_total, 365.0) + + def test_03_discounts_decimals_price(self): + """ + Tests discount with decimals price + causing a round up after discount + """ + invoice = self.create_simple_invoice(0) + invoice_form = Form(invoice) + with invoice_form.invoice_line_ids.edit(0) as line_form: + line_form.name = "Line Decimals" + line_form.quantity = 9950 + line_form.price_unit = 0.14 + line_form.tax_ids.clear() + invoice_form.save() + + invoice_line1 = invoice.invoice_line_ids[0] + + self.assertEqual(invoice_line1.price_subtotal, 1393.0) + + with invoice_form.invoice_line_ids.edit(0) as line_form: + line_form.discount1 = 15.0 + invoice_form.save() + + self.assertEqual(invoice_line1.price_subtotal, 1184.05) + + def test_04_discounts_decimals_tax(self): + """ + Tests amount tax with discount + """ + invoice = self.create_simple_invoice(0) + invoice_form = Form(invoice) + with invoice_form.invoice_line_ids.edit(0) as line_form: + line_form.name = "Line Decimals" + line_form.quantity = 9950 + line_form.price_unit = 0.14 + line_form.discount1 = 0 + line_form.discount2 = 0 + invoice_form.save() + + self.assertEqual(invoice.amount_tax, 208.95) + with invoice_form.invoice_line_ids.edit(0) as line_form: + line_form.discount1 = 15.0 + invoice_form.save() + + def test_06_round_discount(self): + """Discount value is rounded correctly""" + invoice = self.create_simple_invoice(0) + invoice_line = invoice.invoice_line_ids[0] + invoice_line.discount1 = 100 + self.assertEqual(invoice_line.discount1, 100) + self.assertEqual(invoice_line.discount, 100) + + def test_07_round_tax_discount(self): + """Discount value is rounded correctly when taxes change""" + invoice = self.create_simple_invoice(0) + invoice_line = invoice.invoice_line_ids[0] + invoice_line.discount1 = 100 + invoice_line.tax_ids = False + self.assertEqual(invoice_line.discount1, 100) + self.assertEqual(invoice_line.discount, 100) + + def test_09_create_with_main_discount(self): + """ + Tests if creating a invoice line with main discount field + set correctly discount1, discount2 and discount3 + """ + invoice = self.create_simple_invoice(0) + + invoice_line2 = self.AccountMoveLine.create( + { + "move_id": invoice.id, + "name": "Line With Main Discount", + "quantity": 1, + "price_unit": 1000, + "discount": 10, + "tax_ids": [], + } + ) + + # 1000 * 0.9 + self.assertEqual(invoice_line2.price_subtotal, 900.0) + self.assertEqual(invoice_line2.discount1, 10.0) + self.assertEqual(invoice_line2.discount2, 0.0) + self.assertEqual(invoice_line2.discount3, 0.0) + + def test_10_create_invoice_with_discounts(self): + invoice = self.env["account.move"].create( + { + "partner_id": self.partner.id, + "move_type": "out_invoice", + "invoice_line_ids": [ + ( + 0, + 0, + { + "name": "Line 1", + "quantity": 1, + "price_unit": 100, + "discount1": 30, + "discount2": 20, + "discount3": 10, + }, + ) + ], + } + ) + invoice_line1 = invoice.invoice_line_ids[0] + self.assertEqual(invoice_line1.discount1, 30.0) + self.assertEqual(invoice_line1.discount2, 20.0) + self.assertEqual(invoice_line1.discount3, 10.0) + + def test_tax_compute_with_lock_date(self): + # Check that the tax computation works even if the lock date is set + invoice = self.create_simple_invoice(0) + invoice_form = Form(invoice) + with invoice_form.invoice_line_ids.edit(0) as line_form: + line_form.name = "Line Decimals" + line_form.quantity = 9950 + line_form.price_unit = 0.14 + line_form.discount1 = 10 + line_form.discount2 = 20 + invoice_form.save() + invoice.action_post() + self.env.user.company_id.fiscalyear_lock_date = "2000-01-01" diff --git a/account_invoice_triple_discount/views/account_move.xml b/account_invoice_triple_discount/views/account_move.xml new file mode 100644 index 0000000..5f5a051 --- /dev/null +++ b/account_invoice_triple_discount/views/account_move.xml @@ -0,0 +1,39 @@ + + + + account.invoice.triple.discount.form + account.move + + + + hide + Total discount + + + + + + + + Total discount + + + + + + + + + diff --git a/check_addon.sh b/check_addon.sh new file mode 100755 index 0000000..5f9c63c --- /dev/null +++ b/check_addon.sh @@ -0,0 +1,52 @@ +#!/bin/bash +# Script para verificar rápidamente un addon específico + +set -e + +if [ -z "$1" ]; then + echo "Uso: $0 " + echo "Ejemplo: $0 account_invoice_triple_discount" + exit 1 +fi + +ADDON_NAME=$1 +ADDON_PATH="./$ADDON_NAME" + +if [ ! -d "$ADDON_PATH" ]; then + echo "Error: El addon '$ADDON_NAME' no existe en este directorio" + exit 1 +fi + +if [ ! -f "$ADDON_PATH/__manifest__.py" ] && [ ! -f "$ADDON_PATH/__openerp__.py" ]; then + echo "Error: '$ADDON_NAME' no parece ser un addon válido de Odoo" + exit 1 +fi + +echo "==========================================" +echo "Verificando addon: $ADDON_NAME" +echo "==========================================" +echo "" + +echo "1. Ejecutando black..." +black --check "$ADDON_PATH" || (echo "❌ Black encontró problemas de formato" && black "$ADDON_PATH" && echo "✅ Formateado con black") + +echo "" +echo "2. Ejecutando isort..." +isort --check-only "$ADDON_PATH" || (echo "❌ isort encontró problemas" && isort "$ADDON_PATH" && echo "✅ Imports ordenados con isort") + +echo "" +echo "3. Ejecutando flake8..." +flake8 "$ADDON_PATH" && echo "✅ flake8 pasó correctamente" || echo "❌ flake8 encontró problemas" + +echo "" +echo "4. Ejecutando pylint (checks mandatorios)..." +pylint --rcfile=.pylintrc-mandatory "$ADDON_PATH" && echo "✅ pylint mandatorio pasó correctamente" || echo "❌ pylint mandatorio encontró problemas" + +echo "" +echo "5. Ejecutando pylint (checks opcionales)..." +pylint --rcfile=.pylintrc --exit-zero "$ADDON_PATH" + +echo "" +echo "==========================================" +echo "Verificación completa de $ADDON_NAME" +echo "==========================================" diff --git a/oca_dependencies.txt b/oca_dependencies.txt new file mode 100644 index 0000000..1c06c0a --- /dev/null +++ b/oca_dependencies.txt @@ -0,0 +1,4 @@ +account-invoicing +product-attribute +purchase-workflow +sale-workflow diff --git a/product_get_price_helper/README.rst b/product_get_price_helper/README.rst new file mode 100644 index 0000000..0c2ef4b --- /dev/null +++ b/product_get_price_helper/README.rst @@ -0,0 +1,90 @@ +======================== +Product Get Price Helper +======================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:5fb33150c2c1ee21fd7bc337113f150dccba97ee06c9dfd5a01d2f17ce567509 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproduct--attribute-lightgray.png?logo=github + :target: https://github.com/OCA/product-attribute/tree/18.0/product_get_price_helper + :alt: OCA/product-attribute +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/product-attribute-18-0/product-attribute-18-0-product_get_price_helper + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/product-attribute&target_branch=18.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Adds a helper function \_get_price() on product.product to compute the +product price based on pricelist, fiscal position, company and date. + +The method returns a dict such as: + +.. code:: python + + { + "value": 600.0, + "tax_included": True, + "discount": 20.0, + "original_value": 750.0, + } + +**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 +------- + +* ACSONE SA/NV + +Contributors +------------ + +- Sébastien BEAU +- Simone Orsi +- Quentin Groulard + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/product-attribute `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/product_get_price_helper/__init__.py b/product_get_price_helper/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/product_get_price_helper/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/product_get_price_helper/__manifest__.py b/product_get_price_helper/__manifest__.py new file mode 100644 index 0000000..aafe61c --- /dev/null +++ b/product_get_price_helper/__manifest__.py @@ -0,0 +1,15 @@ +# Copyright 2023 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Product Get Price Helper", + "summary": """ + This module provides a helper function to compute product prices.""", + "version": "18.0.1.1.0", + "license": "AGPL-3", + "author": "ACSONE SA/NV,Odoo Community Association (OCA)", + "website": "https://github.com/OCA/product-attribute", + "depends": ["account", "product"], + "data": [], + "demo": ["demo/account.xml", "demo/pricelist.xml"], +} diff --git a/product_get_price_helper/demo/account.xml b/product_get_price_helper/demo/account.xml new file mode 100644 index 0000000..ed91dd4 --- /dev/null +++ b/product_get_price_helper/demo/account.xml @@ -0,0 +1,36 @@ + + + + Tax inc demo + + percent + sale + + + + + Tax exc demo + + percent + sale + + + + Default + + + + + + Business + + + + + + + + + + + diff --git a/product_get_price_helper/demo/pricelist.xml b/product_get_price_helper/demo/pricelist.xml new file mode 100644 index 0000000..e3f3cd4 --- /dev/null +++ b/product_get_price_helper/demo/pricelist.xml @@ -0,0 +1,29 @@ + + + + + Business Pricelist + + + + + list_price + + Default Business Pricelist Line + + percentage + + + + + + + diff --git a/product_get_price_helper/i18n/it.po b/product_get_price_helper/i18n/it.po new file mode 100644 index 0000000..f013fca --- /dev/null +++ b/product_get_price_helper/i18n/it.po @@ -0,0 +1,47 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_get_price_helper +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2025-03-24 10:06+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.10.2\n" + +#. module: product_get_price_helper +#: model:account.fiscal.position,name:product_get_price_helper.fiscal_position_1 +msgid "Business" +msgstr "Impresa" + +#. module: product_get_price_helper +#: model:product.pricelist,name:product_get_price_helper.pricelist_1 +msgid "Business Pricelist" +msgstr "Listino commerciale" + +#. module: product_get_price_helper +#: model:account.fiscal.position,name:product_get_price_helper.fiscal_position_0 +msgid "Default" +msgstr "Predefinito" + +#. module: product_get_price_helper +#: model:ir.model,name:product_get_price_helper.model_product_product +msgid "Product Variant" +msgstr "Variante prodotto" + +#. module: product_get_price_helper +#: model:account.tax,name:product_get_price_helper.tax_2 +msgid "Tax exc demo" +msgstr "Demo imposta esclusa" + +#. module: product_get_price_helper +#: model:account.tax,name:product_get_price_helper.tax_1 +msgid "Tax inc demo" +msgstr "Demo imposta inclusa" diff --git a/product_get_price_helper/i18n/product_get_price_helper.pot b/product_get_price_helper/i18n/product_get_price_helper.pot new file mode 100644 index 0000000..a271d94 --- /dev/null +++ b/product_get_price_helper/i18n/product_get_price_helper.pot @@ -0,0 +1,44 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_get_price_helper +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: product_get_price_helper +#: model:account.fiscal.position,name:product_get_price_helper.fiscal_position_1 +msgid "Business" +msgstr "" + +#. module: product_get_price_helper +#: model:product.pricelist,name:product_get_price_helper.pricelist_1 +msgid "Business Pricelist" +msgstr "" + +#. module: product_get_price_helper +#: model:account.fiscal.position,name:product_get_price_helper.fiscal_position_0 +msgid "Default" +msgstr "" + +#. module: product_get_price_helper +#: model:ir.model,name:product_get_price_helper.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: product_get_price_helper +#: model:account.tax,name:product_get_price_helper.tax_2 +msgid "Tax exc demo" +msgstr "" + +#. module: product_get_price_helper +#: model:account.tax,name:product_get_price_helper.tax_1 +msgid "Tax inc demo" +msgstr "" diff --git a/product_get_price_helper/models/__init__.py b/product_get_price_helper/models/__init__.py new file mode 100644 index 0000000..5c74c8c --- /dev/null +++ b/product_get_price_helper/models/__init__.py @@ -0,0 +1 @@ +from . import product_product diff --git a/product_get_price_helper/models/product_product.py b/product_get_price_helper/models/product_product.py new file mode 100644 index 0000000..9b0697c --- /dev/null +++ b/product_get_price_helper/models/product_product.py @@ -0,0 +1,120 @@ +# Copyright 2017 Akretion (http://www.akretion.com). +# @author Sébastien BEAU +# Copyright 2021 Camptocamp (http://www.camptocamp.com). +# @author Simone Orsi +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models +from odoo.tools import float_compare +from odoo.tools import float_is_zero + +from ..utils import float_round + + +class ProductProduct(models.Model): + _inherit = "product.product" + + def _get_price( + self, + qty=1.0, + pricelist=None, + fposition=None, + company=None, + date=None, + price_unit=None, + ): + """Computes the product prices + + :param qty: The product quantity, used to apply pricelist rules. + :param pricelist: Optional. Get prices for a specific pricelist. + :param fposition: Optional. Apply fiscal position to product taxes. + :param company: Optional. + :param date: Optional. + + :returns: dict with the following keys: + + The product unitary price + True if product taxes are included in . + + If the pricelist.discount_policy is "without_discount": + The original price (before pricelist is applied). + The discounted percentage. + """ + self.ensure_one() + AccountTax = self.env["account.tax"] + # Apply company + product = self.with_company(company) if company else self + company = company or self.env.company + # Always filter taxes by the company + taxes = product.taxes_id.filtered(lambda tax: tax.company_id == company) + # Apply fiscal position + taxes = fposition.map_tax(taxes) if fposition else taxes + # Set context. Some of the methods used here depend on these values + product_context = dict( + self.env.context, + quantity=qty, + pricelist=pricelist.id if pricelist else None, + fiscal_position=fposition, + date=date, + ) + product = product.with_context(**product_context) + pricelist = pricelist.with_context(**product_context) if pricelist else None + if price_unit is None: + price_unit = ( + pricelist._get_product_price(product, qty, date=date) + if pricelist + else product.lst_price + ) + price_unit = AccountTax._fix_tax_included_price_company( + price_unit, product.taxes_id, taxes, company + ) + price_dp = self.env["decimal.precision"].precision_get("Product Price") + price_unit = float_round(price_unit, price_dp) + res = { + "value": price_unit, + "tax_included": any(tax.price_include for tax in taxes), + # Default values in case price.discount_policy != "without_discount" + "original_value": price_unit, + "discount": 0.0, + } + if pricelist: + rule_id = pricelist._get_product_rule(product, qty, date=date) + pl_item = self.env["product.pricelist.item"].browse(rule_id) + if not pl_item.exists(): + return res + original_price_unit = product.lst_price + if not pl_item._show_discount(): + # If the pricelist does not show the discount, we return the price as is + if float_is_zero(original_price_unit, precision_digits=price_dp): + res["original_value"] = 0.0 + return res + # Get the price rule + price_unit, _ = pricelist._get_product_price_rule(product, qty, date=date) + # Get the price before applying the pricelist + price_dp = self.env["decimal.precision"].precision_get("Product Price") + # Compute discount + if not float_is_zero( + original_price_unit, precision_digits=price_dp + ) and float_compare( + original_price_unit, price_unit, precision_digits=price_dp + ): + discount = ( + (original_price_unit - price_unit) / original_price_unit * 100 + ) + # Apply the right precision on discount + discount_dp = self.env["decimal.precision"].precision_get("Discount") + discount = float_round(discount, discount_dp) + else: + discount = 0.00 + # Compute prices + original_price_unit = AccountTax._fix_tax_included_price_company( + original_price_unit, product.taxes_id, taxes, company + ) + original_price_unit = float_round(original_price_unit, price_dp) + res.update( + { + "original_value": original_price_unit, + "discount": discount, + } + ) + return res diff --git a/product_get_price_helper/pyproject.toml b/product_get_price_helper/pyproject.toml new file mode 100644 index 0000000..4231d0c --- /dev/null +++ b/product_get_price_helper/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/product_get_price_helper/readme/CONTRIBUTORS.md b/product_get_price_helper/readme/CONTRIBUTORS.md new file mode 100644 index 0000000..816b23b --- /dev/null +++ b/product_get_price_helper/readme/CONTRIBUTORS.md @@ -0,0 +1,3 @@ +- Sébastien BEAU \<\> +- Simone Orsi \<\> +- Quentin Groulard \<\> diff --git a/product_get_price_helper/readme/DESCRIPTION.md b/product_get_price_helper/readme/DESCRIPTION.md new file mode 100644 index 0000000..2eafbe6 --- /dev/null +++ b/product_get_price_helper/readme/DESCRIPTION.md @@ -0,0 +1,13 @@ +Adds a helper function \_get_price() on product.product to compute the +product price based on pricelist, fiscal position, company and date. + +The method returns a dict such as: + +``` python +{ + "value": 600.0, + "tax_included": True, + "discount": 20.0, + "original_value": 750.0, +} +``` diff --git a/product_get_price_helper/static/description/icon.png b/product_get_price_helper/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/product_get_price_helper/static/description/index.html b/product_get_price_helper/static/description/index.html new file mode 100644 index 0000000..cc91949 --- /dev/null +++ b/product_get_price_helper/static/description/index.html @@ -0,0 +1,435 @@ + + + + + +Product Get Price Helper + + + +
+

Product Get Price Helper

+ + +

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

+

Adds a helper function _get_price() on product.product to compute the +product price based on pricelist, fiscal position, company and date.

+

The method returns a dict such as:

+
+{
+    "value": 600.0,
+    "tax_included": True,
+    "discount": 20.0,
+    "original_value": 750.0,
+}
+
+

Table of contents

+ +
+

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

+
    +
  • ACSONE SA/NV
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

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

+

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

+

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

+
+
+
+ + diff --git a/product_get_price_helper/tests/__init__.py b/product_get_price_helper/tests/__init__.py new file mode 100644 index 0000000..626580e --- /dev/null +++ b/product_get_price_helper/tests/__init__.py @@ -0,0 +1 @@ +from . import test_product diff --git a/product_get_price_helper/tests/test_product.py b/product_get_price_helper/tests/test_product.py new file mode 100644 index 0000000..a177bc6 --- /dev/null +++ b/product_get_price_helper/tests/test_product.py @@ -0,0 +1,275 @@ +# Copyright 2017 Akretion (http://www.akretion.com). +# @author Benoît GUILLOT +# Copyright 2025 Camptocamp (http://www.camptocamp.com). +# @author Simone Orsi +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from unittest import mock + +from odoo.tests import TransactionCase + + +class ProductCase(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.template = cls.env.ref("product.product_product_4_product_template") + cls.variant = cls.env.ref("product.product_product_4b") + cls.template.taxes_id = cls.env.ref("product_get_price_helper.tax_1") + cls.env.user.company_id.currency_id = cls.env.ref("base.USD") + cls.base_pricelist = cls.env["product.pricelist"].create( + {"name": "Base Pricelist", "currency_id": cls.env.ref("base.USD").id} + ) + cls.base_pricelist.currency_id = cls.env.ref("base.USD") + cls.variant.currency_id = cls.env.ref("base.USD") + + def test_product_simple_get_price(self): + self.variant.taxes_id.price_include = True + self.assertEqual( + self.variant._get_price(), + { + "discount": 0.0, + "original_value": 750.0, + "tax_included": True, + "value": 750.0, + }, + ) + self.variant.taxes_id.price_include = False + self.assertEqual( + self.variant._get_price(), + { + "discount": 0.0, + "original_value": 750.0, + "tax_included": False, + "value": 750.0, + }, + ) + + def test_product_price_rounding(self): + # Odony example: https://gist.github.com/odony/5269a695545902e7e23e761e20a9ec8c + self.env["product.pricelist.item"].create( + { + "pricelist_id": self.base_pricelist.id, + "product_id": self.variant.id, + "base": "list_price", + "applied_on": "0_product_variant", + "compute_price": "percentage", + "percent_price": 50, + } + ) + self.variant.list_price = 423.4 + self.assertEqual( + self.variant._get_price(pricelist=self.base_pricelist)["value"], 211.70 + ) + + def test_product_get_price(self): + # self.base_pricelist doesn't define a tax mapping. We are tax included + fiscal_position_fr = self.env.ref("product_get_price_helper.fiscal_position_0") + self.variant.taxes_id.price_include = True + price = self.variant._get_price( + pricelist=self.base_pricelist, fposition=fiscal_position_fr + ) + self.assertDictEqual( + price, + { + "discount": 0.0, + "original_value": 750.0, + "tax_included": True, + "value": 750.0, + }, + ) + # promotion price list define a discount of 20% on all product + promotion_price_list = self.env.ref("product_get_price_helper.pricelist_1") + price = self.variant._get_price( + pricelist=promotion_price_list, fposition=fiscal_position_fr + ) + self.assertDictEqual( + price, + { + "discount": 0.0, + "original_value": 600.0, + "tax_included": True, + "value": 600.0, + }, + ) + # use a fiscal position defining a mapping from tax included to tax + # excluded + tax_exclude_fiscal_position = self.env.ref( + "product_get_price_helper.fiscal_position_1" + ) + price = self.variant._get_price( + pricelist=self.base_pricelist, fposition=tax_exclude_fiscal_position + ) + self.assertDictEqual( + price, + { + "discount": 0.0, + "original_value": 652.17, + "tax_included": False, + "value": 652.17, + }, + ) + price = self.variant._get_price( + pricelist=promotion_price_list, fposition=tax_exclude_fiscal_position + ) + self.assertDictEqual( + price, + { + "discount": 0.0, + "original_value": 521.74, + "tax_included": False, + "value": 521.74, + }, + ) + + def test_product_get_price_zero(self): + # Test that discount calculation does not fail if original price is 0 + self.variant.list_price = 0 + self.env["product.pricelist.item"].create( + { + "product_id": self.variant.id, + "pricelist_id": self.base_pricelist.id, + "fixed_price": 10, + } + ) + fiscal_position_fr = self.env.ref("product_get_price_helper.fiscal_position_0") + self.variant.taxes_id.price_include = True + price = self.variant.with_context(foo=1)._get_price( + pricelist=self.base_pricelist, fposition=fiscal_position_fr + ) + self.assertDictEqual( + price, + { + "discount": 0.0, + "original_value": 0.0, + "tax_included": True, + "value": 10.0, + }, + ) + + # FIXME v18 we cannot use `_show_discount` method + # because it relies on `sale.group_discount_per_so_line` from sale module. + # See https://github.com/odoo/odoo/issues/202035 + # The test should be updated when the issue is fixed to use + # self.env.user.groups_id |= self.env.ref("sale.group_discount_per_so_line") + @mock.patch( + "odoo.addons.product.models.product_pricelist_item.PricelistItem._show_discount" + ) + def test_product_get_price_per_qty(self, show_discount): + show_discount.return_value = False + self.variant.taxes_id.price_include = True + # Define a promotion price for the product with min_qty = 10 + fposition = self.env.ref("product_get_price_helper.fiscal_position_0") + pricelist = self.base_pricelist + self.env["product.pricelist.item"].create( + { + "name": "Discount on Product when Qty >= 10", + "pricelist_id": pricelist.id, + "base": "list_price", + "compute_price": "percentage", + "percent_price": "20", + "applied_on": "0_product_variant", + "product_id": self.variant.id, + "min_quantity": 10.0, + } + ) + # Case 1 (qty = 1.0). No discount is applied + price = self.variant._get_price( + qty=1.0, pricelist=pricelist, fposition=fposition + ) + self.assertDictEqual( + price, + { + "discount": 0.0, + "original_value": 750.0, + "tax_included": True, + "value": 750.0, + }, + ) + # Case 2 (qty = 10.0). Discount is applied + # promotion price list define a discount of 20% on all product + price = self.variant._get_price( + qty=10.0, pricelist=pricelist, fposition=fposition + ) + self.assertDictEqual( + price, + { + "discount": 0.0, + "original_value": 600.0, + "tax_included": True, + "value": 600.0, + }, + ) + + @mock.patch( + "odoo.addons.product.models.product_pricelist_item.PricelistItem._show_discount" + ) + def test_product_get_price_discount_policy(self, show_discount): + self.variant.taxes_id.price_include = True + show_discount.return_value = False + # Ensure that discount is with 2 digits + self.env.ref("product.decimal_discount").digits = 2 + # self.base_pricelist doesn't define a tax mapping. We are tax included + # Discount policy: do not show the discount. + fiscal_position_fr = self.env.ref("product_get_price_helper.fiscal_position_0") + price = self.variant._get_price( + pricelist=self.base_pricelist, fposition=fiscal_position_fr + ) + self.assertDictEqual( + price, + { + "tax_included": True, + "value": 750.0, + "discount": 0.0, + "original_value": 750.0, + }, + ) + # promotion price list define a discount of 20% on all product + # Discount policy: show the discount. + show_discount.return_value = True + promotion_price_list = self.env.ref("product_get_price_helper.pricelist_1") + price = self.variant._get_price( + pricelist=promotion_price_list, fposition=fiscal_position_fr + ) + self.assertDictEqual( + price, + { + "tax_included": True, + "value": 600.0, + "discount": 20.0, + "original_value": 750.0, + }, + ) + # use the fiscal position defining a mapping from tax included to tax + # excluded + # Tax mapping should not impact the computation of the discount and + # the original value + tax_exclude_fiscal_position = self.env.ref( + "product_get_price_helper.fiscal_position_1" + ) + show_discount.return_value = False + price = self.variant._get_price( + pricelist=self.base_pricelist, fposition=tax_exclude_fiscal_position + ) + self.assertDictEqual( + price, + { + "tax_included": False, + "value": 652.17, + "discount": 0.0, + "original_value": 652.17, + }, + ) + show_discount.return_value = True + price = self.variant._get_price( + pricelist=promotion_price_list, fposition=tax_exclude_fiscal_position + ) + self.assertDictEqual( + price, + { + "tax_included": False, + "value": 521.74, + "discount": 20.0, + "original_value": 652.17, + }, + ) diff --git a/product_get_price_helper/utils.py b/product_get_price_helper/utils.py new file mode 100644 index 0000000..fca7e31 --- /dev/null +++ b/product_get_price_helper/utils.py @@ -0,0 +1,13 @@ +# Copyright 2021 Camptocamp (http://www.camptocamp.com). +# @author Simone Orsi +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo.tools import float_repr + + +def float_round(value, dp): + # be carefull odoo rounding implementation do not return the shortest + # representation of a float this mean if the price_unit is 211.70 + # you will have 211.70000000000002 + # Odony exemple: https://gist.github.com/odony/5269a695545902e7e23e761e20a9ec8c + return float(float_repr(value, dp)) diff --git a/product_price_category/README.rst b/product_price_category/README.rst new file mode 100644 index 0000000..e6e8135 --- /dev/null +++ b/product_price_category/README.rst @@ -0,0 +1,69 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl + :alt: License: AGPL-3 + +====================== +Product Price Category +====================== + +This module adds a field Price Category on Product Template +and allow Pricelist to be applied on this field. + +Usage +===== + +In Pricelist Form (Sales -> Configuration -> Pricelist), you can add or modify +an item ("Manage Pricelist Items" access should be checked in the user settings) +and select "Price Category" in "Applied on". +Then you have to choose on which price category should it be applied. + +.. image:: static/pricelist_price_category.png + + +Product price category can be modified in product form -> General Information. + +.. image:: static/product_price_category.png + + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/167/10.0 + +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 smash it by providing detailed and welcomed feedback. + +Credits +======= + +Images +------ + +* Odoo Community Association: `Icon `_. + +Contributors +------------ + +* Cyril Gaudin +* Akim Juillerat + +Do not contact contributors directly about support or help with technical issues. + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/product_price_category/__init__.py b/product_price_category/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/product_price_category/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/product_price_category/__manifest__.py b/product_price_category/__manifest__.py new file mode 100644 index 0000000..4085f59 --- /dev/null +++ b/product_price_category/__manifest__.py @@ -0,0 +1,22 @@ +# Copyright 2016 Camptocamp SA +# Copyright 2023 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Product Price Category", + "summary": "Add Price Category field on product and allow to apply " + "a pricelist on this field.", + "version": "18.0.1.0.0", + "author": "Camptocamp SA, Odoo Community Association (OCA)", + "license": "AGPL-3", + "category": "Product", + "depends": ["sale_stock"], + "website": "https://github.com/OCA/sale-workflow", + "data": [ + "security/ir.model.access.csv", + "views/product_pricelist.xml", + "views/product_template.xml", + ], + "maintainers": ["sbejaoui"], + "installable": True, +} diff --git a/product_price_category/i18n/am.po b/product_price_category/i18n/am.po new file mode 100644 index 0000000..2ed2641 --- /dev/null +++ b/product_price_category/i18n/am.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Amharic (https://www.transifex.com/oca/teams/23907/am/)\n" +"Language: am\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/ar.po b/product_price_category/i18n/ar.po new file mode 100644 index 0000000..f67fce1 --- /dev/null +++ b/product_price_category/i18n/ar.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Arabic (https://www.transifex.com/oca/teams/23907/ar/)\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "أنشئ بواسطة" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "أنشئ في" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "اسم العرض" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "المعرف" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "آخر تحديث بواسطة" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "آخر تحديث في" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "الاسم" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/bg.po b/product_price_category/i18n/bg.po new file mode 100644 index 0000000..2c932bd --- /dev/null +++ b/product_price_category/i18n/bg.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Bulgarian (https://www.transifex.com/oca/teams/23907/bg/)\n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Създадено от" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Създадено на" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Име за показване" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Последно променено на" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Последно обновено от" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Последно обновено на" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Име" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/bs.po b/product_price_category/i18n/bs.po new file mode 100644 index 0000000..ba33c01 --- /dev/null +++ b/product_price_category/i18n/bs.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Bosnian (https://www.transifex.com/oca/teams/23907/bs/)\n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Prikaži naziv" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Zadnje mijenjano" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Zadnji ažurirao" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Zadnje ažurirano" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Ime" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/ca.po b/product_price_category/i18n/ca.po new file mode 100644 index 0000000..6b34000 --- /dev/null +++ b/product_price_category/i18n/ca.po @@ -0,0 +1,123 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2021-03-26 10:46+0000\n" +"Last-Translator: Daniel Martinez Vila \n" +"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.3.2\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Creat per" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Creat el" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Nom visible" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Darrera modificació el" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Darrera Actualització per" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Darrera Actualització el" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nom" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "Categoria de preus" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "Categoria de preus: %s" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "Tarifes de preus" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" +"Especifiqueu una categoria de preu del producte si aquesta regla només " +"s'aplica a una categoria de preus. Mantingueu-lo buit en cas contrari." + +#~ msgid "Pricelist item" +#~ msgstr "Article de la llista de preus" + +#~ msgid "Product Template" +#~ msgstr "Plantilla de producte" + +#~ msgid "product.price.category" +#~ msgstr "product.price.category" diff --git a/product_price_category/i18n/cs.po b/product_price_category/i18n/cs.po new file mode 100644 index 0000000..90e474c --- /dev/null +++ b/product_price_category/i18n/cs.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Czech (https://www.transifex.com/oca/teams/23907/cs/)\n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Vytvořil(a)" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Vytvořeno" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Zobrazovaný název" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Naposled upraveno" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Naposled upraveno" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Naposled upraveno" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Název" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/da.po b/product_price_category/i18n/da.po new file mode 100644 index 0000000..7aefdcf --- /dev/null +++ b/product_price_category/i18n/da.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Danish (https://www.transifex.com/oca/teams/23907/da/)\n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Oprettet af" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Oprettet den" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Vist navn" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "Id" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Sidst ændret den" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Sidst opdateret af" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Sidst opdateret den" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Navn" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/de.po b/product_price_category/i18n/de.po new file mode 100644 index 0000000..9fb86ba --- /dev/null +++ b/product_price_category/i18n/de.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Angelegt durch" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Angelegt am" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Anzeigename" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Zuletzt geändert am" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Zuletzt akualisiert durch" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Zuletzt akualisiert am" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Bezeichnung" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "Preisliste" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/el_GR.po b/product_price_category/i18n/el_GR.po new file mode 100644 index 0000000..2d13a7c --- /dev/null +++ b/product_price_category/i18n/el_GR.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/" +"el_GR/)\n" +"Language: el_GR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Δημιουργήθηκε από " + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Δημιουργήθηκε στις" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "Κωδικός" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Τελευταία ενημέρωση από" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Τελευταία ενημέρωση στις" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Ονομασία" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/en_GB.po b/product_price_category/i18n/en_GB.po new file mode 100644 index 0000000..1623957 --- /dev/null +++ b/product_price_category/i18n/en_GB.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: English (United Kingdom) (https://www.transifex.com/oca/" +"teams/23907/en_GB/)\n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Created by" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Created on" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Display Name" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Last Modified on" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Last Updated by" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Last Updated on" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Name" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/es.po b/product_price_category/i18n/es.po new file mode 100644 index 0000000..44cc8f0 --- /dev/null +++ b/product_price_category/i18n/es.po @@ -0,0 +1,123 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2021-03-26 10:46+0000\n" +"Last-Translator: Daniel Martinez Vila \n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.3.2\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nombre" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "Categoría de precio" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "Categoría de precio: %s" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "Tarifa" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" +"Especifique una categoría de precio de producto si esta regla solo se aplica " +"a una categoría de precio. De lo contrario, manténgalo vacío." + +#~ msgid "Pricelist item" +#~ msgstr "Artículo de lista de precios" + +#~ msgid "Product Template" +#~ msgstr "Plantilla de producto" + +#~ msgid "product.price.category" +#~ msgstr "product.price.category" diff --git a/product_price_category/i18n/es_AR.po b/product_price_category/i18n/es_AR.po new file mode 100644 index 0000000..27e8493 --- /dev/null +++ b/product_price_category/i18n/es_AR.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Spanish (Argentina) (https://www.transifex.com/oca/" +"teams/23907/es_AR/)\n" +"Language: es_AR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Mostrar Nombre" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Última actualización realizada por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nombre" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/es_CL.po b/product_price_category/i18n/es_CL.po new file mode 100644 index 0000000..5e29c9c --- /dev/null +++ b/product_price_category/i18n/es_CL.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Spanish (Chile) (https://www.transifex.com/oca/teams/23907/" +"es_CL/)\n" +"Language: es_CL\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID (identificación)" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Última actualización de" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nombre" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/es_CO.po b/product_price_category/i18n/es_CO.po new file mode 100644 index 0000000..c221bee --- /dev/null +++ b/product_price_category/i18n/es_CO.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Spanish (Colombia) (https://www.transifex.com/oca/teams/23907/" +"es_CO/)\n" +"Language: es_CO\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Creado" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Nombre Público" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Última Modificación el" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Actualizado por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Actualizado" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nombre" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/es_CR.po b/product_price_category/i18n/es_CR.po new file mode 100644 index 0000000..9d7e18c --- /dev/null +++ b/product_price_category/i18n/es_CR.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Spanish (Costa Rica) (https://www.transifex.com/oca/" +"teams/23907/es_CR/)\n" +"Language: es_CR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Ultima actualización por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Ultima actualización en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nombre" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/es_DO.po b/product_price_category/i18n/es_DO.po new file mode 100644 index 0000000..dd700a6 --- /dev/null +++ b/product_price_category/i18n/es_DO.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Spanish (Dominican Republic) (https://www.transifex.com/oca/" +"teams/23907/es_DO/)\n" +"Language: es_DO\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Última actualización de" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nombre" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/es_EC.po b/product_price_category/i18n/es_EC.po new file mode 100644 index 0000000..68e4814 --- /dev/null +++ b/product_price_category/i18n/es_EC.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Spanish (Ecuador) (https://www.transifex.com/oca/teams/23907/" +"es_EC/)\n" +"Language: es_EC\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID (identificación)" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Última actualización de" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nombre" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/es_ES.po b/product_price_category/i18n/es_ES.po new file mode 100644 index 0000000..c1b550b --- /dev/null +++ b/product_price_category/i18n/es_ES.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Spanish (Spain) (https://www.transifex.com/oca/teams/23907/" +"es_ES/)\n" +"Language: es_ES\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/es_MX.po b/product_price_category/i18n/es_MX.po new file mode 100644 index 0000000..18c39eb --- /dev/null +++ b/product_price_category/i18n/es_MX.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/" +"es_MX/)\n" +"Language: es_MX\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Nombre desplegado" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Ultima modificacion realizada" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Ultima actualizacion por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Ultima actualización realizada" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nombre" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/es_PE.po b/product_price_category/i18n/es_PE.po new file mode 100644 index 0000000..bc7bd49 --- /dev/null +++ b/product_price_category/i18n/es_PE.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Spanish (Peru) (https://www.transifex.com/oca/teams/23907/" +"es_PE/)\n" +"Language: es_PE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Nombre a Mostrar" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Ultima Modificación en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Actualizado última vez por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Ultima Actualización" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nombre" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/es_PY.po b/product_price_category/i18n/es_PY.po new file mode 100644 index 0000000..ec7417b --- /dev/null +++ b/product_price_category/i18n/es_PY.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Spanish (Paraguay) (https://www.transifex.com/oca/teams/23907/" +"es_PY/)\n" +"Language: es_PY\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Ultima actualización por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Ultima actualización en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nombre" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/es_VE.po b/product_price_category/i18n/es_VE.po new file mode 100644 index 0000000..f3c8b6e --- /dev/null +++ b/product_price_category/i18n/es_VE.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Spanish (Venezuela) (https://www.transifex.com/oca/" +"teams/23907/es_VE/)\n" +"Language: es_VE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Mostrar nombre" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Modificada por última vez" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Última actualización realizada por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Ultima actualizacion en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nombre" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/et.po b/product_price_category/i18n/et.po new file mode 100644 index 0000000..0924ed1 --- /dev/null +++ b/product_price_category/i18n/et.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Estonian (https://www.transifex.com/oca/teams/23907/et/)\n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Loonud" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Loodud" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Näidatav nimi" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Viimati muudetud" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Viimati uuendatud" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Viimati uuendatud" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nimi" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/eu.po b/product_price_category/i18n/eu.po new file mode 100644 index 0000000..6acf6ff --- /dev/null +++ b/product_price_category/i18n/eu.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Basque (https://www.transifex.com/oca/teams/23907/eu/)\n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Nork sortua" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Created on" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Izena erakutsi" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Last Updated by" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Last Updated on" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Izena" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/fa.po b/product_price_category/i18n/fa.po new file mode 100644 index 0000000..c8cca8b --- /dev/null +++ b/product_price_category/i18n/fa.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Persian (https://www.transifex.com/oca/teams/23907/fa/)\n" +"Language: fa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "ایجاد شده توسط" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "ایجاد شده در" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "نام نمایشی" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "شناسه" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "تاریخ آخرین به‌روزرسانی" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "آخرین به روز رسانی توسط" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "آخرین به روز رسانی در" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "نام" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/fi.po b/product_price_category/i18n/fi.po new file mode 100644 index 0000000..188b3dc --- /dev/null +++ b/product_price_category/i18n/fi.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Luonut" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Luotu" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Nimi" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Viimeksi muokattu" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Viimeksi päivittänyt" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Viimeksi päivitetty" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nimi" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/fr.po b/product_price_category/i18n/fr.po new file mode 100644 index 0000000..a107fb8 --- /dev/null +++ b/product_price_category/i18n/fr.po @@ -0,0 +1,124 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +# guillaume bauer , 2018 +# Quentin THEURET , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-28 01:48+0000\n" +"PO-Revision-Date: 2018-02-28 01:48+0000\n" +"Last-Translator: Quentin THEURET , 2018\n" +"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Afficher le nom" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Modifié par" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Modifié le" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nom" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "Catégorie de prix" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "Catégorie de prix : %s" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "Tarif" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" +"Définissez une catégorie de prix de produit si cette règle s'applique " +"uniquement à une catégorie de prix. Laisser vide dans l'autre cas." + +#~ msgid "Pricelist item" +#~ msgstr "Élément de la liste de prix" + +#~ msgid "Product Template" +#~ msgstr "Modèle de produit" + +#~ msgid "product.price.category" +#~ msgstr "product.price.category" diff --git a/product_price_category/i18n/fr_CA.po b/product_price_category/i18n/fr_CA.po new file mode 100644 index 0000000..f80b958 --- /dev/null +++ b/product_price_category/i18n/fr_CA.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: French (Canada) (https://www.transifex.com/oca/teams/23907/" +"fr_CA/)\n" +"Language: fr_CA\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Afficher le nom" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "Identifiant" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nom" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/fr_CH.po b/product_price_category/i18n/fr_CH.po new file mode 100644 index 0000000..8c4b8aa --- /dev/null +++ b/product_price_category/i18n/fr_CH.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: French (Switzerland) (https://www.transifex.com/oca/" +"teams/23907/fr_CH/)\n" +"Language: fr_CH\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Modifié par" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Modifié le" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/gl.po b/product_price_category/i18n/gl.po new file mode 100644 index 0000000..0b2d25f --- /dev/null +++ b/product_price_category/i18n/gl.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Modificado por última vez o" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "ültima actualización por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nome" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/gl_ES.po b/product_price_category/i18n/gl_ES.po new file mode 100644 index 0000000..b0b0f2c --- /dev/null +++ b/product_price_category/i18n/gl_ES.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Galician (Spain) (https://www.transifex.com/oca/teams/23907/" +"gl_ES/)\n" +"Language: gl_ES\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/he.po b/product_price_category/i18n/he.po new file mode 100644 index 0000000..a027192 --- /dev/null +++ b/product_price_category/i18n/he.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Hebrew (https://www.transifex.com/oca/teams/23907/he/)\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "נוצר על ידי" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "נוצר ב-" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "השם המוצג" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "מזהה" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "תאריך שינוי אחרון" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "עודכן לאחרונה על ידי" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "עודכן לאחרונה על" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "שם" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/hr.po b/product_price_category/i18n/hr.po new file mode 100644 index 0000000..b37ac9c --- /dev/null +++ b/product_price_category/i18n/hr.po @@ -0,0 +1,124 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +# Bole , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-28 01:48+0000\n" +"PO-Revision-Date: 2018-02-28 01:48+0000\n" +"Last-Translator: Bole , 2018\n" +"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Datum kreiranja" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Naziv za prikaz" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Zadnja promjena" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Promijenio" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Vrijeme promjene" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Naziv" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "Kategorija cijena" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "Kategorija cijena: %s" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "Cjenik" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" +"Odredite kategoriju cijena ako ovo je pravilo primjenjivo na jednu " +"kategoriju, inače ostavite prazno." + +#~ msgid "Pricelist item" +#~ msgstr "Stavka cjenika" + +#~ msgid "Product Template" +#~ msgstr "Predložak proizvoda" + +#~ msgid "product.price.category" +#~ msgstr "product.price.category" diff --git a/product_price_category/i18n/hr_HR.po b/product_price_category/i18n/hr_HR.po new file mode 100644 index 0000000..9586f11 --- /dev/null +++ b/product_price_category/i18n/hr_HR.po @@ -0,0 +1,113 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/" +"hr_HR/)\n" +"Language: hr_HR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Naziv" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Zadnje modificirano" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Zadnji ažurirao" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Zadnje ažurirano" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Naziv" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "Cjenik" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/hu.po b/product_price_category/i18n/hu.po new file mode 100644 index 0000000..98f1780 --- /dev/null +++ b/product_price_category/i18n/hu.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Hungarian (https://www.transifex.com/oca/teams/23907/hu/)\n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Készítette" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Létrehozás dátuma" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Név megjelenítése" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Utolsó frissítés dátuma" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Utoljára frissítve, által" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Utoljára frissítve " + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Név" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/id.po b/product_price_category/i18n/id.po new file mode 100644 index 0000000..63cdddb --- /dev/null +++ b/product_price_category/i18n/id.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Indonesian (https://www.transifex.com/oca/teams/23907/id/)\n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Dibuat oleh" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Dibuat pada" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Nama Tampilan" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Terakhir Dimodifikasi pada" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Diperbaharui oleh" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Diperbaharui pada" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nama" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/it.po b/product_price_category/i18n/it.po new file mode 100644 index 0000000..f714474 --- /dev/null +++ b/product_price_category/i18n/it.po @@ -0,0 +1,114 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2024-10-15 17:06+0000\n" +"Last-Translator: Francesco Foresti \n" +"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "Applica a" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nome" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "Categoria di Prezzo" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "Categoria di Prezzo: %s" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "Listino prezzi" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "Riga listino applicabile all'opzione selezionata" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "Regola listino prezzi" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "Prodotto" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "Categoria prezzo prodotto" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" +"Specificare una categoria di prezzo del prodotto se questa regola si applica " +"solo a una categoria di prezzo. In caso contrario, lasciare vuoto." diff --git a/product_price_category/i18n/ja.po b/product_price_category/i18n/ja.po new file mode 100644 index 0000000..a78f5de --- /dev/null +++ b/product_price_category/i18n/ja.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Japanese (https://www.transifex.com/oca/teams/23907/ja/)\n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "作成者" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "作成日" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "表示名" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "最終更新日" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "最終更新者" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "最終更新日" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "名称" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/ko.po b/product_price_category/i18n/ko.po new file mode 100644 index 0000000..b75a670 --- /dev/null +++ b/product_price_category/i18n/ko.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Korean (https://www.transifex.com/oca/teams/23907/ko/)\n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "작성자" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "작성일" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "표시 이름" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "최근 수정" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "최근 갱신한 사람" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "최근 갱신 날짜" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "이름" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/lt.po b/product_price_category/i18n/lt.po new file mode 100644 index 0000000..23f89b5 --- /dev/null +++ b/product_price_category/i18n/lt.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Lithuanian (https://www.transifex.com/oca/teams/23907/lt/)\n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"(n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Sukūrė" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Sukurta" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Vaizduojamas pavadinimas" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Paskutinį kartą keista" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Paskutinį kartą atnaujino" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Paskutinį kartą atnaujinta" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Pavadinimas" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/lt_LT.po b/product_price_category/i18n/lt_LT.po new file mode 100644 index 0000000..fc2c3de --- /dev/null +++ b/product_price_category/i18n/lt_LT.po @@ -0,0 +1,113 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Lithuanian (Lithuania) (https://www.transifex.com/oca/" +"teams/23907/lt_LT/)\n" +"Language: lt_LT\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"(n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Sukūrė" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Sukurta" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Paskutinį kartą atnaujino" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Paskutinį kartą atnaujinta" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/lv.po b/product_price_category/i18n/lv.po new file mode 100644 index 0000000..b0d175e --- /dev/null +++ b/product_price_category/i18n/lv.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Latvian (https://www.transifex.com/oca/teams/23907/lv/)\n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Izveidoja" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Izveidots" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Pēdējo reizi atjaunoja" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Pēdējās izmaiņas" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nosaukums" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/mk.po b/product_price_category/i18n/mk.po new file mode 100644 index 0000000..308cdfe --- /dev/null +++ b/product_price_category/i18n/mk.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Macedonian (https://www.transifex.com/oca/teams/23907/mk/)\n" +"Language: mk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Креирано од" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Креирано на" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Прикажи име" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Последна промена на" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Последно ажурирање од" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Последно ажурирање на" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Име" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/mn.po b/product_price_category/i18n/mn.po new file mode 100644 index 0000000..dad1a2a --- /dev/null +++ b/product_price_category/i18n/mn.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Mongolian (https://www.transifex.com/oca/teams/23907/mn/)\n" +"Language: mn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Үүсгэгч" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Үүсгэсэн" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Дэлгэцийн Нэр" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Сүүлийн засвар хийсэн огноо" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Сүүлийн засвар хийсэн" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Сүүлийн засвар хийсэн огноо" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Нэр" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/nb.po b/product_price_category/i18n/nb.po new file mode 100644 index 0000000..99ed845 --- /dev/null +++ b/product_price_category/i18n/nb.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Norwegian Bokmål (https://www.transifex.com/oca/teams/23907/" +"nb/)\n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Opprettet av" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Opprettet den" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Visnings navn" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Sist oppdatert " + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Sist oppdatert av" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Sist oppdatert" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Navn" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/nb_NO.po b/product_price_category/i18n/nb_NO.po new file mode 100644 index 0000000..9ed17b4 --- /dev/null +++ b/product_price_category/i18n/nb_NO.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/oca/" +"teams/23907/nb_NO/)\n" +"Language: nb_NO\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Laget av" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Laget den" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Vis navn" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Sist endret den" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Sist oppdatert av" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Sist oppdatert den" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/nl.po b/product_price_category/i18n/nl.po new file mode 100644 index 0000000..b169a42 --- /dev/null +++ b/product_price_category/i18n/nl.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Aangemaakt door" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Aangemaakt op" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Te tonen naam" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Laatst bijgewerkt op" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Laatste bijgewerkt door" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Laatst bijgewerkt op" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Naam" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/nl_BE.po b/product_price_category/i18n/nl_BE.po new file mode 100644 index 0000000..d226010 --- /dev/null +++ b/product_price_category/i18n/nl_BE.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Dutch (Belgium) (https://www.transifex.com/oca/teams/23907/" +"nl_BE/)\n" +"Language: nl_BE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Gemaakt door" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Gemaakt op" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Schermnaam" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Laatst Aangepast op" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Laatst bijgewerkt door" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Laatst bijgewerkt op" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Naam:" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/nl_NL.po b/product_price_category/i18n/nl_NL.po new file mode 100644 index 0000000..4698a78 --- /dev/null +++ b/product_price_category/i18n/nl_NL.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# Peter Hageman , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: Peter Hageman , 2018\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/" +"teams/23907/nl_NL/)\n" +"Language: nl_NL\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Aangemaakt door" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Aangemaakt op" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Weergavenaam" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Laatst gewijzigd op" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Laatst aangepast door" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Laatst aangepast op" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Naam" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/pl.po b/product_price_category/i18n/pl.po new file mode 100644 index 0000000..2aa9ca7 --- /dev/null +++ b/product_price_category/i18n/pl.po @@ -0,0 +1,113 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Polish (https://www.transifex.com/oca/teams/23907/pl/)\n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && " +"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " +"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Utworzone przez" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Utworzono" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Wyświetlana nazwa " + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Ostatnio modyfikowano" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Ostatnio modyfikowane przez" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Ostatnia zmiana" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nazwa" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/product_price_category.pot b/product_price_category/i18n/product_price_category.pot new file mode 100644 index 0000000..f41a891 --- /dev/null +++ b/product_price_category/i18n/product_price_category.pot @@ -0,0 +1,107 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__display_applied_on +msgid "Display Applied On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__display_applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__display_applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/pt.po b/product_price_category/i18n/pt.po new file mode 100644 index 0000000..1862ee5 --- /dev/null +++ b/product_price_category/i18n/pt.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Nome a Apresentar" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Última Modificação Em" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Atualizado pela última vez por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Atualizado pela última vez em" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nome" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/pt_BR.po b/product_price_category/i18n/pt_BR.po new file mode 100644 index 0000000..431e604 --- /dev/null +++ b/product_price_category/i18n/pt_BR.po @@ -0,0 +1,116 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2024-09-20 20:06+0000\n" +"Last-Translator: Rodrigo Sottomaior Macedo " +"\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/" +"23907/pt_BR/)\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "Aplicar em" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Nome para Mostrar" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "Identificação" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Última atualização em" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Última atualização por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Última atualização em" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nome" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "Categoria de Preço" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "Categoria de Preço: %s" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "Lista de Preço" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "Item da lista de preços aplicável na opção selecionada" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "Regra da lista de preços" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "Produto" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "Categoria de Preço do Produto" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" +"Especifique uma categoria de preço de produto se esta regra se aplicar " +"somente a uma categoria de preço. Mantenha em branco caso contrário." diff --git a/product_price_category/i18n/pt_PT.po b/product_price_category/i18n/pt_PT.po new file mode 100644 index 0000000..0b8afe2 --- /dev/null +++ b/product_price_category/i18n/pt_PT.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/" +"teams/23907/pt_PT/)\n" +"Language: pt_PT\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Nome a Apresentar" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Última Modificação em" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Atualizado pela última vez por" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Atualizado pela última vez em" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nome" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/ro.po b/product_price_category/i18n/ro.po new file mode 100644 index 0000000..e019ccc --- /dev/null +++ b/product_price_category/i18n/ro.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Creat de" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Creat la" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Nume Afişat" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Ultima actualizare în" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Ultima actualizare făcută de" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Ultima actualizare la" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Nume" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/ru.po b/product_price_category/i18n/ru.po new file mode 100644 index 0000000..48ad92b --- /dev/null +++ b/product_price_category/i18n/ru.po @@ -0,0 +1,113 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Russian (https://www.transifex.com/oca/teams/23907/ru/)\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Создано" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Создан" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Последний раз обновлено" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Последний раз обновлено" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Название" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/sk.po b/product_price_category/i18n/sk.po new file mode 100644 index 0000000..4c32984 --- /dev/null +++ b/product_price_category/i18n/sk.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Slovak (https://www.transifex.com/oca/teams/23907/sk/)\n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Vytvoril" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Vytvorené" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Zobraziť meno" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Posledná modifikácia" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Naposledy upravoval" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Naposledy upravované" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Meno" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/sl.po b/product_price_category/i18n/sl.po new file mode 100644 index 0000000..9120b91 --- /dev/null +++ b/product_price_category/i18n/sl.po @@ -0,0 +1,113 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2026-01-22 17:04+0000\n" +"Last-Translator: Matjaz Mozetic \n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3;\n" +"X-Generator: Weblate 5.15.2\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Ustvaril" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Ustvarjeno" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Prikazani naziv" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Zadnjič spremenjeno" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Zadnji posodobil" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Zadnjič posodobljeno" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Naziv" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "Cenik" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/sr.po b/product_price_category/i18n/sr.po new file mode 100644 index 0000000..8155a3e --- /dev/null +++ b/product_price_category/i18n/sr.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Serbian (https://www.transifex.com/oca/teams/23907/sr/)\n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Kreiran" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Ime" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/sr@latin.po b/product_price_category/i18n/sr@latin.po new file mode 100644 index 0000000..be8b312 --- /dev/null +++ b/product_price_category/i18n/sr@latin.po @@ -0,0 +1,113 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Serbian (Latin) (https://www.transifex.com/oca/teams/23907/" +"sr%40latin/)\n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Kreiran" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Ime za prikaz" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Zadnja izmjena" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Zadnja izmjena" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Zadnja izmjena" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Ime:" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/sv.po b/product_price_category/i18n/sv.po new file mode 100644 index 0000000..5333543 --- /dev/null +++ b/product_price_category/i18n/sv.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Swedish (https://www.transifex.com/oca/teams/23907/sv/)\n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Skapad av" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Skapad den" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Visa namn" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Senast redigerad" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Senast uppdaterad av" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Senast uppdaterad" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Namn" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/th.po b/product_price_category/i18n/th.po new file mode 100644 index 0000000..41311d9 --- /dev/null +++ b/product_price_category/i18n/th.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Thai (https://www.transifex.com/oca/teams/23907/th/)\n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "สร้างโดย" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "สร้างเมื่อ" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "ชื่อที่ใช้แสดง" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "รหัส" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "แก้ไขครั้งสุดท้ายเมื่อ" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "อัพเดทครั้งสุดท้ายโดย" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "อัพเดทครั้งสุดท้ายเมื่อ" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "ชื่อ" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/tr.po b/product_price_category/i18n/tr.po new file mode 100644 index 0000000..e33f4df --- /dev/null +++ b/product_price_category/i18n/tr.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Oluşturan" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Oluşturuldu" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Görünen İsim" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Son değişiklik" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Son güncelleyen" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Son güncellenme" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Adı" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/tr_TR.po b/product_price_category/i18n/tr_TR.po new file mode 100644 index 0000000..1677a8d --- /dev/null +++ b/product_price_category/i18n/tr_TR.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/" +"tr_TR/)\n" +"Language: tr_TR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Oluşturan" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Oluşturulma tarihi" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Görünen ad" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "Kimlik" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "En son güncelleme tarihi" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "En son güncelleyen " + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "En son güncelleme tarihi" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Ad" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/uk.po b/product_price_category/i18n/uk.po new file mode 100644 index 0000000..8716d64 --- /dev/null +++ b/product_price_category/i18n/uk.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Ukrainian (https://www.transifex.com/oca/teams/23907/uk/)\n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Створив" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Дата створення" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Назва для відображення" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Остання модифікація" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Востаннє оновив" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Останнє оновлення" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Name" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/vi.po b/product_price_category/i18n/vi.po new file mode 100644 index 0000000..cf8cc76 --- /dev/null +++ b/product_price_category/i18n/vi.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Vietnamese (https://www.transifex.com/oca/teams/23907/vi/)\n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Được tạo bởi" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Được tạo vào" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Tên hiển thị" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Sửa lần cuối vào" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Last Updated by" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Cập nhật lần cuối vào" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Tên" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/vi_VN.po b/product_price_category/i18n/vi_VN.po new file mode 100644 index 0000000..f2f7413 --- /dev/null +++ b/product_price_category/i18n/vi_VN.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Vietnamese (Viet Nam) (https://www.transifex.com/oca/" +"teams/23907/vi_VN/)\n" +"Language: vi_VN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "Tạo bởi" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "Tạo vào" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "Cập nhật lần cuối bởi" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "Cập nhật lần cuối vào" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "Tên" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/zh_CN.po b/product_price_category/i18n/zh_CN.po new file mode 100644 index 0000000..c6c3020 --- /dev/null +++ b/product_price_category/i18n/zh_CN.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/" +"zh_CN/)\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "创建者" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "创建时间" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "Display Name" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "ID" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "Last Modified on" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "最后更新者" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "上次更新日期" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "名称" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/i18n/zh_TW.po b/product_price_category/i18n/zh_TW.po new file mode 100644 index 0000000..c56e46c --- /dev/null +++ b/product_price_category/i18n/zh_TW.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_price_category +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-27 03:52+0000\n" +"PO-Revision-Date: 2018-01-27 03:52+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Chinese (Taiwan) (https://www.transifex.com/oca/teams/23907/" +"zh_TW/)\n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on +msgid "Apply On" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid +msgid "Created by" +msgstr "建立者" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date +msgid "Created on" +msgstr "建立於" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name +msgid "Display Name" +msgstr "顯示名稱" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id +msgid "ID" +msgstr "編號" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update +msgid "Last Modified on" +msgstr "最後修改:" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid +msgid "Last Updated by" +msgstr "最後更新:" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date +msgid "Last Updated on" +msgstr "最後更新於" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name +msgid "Name" +msgstr "名稱" + +#. module: product_price_category +#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id +#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id +#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category +msgid "Price Category" +msgstr "" + +#. module: product_price_category +#. odoo-python +#: code:addons/product_price_category/models/product_pricelist_item.py:0 +#, python-format +msgid "Price Category: %s" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on +msgid "Pricelist Item applicable on selected option" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_pricelist_item +msgid "Pricelist Rule" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_template +msgid "Product" +msgstr "" + +#. module: product_price_category +#: model:ir.model,name:product_price_category.model_product_price_category +msgid "Product Price Category" +msgstr "" + +#. module: product_price_category +#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id +msgid "" +"Specify a product price category if this rule only applies to one price " +"category. Keep empty otherwise." +msgstr "" diff --git a/product_price_category/migrations/18.0.1.0.0/post-migration.py b/product_price_category/migrations/18.0.1.0.0/post-migration.py new file mode 100644 index 0000000..eccf8cf --- /dev/null +++ b/product_price_category/migrations/18.0.1.0.0/post-migration.py @@ -0,0 +1,15 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import logging + +_logger = logging.getLogger(__name__) + + +def migrate(cr, version): + if not version: + return + cr.execute(""" + UPDATE product_pricelist_item + SET display_applied_on = '2b_product_price_category' + WHERE applied_on = '2b_product_price_category' + """) diff --git a/product_price_category/models/__init__.py b/product_price_category/models/__init__.py new file mode 100644 index 0000000..e13fbdf --- /dev/null +++ b/product_price_category/models/__init__.py @@ -0,0 +1,4 @@ +from . import product_price_category +from . import product_template +from . import product_pricelist +from . import product_pricelist_item diff --git a/product_price_category/models/product_price_category.py b/product_price_category/models/product_price_category.py new file mode 100644 index 0000000..4c129ad --- /dev/null +++ b/product_price_category/models/product_price_category.py @@ -0,0 +1,13 @@ +# Copyright 2016 Camptocamp SA +# Copyright 2023 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields +from odoo import models + + +class ProductPriceCategory(models.Model): + _name = "product.price.category" + _description = "Product Price Category" + + name = fields.Char(required=True) diff --git a/product_price_category/models/product_pricelist.py b/product_price_category/models/product_pricelist.py new file mode 100644 index 0000000..c8c4517 --- /dev/null +++ b/product_price_category/models/product_pricelist.py @@ -0,0 +1,25 @@ +# Copyright 2017 Camptocamp SA +# Copyright 2023 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + + +from odoo import models + + +class ProductPricelist(models.Model): + _inherit = "product.pricelist" + + def _get_applicable_rules_domain(self, products, date, **kwargs): + price_categ_ids = [ + p.price_category_id.id for p in products if p.price_category_id + ] + domain = super()._get_applicable_rules_domain(products, date, **kwargs) + if price_categ_ids: + domain.extend( + [ + "|", + ("price_category_id", "=", False), + ("price_category_id", "in", price_categ_ids), + ] + ) + return domain diff --git a/product_price_category/models/product_pricelist_item.py b/product_price_category/models/product_pricelist_item.py new file mode 100644 index 0000000..5e9910f --- /dev/null +++ b/product_price_category/models/product_pricelist_item.py @@ -0,0 +1,74 @@ +# Copyright 2017 Camptocamp SA +# Copyright 2023 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + + +from odoo import _ +from odoo import api +from odoo import fields +from odoo import models + + +class ProductPricelistItem(models.Model): + _inherit = "product.pricelist.item" + + applied_on = fields.Selection( + selection_add=[("2b_product_price_category", "Price Category")], + ondelete={"2b_product_price_category": "set default"}, + ) + display_applied_on = fields.Selection( + selection_add=[("2b_product_price_category", "Price Category")], + ondelete={"2b_product_price_category": "set default"}, + ) + price_category_id = fields.Many2one( + comodel_name="product.price.category", + string="Price Category", + ondelete="cascade", + help="Specify a product price category if this rule only applies " + "to one price category. Keep empty otherwise.", + compute="_compute_price_category", + store=True, + readonly=False, + ) + + @api.depends("price_category_id") + def _compute_name(self): + result = super()._compute_name() + for item in self: + if item.applied_on == "2b_product_price_category": + item.name = _("Price Category: %s", item.price_category_id.display_name) + return result + + @api.depends("display_applied_on") + def _compute_price_category(self): + """Reset the price_category_id value if applied_on + is not price_category + """ + for rec in self: + if rec.display_applied_on != "2b_product_price_category": + rec.price_category_id = False + + def _is_applicable_for(self, product, qty_in_product_uom): + res = super()._is_applicable_for(product, qty_in_product_uom) + if ( + self.price_category_id + and self.price_category_id != product.price_category_id + ): + return False + return res + + @api.onchange("display_applied_on") + def _onchange_display_applied_on(self): + res = super()._onchange_display_applied_on() + for item in self: + if item.display_applied_on == "2b_product_price_category": + item.update( + dict( + product_id=None, + product_tmpl_id=None, + applied_on="2b_product_price_category", + product_uom=None, + categ_id=None, + ) + ) + return res diff --git a/product_price_category/models/product_template.py b/product_price_category/models/product_template.py new file mode 100644 index 0000000..1791078 --- /dev/null +++ b/product_price_category/models/product_template.py @@ -0,0 +1,14 @@ +# Copyright 2016 Camptocamp SA +# Copyright 2023 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields +from odoo import models + + +class ProductTemplate(models.Model): + _inherit = "product.template" + + price_category_id = fields.Many2one( + "product.price.category", string="Price Category", ondelete="restrict" + ) diff --git a/product_price_category/pyproject.toml b/product_price_category/pyproject.toml new file mode 100644 index 0000000..4231d0c --- /dev/null +++ b/product_price_category/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/product_price_category/security/ir.model.access.csv b/product_price_category/security/ir.model.access.csv new file mode 100644 index 0000000..5afd0ec --- /dev/null +++ b/product_price_category/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_product_price_category_user,access_product_price_category_user,model_product_price_category,product.group_product_pricelist,1,0,0,0 +access_product_price_category_manager,access_product_price_category_manager,model_product_price_category,sales_team.group_sale_manager,1,1,1,1 diff --git a/product_price_category/static/description/icon.png b/product_price_category/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/product_price_category/static/pricelist_price_category.png b/product_price_category/static/pricelist_price_category.png new file mode 100644 index 0000000000000000000000000000000000000000..5356cade1ec1dee684612e3b6f8fc941fce73489 GIT binary patch literal 65863 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

ZK7KJ53_bh0*ko)7?gP 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 HnjQZiBltq? literal 0 HcmV?d00001 diff --git a/product_price_category/static/product_price_category.png b/product_price_category/static/product_price_category.png new file mode 100644 index 0000000000000000000000000000000000000000..9f7ce0ebe8c1bd18647e7eeaee0783bc31d19edb GIT binary patch literal 41679 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 s;^+2Q_n&mjD0& literal 0 HcmV?d00001 diff --git a/product_price_category/tests/__init__.py b/product_price_category/tests/__init__.py new file mode 100644 index 0000000..e95d204 --- /dev/null +++ b/product_price_category/tests/__init__.py @@ -0,0 +1,4 @@ +# Copyright 2016 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import test_sale diff --git a/product_price_category/tests/test_sale.py b/product_price_category/tests/test_sale.py new file mode 100644 index 0000000..f26f8ae --- /dev/null +++ b/product_price_category/tests/test_sale.py @@ -0,0 +1,146 @@ +# Copyright 2016 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import Command +from odoo.tests import Form +from odoo.tests.common import TransactionCase + + +class TestSale(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + # activate advanced pricelist + cls.env.user.write( + { + "groups_id": [ + Command.link(cls.env.ref("product.group_product_pricelist").id) + ] + } + ) + cls.tax = cls.env["account.tax"].create( + {"name": "Unittest tax", "amount_type": "percent", "amount": "0"} + ) + + price_category_1 = cls.env["product.price.category"].create( + {"name": "TEST_CAT"} + ) + price_category_2 = cls.env["product.price.category"].create( + {"name": "TEST_CAT_2"} + ) + + cls.pricelist = cls.env["product.pricelist"].create( + { + "name": "Unittest Pricelist", + "item_ids": [ + Command.create( + { + "applied_on": "2b_product_price_category", + "price_category_id": price_category_2.id, + "compute_price": "percentage", + "percent_price": 5, + } + ), + ], + } + ) + + # P1 with price_category_1 + cls.p1 = cls.env["product.product"].create( + { + "name": "Unittest P1", + "price_category_id": price_category_1.id, + "list_price": 10, + "taxes_id": [Command.set(cls.tax.ids)], + } + ) + + # P2 with price_category_2 + cls.p2 = cls.env["product.product"].create( + { + "name": "Unittest P2", + "price_category_id": price_category_2.id, + "list_price": 20, + "taxes_id": [Command.set(cls.tax.ids)], + } + ) + + # P3 without price category + cls.p3 = cls.env["product.product"].create( + { + "name": "Unittest P3", + "list_price": 30, + "taxes_id": [Command.set(cls.tax.ids)], + } + ) + + cls.partner = cls.env["res.partner"].create({"name": "Unittest partner"}) + + cls.sale = cls.env["sale.order"].create( + { + "partner_id": cls.partner.id, + "order_line": [ + Command.create( + { + "name": cls.p1.name, + "product_id": cls.p1.id, + "product_uom_qty": 1, + "product_uom": cls.env.ref("uom.product_uom_unit").id, + }, + ), + Command.create( + { + "name": cls.p1.name, + "product_id": cls.p2.id, + "product_uom_qty": 1, + "product_uom": cls.env.ref("uom.product_uom_unit").id, + }, + ), + Command.create( + { + "name": cls.p1.name, + "product_id": cls.p3.id, + "product_uom_qty": 1, + "product_uom": cls.env.ref("uom.product_uom_unit").id, + }, + ), + ], + } + ) + + def test_sale_without_pricelist(self): + self.sale._recompute_prices() + self.assertEqual(10, self.sale.order_line[0].price_total) + self.assertEqual(20, self.sale.order_line[1].price_total) + self.assertEqual(30, self.sale.order_line[2].price_total) + self.assertEqual(60, self.sale.amount_total) + + def test_sale_with_pricelist(self): + """Pricelist should be applied only on product with price_category_2""" + self.sale.pricelist_id = self.pricelist + self.sale._recompute_prices() + self.assertEqual(10, self.sale.order_line[0].price_total) + self.assertEqual(19, self.sale.order_line[1].price_total) + self.assertEqual(30, self.sale.order_line[2].price_total) + self.assertEqual(59, self.sale.amount_total) + + def test_sale_with_pricelist_and_tax(self): + self.tax.amount = 20 + self.sale.pricelist_id = self.pricelist + self.sale._recompute_prices() + self.assertEqual(12, self.sale.order_line[0].price_total) + self.assertEqual(22.8, self.sale.order_line[1].price_total) + self.assertEqual(36, self.sale.order_line[2].price_total) + self.assertEqual(70.8, self.sale.amount_total) + + def test_onchange_applied_on_price_category(self): + pricelist_form = Form(self.pricelist) + with pricelist_form.item_ids.edit(0) as item_form: + self.assertTrue(item_form.price_category_id) + item_form.display_applied_on = "1_product" + self.assertFalse(item_form.price_category_id) + + def test_name(self): + item = self.pricelist.item_ids[0] + expected_name = f"Price Category: {item.price_category_id.display_name}" + self.assertEqual(expected_name, item.name) diff --git a/product_price_category/views/product_pricelist.xml b/product_price_category/views/product_pricelist.xml new file mode 100644 index 0000000..9c8c40a --- /dev/null +++ b/product_price_category/views/product_pricelist.xml @@ -0,0 +1,19 @@ + + + + product.pricelist.item + + + + + + + + diff --git a/product_price_category/views/product_template.xml b/product_price_category/views/product_template.xml new file mode 100644 index 0000000..2d2216c --- /dev/null +++ b/product_price_category/views/product_template.xml @@ -0,0 +1,23 @@ + + + + product.template + + +

+ +
+ + + + + + product.template + + + + + + + + diff --git a/purchase_triple_discount/README.rst b/purchase_triple_discount/README.rst new file mode 100644 index 0000000..4166895 --- /dev/null +++ b/purchase_triple_discount/README.rst @@ -0,0 +1,119 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +============================== +Purchase Order Triple Discount +============================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:fb4779564a8b987350b0ed4d4e6d8035eddc9a8fd341f3e32703640e8e8bd359 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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/license-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpurchase--workflow-lightgray.png?logo=github + :target: https://github.com/OCA/purchase-workflow/tree/18.0/purchase_triple_discount + :alt: OCA/purchase-workflow +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/purchase-workflow-18-0/purchase-workflow-18-0-purchase_triple_discount + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/purchase-workflow&target_branch=18.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module allows to have three successive discounts on every purchase +order line. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +Create a new purchase order and add discounts in any of the three +discount fields given. They go in order of precedence so discount 2 will +be calculated over discount 1 and discount 3 over the result of discount +2. For example, let's divide by two on every discount: + +Unit price: 600.00 -> + + - Disc. 1 = 50% -> Amount = 300.00 + - Disc. 2 = 50% -> Amount = 150.00 + - Disc. 3 = 50% -> Amount = 75.00 + +You can also use negative values to charge instead of discount: + +Unit price: 600.00 -> + + - Disc. 1 = 50% -> Amount = 300.00 + - Disc. 2 = -5% -> Amount = 315.00 + +- When the purchase order is validated, the discounts will be added to + the corresponding vendor pricelist. +- Vendor pricelists can be edited as well with their corresponding new + second and third discounts. +- A default second or third discount can be set in every vendor *Sale & + Purchases* tab. + +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 +------- + +* Tecnativa +* GRAP + +Contributors +------------ + +- `Tecnativa `__: + + - David Vidal + - Pedro M. Baeza + +- Sylvain LE GAL (https://twitter.com/legalsylvain) + +- `ForgeFlow S.L. `__: + + - Christopher Ormaza + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/purchase-workflow `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/purchase_triple_discount/__init__.py b/purchase_triple_discount/__init__.py new file mode 100644 index 0000000..cc6b635 --- /dev/null +++ b/purchase_triple_discount/__init__.py @@ -0,0 +1,2 @@ +from . import models +from .hooks import post_init_hook diff --git a/purchase_triple_discount/__manifest__.py b/purchase_triple_discount/__manifest__.py new file mode 100644 index 0000000..0eb72d2 --- /dev/null +++ b/purchase_triple_discount/__manifest__.py @@ -0,0 +1,22 @@ +# Copyright 2017 Tecnativa - David Vidal +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +{ + "name": "Purchase Order Triple Discount", + "version": "18.0.1.0.0", + "category": "Purchase Management", + "author": "Tecnativa," "GRAP," "Odoo Community Association (OCA)", + "website": "https://github.com/OCA/purchase-workflow", + "license": "AGPL-3", + "summary": "Manage triple discount on purchase order lines", + "depends": [ + "purchase", + "account_invoice_triple_discount", + ], + "data": [ + "views/product_supplierinfo_view.xml", + "views/purchase_view.xml", + "views/res_partner_view.xml", + ], + "post_init_hook": "post_init_hook", + "installable": True, +} diff --git a/purchase_triple_discount/hooks.py b/purchase_triple_discount/hooks.py new file mode 100644 index 0000000..047e072 --- /dev/null +++ b/purchase_triple_discount/hooks.py @@ -0,0 +1,24 @@ +def post_init_hook(env): + env.cr.execute(""" + UPDATE purchase_order_line upd + SET discount1=pol.discount + FROM (SELECT * + FROM purchase_order_line + WHERE discount IS NOT NULL + AND discount1 IS NULL + AND discount2 IS NULL + AND discount3 IS NULL) as pol + WHERE upd.id = pol.id + """) + + env.cr.execute(""" + UPDATE product_supplierinfo upd + SET discount1=psi.discount + FROM (SELECT * + FROM product_supplierinfo + WHERE discount IS NOT NULL + AND discount1 IS NULL + AND discount2 IS NULL + AND discount3 IS NULL) as psi + WHERE upd.id = psi.id + """) diff --git a/purchase_triple_discount/i18n/de.po b/purchase_triple_discount/i18n/de.po new file mode 100644 index 0000000..792ee3f --- /dev/null +++ b/purchase_triple_discount/i18n/de.po @@ -0,0 +1,104 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-24 07:53+0000\n" +"PO-Revision-Date: 2017-11-24 07:53+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_res_partner +msgid "Contact" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +msgid "Default Supplier Discount 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "Default Supplier Discount 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount2 +msgid "Disc. 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount3 +msgid "Disc. 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount2_limit +msgid "Discount 2 must be lower than 100%." +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount3_limit +msgid "Discount 3 must be lower than 100%." +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Bestellposition" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_report +#, fuzzy +msgid "Purchase Report" +msgstr "Bestellposition" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_product_supplierinfo +msgid "Supplier Pricelist" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "" +"This value will be used as the default one, for each new supplierinfo line " +"depending on that supplier." +msgstr "" diff --git a/purchase_triple_discount/i18n/es.po b/purchase_triple_discount/i18n/es.po new file mode 100644 index 0000000..68eddc4 --- /dev/null +++ b/purchase_triple_discount/i18n/es.po @@ -0,0 +1,106 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-24 07:53+0000\n" +"PO-Revision-Date: 2023-07-17 20:10+0000\n" +"Last-Translator: Ivorra78 \n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 2 (%)" +msgstr "Descuento. 2 (%)" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 3 (%)" +msgstr "Descuento. 3 (%)" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_res_partner +msgid "Contact" +msgstr "Contacto" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +msgid "Default Supplier Discount 2 (%)" +msgstr "Descuento por defecto al proveedor 2 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "Default Supplier Discount 3 (%)" +msgstr "Descuento por defecto al proveedor 3 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount2 +msgid "Disc. 2 (%)" +msgstr "Descuento. 2 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount3 +msgid "Disc. 3 (%)" +msgstr "Descuento. 3 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount2 +msgid "Discount 2 (%)" +msgstr "Descuento 2 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount2_limit +msgid "Discount 2 must be lower than 100%." +msgstr "El descuento 2 debe ser inferior al 100%." + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount3 +msgid "Discount 3 (%)" +msgstr "Descuento 3 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount3_limit +msgid "Discount 3 must be lower than 100%." +msgstr "El descuento 3 debe ser inferior al 100%." + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Línea orden de compra" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_report +msgid "Purchase Report" +msgstr "Informe de compra" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_product_supplierinfo +msgid "Supplier Pricelist" +msgstr "Lista de precios para proveedores" + +#. module: purchase_triple_discount +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "" +"This value will be used as the default one, for each new supplierinfo line " +"depending on that supplier." +msgstr "" +"Este valor se utilizará como valor por defecto, para cada nueva línea de " +"información del proveedor que dependa de ese proveedor." diff --git a/purchase_triple_discount/i18n/es_MX.po b/purchase_triple_discount/i18n/es_MX.po new file mode 100644 index 0000000..84e4ed2 --- /dev/null +++ b/purchase_triple_discount/i18n/es_MX.po @@ -0,0 +1,105 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-24 07:53+0000\n" +"PO-Revision-Date: 2017-11-24 07:53+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/" +"es_MX/)\n" +"Language: es_MX\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_res_partner +msgid "Contact" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +msgid "Default Supplier Discount 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "Default Supplier Discount 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount2 +msgid "Disc. 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount3 +msgid "Disc. 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount2_limit +msgid "Discount 2 must be lower than 100%." +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount3_limit +msgid "Discount 3 must be lower than 100%." +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Línea de orden de compra" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_report +#, fuzzy +msgid "Purchase Report" +msgstr "Línea de orden de compra" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_product_supplierinfo +msgid "Supplier Pricelist" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "" +"This value will be used as the default one, for each new supplierinfo line " +"depending on that supplier." +msgstr "" diff --git a/purchase_triple_discount/i18n/es_PE.po b/purchase_triple_discount/i18n/es_PE.po new file mode 100644 index 0000000..1703678 --- /dev/null +++ b/purchase_triple_discount/i18n/es_PE.po @@ -0,0 +1,108 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_triple_discount +# +# Translators: +# Henry Garcia , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-24 07:53+0000\n" +"PO-Revision-Date: 2017-11-24 07:53+0000\n" +"Last-Translator: Henry Garcia , 2017\n" +"Language-Team: Spanish (Peru) (https://www.transifex.com/oca/teams/23907/" +"es_PE/)\n" +"Language: es_PE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_res_partner +msgid "Contact" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +msgid "Default Supplier Discount 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "Default Supplier Discount 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount2 +msgid "Disc. 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount3 +msgid "Disc. 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount2_limit +msgid "Discount 2 must be lower than 100%." +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount3_limit +msgid "Discount 3 must be lower than 100%." +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Linea de orden de compra" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_report +#, fuzzy +msgid "Purchase Report" +msgstr "Linea de orden de compra" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_product_supplierinfo +msgid "Supplier Pricelist" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "" +"This value will be used as the default one, for each new supplierinfo line " +"depending on that supplier." +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Factura" diff --git a/purchase_triple_discount/i18n/fi.po b/purchase_triple_discount/i18n/fi.po new file mode 100644 index 0000000..ccd05b3 --- /dev/null +++ b/purchase_triple_discount/i18n/fi.po @@ -0,0 +1,104 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-24 07:53+0000\n" +"PO-Revision-Date: 2017-11-24 07:53+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_res_partner +msgid "Contact" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +msgid "Default Supplier Discount 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "Default Supplier Discount 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount2 +msgid "Disc. 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount3 +msgid "Disc. 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount2_limit +msgid "Discount 2 must be lower than 100%." +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount3_limit +msgid "Discount 3 must be lower than 100%." +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Ostotilausrivi" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_report +#, fuzzy +msgid "Purchase Report" +msgstr "Ostotilausrivi" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_product_supplierinfo +msgid "Supplier Pricelist" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "" +"This value will be used as the default one, for each new supplierinfo line " +"depending on that supplier." +msgstr "" diff --git a/purchase_triple_discount/i18n/fr.po b/purchase_triple_discount/i18n/fr.po new file mode 100644 index 0000000..eec3e05 --- /dev/null +++ b/purchase_triple_discount/i18n/fr.po @@ -0,0 +1,108 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_triple_discount +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-08 08:11+0000\n" +"PO-Revision-Date: 2019-08-08 08:11+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_res_partner +msgid "Contact" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +msgid "Default Supplier Discount 2 (%)" +msgstr "Remise par défaut n°2 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "Default Supplier Discount 3 (%)" +msgstr "Remise par défaut n°3 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount2 +msgid "Disc. 2 (%)" +msgstr "Rem. 2 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount3 +msgid "Disc. 3 (%)" +msgstr "Rem. 3 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount2 +msgid "Discount 2 (%)" +msgstr "Remise 2 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount2_limit +msgid "Discount 2 must be lower than 100%." +msgstr "La remise 2 doit être inférieure à 100%." + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount3 +msgid "Discount 3 (%)" +msgstr "Remise 3 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount3_limit +msgid "Discount 3 must be lower than 100%." +msgstr "La remise 3 doit être inférieure à 100%." + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Ligne de commande d'achat" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_report +#, fuzzy +msgid "Purchase Report" +msgstr "Commande fournisseur" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_product_supplierinfo +msgid "Supplier Pricelist" +msgstr "Liste de prix du fournisseur" + +#. module: purchase_triple_discount +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "" +"This value will be used as the default one, for each new supplierinfo line " +"depending on that supplier." +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Facture" + +#~ msgid "Stock Rule" +#~ msgstr "Règle de stock minimum" diff --git a/purchase_triple_discount/i18n/hr.po b/purchase_triple_discount/i18n/hr.po new file mode 100644 index 0000000..00c3e81 --- /dev/null +++ b/purchase_triple_discount/i18n/hr.po @@ -0,0 +1,110 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_triple_discount +# +# Translators: +# Bole , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-03 03:48+0000\n" +"PO-Revision-Date: 2018-03-03 03:48+0000\n" +"Last-Translator: Bole , 2017\n" +"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_res_partner +msgid "Contact" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +msgid "Default Supplier Discount 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "Default Supplier Discount 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount2 +msgid "Disc. 2 (%)" +msgstr "Pop. 2 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount3 +msgid "Disc. 3 (%)" +msgstr "Pop. 3(%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount2 +#, fuzzy +msgid "Discount 2 (%)" +msgstr "Pop. 2 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount2_limit +msgid "Discount 2 must be lower than 100%." +msgstr "Popust 2 mora biti manje od 100%." + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount3 +#, fuzzy +msgid "Discount 3 (%)" +msgstr "Pop. 3(%)" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount3_limit +msgid "Discount 3 must be lower than 100%." +msgstr "Popust 3 mora biti manje od 100%." + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Stavka naloga za nabavu" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_report +#, fuzzy +msgid "Purchase Report" +msgstr "Stavka naloga za nabavu" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_product_supplierinfo +msgid "Supplier Pricelist" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "" +"This value will be used as the default one, for each new supplierinfo line " +"depending on that supplier." +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Račun" diff --git a/purchase_triple_discount/i18n/it.po b/purchase_triple_discount/i18n/it.po new file mode 100644 index 0000000..6eefa37 --- /dev/null +++ b/purchase_triple_discount/i18n/it.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-24 07:53+0000\n" +"PO-Revision-Date: 2023-12-20 18:34+0000\n" +"Last-Translator: mymage \n" +"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 2 (%)" +msgstr "Sc. 2 (%)" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 3 (%)" +msgstr "Sc. 3 (%)" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_res_partner +msgid "Contact" +msgstr "Contatto" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +msgid "Default Supplier Discount 2 (%)" +msgstr "Sconto Fornitore Predefinito 2 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "Default Supplier Discount 3 (%)" +msgstr "Sconto Fornitore Predefinito 3 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount2 +msgid "Disc. 2 (%)" +msgstr "Sconto 2 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount3 +msgid "Disc. 3 (%)" +msgstr "Sconto 3 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount2 +msgid "Discount 2 (%)" +msgstr "Sconto 2 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount2_limit +msgid "Discount 2 must be lower than 100%." +msgstr "Sconto 2 deve essere inferiore di 100%." + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount3 +msgid "Discount 3 (%)" +msgstr "Sconto 3 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount3_limit +msgid "Discount 3 must be lower than 100%." +msgstr "Sconto 3 deve essere inferiore di 100%." + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Riga ordine di acquisto" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_report +msgid "Purchase Report" +msgstr "Resoconto di acquisto" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_product_supplierinfo +msgid "Supplier Pricelist" +msgstr "Listino Fornitore" + +#. module: purchase_triple_discount +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "" +"This value will be used as the default one, for each new supplierinfo line " +"depending on that supplier." +msgstr "" +"Questo valore verrà usato come predefinito per ogni nuova riga d'ordine di " +"acquisto che dipende da questo fornitore." + +#~ msgid "Invoice" +#~ msgstr "Fattura" + +#~ msgid "Stock Rule" +#~ msgstr "Regola Stock" diff --git a/purchase_triple_discount/i18n/nl_NL.po b/purchase_triple_discount/i18n/nl_NL.po new file mode 100644 index 0000000..6dc750b --- /dev/null +++ b/purchase_triple_discount/i18n/nl_NL.po @@ -0,0 +1,108 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_triple_discount +# +# Translators: +# Peter Hageman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-24 07:53+0000\n" +"PO-Revision-Date: 2017-11-24 07:53+0000\n" +"Last-Translator: Peter Hageman , 2017\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/" +"teams/23907/nl_NL/)\n" +"Language: nl_NL\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_res_partner +msgid "Contact" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +msgid "Default Supplier Discount 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "Default Supplier Discount 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount2 +msgid "Disc. 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount3 +msgid "Disc. 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount2_limit +msgid "Discount 2 must be lower than 100%." +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount3_limit +msgid "Discount 3 must be lower than 100%." +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Inkooporderregel" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_report +#, fuzzy +msgid "Purchase Report" +msgstr "Inkooporderregel" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_product_supplierinfo +msgid "Supplier Pricelist" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "" +"This value will be used as the default one, for each new supplierinfo line " +"depending on that supplier." +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "Factuur" diff --git a/purchase_triple_discount/i18n/pt_BR.po b/purchase_triple_discount/i18n/pt_BR.po new file mode 100644 index 0000000..6324109 --- /dev/null +++ b/purchase_triple_discount/i18n/pt_BR.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-24 07:53+0000\n" +"PO-Revision-Date: 2024-05-29 18:36+0000\n" +"Last-Translator: Rodrigo Macedo \n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/" +"23907/pt_BR/)\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 2 (%)" +msgstr "Desc. 2 (%)" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 3 (%)" +msgstr "Desc. 3 (%)" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_res_partner +msgid "Contact" +msgstr "Contato" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +msgid "Default Supplier Discount 2 (%)" +msgstr "Desconto padrão do fornecedor 2 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "Default Supplier Discount 3 (%)" +msgstr "Desconto padrão do fornecedor 3 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount2 +msgid "Disc. 2 (%)" +msgstr "Desc. 2 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount3 +msgid "Disc. 3 (%)" +msgstr "Desc. 3 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount2 +msgid "Discount 2 (%)" +msgstr "Desconto 2 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount2_limit +msgid "Discount 2 must be lower than 100%." +msgstr "O desconto 2 deve ser inferior a 100%." + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount3 +msgid "Discount 3 (%)" +msgstr "Desconto 3 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount3_limit +msgid "Discount 3 must be lower than 100%." +msgstr "O desconto 3 deve ser inferior a 100%." + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Linha da Ordem de Compra" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_report +msgid "Purchase Report" +msgstr "Relatório de Compra" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_product_supplierinfo +msgid "Supplier Pricelist" +msgstr "Lista de preços do fornecedor" + +#. module: purchase_triple_discount +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "" +"This value will be used as the default one, for each new supplierinfo line " +"depending on that supplier." +msgstr "" +"Este valor será usado como padrão, para cada nova linha de informações do " +"fornecedor dependendo desse fornecedor." + +#~ msgid "Invoice" +#~ msgstr "Fatura" diff --git a/purchase_triple_discount/i18n/pt_PT.po b/purchase_triple_discount/i18n/pt_PT.po new file mode 100644 index 0000000..ffddce5 --- /dev/null +++ b/purchase_triple_discount/i18n/pt_PT.po @@ -0,0 +1,105 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-24 07:53+0000\n" +"PO-Revision-Date: 2017-11-24 07:53+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/" +"teams/23907/pt_PT/)\n" +"Language: pt_PT\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_res_partner +msgid "Contact" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +msgid "Default Supplier Discount 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "Default Supplier Discount 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount2 +msgid "Disc. 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount3 +msgid "Disc. 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount2_limit +msgid "Discount 2 must be lower than 100%." +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount3_limit +msgid "Discount 3 must be lower than 100%." +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Linha de Encomenda de Compra" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_report +#, fuzzy +msgid "Purchase Report" +msgstr "Linha de Encomenda de Compra" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_product_supplierinfo +msgid "Supplier Pricelist" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "" +"This value will be used as the default one, for each new supplierinfo line " +"depending on that supplier." +msgstr "" diff --git a/purchase_triple_discount/i18n/purchase_triple_discount.pot b/purchase_triple_discount/i18n/purchase_triple_discount.pot new file mode 100644 index 0000000..3627409 --- /dev/null +++ b/purchase_triple_discount/i18n/purchase_triple_discount.pot @@ -0,0 +1,122 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_triple_discount +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_res_partner +msgid "Contact" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount1 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount1 +msgid "Default Supplier Discount 1 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +msgid "Default Supplier Discount 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "Default Supplier Discount 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount1 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount1 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_triple_discount_mixin__discount1 +msgid "Disc. 1 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_triple_discount_mixin__discount2 +msgid "Disc. 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_triple_discount_mixin__discount3 +msgid "Disc. 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_triple_discount_mixin__discount +msgid "Discount" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount +msgid "Discount (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_product_supplierinfo_discount1_limit +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount1_limit +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_triple_discount_mixin_discount1_limit +msgid "Discount 1 must be lower than 100%." +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_product_supplierinfo_discount2_limit +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount2_limit +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_triple_discount_mixin_discount2_limit +msgid "Discount 2 must be lower than 100%." +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_product_supplierinfo_discount3_limit +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount3_limit +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_triple_discount_mixin_discount3_limit +msgid "Discount 3 must be lower than 100%." +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_order +msgid "Purchase Order" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_triple_discount_mixin +msgid "Purchase Triple Discount Mixin" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_product_supplierinfo +msgid "Supplier Pricelist" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount1 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount1 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "" +"This value will be used as the default one, for each new supplierinfo line " +"depending on that supplier." +msgstr "" diff --git a/purchase_triple_discount/i18n/ro.po b/purchase_triple_discount/i18n/ro.po new file mode 100644 index 0000000..99cc235 --- /dev/null +++ b/purchase_triple_discount/i18n/ro.po @@ -0,0 +1,105 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-24 07:53+0000\n" +"PO-Revision-Date: 2017-11-24 07:53+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_res_partner +msgid "Contact" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +msgid "Default Supplier Discount 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "Default Supplier Discount 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount2 +msgid "Disc. 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount3 +msgid "Disc. 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount2 +msgid "Discount 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount2_limit +msgid "Discount 2 must be lower than 100%." +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount3 +msgid "Discount 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount3_limit +msgid "Discount 3 must be lower than 100%." +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Linie comandă achiziție" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_report +#, fuzzy +msgid "Purchase Report" +msgstr "Linie comandă achiziție" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_product_supplierinfo +msgid "Supplier Pricelist" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "" +"This value will be used as the default one, for each new supplierinfo line " +"depending on that supplier." +msgstr "" diff --git a/purchase_triple_discount/i18n/sl.po b/purchase_triple_discount/i18n/sl.po new file mode 100644 index 0000000..04ad841 --- /dev/null +++ b/purchase_triple_discount/i18n/sl.po @@ -0,0 +1,113 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_triple_discount +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-24 07:53+0000\n" +"PO-Revision-Date: 2021-02-24 11:45+0000\n" +"Last-Translator: Matjaz Mozetic \n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3;\n" +"X-Generator: Weblate 4.3.2\n" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_res_partner +msgid "Contact" +msgstr "Stik" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +msgid "Default Supplier Discount 2 (%)" +msgstr "Privzeti popust dobavitelja 2 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "Default Supplier Discount 3 (%)" +msgstr "Privzeti popust dobavitelja 3 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount2 +msgid "Disc. 2 (%)" +msgstr "Pop. 2(%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount3 +msgid "Disc. 3 (%)" +msgstr "Pop. 3(%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount2 +msgid "Discount 2 (%)" +msgstr "Popust 2 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount2_limit +msgid "Discount 2 must be lower than 100%." +msgstr "Popust 2 ne sme presegati 100%." + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount3 +msgid "Discount 3 (%)" +msgstr "Popust 3 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount3_limit +msgid "Discount 3 must be lower than 100%." +msgstr "Popust 3 ne sme presegati 100%." + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Postavka nabavnega naloga" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_report +msgid "Purchase Report" +msgstr "Poročilo o nabavi" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_product_supplierinfo +msgid "Supplier Pricelist" +msgstr "Cenik dobavitelja" + +#. module: purchase_triple_discount +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "" +"This value will be used as the default one, for each new supplierinfo line " +"depending on that supplier." +msgstr "" +"Ta vrednost se bo uporabljala kot privzeta za vsako novo postavko " +"\"supplierinfo\" vezano na tega dobavitelja." + +#~ msgid "Invoice" +#~ msgstr "Račun" + +#~ msgid "Stock Rule" +#~ msgstr "Pravilo zaloge" diff --git a/purchase_triple_discount/i18n/zh_CN.po b/purchase_triple_discount/i18n/zh_CN.po new file mode 100644 index 0000000..e7eb1a5 --- /dev/null +++ b/purchase_triple_discount/i18n/zh_CN.po @@ -0,0 +1,107 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_triple_discount +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-09-02 14:40+0000\n" +"Last-Translator: 黎伟杰 <674416404@qq.com>\n" +"Language-Team: none\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 3.8\n" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 2 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model_terms:ir.ui.view,arch_db:purchase_triple_discount.report_purchaseorder_document_triple_discount +msgid "Disc. 3 (%)" +msgstr "" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_res_partner +msgid "Contact" +msgstr "联系人" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +msgid "Default Supplier Discount 2 (%)" +msgstr "默认供应商折扣2 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "Default Supplier Discount 3 (%)" +msgstr "默认供应商折扣3(%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount2 +msgid "Disc. 2 (%)" +msgstr "折扣2(%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_order_line__discount3 +msgid "Disc. 3 (%)" +msgstr "折扣3 (%)" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount2 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount2 +msgid "Discount 2 (%)" +msgstr "折扣2(%)" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount2_limit +msgid "Discount 2 must be lower than 100%." +msgstr "折扣2必须低于100%。" + +#. module: purchase_triple_discount +#: model:ir.model.fields,field_description:purchase_triple_discount.field_product_supplierinfo__discount3 +#: model:ir.model.fields,field_description:purchase_triple_discount.field_purchase_report__discount3 +msgid "Discount 3 (%)" +msgstr "折扣3(%)" + +#. module: purchase_triple_discount +#: model:ir.model.constraint,message:purchase_triple_discount.constraint_purchase_order_line_discount3_limit +msgid "Discount 3 must be lower than 100%." +msgstr "折扣3必须低于100%。" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "采购订单行" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_purchase_report +msgid "Purchase Report" +msgstr "采购报告" + +#. module: purchase_triple_discount +#: model:ir.model,name:purchase_triple_discount.model_product_supplierinfo +msgid "Supplier Pricelist" +msgstr "供应商价格表" + +#. module: purchase_triple_discount +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_partner__default_supplierinfo_discount3 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount2 +#: model:ir.model.fields,help:purchase_triple_discount.field_res_users__default_supplierinfo_discount3 +msgid "" +"This value will be used as the default one, for each new supplierinfo line " +"depending on that supplier." +msgstr "根据供应商的不同,此值将用作每个新供应商信息行的默认值。" + +#~ msgid "Invoice" +#~ msgstr "发票" + +#~ msgid "Stock Rule" +#~ msgstr "库存规则" diff --git a/purchase_triple_discount/models/__init__.py b/purchase_triple_discount/models/__init__.py new file mode 100644 index 0000000..2966b7b --- /dev/null +++ b/purchase_triple_discount/models/__init__.py @@ -0,0 +1,5 @@ +from . import purchase_triple_discount_mixin +from . import product_supplierinfo +from . import purchase_order_line +from . import purchase_order +from . import res_partner diff --git a/purchase_triple_discount/models/product_supplierinfo.py b/purchase_triple_discount/models/product_supplierinfo.py new file mode 100644 index 0000000..c1485ff --- /dev/null +++ b/purchase_triple_discount/models/product_supplierinfo.py @@ -0,0 +1,35 @@ +# Copyright 2019 Tecnativa - David Vidal +# Copyright 2019 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import api +from odoo import models + + +class ProductSupplierInfo(models.Model): + _name = "product.supplierinfo" + _inherit = ["purchase.triple.discount.mixin", "product.supplierinfo"] + + @api.onchange("partner_id") + def _onchange_partner_id(self): + self.update( + { + field: self.partner_id[f"default_supplierinfo_{field}"] + for field in self._get_multiple_discount_field_names() + } + ) + + def default_get(self, fields_list): + res = super().default_get(fields_list) + res.update( + { + field: self.partner_id[f"default_supplierinfo_{field}"] + for field in self._get_multiple_discount_field_names() + } + ) + return res + + @api.model + def _get_po_to_supplierinfo_synced_fields(self): + res = super()._get_po_to_supplierinfo_synced_fields() + res += self._get_multiple_discount_field_names() + return res diff --git a/purchase_triple_discount/models/purchase_order.py b/purchase_triple_discount/models/purchase_order.py new file mode 100644 index 0000000..de23b23 --- /dev/null +++ b/purchase_triple_discount/models/purchase_order.py @@ -0,0 +1,18 @@ +# Copyright 2017-19 Tecnativa - David Vidal +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models + + +class PurchaseOrder(models.Model): + _inherit = "purchase.order" + + def _prepare_supplier_info(self, partner, line, price, currency): + res = super()._prepare_supplier_info(partner, line, price, currency) + res.update( + { + fname: line[fname] + for fname in line._get_multiple_discount_field_names() + } + ) + return res diff --git a/purchase_triple_discount/models/purchase_order_line.py b/purchase_triple_discount/models/purchase_order_line.py new file mode 100644 index 0000000..0dd635e --- /dev/null +++ b/purchase_triple_discount/models/purchase_order_line.py @@ -0,0 +1,77 @@ +# Copyright 2017-19 Tecnativa - David Vidal +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api +from odoo import fields +from odoo import models + + +class PurchaseOrderLine(models.Model): + _name = "purchase.order.line" + _inherit = ["purchase.triple.discount.mixin", "purchase.order.line"] + + @api.depends("product_qty", "product_uom", "company_id") + def _compute_price_unit_and_date_planned_and_name(self): + res = super()._compute_price_unit_and_date_planned_and_name() + self._compute_discounts() + return res + + def _compute_discounts(self): + for line in self: + if not line.company_id or not line.product_id or line.invoice_lines: + continue + params = {"order_id": line.order_id} + seller = line.product_id._select_seller( + partner_id=line.partner_id, + quantity=line.product_qty, + date=line.order_id.date_order + and line.order_id.date_order.date() + or fields.Date.context_today(line), + uom_id=line.product_uom, + params=params, + ) + if not seller: + continue + line.update( + { + fname: seller[fname] or 0.0 + for fname in self._get_multiple_discount_field_names() + } + ) + + def _prepare_account_move_line(self, move=False): + self.ensure_one() + res = super()._prepare_account_move_line(move) + res.update( + { + fname: self[fname] + for fname in self._get_multiple_discount_field_names() + } + ) + return res + + @api.model + def _prepare_purchase_order_line( + self, product_id, product_qty, product_uom, company_id, supplier, po + ): + res = super()._prepare_purchase_order_line( + product_id, product_qty, product_uom, company_id, supplier, po + ) + today = fields.Date.today() + partner = supplier.partner_id + uom_po_qty = product_uom._compute_quantity( + product_qty, product_id.uom_po_id, rounding_method="HALF-UP" + ) + seller = product_id.with_company(company_id)._select_seller( + partner_id=partner, + quantity=uom_po_qty, + date=po.date_order and max(po.date_order.date(), today) or today, + uom_id=product_id.uom_po_id, + ) + res.update( + { + fname: seller[fname] or 0.0 + for fname in self._get_multiple_discount_field_names() + } + ) + return res diff --git a/purchase_triple_discount/models/purchase_triple_discount_mixin.py b/purchase_triple_discount/models/purchase_triple_discount_mixin.py new file mode 100644 index 0000000..d6df615 --- /dev/null +++ b/purchase_triple_discount/models/purchase_triple_discount_mixin.py @@ -0,0 +1,82 @@ +# Copyright 2017-19 Tecnativa - David Vidal +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +import functools + +from odoo import api +from odoo import fields +from odoo import models + + +class TripleDiscountMixin(models.AbstractModel): + _name = "purchase.triple.discount.mixin" + _description = "Purchase Triple Discount Mixin" + + discount = fields.Float( + compute="_compute_discount", + store=True, + ) + discount1 = fields.Float( + string="Disc. 1 (%)", + digits="Discount", + readonly=False, + ) + + discount2 = fields.Float( + string="Disc. 2 (%)", + digits="Discount", + readonly=False, + ) + discount3 = fields.Float( + string="Disc. 3 (%)", + digits="Discount", + readonly=False, + ) + + _sql_constraints = [ + ( + "discount1_limit", + "CHECK (discount1 <= 100.0)", + "Discount 1 must be lower than 100%.", + ), + ( + "discount2_limit", + "CHECK (discount2 <= 100.0)", + "Discount 2 must be lower than 100%.", + ), + ( + "discount3_limit", + "CHECK (discount3 <= 100.0)", + "Discount 3 must be lower than 100%.", + ), + ] + + @api.depends(lambda self: self._get_multiple_discount_field_names()) + def _compute_discount(self): + for record in self: + record.discount = record._get_aggregated_discount_from_values( + { + fname: record[fname] + for fname in record._get_multiple_discount_field_names() + } + ) + + def _get_aggregated_discount_from_values(self, values): + discount_fnames = self._get_multiple_discount_field_names() + discounts = [] + for discount_fname in discount_fnames: + discounts.append(values.get(discount_fname) or 0.0) + return self._get_aggregated_multiple_discounts(discounts) + + @staticmethod + def _get_multiple_discount_field_names(): + return ["discount1", "discount2", "discount3"] + + @staticmethod + def _get_aggregated_multiple_discounts(discounts): + discount_values = [] + for discount in discounts: + discount_values.append(1 - (discount or 0.0) / 100.0) + aggregated_discount = ( + 1 - functools.reduce((lambda x, y: x * y), discount_values) + ) * 100 + return aggregated_discount diff --git a/purchase_triple_discount/models/res_partner.py b/purchase_triple_discount/models/res_partner.py new file mode 100644 index 0000000..2deb94e --- /dev/null +++ b/purchase_triple_discount/models/res_partner.py @@ -0,0 +1,28 @@ +# Copyright 2019 Tecnativa - David Vidal +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import fields +from odoo import models + + +class ResPartner(models.Model): + _inherit = "res.partner" + + default_supplierinfo_discount1 = fields.Float( + string="Default Supplier Discount 1 (%)", + digits="Discount", + help="This value will be used as the default one, for each new " + "supplierinfo line depending on that supplier.", + ) + + default_supplierinfo_discount2 = fields.Float( + string="Default Supplier Discount 2 (%)", + digits="Discount", + help="This value will be used as the default one, for each new " + "supplierinfo line depending on that supplier.", + ) + default_supplierinfo_discount3 = fields.Float( + string="Default Supplier Discount 3 (%)", + digits="Discount", + help="This value will be used as the default one, for each new " + "supplierinfo line depending on that supplier.", + ) diff --git a/purchase_triple_discount/pyproject.toml b/purchase_triple_discount/pyproject.toml new file mode 100644 index 0000000..4231d0c --- /dev/null +++ b/purchase_triple_discount/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/purchase_triple_discount/readme/CONTRIBUTORS.md b/purchase_triple_discount/readme/CONTRIBUTORS.md new file mode 100644 index 0000000..e2a040a --- /dev/null +++ b/purchase_triple_discount/readme/CONTRIBUTORS.md @@ -0,0 +1,9 @@ +- [Tecnativa](https://www.tecnativa.com): + + > - David Vidal + > - Pedro M. Baeza + +- Sylvain LE GAL () + +- [ForgeFlow S.L.](https://www.forgeflow.com): + - Christopher Ormaza \<\> diff --git a/purchase_triple_discount/readme/DESCRIPTION.md b/purchase_triple_discount/readme/DESCRIPTION.md new file mode 100644 index 0000000..737cc29 --- /dev/null +++ b/purchase_triple_discount/readme/DESCRIPTION.md @@ -0,0 +1,2 @@ +This module allows to have three successive discounts on every purchase +order line. diff --git a/purchase_triple_discount/readme/USAGE.md b/purchase_triple_discount/readme/USAGE.md new file mode 100644 index 0000000..0ee72b9 --- /dev/null +++ b/purchase_triple_discount/readme/USAGE.md @@ -0,0 +1,24 @@ +Create a new purchase order and add discounts in any of the three +discount fields given. They go in order of precedence so discount 2 will +be calculated over discount 1 and discount 3 over the result of discount +2. For example, let's divide by two on every discount: + +Unit price: 600.00 -\> + +> - Disc. 1 = 50% -\> Amount = 300.00 +> - Disc. 2 = 50% -\> Amount = 150.00 +> - Disc. 3 = 50% -\> Amount = 75.00 + +You can also use negative values to charge instead of discount: + +Unit price: 600.00 -\> + +> - Disc. 1 = 50% -\> Amount = 300.00 +> - Disc. 2 = -5% -\> Amount = 315.00 + +- When the purchase order is validated, the discounts will be added to + the corresponding vendor pricelist. +- Vendor pricelists can be edited as well with their corresponding new + second and third discounts. +- A default second or third discount can be set in every vendor *Sale & + Purchases* tab. diff --git a/purchase_triple_discount/static/description/icon.png b/purchase_triple_discount/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/purchase_triple_discount/static/description/index.html b/purchase_triple_discount/static/description/index.html new file mode 100644 index 0000000..8b725af --- /dev/null +++ b/purchase_triple_discount/static/description/index.html @@ -0,0 +1,477 @@ + + + + + +README.rst + + + +
+ + + +Odoo Community Association + +
+

Purchase Order Triple Discount

+ +

Beta License: AGPL-3 OCA/purchase-workflow Translate me on Weblate Try me on Runboat

+

This module allows to have three successive discounts on every purchase +order line.

+

Table of contents

+ +
+

Usage

+

Create a new purchase order and add discounts in any of the three +discount fields given. They go in order of precedence so discount 2 will +be calculated over discount 1 and discount 3 over the result of discount +2. For example, let’s divide by two on every discount:

+

Unit price: 600.00 ->

+
+
    +
  • Disc. 1 = 50% -> Amount = 300.00
  • +
  • Disc. 2 = 50% -> Amount = 150.00
  • +
  • Disc. 3 = 50% -> Amount = 75.00
  • +
+
+

You can also use negative values to charge instead of discount:

+

Unit price: 600.00 ->

+
+
    +
  • Disc. 1 = 50% -> Amount = 300.00
  • +
  • Disc. 2 = -5% -> Amount = 315.00
  • +
+
+
    +
  • When the purchase order is validated, the discounts will be added to +the corresponding vendor pricelist.
  • +
  • Vendor pricelists can be edited as well with their corresponding new +second and third discounts.
  • +
  • A default second or third discount can be set in every vendor Sale & +Purchases tab.
  • +
+
+
+

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

+
    +
  • Tecnativa
  • +
  • GRAP
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

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

+

This module is part of the OCA/purchase-workflow project on GitHub.

+

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

+
+
+
+
+ + diff --git a/purchase_triple_discount/tests/__init__.py b/purchase_triple_discount/tests/__init__.py new file mode 100644 index 0000000..19588b8 --- /dev/null +++ b/purchase_triple_discount/tests/__init__.py @@ -0,0 +1 @@ +from . import test_purchase_discount diff --git a/purchase_triple_discount/tests/test_purchase_discount.py b/purchase_triple_discount/tests/test_purchase_discount.py new file mode 100644 index 0000000..f01e603 --- /dev/null +++ b/purchase_triple_discount/tests/test_purchase_discount.py @@ -0,0 +1,227 @@ +# Copyright 2017-19 Tecnativa - David Vidal +# Copyright 2019 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo.tests import Form +from odoo.tests import common + + +class TestPurchaseOrder(common.TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.supplierinfo_obj = cls.env["product.supplierinfo"] + cls.account_move_model = cls.env["account.move"] + cls.partner = cls.env["res.partner"].create( + { + "name": "Mr. Odoo", + } + ) + cls.partner2 = cls.env["res.partner"].create( + { + "name": "Mrs. Odoo", + } + ) + cls.product1 = cls.env["product.product"].create( + { + "name": "Test Product 1", + "purchase_method": "purchase", + } + ) + cls.product2 = cls.env["product.product"].create( + { + "name": "Test Product 2", + "purchase_method": "purchase", + } + ) + cls.supplierinfo = cls.supplierinfo_obj.create( + { + "min_qty": 0.0, + "partner_id": cls.partner2.id, + "product_tmpl_id": cls.product1.product_tmpl_id.id, + "price": 100, + "discount1": 10, + "discount2": 20, + "discount3": 30, + } + ) + cls.supplierinfo2 = cls.supplierinfo_obj.create( + { + "min_qty": 10.0, + "partner_id": cls.partner2.id, + "product_tmpl_id": cls.product1.product_tmpl_id.id, + "price": 100, + "discount3": 50, + } + ) + cls.tax = cls.env["account.tax"].create( + { + "name": "TAX 15%", + "amount_type": "percent", + "type_tax_use": "purchase", + "amount": 15.0, + } + ) + cls.order = cls.env["purchase.order"].create( + { + "partner_id": cls.partner.id, + } + ) + cls.order2 = cls.env["purchase.order"].create( + { + "partner_id": cls.partner2.id, + } + ) + po_line = cls.env["purchase.order.line"] + cls.po_line1 = po_line.create( + { + "order_id": cls.order.id, + "product_id": cls.product1.id, + "date_planned": "2018-01-19 00:00:00", + "name": "Line 1", + "product_qty": 1.0, + "product_uom": cls.product1.uom_id.id, + "taxes_id": [(6, 0, [cls.tax.id])], + "price_unit": 600.0, + } + ) + cls.po_line2 = po_line.create( + { + "order_id": cls.order.id, + "product_id": cls.product2.id, + "date_planned": "2018-01-19 00:00:00", + "name": "Line 2", + "product_qty": 10.0, + "product_uom": cls.product2.uom_id.id, + "taxes_id": [(6, 0, [cls.tax.id])], + "price_unit": 60.0, + } + ) + cls.po_line3 = po_line.create( + { + "order_id": cls.order2.id, + "product_id": cls.product1.id, + "date_planned": "2020-01-01 00:00:00", + "name": "Line 1", + "product_qty": 1.0, + "product_uom": cls.product1.uom_id.id, + "taxes_id": [(6, 0, [cls.tax.id])], + "price_unit": 600.0, + } + ) + + def test_01_purchase_order_classic_discount(self): + """Tests with single discount""" + self.po_line1.discount1 = 50.0 + self.po_line2.discount1 = 75.0 + self.assertEqual(self.po_line1.price_subtotal, 300.0) + self.assertEqual(self.po_line2.price_subtotal, 150.0) + self.assertEqual(self.order.amount_untaxed, 450.0) + self.assertEqual(self.order.amount_tax, 67.5) + # Mix taxed and untaxed: + self.po_line1.taxes_id = False + self.assertEqual(self.order.amount_tax, 22.5) + + def test_02_purchase_order_simple_triple_discount(self): + """Tests on a single line""" + self.po_line2.unlink() + # Divide by two on every discount: + self.po_line1.discount1 = 50.0 + self.po_line1.discount2 = 50.0 + self.po_line1.discount3 = 50.0 + self.assertEqual(self.po_line1.price_subtotal, 75.0) + self.assertEqual(self.order.amount_untaxed, 75.0) + self.assertEqual(self.order.amount_tax, 11.25) + # Unset first discount: + self.po_line1.discount1 = 0.0 + self.assertEqual(self.po_line1.price_subtotal, 150.0) + self.assertEqual(self.order.amount_untaxed, 150.0) + self.assertEqual(self.order.amount_tax, 22.5) + # Set a charge instead: + self.po_line1.discount2 = -50.0 + self.assertEqual(self.po_line1.price_subtotal, 450.0) + self.assertEqual(self.order.amount_untaxed, 450.0) + self.assertEqual(self.order.amount_tax, 67.5) + + def test_03_purchase_order_complex_triple_discount(self): + """Tests on multiple lines""" + self.po_line1.discount1 = 50.0 + self.po_line1.discount2 = 50.0 + self.po_line1.discount3 = 50.0 + self.assertEqual(self.po_line1.price_subtotal, 75.0) + self.assertEqual(self.order.amount_untaxed, 675.0) + self.assertEqual(self.order.amount_tax, 101.25) + self.po_line2.discount3 = 50.0 + self.assertEqual(self.po_line2.price_subtotal, 300.0) + self.assertEqual(self.order.amount_untaxed, 375.0) + self.assertEqual(self.order.amount_tax, 56.25) + + def test_04_purchase_order_triple_discount_invoicing(self): + """When a confirmed order is invoiced, the resultant invoice + should inherit the discounts""" + self.po_line1.discount1 = 50.0 + self.po_line1.discount2 = 50.0 + self.po_line1.discount3 = 50.0 + self.po_line2.discount3 = 50.0 + self.order.button_confirm() + invoice_form = Form( + self.account_move_model.with_context(default_move_type="in_invoice") + ) + invoice_form.partner_id = self.order.partner_id + + self.invoice = invoice_form.save() + self.invoice.purchase_id = self.order.id + self.invoice._onchange_purchase_auto_complete() + + self.assertEqual( + self.po_line1.discount1, self.invoice.invoice_line_ids[0].discount1 + ) + self.assertEqual( + self.po_line1.discount2, self.invoice.invoice_line_ids[0].discount2 + ) + self.assertEqual( + self.po_line1.discount3, self.invoice.invoice_line_ids[0].discount3 + ) + self.assertEqual( + self.po_line2.discount3, self.invoice.invoice_line_ids[1].discount3 + ) + self.assertEqual(self.order.amount_total, self.invoice.amount_total) + + def test_05_purchase_order_default_discounts(self): + with Form(self.order2).order_line.edit(0) as line: + line.product_qty = 1.0 + self.assertEqual(line.discount1, 10) + self.assertEqual(line.discount2, 20) + self.assertEqual(line.discount3, 30) + line.product_qty = 10 + self.assertFalse(line.discount1) + self.assertFalse(line.discount2) + self.assertEqual(line.discount3, 50) + + def test_06_supplierinfo_from_purchaseorder(self): + self.order2.order_line.create( + { + "order_id": self.order2.id, + "product_id": self.product2.id, + "date_planned": "2020-01-01 00:00:00", + "name": "Line 2", + "product_qty": 1.0, + "product_uom": self.product2.uom_id.id, + "taxes_id": [(6, 0, [self.tax.id])], + "price_unit": 999.0, + "discount1": 11.11, + "discount2": 22.22, + "discount3": 33.33, + } + ) + self.order2.button_confirm() + seller = self.supplierinfo_obj.search( + [ + ("partner_id", "=", self.partner2.id), + ("product_tmpl_id", "=", self.product2.product_tmpl_id.id), + ] + ) + self.assertTrue(seller) + self.assertEqual(seller.discount1, 11.11) + self.assertEqual(seller.discount2, 22.22) + self.assertEqual(seller.discount3, 33.33) diff --git a/purchase_triple_discount/views/product_supplierinfo_view.xml b/purchase_triple_discount/views/product_supplierinfo_view.xml new file mode 100644 index 0000000..c5c5f3d --- /dev/null +++ b/purchase_triple_discount/views/product_supplierinfo_view.xml @@ -0,0 +1,31 @@ + + + product.supplierinfo + + + + 1 + + + + + + + + + + + product.supplierinfo + + + + 1 + + + + + + + + + diff --git a/purchase_triple_discount/views/purchase_view.xml b/purchase_triple_discount/views/purchase_view.xml new file mode 100644 index 0000000..a1dc1d3 --- /dev/null +++ b/purchase_triple_discount/views/purchase_view.xml @@ -0,0 +1,24 @@ + + + + purchase.order.triple.discount.form + purchase.order + + + + 1 + + + + + + + + + diff --git a/purchase_triple_discount/views/res_partner_view.xml b/purchase_triple_discount/views/res_partner_view.xml new file mode 100644 index 0000000..bf22756 --- /dev/null +++ b/purchase_triple_discount/views/res_partner_view.xml @@ -0,0 +1,25 @@ + + + res.partner + + + + + + + + + + diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..519b295 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,33 @@ +[tool.black] +line-length = 88 +target-version = ['py38', 'py39', 'py310', 'py311', 'py312'] +include = '\.pyi?$' +extend-exclude = ''' +/( + # directories + \.eggs + | \.git + | \.hg + | \.mypy_cache + | \.tox + | \.venv + | build + | dist + | setup +)/ +''' + +[tool.isort] +profile = "black" +force_single_line = true +line_length = 88 +multi_line_output = 3 +include_trailing_comma = true +force_grid_wrap = 0 +use_parentheses = true +ensure_newline_before_comments = true +skip_glob = ["*/__init__.py"] +known_odoo = ["odoo"] +known_odoo_addons = ["odoo.addons"] +sections = ["FUTURE", "STDLIB", "THIRDPARTY", "ODOO", "ODOO_ADDONS", "FIRSTPARTY", "LOCALFOLDER"] +default_section = "THIRDPARTY" diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..9cd1629 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +# generated from manifests external_dependencies diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..9e0e68e --- /dev/null +++ b/setup.cfg @@ -0,0 +1,20 @@ +[flake8] +max-line-length = 88 +max-complexity = 16 +select = C,E,F,W,B,B9 +ignore = E203,E501,W503,B950 + +[isort] +profile = black +force_single_line = True +line_length = 88 +multi_line_output = 3 +include_trailing_comma = True +force_grid_wrap = 0 +use_parentheses = True +ensure_newline_before_comments = True +skip_glob = */__init__.py +known_odoo=odoo +known_odoo_addons=odoo.addons +sections=FUTURE,STDLIB,THIRDPARTY,ODOO,ODOO_ADDONS,FIRSTPARTY,LOCALFOLDER +default_section=THIRDPARTY diff --git a/setup/.setuptools-odoo-make-default-ignore b/setup/.setuptools-odoo-make-default-ignore new file mode 100644 index 0000000..207e615 --- /dev/null +++ b/setup/.setuptools-odoo-make-default-ignore @@ -0,0 +1,2 @@ +# addons listed in this file are ignored by +# setuptools-odoo-make-default (one addon per line) diff --git a/setup/README b/setup/README new file mode 100644 index 0000000..a63d633 --- /dev/null +++ b/setup/README @@ -0,0 +1,2 @@ +To learn more about this directory, please visit +https://pypi.python.org/pypi/setuptools-odoo