From 457b50b7100ba9550b3fac92a134786530f5e0f7 Mon Sep 17 00:00:00 2001 From: hparfr Date: Thu, 26 Apr 2018 14:18:12 +0200 Subject: [PATCH 001/232] Add cron daylight saving time resistant --- .../README.rst | 83 +++++++++++++++++++ .../__init__.py | 1 + .../__openerp__.py | 19 +++++ .../models/__init__.py | 1 + .../models/ir_cron.py | 56 +++++++++++++ .../views/cron.xml | 13 +++ 6 files changed, 173 insertions(+) create mode 100644 cron_daylight_saving_time_resistant/README.rst create mode 100644 cron_daylight_saving_time_resistant/__init__.py create mode 100644 cron_daylight_saving_time_resistant/__openerp__.py create mode 100644 cron_daylight_saving_time_resistant/models/__init__.py create mode 100644 cron_daylight_saving_time_resistant/models/ir_cron.py create mode 100644 cron_daylight_saving_time_resistant/views/cron.xml diff --git a/cron_daylight_saving_time_resistant/README.rst b/cron_daylight_saving_time_resistant/README.rst new file mode 100644 index 00000000000..6ccf4be857c --- /dev/null +++ b/cron_daylight_saving_time_resistant/README.rst @@ -0,0 +1,83 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.png + :target: https://www.gnu.org/licenses/agpl + :alt: License: AGPL-3 + +=================================== +Cron daylight saving time resistant +=================================== + +This module adjust cron to run at fixed hours, local time. + + +Without this module, when a daylight saving time change occur, the cron will not take +the hour change in account. + +With this module, when a daylight saving time change occur, the offset (+1 or -1 hour) +will be applied. + + +Usage +===== + +To use this module, you need to edit a cron, and check the option, +"Daylight saving time resistant". + +#. Go to ... + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/149/10.0 + + +Known issues / Roadmap +====================== + +* Write tests +* Edge cases like run every 5 minutes + dst resistant may behave +incorrectly during the time change. + + +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 +------------ + +* Raphaël Reverdy https://akretion.com + +Do not contact contributors directly about support or help with technical issues. + +Funders +------- + +The development of this module has been financially supported by: + +* Akretion + +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/cron_daylight_saving_time_resistant/__init__.py b/cron_daylight_saving_time_resistant/__init__.py new file mode 100644 index 00000000000..9a7e03eded3 --- /dev/null +++ b/cron_daylight_saving_time_resistant/__init__.py @@ -0,0 +1 @@ +from . import models \ No newline at end of file diff --git a/cron_daylight_saving_time_resistant/__openerp__.py b/cron_daylight_saving_time_resistant/__openerp__.py new file mode 100644 index 00000000000..331eb94227a --- /dev/null +++ b/cron_daylight_saving_time_resistant/__openerp__.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# Copyright <2018> +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +{ + "name": "Cron daylight saving time resistant", + "summary": "Run cron on fixed hours", + "version": "9.0.1.0.0", + "category": "Tools", + "website": "https://github.com/OCA/server-tools", + "author": "akretion, Odoo Community Association (OCA)", + "license": "AGPL-3", + "installable": True, + "depends": [ + "base", + ], + "data": [ + "views/cron.xml", + ], +} diff --git a/cron_daylight_saving_time_resistant/models/__init__.py b/cron_daylight_saving_time_resistant/models/__init__.py new file mode 100644 index 00000000000..cd483538a20 --- /dev/null +++ b/cron_daylight_saving_time_resistant/models/__init__.py @@ -0,0 +1 @@ +from . import ir_cron \ No newline at end of file diff --git a/cron_daylight_saving_time_resistant/models/ir_cron.py b/cron_daylight_saving_time_resistant/models/ir_cron.py new file mode 100644 index 00000000000..fb538f5c586 --- /dev/null +++ b/cron_daylight_saving_time_resistant/models/ir_cron.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +# © 2018 Akretion - Raphaël Reverdy +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +import logging +import pytz +from datetime import datetime + +from openerp import api, fields, models +from openerp.osv import fields as osv_fields +from openerp.tools import DEFAULT_SERVER_DATETIME_FORMAT +from openerp.addons.base.ir.ir_cron import _intervalTypes +_logger = logging.getLogger(__name__) + + +class IrCron(models.Model): + _inherit = "ir.cron" + + daylight_saving_time_resistant = fields.Boolean( + help="Adjust interval to run at the same hour after and before" + "daylight saving time change. It's used twice a year") + + def _process_job(cls, job_cr, job, cron_cr): + """Add or remove the Daylight saving offset when needed.""" + with api.Environment.manage(): + now = osv_fields.datetime.context_timestamp( + job_cr, job['user_id'], datetime.now()) + nextcall = osv_fields.datetime.context_timestamp( + job_cr, job['user_id'], + datetime.strptime( + job['nextcall'], + DEFAULT_SERVER_DATETIME_FORMAT) + ) + delta = _intervalTypes[job['interval_type']]( + job['interval_number']) + + if (nextcall + delta) < now: + before_offset = (nextcall + delta).utcoffset() + after_offset = now.utcoffset() + elif nextcall < now: + before_offset = nextcall.utcoffset() + after_offset = (nextcall + delta).utcoffset() + else: + before_offset = 0 + after_offset = 0 + + diff_offset = after_offset - before_offset + + if diff_offset and job['daylight_saving_time_resistant']: + numbercall = job['numbercall'] + if nextcall < now and numbercall: + nextcall -= diff_offset + modified_next_call = fields.Datetime.to_string( + nextcall.astimezone(pytz.UTC)) + job['nextcall'] = modified_next_call + super(IrCron, cls)._process_job(job_cr, job, cron_cr) diff --git a/cron_daylight_saving_time_resistant/views/cron.xml b/cron_daylight_saving_time_resistant/views/cron.xml new file mode 100644 index 00000000000..3e4c802df78 --- /dev/null +++ b/cron_daylight_saving_time_resistant/views/cron.xml @@ -0,0 +1,13 @@ + + + + ir.cron.resist_dst + ir.cron + + + + + + + + From cf0f4f748364cfce50ae44fae69408b08a238db3 Mon Sep 17 00:00:00 2001 From: hparfr Date: Thu, 26 Apr 2018 14:23:06 +0200 Subject: [PATCH 002/232] Add newlines at end of files --- cron_daylight_saving_time_resistant/README.rst | 2 +- cron_daylight_saving_time_resistant/__init__.py | 2 +- cron_daylight_saving_time_resistant/models/__init__.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cron_daylight_saving_time_resistant/README.rst b/cron_daylight_saving_time_resistant/README.rst index 6ccf4be857c..d38395d55f5 100644 --- a/cron_daylight_saving_time_resistant/README.rst +++ b/cron_daylight_saving_time_resistant/README.rst @@ -26,7 +26,7 @@ To use this module, you need to edit a cron, and check the option, .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/149/10.0 + :target: https://runbot.odoo-community.org/runbot/149/9.0 Known issues / Roadmap diff --git a/cron_daylight_saving_time_resistant/__init__.py b/cron_daylight_saving_time_resistant/__init__.py index 9a7e03eded3..0650744f6bc 100644 --- a/cron_daylight_saving_time_resistant/__init__.py +++ b/cron_daylight_saving_time_resistant/__init__.py @@ -1 +1 @@ -from . import models \ No newline at end of file +from . import models diff --git a/cron_daylight_saving_time_resistant/models/__init__.py b/cron_daylight_saving_time_resistant/models/__init__.py index cd483538a20..9115592626a 100644 --- a/cron_daylight_saving_time_resistant/models/__init__.py +++ b/cron_daylight_saving_time_resistant/models/__init__.py @@ -1 +1 @@ -from . import ir_cron \ No newline at end of file +from . import ir_cron From 2759bfc53bb7b8865a0d7090cf5bc28823fb30bc Mon Sep 17 00:00:00 2001 From: hparfr Date: Mon, 7 May 2018 10:04:49 +0200 Subject: [PATCH 003/232] Fix issue when now+delta is in future --- .../models/ir_cron.py | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/cron_daylight_saving_time_resistant/models/ir_cron.py b/cron_daylight_saving_time_resistant/models/ir_cron.py index fb538f5c586..d16c051fba7 100644 --- a/cron_daylight_saving_time_resistant/models/ir_cron.py +++ b/cron_daylight_saving_time_resistant/models/ir_cron.py @@ -34,20 +34,20 @@ def _process_job(cls, job_cr, job, cron_cr): delta = _intervalTypes[job['interval_type']]( job['interval_number']) - if (nextcall + delta) < now: - before_offset = (nextcall + delta).utcoffset() - after_offset = now.utcoffset() - elif nextcall < now: - before_offset = nextcall.utcoffset() - after_offset = (nextcall + delta).utcoffset() - else: - before_offset = 0 - after_offset = 0 + numbercall = job['numbercall'] + future_call = nextcall + while future_call < now and numbercall: + if numbercall > 0: + numbercall -= 1 + if numbercall: + future_call += delta + + after_offset = future_call.utcoffset() + before_offset = nextcall.utcoffset() diff_offset = after_offset - before_offset if diff_offset and job['daylight_saving_time_resistant']: - numbercall = job['numbercall'] if nextcall < now and numbercall: nextcall -= diff_offset modified_next_call = fields.Datetime.to_string( From 1dea554032a09e038d94f650b6e55c187a7ce49c Mon Sep 17 00:00:00 2001 From: hparfr Date: Mon, 7 May 2018 16:52:10 +0200 Subject: [PATCH 004/232] Add tests --- .../models/ir_cron.py | 32 +++++--- .../tests/__init__.py | 1 + .../tests/test_dst.py | 81 +++++++++++++++++++ 3 files changed, 101 insertions(+), 13 deletions(-) create mode 100644 cron_daylight_saving_time_resistant/tests/__init__.py create mode 100644 cron_daylight_saving_time_resistant/tests/test_dst.py diff --git a/cron_daylight_saving_time_resistant/models/ir_cron.py b/cron_daylight_saving_time_resistant/models/ir_cron.py index d16c051fba7..c6a69964013 100644 --- a/cron_daylight_saving_time_resistant/models/ir_cron.py +++ b/cron_daylight_saving_time_resistant/models/ir_cron.py @@ -20,6 +20,22 @@ class IrCron(models.Model): help="Adjust interval to run at the same hour after and before" "daylight saving time change. It's used twice a year") + def _calculate_daylight_offset(self, nextcall, delta, numbercall, now): + + tz = nextcall.tzinfo + before_offset = tz.normalize(nextcall).utcoffset() + + while nextcall < now and numbercall: + if numbercall > 0: + numbercall -= 1 + if numbercall: + nextcall += delta + + after_offset = tz.normalize(nextcall).utcoffset() + + diff_offset = after_offset - before_offset + return diff_offset + def _process_job(cls, job_cr, job, cron_cr): """Add or remove the Daylight saving offset when needed.""" with api.Environment.manage(): @@ -31,21 +47,11 @@ def _process_job(cls, job_cr, job, cron_cr): job['nextcall'], DEFAULT_SERVER_DATETIME_FORMAT) ) + numbercall = job['numbercall'] delta = _intervalTypes[job['interval_type']]( job['interval_number']) - - numbercall = job['numbercall'] - future_call = nextcall - while future_call < now and numbercall: - if numbercall > 0: - numbercall -= 1 - if numbercall: - future_call += delta - - after_offset = future_call.utcoffset() - before_offset = nextcall.utcoffset() - - diff_offset = after_offset - before_offset + diff_offset = cls._calculate_daylight_offset( + nextcall, delta, numbercall, now) if diff_offset and job['daylight_saving_time_resistant']: if nextcall < now and numbercall: diff --git a/cron_daylight_saving_time_resistant/tests/__init__.py b/cron_daylight_saving_time_resistant/tests/__init__.py new file mode 100644 index 00000000000..cec914727c8 --- /dev/null +++ b/cron_daylight_saving_time_resistant/tests/__init__.py @@ -0,0 +1 @@ +from . import test_dst \ No newline at end of file diff --git a/cron_daylight_saving_time_resistant/tests/test_dst.py b/cron_daylight_saving_time_resistant/tests/test_dst.py new file mode 100644 index 00000000000..991d7f2665d --- /dev/null +++ b/cron_daylight_saving_time_resistant/tests/test_dst.py @@ -0,0 +1,81 @@ +# -*- coding: utf-8 -*- +# © 2018 Akretion +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from openerp.tests.common import TransactionCase +from datetime import datetime, timedelta +from pytz import timezone +import pytz +print "hi !" +class TestDST(TransactionCase): + print "test ?" + def test_dst(self): + """First test, caching some data.""" + cron = self.env['ir.cron'] + brux = timezone('Europe/Brussels') + ncall = -1 + winter_jan_12 = datetime(2018, 1, 1, 12, 0) + winter_feb_0 = datetime(2018, 1, 2, 0, 0) + summer_june_12 = datetime(2018, 6, 15, 12, 0) + summer_sep_3 = datetime(2018, 9, 17, 3, 0) + winter_jan_next_year = datetime(2019, 2,3, 0, 0) + tests = [{ + 'nextcall': brux.localize(winter_jan_12), + 'delta': timedelta(days=5), + 'now': brux.localize(winter_feb_0), + 'expected': timedelta(hours=0), + }, { + 'nextcall': brux.localize(winter_jan_12), + 'delta': timedelta(days=6 * 30), + 'now': brux.localize(winter_feb_0), + 'expected': timedelta(hours=1), + }, { + 'nextcall': brux.localize(winter_jan_12), + 'delta': timedelta(days=5), + 'now': brux.localize(summer_june_12), + 'expected': timedelta(hours=1), + }, { + 'nextcall': brux.localize(winter_jan_12), + 'delta': timedelta(days=6 * 30), + 'now': brux.localize(summer_june_12), + 'expected': timedelta(hours=1), + }, { + 'nextcall': brux.localize(winter_jan_12), + 'delta': timedelta(days=6 * 365), + 'now': brux.localize(winter_jan_next_year), + 'expected': timedelta(hours=0), + }] + tests = tests + [{ + 'nextcall': brux.localize(summer_june_12), + 'delta': timedelta(days=5), + 'now': brux.localize(winter_jan_next_year), + 'expected': timedelta(hours=-1), + }, { + 'nextcall': brux.localize(summer_june_12), + 'delta': timedelta(days=4 * 30), + 'now': brux.localize(winter_jan_next_year), + 'expected': timedelta(hours=-1), + }, { + 'nextcall': brux.localize(summer_june_12), + 'delta': timedelta(days=5), + 'now': brux.localize(summer_june_12), + 'expected': timedelta(hours=0), + }, { + 'nextcall': brux.localize(summer_june_12), + 'delta': timedelta(days=6 * 30), + 'now': brux.localize(summer_sep_3), + 'expected': timedelta(hours=-1), + }, { + 'nextcall': brux.localize(summer_june_12), + 'delta': timedelta(days=6 * 365), + 'now': brux.localize(summer_sep_3), + 'expected': timedelta(hours=0), + }] + test = tests[0] + for test in tests: + res = cron._calculate_daylight_offset( + test['nextcall'], + test['delta'], + ncall, + test['now']) + self.assertEqual(res, test['expected']) + From 157edfadf3f8a247d0388700974722f16d2f06c6 Mon Sep 17 00:00:00 2001 From: hparfr Date: Wed, 9 May 2018 17:09:21 +0200 Subject: [PATCH 005/232] Pylint --- cron_daylight_saving_time_resistant/README.rst | 2 +- cron_daylight_saving_time_resistant/tests/test_dst.py | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/cron_daylight_saving_time_resistant/README.rst b/cron_daylight_saving_time_resistant/README.rst index d38395d55f5..73b1095c38d 100644 --- a/cron_daylight_saving_time_resistant/README.rst +++ b/cron_daylight_saving_time_resistant/README.rst @@ -34,7 +34,7 @@ Known issues / Roadmap * Write tests * Edge cases like run every 5 minutes + dst resistant may behave -incorrectly during the time change. + incorrectly during the time change. Bug Tracker diff --git a/cron_daylight_saving_time_resistant/tests/test_dst.py b/cron_daylight_saving_time_resistant/tests/test_dst.py index 991d7f2665d..fb12becfc2e 100644 --- a/cron_daylight_saving_time_resistant/tests/test_dst.py +++ b/cron_daylight_saving_time_resistant/tests/test_dst.py @@ -4,10 +4,10 @@ from openerp.tests.common import TransactionCase from datetime import datetime, timedelta from pytz import timezone -import pytz -print "hi !" + + class TestDST(TransactionCase): - print "test ?" + def test_dst(self): """First test, caching some data.""" cron = self.env['ir.cron'] @@ -17,7 +17,7 @@ def test_dst(self): winter_feb_0 = datetime(2018, 1, 2, 0, 0) summer_june_12 = datetime(2018, 6, 15, 12, 0) summer_sep_3 = datetime(2018, 9, 17, 3, 0) - winter_jan_next_year = datetime(2019, 2,3, 0, 0) + winter_jan_next_year = datetime(2019, 2, 3, 0, 0) tests = [{ 'nextcall': brux.localize(winter_jan_12), 'delta': timedelta(days=5), @@ -78,4 +78,3 @@ def test_dst(self): ncall, test['now']) self.assertEqual(res, test['expected']) - From cc2b8c1d9bda08df329668d20e26f117031485aa Mon Sep 17 00:00:00 2001 From: Florian da Costa Date: Tue, 3 Dec 2019 13:12:40 +0100 Subject: [PATCH 006/232] Fix cron hour in case we loose an hour --- .../models/ir_cron.py | 59 ++++++++++++------- 1 file changed, 38 insertions(+), 21 deletions(-) diff --git a/cron_daylight_saving_time_resistant/models/ir_cron.py b/cron_daylight_saving_time_resistant/models/ir_cron.py index c6a69964013..7c57d0c3ffb 100644 --- a/cron_daylight_saving_time_resistant/models/ir_cron.py +++ b/cron_daylight_saving_time_resistant/models/ir_cron.py @@ -38,25 +38,42 @@ def _calculate_daylight_offset(self, nextcall, delta, numbercall, now): def _process_job(cls, job_cr, job, cron_cr): """Add or remove the Daylight saving offset when needed.""" - with api.Environment.manage(): - now = osv_fields.datetime.context_timestamp( - job_cr, job['user_id'], datetime.now()) - nextcall = osv_fields.datetime.context_timestamp( - job_cr, job['user_id'], - datetime.strptime( - job['nextcall'], - DEFAULT_SERVER_DATETIME_FORMAT) - ) - numbercall = job['numbercall'] - delta = _intervalTypes[job['interval_type']]( - job['interval_number']) - diff_offset = cls._calculate_daylight_offset( - nextcall, delta, numbercall, now) - - if diff_offset and job['daylight_saving_time_resistant']: - if nextcall < now and numbercall: - nextcall -= diff_offset - modified_next_call = fields.Datetime.to_string( - nextcall.astimezone(pytz.UTC)) - job['nextcall'] = modified_next_call super(IrCron, cls)._process_job(job_cr, job, cron_cr) + # changing the date has to be after the super, else, e may add a hour + # to next call, and the super will no run the cron, (because now will + # be 1 hour too soon) and the date will just be incremented of 1 + # hour, each hour...until the changes time really occurs... + # if need to test this, use freeze_gun lib. + if job['daylight_saving_time_resistant']: + with api.Environment.manage(): + now = osv_fields.datetime.context_timestamp( + job_cr, job['user_id'], datetime.now()) + nextcall = osv_fields.datetime.context_timestamp( + job_cr, job['user_id'], + datetime.strptime( + job['nextcall'], # original nextcall + DEFAULT_SERVER_DATETIME_FORMAT) + ) + numbercall = job['numbercall'] + delta = _intervalTypes[job['interval_type']]( + job['interval_number']) + diff_offset = cls._calculate_daylight_offset( + nextcall, delta, numbercall, now) + if diff_offset and nextcall < now and numbercall: + cron_cr.execute(""" + SELECT nextcall FROM ir_cron WHERE id = %s + """, (job['id'],)) + res_sql = cron_cr.fetchall() + new_nextcall = res_sql and res_sql[0][0] + new_nextcall = osv_fields.datetime.context_timestamp( + job_cr, job['user_id'], + datetime.strptime( + new_nextcall, # original nextcall + DEFAULT_SERVER_DATETIME_FORMAT) + ) + new_nextcall -= diff_offset + modified_next_call = fields.Datetime.to_string( + new_nextcall.astimezone(pytz.UTC)) + cron_cr.execute("UPDATE ir_cron SET nextcall=%s WHERE id=%s", + (modified_next_call, job['id'])) + cron_cr.commit() From 58e0171516991e73df8c4ff895d3505edcbf3b7a Mon Sep 17 00:00:00 2001 From: Florian da Costa Date: Tue, 15 Feb 2022 11:49:53 +0100 Subject: [PATCH 007/232] [IMP] cron_daylight_saving_time_resistant: pre-commit execution --- .../__openerp__.py | 1 - .../models/ir_cron.py | 52 ++++--- .../tests/__init__.py | 2 +- .../tests/test_dst.py | 133 ++++++++++-------- .../views/cron.xml | 6 +- .../odoo_addons/__init__.py | 1 + .../cron_daylight_saving_time_resistant | 1 + .../setup.py | 6 + 8 files changed, 115 insertions(+), 87 deletions(-) create mode 100644 setup/cron_daylight_saving_time_resistant/odoo_addons/__init__.py create mode 120000 setup/cron_daylight_saving_time_resistant/odoo_addons/cron_daylight_saving_time_resistant create mode 100644 setup/cron_daylight_saving_time_resistant/setup.py diff --git a/cron_daylight_saving_time_resistant/__openerp__.py b/cron_daylight_saving_time_resistant/__openerp__.py index 331eb94227a..9791485a74b 100644 --- a/cron_daylight_saving_time_resistant/__openerp__.py +++ b/cron_daylight_saving_time_resistant/__openerp__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright <2018> # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). { diff --git a/cron_daylight_saving_time_resistant/models/ir_cron.py b/cron_daylight_saving_time_resistant/models/ir_cron.py index 7c57d0c3ffb..3d84b311b72 100644 --- a/cron_daylight_saving_time_resistant/models/ir_cron.py +++ b/cron_daylight_saving_time_resistant/models/ir_cron.py @@ -1,15 +1,15 @@ -# -*- coding: utf-8 -*- # © 2018 Akretion - Raphaël Reverdy # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). import logging -import pytz from datetime import datetime +import pytz from openerp import api, fields, models +from openerp.addons.base.ir.ir_cron import _intervalTypes from openerp.osv import fields as osv_fields from openerp.tools import DEFAULT_SERVER_DATETIME_FORMAT -from openerp.addons.base.ir.ir_cron import _intervalTypes + _logger = logging.getLogger(__name__) @@ -18,7 +18,8 @@ class IrCron(models.Model): daylight_saving_time_resistant = fields.Boolean( help="Adjust interval to run at the same hour after and before" - "daylight saving time change. It's used twice a year") + "daylight saving time change. It's used twice a year" + ) def _calculate_daylight_offset(self, nextcall, delta, numbercall, now): @@ -44,36 +45,47 @@ def _process_job(cls, job_cr, job, cron_cr): # be 1 hour too soon) and the date will just be incremented of 1 # hour, each hour...until the changes time really occurs... # if need to test this, use freeze_gun lib. - if job['daylight_saving_time_resistant']: + if job["daylight_saving_time_resistant"]: with api.Environment.manage(): now = osv_fields.datetime.context_timestamp( - job_cr, job['user_id'], datetime.now()) + job_cr, job["user_id"], datetime.now() + ) nextcall = osv_fields.datetime.context_timestamp( - job_cr, job['user_id'], + job_cr, + job["user_id"], datetime.strptime( - job['nextcall'], # original nextcall - DEFAULT_SERVER_DATETIME_FORMAT) + job["nextcall"], # original nextcall + DEFAULT_SERVER_DATETIME_FORMAT, + ), ) - numbercall = job['numbercall'] - delta = _intervalTypes[job['interval_type']]( - job['interval_number']) + numbercall = job["numbercall"] + delta = _intervalTypes[job["interval_type"]](job["interval_number"]) diff_offset = cls._calculate_daylight_offset( - nextcall, delta, numbercall, now) + nextcall, delta, numbercall, now + ) if diff_offset and nextcall < now and numbercall: - cron_cr.execute(""" + cron_cr.execute( + """ SELECT nextcall FROM ir_cron WHERE id = %s - """, (job['id'],)) + """, + (job["id"],), + ) res_sql = cron_cr.fetchall() new_nextcall = res_sql and res_sql[0][0] new_nextcall = osv_fields.datetime.context_timestamp( - job_cr, job['user_id'], + job_cr, + job["user_id"], datetime.strptime( new_nextcall, # original nextcall - DEFAULT_SERVER_DATETIME_FORMAT) + DEFAULT_SERVER_DATETIME_FORMAT, + ), ) new_nextcall -= diff_offset modified_next_call = fields.Datetime.to_string( - new_nextcall.astimezone(pytz.UTC)) - cron_cr.execute("UPDATE ir_cron SET nextcall=%s WHERE id=%s", - (modified_next_call, job['id'])) + new_nextcall.astimezone(pytz.UTC) + ) + cron_cr.execute( + "UPDATE ir_cron SET nextcall=%s WHERE id=%s", + (modified_next_call, job["id"]), + ) cron_cr.commit() diff --git a/cron_daylight_saving_time_resistant/tests/__init__.py b/cron_daylight_saving_time_resistant/tests/__init__.py index cec914727c8..ddfe571ecc3 100644 --- a/cron_daylight_saving_time_resistant/tests/__init__.py +++ b/cron_daylight_saving_time_resistant/tests/__init__.py @@ -1 +1 @@ -from . import test_dst \ No newline at end of file +from . import test_dst diff --git a/cron_daylight_saving_time_resistant/tests/test_dst.py b/cron_daylight_saving_time_resistant/tests/test_dst.py index fb12becfc2e..4f0ff92f39f 100644 --- a/cron_daylight_saving_time_resistant/tests/test_dst.py +++ b/cron_daylight_saving_time_resistant/tests/test_dst.py @@ -1,80 +1,89 @@ -# -*- coding: utf-8 -*- # © 2018 Akretion # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from openerp.tests.common import TransactionCase from datetime import datetime, timedelta + +from openerp.tests.common import TransactionCase from pytz import timezone class TestDST(TransactionCase): - def test_dst(self): """First test, caching some data.""" - cron = self.env['ir.cron'] - brux = timezone('Europe/Brussels') + cron = self.env["ir.cron"] + brux = timezone("Europe/Brussels") ncall = -1 winter_jan_12 = datetime(2018, 1, 1, 12, 0) winter_feb_0 = datetime(2018, 1, 2, 0, 0) summer_june_12 = datetime(2018, 6, 15, 12, 0) summer_sep_3 = datetime(2018, 9, 17, 3, 0) winter_jan_next_year = datetime(2019, 2, 3, 0, 0) - tests = [{ - 'nextcall': brux.localize(winter_jan_12), - 'delta': timedelta(days=5), - 'now': brux.localize(winter_feb_0), - 'expected': timedelta(hours=0), - }, { - 'nextcall': brux.localize(winter_jan_12), - 'delta': timedelta(days=6 * 30), - 'now': brux.localize(winter_feb_0), - 'expected': timedelta(hours=1), - }, { - 'nextcall': brux.localize(winter_jan_12), - 'delta': timedelta(days=5), - 'now': brux.localize(summer_june_12), - 'expected': timedelta(hours=1), - }, { - 'nextcall': brux.localize(winter_jan_12), - 'delta': timedelta(days=6 * 30), - 'now': brux.localize(summer_june_12), - 'expected': timedelta(hours=1), - }, { - 'nextcall': brux.localize(winter_jan_12), - 'delta': timedelta(days=6 * 365), - 'now': brux.localize(winter_jan_next_year), - 'expected': timedelta(hours=0), - }] - tests = tests + [{ - 'nextcall': brux.localize(summer_june_12), - 'delta': timedelta(days=5), - 'now': brux.localize(winter_jan_next_year), - 'expected': timedelta(hours=-1), - }, { - 'nextcall': brux.localize(summer_june_12), - 'delta': timedelta(days=4 * 30), - 'now': brux.localize(winter_jan_next_year), - 'expected': timedelta(hours=-1), - }, { - 'nextcall': brux.localize(summer_june_12), - 'delta': timedelta(days=5), - 'now': brux.localize(summer_june_12), - 'expected': timedelta(hours=0), - }, { - 'nextcall': brux.localize(summer_june_12), - 'delta': timedelta(days=6 * 30), - 'now': brux.localize(summer_sep_3), - 'expected': timedelta(hours=-1), - }, { - 'nextcall': brux.localize(summer_june_12), - 'delta': timedelta(days=6 * 365), - 'now': brux.localize(summer_sep_3), - 'expected': timedelta(hours=0), - }] + tests = [ + { + "nextcall": brux.localize(winter_jan_12), + "delta": timedelta(days=5), + "now": brux.localize(winter_feb_0), + "expected": timedelta(hours=0), + }, + { + "nextcall": brux.localize(winter_jan_12), + "delta": timedelta(days=6 * 30), + "now": brux.localize(winter_feb_0), + "expected": timedelta(hours=1), + }, + { + "nextcall": brux.localize(winter_jan_12), + "delta": timedelta(days=5), + "now": brux.localize(summer_june_12), + "expected": timedelta(hours=1), + }, + { + "nextcall": brux.localize(winter_jan_12), + "delta": timedelta(days=6 * 30), + "now": brux.localize(summer_june_12), + "expected": timedelta(hours=1), + }, + { + "nextcall": brux.localize(winter_jan_12), + "delta": timedelta(days=6 * 365), + "now": brux.localize(winter_jan_next_year), + "expected": timedelta(hours=0), + }, + ] + tests = tests + [ + { + "nextcall": brux.localize(summer_june_12), + "delta": timedelta(days=5), + "now": brux.localize(winter_jan_next_year), + "expected": timedelta(hours=-1), + }, + { + "nextcall": brux.localize(summer_june_12), + "delta": timedelta(days=4 * 30), + "now": brux.localize(winter_jan_next_year), + "expected": timedelta(hours=-1), + }, + { + "nextcall": brux.localize(summer_june_12), + "delta": timedelta(days=5), + "now": brux.localize(summer_june_12), + "expected": timedelta(hours=0), + }, + { + "nextcall": brux.localize(summer_june_12), + "delta": timedelta(days=6 * 30), + "now": brux.localize(summer_sep_3), + "expected": timedelta(hours=-1), + }, + { + "nextcall": brux.localize(summer_june_12), + "delta": timedelta(days=6 * 365), + "now": brux.localize(summer_sep_3), + "expected": timedelta(hours=0), + }, + ] test = tests[0] for test in tests: res = cron._calculate_daylight_offset( - test['nextcall'], - test['delta'], - ncall, - test['now']) - self.assertEqual(res, test['expected']) + test["nextcall"], test["delta"], ncall, test["now"] + ) + self.assertEqual(res, test["expected"]) diff --git a/cron_daylight_saving_time_resistant/views/cron.xml b/cron_daylight_saving_time_resistant/views/cron.xml index 3e4c802df78..66737ce1602 100644 --- a/cron_daylight_saving_time_resistant/views/cron.xml +++ b/cron_daylight_saving_time_resistant/views/cron.xml @@ -1,12 +1,12 @@ - + ir.cron.resist_dst ir.cron - + - + diff --git a/setup/cron_daylight_saving_time_resistant/odoo_addons/__init__.py b/setup/cron_daylight_saving_time_resistant/odoo_addons/__init__.py new file mode 100644 index 00000000000..de40ea7ca05 --- /dev/null +++ b/setup/cron_daylight_saving_time_resistant/odoo_addons/__init__.py @@ -0,0 +1 @@ +__import__('pkg_resources').declare_namespace(__name__) diff --git a/setup/cron_daylight_saving_time_resistant/odoo_addons/cron_daylight_saving_time_resistant b/setup/cron_daylight_saving_time_resistant/odoo_addons/cron_daylight_saving_time_resistant new file mode 120000 index 00000000000..c84bfefcbb9 --- /dev/null +++ b/setup/cron_daylight_saving_time_resistant/odoo_addons/cron_daylight_saving_time_resistant @@ -0,0 +1 @@ +../../../cron_daylight_saving_time_resistant \ No newline at end of file diff --git a/setup/cron_daylight_saving_time_resistant/setup.py b/setup/cron_daylight_saving_time_resistant/setup.py new file mode 100644 index 00000000000..28c57bb6403 --- /dev/null +++ b/setup/cron_daylight_saving_time_resistant/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From 1dbb0b11d7bd8fedcb0648f31c800da163091179 Mon Sep 17 00:00:00 2001 From: Florian da Costa Date: Wed, 16 Feb 2022 11:47:32 +0100 Subject: [PATCH 008/232] [MIG] cron_daylight_saving_time_resistant: Migration to 14.0 --- .../README.rst | 83 ----------- .../{__openerp__.py => __manifest__.py} | 5 +- .../models/ir_cron.py | 86 ++++++----- .../readme/CONFIGURE.rst | 2 + .../readme/CONTRIBUTORS.rst | 2 + .../readme/DESCRIPTION.rst | 8 + .../tests/test_dst.py | 137 +++++++----------- .../views/{cron.xml => ir_cron_views.xml} | 3 +- .../cron_daylight_saving_time_resistant | 1 + .../odoo_addons/__init__.py | 1 - .../cron_daylight_saving_time_resistant | 1 - 11 files changed, 112 insertions(+), 217 deletions(-) delete mode 100644 cron_daylight_saving_time_resistant/README.rst rename cron_daylight_saving_time_resistant/{__openerp__.py => __manifest__.py} (83%) create mode 100644 cron_daylight_saving_time_resistant/readme/CONFIGURE.rst create mode 100644 cron_daylight_saving_time_resistant/readme/CONTRIBUTORS.rst create mode 100644 cron_daylight_saving_time_resistant/readme/DESCRIPTION.rst rename cron_daylight_saving_time_resistant/views/{cron.xml => ir_cron_views.xml} (75%) create mode 120000 setup/cron_daylight_saving_time_resistant/odoo/addons/cron_daylight_saving_time_resistant delete mode 100644 setup/cron_daylight_saving_time_resistant/odoo_addons/__init__.py delete mode 120000 setup/cron_daylight_saving_time_resistant/odoo_addons/cron_daylight_saving_time_resistant diff --git a/cron_daylight_saving_time_resistant/README.rst b/cron_daylight_saving_time_resistant/README.rst deleted file mode 100644 index 73b1095c38d..00000000000 --- a/cron_daylight_saving_time_resistant/README.rst +++ /dev/null @@ -1,83 +0,0 @@ -.. image:: https://img.shields.io/badge/license-AGPL--3-blue.png - :target: https://www.gnu.org/licenses/agpl - :alt: License: AGPL-3 - -=================================== -Cron daylight saving time resistant -=================================== - -This module adjust cron to run at fixed hours, local time. - - -Without this module, when a daylight saving time change occur, the cron will not take -the hour change in account. - -With this module, when a daylight saving time change occur, the offset (+1 or -1 hour) -will be applied. - - -Usage -===== - -To use this module, you need to edit a cron, and check the option, -"Daylight saving time resistant". - -#. Go to ... - -.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas - :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/149/9.0 - - -Known issues / Roadmap -====================== - -* Write tests -* Edge cases like run every 5 minutes + dst resistant may behave - incorrectly during the time change. - - -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 ------------- - -* Raphaël Reverdy https://akretion.com - -Do not contact contributors directly about support or help with technical issues. - -Funders -------- - -The development of this module has been financially supported by: - -* Akretion - -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/cron_daylight_saving_time_resistant/__openerp__.py b/cron_daylight_saving_time_resistant/__manifest__.py similarity index 83% rename from cron_daylight_saving_time_resistant/__openerp__.py rename to cron_daylight_saving_time_resistant/__manifest__.py index 9791485a74b..99cf20395d4 100644 --- a/cron_daylight_saving_time_resistant/__openerp__.py +++ b/cron_daylight_saving_time_resistant/__manifest__.py @@ -1,9 +1,8 @@ -# Copyright <2018> # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). { "name": "Cron daylight saving time resistant", "summary": "Run cron on fixed hours", - "version": "9.0.1.0.0", + "version": "14.0.1.0.0", "category": "Tools", "website": "https://github.com/OCA/server-tools", "author": "akretion, Odoo Community Association (OCA)", @@ -13,6 +12,6 @@ "base", ], "data": [ - "views/cron.xml", + "views/ir_cron_views.xml", ], } diff --git a/cron_daylight_saving_time_resistant/models/ir_cron.py b/cron_daylight_saving_time_resistant/models/ir_cron.py index 3d84b311b72..0a2c5651e7e 100644 --- a/cron_daylight_saving_time_resistant/models/ir_cron.py +++ b/cron_daylight_saving_time_resistant/models/ir_cron.py @@ -1,14 +1,13 @@ -# © 2018 Akretion - Raphaël Reverdy # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). import logging from datetime import datetime import pytz -from openerp import api, fields, models -from openerp.addons.base.ir.ir_cron import _intervalTypes -from openerp.osv import fields as osv_fields -from openerp.tools import DEFAULT_SERVER_DATETIME_FORMAT + +from odoo import api, fields, models + +from odoo.addons.base.models.ir_cron import _intervalTypes _logger = logging.getLogger(__name__) @@ -37,55 +36,52 @@ def _calculate_daylight_offset(self, nextcall, delta, numbercall, now): diff_offset = after_offset - before_offset return diff_offset + @classmethod def _process_job(cls, job_cr, job, cron_cr): """Add or remove the Daylight saving offset when needed.""" - super(IrCron, cls)._process_job(job_cr, job, cron_cr) + super()._process_job(job_cr, job, cron_cr) # changing the date has to be after the super, else, e may add a hour # to next call, and the super will no run the cron, (because now will # be 1 hour too soon) and the date will just be incremented of 1 # hour, each hour...until the changes time really occurs... - # if need to test this, use freeze_gun lib. if job["daylight_saving_time_resistant"]: with api.Environment.manage(): - now = osv_fields.datetime.context_timestamp( - job_cr, job["user_id"], datetime.now() - ) - nextcall = osv_fields.datetime.context_timestamp( - job_cr, - job["user_id"], - datetime.strptime( - job["nextcall"], # original nextcall - DEFAULT_SERVER_DATETIME_FORMAT, - ), - ) - numbercall = job["numbercall"] - delta = _intervalTypes[job["interval_type"]](job["interval_number"]) - diff_offset = cls._calculate_daylight_offset( - nextcall, delta, numbercall, now - ) - if diff_offset and nextcall < now and numbercall: - cron_cr.execute( - """ - SELECT nextcall FROM ir_cron WHERE id = %s - """, - (job["id"],), - ) - res_sql = cron_cr.fetchall() - new_nextcall = res_sql and res_sql[0][0] - new_nextcall = osv_fields.datetime.context_timestamp( + try: + cron = api.Environment( job_cr, job["user_id"], - datetime.strptime( - new_nextcall, # original nextcall - DEFAULT_SERVER_DATETIME_FORMAT, - ), - ) - new_nextcall -= diff_offset - modified_next_call = fields.Datetime.to_string( - new_nextcall.astimezone(pytz.UTC) - ) - cron_cr.execute( - "UPDATE ir_cron SET nextcall=%s WHERE id=%s", - (modified_next_call, job["id"]), + {"lastcall": fields.Datetime.from_string(job["lastcall"])}, + )[cls._name] + now = fields.Datetime.context_timestamp(cron, datetime.now()) + # original nextcall + nextcall = fields.Datetime.context_timestamp(cron, job["nextcall"]) + numbercall = job["numbercall"] + delta = _intervalTypes[job["interval_type"]](job["interval_number"]) + diff_offset = cron._calculate_daylight_offset( + nextcall, delta, numbercall, now ) + if diff_offset and nextcall < now and numbercall: + cron_cr.execute( + """ + SELECT nextcall FROM ir_cron WHERE id = %s + """, + (job["id"],), + ) + res_sql = cron_cr.fetchall() + new_nextcall = res_sql and res_sql[0][0] + new_nextcall = fields.Datetime.context_timestamp( + cron, new_nextcall + ) + new_nextcall -= diff_offset + modified_next_call = fields.Datetime.to_string( + new_nextcall.astimezone(pytz.UTC) + ) + cron_cr.execute( + "UPDATE ir_cron SET nextcall=%s WHERE id=%s", + (modified_next_call, job["id"]), + ) + cron.flush() + cron.invalidate_cache() + finally: + job_cr.commit() cron_cr.commit() diff --git a/cron_daylight_saving_time_resistant/readme/CONFIGURE.rst b/cron_daylight_saving_time_resistant/readme/CONFIGURE.rst new file mode 100644 index 00000000000..8fc14e7c142 --- /dev/null +++ b/cron_daylight_saving_time_resistant/readme/CONFIGURE.rst @@ -0,0 +1,2 @@ +* Go to the menu Settings => Technical => Automation => Scheduled Actions + Then you can check the check box Daylight Saving Time Resistant diff --git a/cron_daylight_saving_time_resistant/readme/CONTRIBUTORS.rst b/cron_daylight_saving_time_resistant/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000000..3444e783702 --- /dev/null +++ b/cron_daylight_saving_time_resistant/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* Raphaël Reverdy https://akretion.com +* Florian da Costa diff --git a/cron_daylight_saving_time_resistant/readme/DESCRIPTION.rst b/cron_daylight_saving_time_resistant/readme/DESCRIPTION.rst new file mode 100644 index 00000000000..c43f98341a0 --- /dev/null +++ b/cron_daylight_saving_time_resistant/readme/DESCRIPTION.rst @@ -0,0 +1,8 @@ +This module adjust cron to run at fixed hours, local time. + + +Without this module, when a daylight saving time change occur, the cron will not take +the hour change in account. + +With this module, when a daylight saving time change occur, the offset (+1 or -1 hour) +will be applied. diff --git a/cron_daylight_saving_time_resistant/tests/test_dst.py b/cron_daylight_saving_time_resistant/tests/test_dst.py index 4f0ff92f39f..2541bfa5f21 100644 --- a/cron_daylight_saving_time_resistant/tests/test_dst.py +++ b/cron_daylight_saving_time_resistant/tests/test_dst.py @@ -1,89 +1,62 @@ -# © 2018 Akretion # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from datetime import datetime, timedelta -from openerp.tests.common import TransactionCase -from pytz import timezone +from freezegun import freeze_time + +import odoo +from odoo import fields +from odoo.tests.common import TransactionCase +from odoo.tools.misc import DEFAULT_SERVER_DATETIME_FORMAT class TestDST(TransactionCase): - def test_dst(self): - """First test, caching some data.""" - cron = self.env["ir.cron"] - brux = timezone("Europe/Brussels") - ncall = -1 - winter_jan_12 = datetime(2018, 1, 1, 12, 0) - winter_feb_0 = datetime(2018, 1, 2, 0, 0) - summer_june_12 = datetime(2018, 6, 15, 12, 0) - summer_sep_3 = datetime(2018, 9, 17, 3, 0) - winter_jan_next_year = datetime(2019, 2, 3, 0, 0) - tests = [ - { - "nextcall": brux.localize(winter_jan_12), - "delta": timedelta(days=5), - "now": brux.localize(winter_feb_0), - "expected": timedelta(hours=0), - }, - { - "nextcall": brux.localize(winter_jan_12), - "delta": timedelta(days=6 * 30), - "now": brux.localize(winter_feb_0), - "expected": timedelta(hours=1), - }, - { - "nextcall": brux.localize(winter_jan_12), - "delta": timedelta(days=5), - "now": brux.localize(summer_june_12), - "expected": timedelta(hours=1), - }, - { - "nextcall": brux.localize(winter_jan_12), - "delta": timedelta(days=6 * 30), - "now": brux.localize(summer_june_12), - "expected": timedelta(hours=1), - }, - { - "nextcall": brux.localize(winter_jan_12), - "delta": timedelta(days=6 * 365), - "now": brux.localize(winter_jan_next_year), - "expected": timedelta(hours=0), - }, - ] - tests = tests + [ - { - "nextcall": brux.localize(summer_june_12), - "delta": timedelta(days=5), - "now": brux.localize(winter_jan_next_year), - "expected": timedelta(hours=-1), - }, - { - "nextcall": brux.localize(summer_june_12), - "delta": timedelta(days=4 * 30), - "now": brux.localize(winter_jan_next_year), - "expected": timedelta(hours=-1), - }, - { - "nextcall": brux.localize(summer_june_12), - "delta": timedelta(days=5), - "now": brux.localize(summer_june_12), - "expected": timedelta(hours=0), - }, - { - "nextcall": brux.localize(summer_june_12), - "delta": timedelta(days=6 * 30), - "now": brux.localize(summer_sep_3), - "expected": timedelta(hours=-1), - }, - { - "nextcall": brux.localize(summer_june_12), - "delta": timedelta(days=6 * 365), - "now": brux.localize(summer_sep_3), - "expected": timedelta(hours=0), - }, - ] - test = tests[0] - for test in tests: - res = cron._calculate_daylight_offset( - test["nextcall"], test["delta"], ncall, test["now"] + def setUp(self): + super().setUp() + self.registry.enter_test_mode(self.env.cr) + + def tearDown(self): + self.registry.leave_test_mode() + super().tearDown() + + def _check_cron_date_after_run(self, cron, datetime_str): + # add 10 sec to make sure cron will run + datetime_current = datetime.strptime( + datetime_str, DEFAULT_SERVER_DATETIME_FORMAT + ) + timedelta(seconds=10) + datetime_current_str = datetime_current.strftime(DEFAULT_SERVER_DATETIME_FORMAT) + with freeze_time(datetime_current_str): + cron.write( + {"nextcall": datetime_str, "daylight_saving_time_resistant": True} ) - self.assertEqual(res, test["expected"]) + cron.flush() + self.env.cr.execute("SELECT * FROM ir_cron WHERE id = %s", (cron.id,)) + job = self.env.cr.dictfetchall()[0] + timezone_date_orig = fields.Datetime.context_timestamp(cron, cron.nextcall) + with odoo.registry(self.env.cr.dbname).cursor() as new_cr: + registry = odoo.registry(new_cr.dbname) + registry["ir.cron"]._process_job(new_cr, job, new_cr) + day_after_date_orig = (timezone_date_orig + timedelta(days=1)).day + timezone_date_after = fields.Datetime.context_timestamp(cron, cron.nextcall) + # check the cron is really planned the next day (which mean it has run + # then check the planned hour is the same even in case of change of time + # (brussels summer time/ brussels winter time + self.assertEqual(day_after_date_orig, timezone_date_after.day) + self.assertEqual(timezone_date_orig.hour, timezone_date_after.hour) + + def test_cron(self): + cron = self.env["ir.cron"].create( + { + "name": "TestCron", + "model_id": self.env.ref("base.model_res_partner").id, + "state": "code", + "code": "model.search([])", + "interval_number": 1, + "interval_type": "days", + "numbercall": -1, + "doall": False, + } + ) + # from summer time to winter time + self._check_cron_date_after_run(cron, "2021-10-30 15:00:00") + # from winter time to summer time + self._check_cron_date_after_run(cron, "2021-03-27 15:00:00") diff --git a/cron_daylight_saving_time_resistant/views/cron.xml b/cron_daylight_saving_time_resistant/views/ir_cron_views.xml similarity index 75% rename from cron_daylight_saving_time_resistant/views/cron.xml rename to cron_daylight_saving_time_resistant/views/ir_cron_views.xml index 66737ce1602..0f79894dd7c 100644 --- a/cron_daylight_saving_time_resistant/views/cron.xml +++ b/cron_daylight_saving_time_resistant/views/ir_cron_views.xml @@ -1,9 +1,8 @@ - ir.cron.resist_dst ir.cron - + diff --git a/setup/cron_daylight_saving_time_resistant/odoo/addons/cron_daylight_saving_time_resistant b/setup/cron_daylight_saving_time_resistant/odoo/addons/cron_daylight_saving_time_resistant new file mode 120000 index 00000000000..61296a7d37f --- /dev/null +++ b/setup/cron_daylight_saving_time_resistant/odoo/addons/cron_daylight_saving_time_resistant @@ -0,0 +1 @@ +../../../../cron_daylight_saving_time_resistant \ No newline at end of file diff --git a/setup/cron_daylight_saving_time_resistant/odoo_addons/__init__.py b/setup/cron_daylight_saving_time_resistant/odoo_addons/__init__.py deleted file mode 100644 index de40ea7ca05..00000000000 --- a/setup/cron_daylight_saving_time_resistant/odoo_addons/__init__.py +++ /dev/null @@ -1 +0,0 @@ -__import__('pkg_resources').declare_namespace(__name__) diff --git a/setup/cron_daylight_saving_time_resistant/odoo_addons/cron_daylight_saving_time_resistant b/setup/cron_daylight_saving_time_resistant/odoo_addons/cron_daylight_saving_time_resistant deleted file mode 120000 index c84bfefcbb9..00000000000 --- a/setup/cron_daylight_saving_time_resistant/odoo_addons/cron_daylight_saving_time_resistant +++ /dev/null @@ -1 +0,0 @@ -../../../cron_daylight_saving_time_resistant \ No newline at end of file From 958532f87d76443435ca60e6b1b76e6c3501e2b3 Mon Sep 17 00:00:00 2001 From: SilvioC2C Date: Mon, 18 Mar 2024 16:15:33 +0100 Subject: [PATCH 009/232] [ADD] base_view_full_arch --- .prettierignore | 3 + base_view_full_arch/README.rst | 85 ++++ base_view_full_arch/__init__.py | 1 + base_view_full_arch/__manifest__.py | 15 + base_view_full_arch/demo/ir_ui_view.xml | 130 ++++++ base_view_full_arch/models/__init__.py | 1 + base_view_full_arch/models/ir_ui_view.py | 206 ++++++++ base_view_full_arch/readme/CONTRIBUTORS.rst | 3 + base_view_full_arch/readme/DESCRIPTION.rst | 18 + base_view_full_arch/readme/USAGE.rst | 2 + .../static/description/index.html | 439 ++++++++++++++++++ base_view_full_arch/tests/__init__.py | 1 + .../tests/data/test_00_format_doc.xml | 26 ++ .../data/test_01_root_view_full_arch.xml | 12 + .../data/test_02_ancestor_view_full_arch.xml | 13 + .../data/test_04_archive_inheriting_view.xml | 12 + ...arch_propagate_top_down_ancestor_is_v1.xml | 12 + ...arch_propagate_top_down_ancestor_is_v3.xml | 13 + ...rch_propagate_bottom_up_ancestor_is_v1.xml | 12 + ...rch_propagate_bottom_up_ancestor_is_v3.xml | 13 + base_view_full_arch/tests/test_full_arch.py | 176 +++++++ base_view_full_arch/views/ir_ui_view.xml | 21 + .../odoo/addons/base_view_full_arch | 1 + setup/base_view_full_arch/setup.py | 6 + 24 files changed, 1221 insertions(+) create mode 100644 .prettierignore create mode 100644 base_view_full_arch/README.rst create mode 100644 base_view_full_arch/__init__.py create mode 100644 base_view_full_arch/__manifest__.py create mode 100644 base_view_full_arch/demo/ir_ui_view.xml create mode 100644 base_view_full_arch/models/__init__.py create mode 100644 base_view_full_arch/models/ir_ui_view.py create mode 100644 base_view_full_arch/readme/CONTRIBUTORS.rst create mode 100644 base_view_full_arch/readme/DESCRIPTION.rst create mode 100644 base_view_full_arch/readme/USAGE.rst create mode 100644 base_view_full_arch/static/description/index.html create mode 100644 base_view_full_arch/tests/__init__.py create mode 100644 base_view_full_arch/tests/data/test_00_format_doc.xml create mode 100644 base_view_full_arch/tests/data/test_01_root_view_full_arch.xml create mode 100644 base_view_full_arch/tests/data/test_02_ancestor_view_full_arch.xml create mode 100644 base_view_full_arch/tests/data/test_04_archive_inheriting_view.xml create mode 100644 base_view_full_arch/tests/data/test_05_update_views_arch_propagate_top_down_ancestor_is_v1.xml create mode 100644 base_view_full_arch/tests/data/test_05_update_views_arch_propagate_top_down_ancestor_is_v3.xml create mode 100644 base_view_full_arch/tests/data/test_06_update_views_arch_propagate_bottom_up_ancestor_is_v1.xml create mode 100644 base_view_full_arch/tests/data/test_06_update_views_arch_propagate_bottom_up_ancestor_is_v3.xml create mode 100644 base_view_full_arch/tests/test_full_arch.py create mode 100644 base_view_full_arch/views/ir_ui_view.xml create mode 120000 setup/base_view_full_arch/odoo/addons/base_view_full_arch create mode 100644 setup/base_view_full_arch/setup.py diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000000..59c31a97bd3 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,3 @@ +# Ignore .xml files used for tests +*/demo/* +*/tests/* diff --git a/base_view_full_arch/README.rst b/base_view_full_arch/README.rst new file mode 100644 index 00000000000..52870053ce4 --- /dev/null +++ b/base_view_full_arch/README.rst @@ -0,0 +1,85 @@ +=================================== +Display full architecture for views +=================================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:57d8f208c00b0dfd96396255c35e725f01513031c96ac0ed470e8152b72e662a + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-camptocamp%2Fserver--tools-lightgray.png?logo=github + :target: https://github.com/camptocamp/server-tools/tree/14.0-ADD-base_view_full_arch/base_view_full_arch + :alt: camptocamp/server-tools + +|badge1| |badge2| |badge3| + +Displays view's fully combined architecture. + +Primary views (ie: views that do not inherit from other views, or that are defined with +``mode == 'primary'``) will display the fully combined architecture including all the +inheriting views; inheriting views will display the fully combined architecture of the +ancestor view (recursively). + +Especially useful for analysis, development and debug when having multiple inheriting +views. + +This module's feature is not equivalent to using ``fields_view_get()``: + +- ``fields_view_get()`` does not display the architecture of nested views (eg: sale + orders' lines tree view, partners' children kanban view) +- ``fields_view_get()`` can only be accessed through the debug menu, which is not always + available for views (eg: reports' templates) +- ``fields_view_get()`` applies to the views conditions generated by the Python code, + making it harder to understand what's defined in the view's architecture and what's not + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +Install the module, and a new tab will appear in the ``ir.ui.view`` form view to +display the fully combined architecture of the view. + +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 +~~~~~~~ + +* Camptocamp + +Contributors +~~~~~~~~~~~~ + +* `Camptocamp SA `_: + + * Silvio Gregorini + +Maintainers +~~~~~~~~~~~ + +This module is part of the `camptocamp/server-tools `_ project on GitHub. + +You are welcome to contribute. diff --git a/base_view_full_arch/__init__.py b/base_view_full_arch/__init__.py new file mode 100644 index 00000000000..0650744f6bc --- /dev/null +++ b/base_view_full_arch/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/base_view_full_arch/__manifest__.py b/base_view_full_arch/__manifest__.py new file mode 100644 index 00000000000..ad1115785fb --- /dev/null +++ b/base_view_full_arch/__manifest__.py @@ -0,0 +1,15 @@ +# Copyright 2024 Camptocamp SA (https://www.camptocamp.com). +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +{ + "name": "Display full architecture for views", + "version": "14.0.1.0.0", + "author": "Camptocamp,Odoo Community Association (OCA)", + "license": "LGPL-3", + "category": "Hidden/Dependency", + "summary": "Allows displaying the full, compiled architecture for all views", + "website": "https://github.com/OCA/server-tools", + "depends": ["base"], + "data": ["views/ir_ui_view.xml"], + "demo": ["demo/ir_ui_view.xml"], +} diff --git a/base_view_full_arch/demo/ir_ui_view.xml b/base_view_full_arch/demo/ir_ui_view.xml new file mode 100644 index 00000000000..8c92d6b634e --- /dev/null +++ b/base_view_full_arch/demo/ir_ui_view.xml @@ -0,0 +1,130 @@ + + + + + res.users + +
+ + + + + +
+
+
+ + res.users + + + + + + + + + + + + res.users + + primary + + + + + + + + res.users + + + + boolean_toggle + + + selection + + + + + res.users + + + + 1 + + + + + res.users + + + + 1 + + + + + + +
diff --git a/base_view_full_arch/models/__init__.py b/base_view_full_arch/models/__init__.py new file mode 100644 index 00000000000..81f52e3bfa6 --- /dev/null +++ b/base_view_full_arch/models/__init__.py @@ -0,0 +1 @@ +from . import ir_ui_view diff --git a/base_view_full_arch/models/ir_ui_view.py b/base_view_full_arch/models/ir_ui_view.py new file mode 100644 index 00000000000..e2f6730241b --- /dev/null +++ b/base_view_full_arch/models/ir_ui_view.py @@ -0,0 +1,206 @@ +# Copyright 2024 Camptocamp SA (https://www.camptocamp.com). +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from lxml import etree + +from odoo import api, fields, models +from odoo.tools.cache import ormcache + + +class View(models.Model): + _inherit = "ir.ui.view" + + full_arch = fields.Text( + compute="_compute_full_arch", + compute_sudo=True, + recursive=True, + store=False, # Cannot be stored: depends on non-stored fields, + help="Technical field to check the fully combined architecture of the view:\n" + "* for primary views, displays the full arch of the view, combined with the" + " inheriting views' modifications\n" + "* for extension views, inherits the full arch from the inherited view\n", + ) + + @api.model_create_multi + def create(self, vals_list): + if any({"inherit_id", "mode"}.intersection(v) for v in vals_list): + type(self)._traverse_inherit_id.clear_cache(self.browse()) + return super().create(vals_list) + + def write(self, vals): + if {"inherit_id", "mode"}.intersection(vals): + type(self)._traverse_inherit_id.clear_cache(self.browse()) + return super().write(vals) + + def unlink(self): + type(self)._traverse_inherit_id.clear_cache(self.browse()) + return super().unlink() + + @api.model + def _get_full_arch_dependencies(self) -> list: + # Hook method, can be overridden + return [ + "active", + "arch", + "inherit_children_ids", + "inherit_children_ids.full_arch", + "inherit_id", + "inherit_id.full_arch", + "mode", + "xml_id", + ] + + @api.depends(lambda self: self._get_full_arch_dependencies()) + def _compute_full_arch(self): + for view in self: + # Update context's lang view-by-view to allow choosing different languages + # for different views in inheriting modules if necessary + view = view.with_context(lang=view._get_lang_for_full_arch()) + ancestor = view._get_ancestor() + if view == ancestor: + arch = view._get_formatted_arch() + root_xml_id = view._get_root().xml_id + if root_xml_id: + comment = etree.Comment(f"Defined in '{root_xml_id}'") + arch = "\n".join((etree.tostring(comment, encoding=str), arch)) + view.full_arch = arch + else: + view.full_arch = ancestor.full_arch + + def _get_lang_for_full_arch(self): + # Hook method, can be overridden + # ``full_arch`` should be, by default, compiled without translations to avoid + # confusion in having different strings between the combined arch and the + # original ones + return None + + def _get_ancestor(self): + return self.browse(self._traverse_inherit_id(stop_at_primary_view=True)) + + def _get_root(self): + return self.browse(self._traverse_inherit_id(stop_at_primary_view=False)) + + @ormcache("self.id", "stop_at_primary_view") + def _traverse_inherit_id(self, stop_at_primary_view=True): + """Retrieves the view's furthermost inherit_id + + :param stop_at_primary_view: if True, traversal will stop as soon as a primary + view (ie: ``mode == "primary"``) is found; if False, traversal will go on + until the root view (ie: ``inherit_id == False``) is reached. + :type stop_at_primary_view: bool + :return: An ``ir.ui.view`` record's ID + :rtype: int + """ + if not self.inherit_id or (stop_at_primary_view and self.mode == "primary"): + return self.id + return self.inherit_id._traverse_inherit_id(stop_at_primary_view) + + def _get_formatted_arch(self): + # Hook method, can be overridden + self.ensure_one() + method = self._get_format_arch_method() + args = self._get_format_arch_args() + kwargs = self._get_format_arch_kwargs() + return method(*args, **kwargs) + + def _get_format_arch_method(self) -> callable: + # Hook method, can be overridden + self.ensure_one() + return self.__default_format_arch + + # flake8: noqa: C901 + @staticmethod + def __default_format_arch(doc, space: str = " ", level: int = 0): + """Default method for formatting the view's arch + + This default method is provided to avoid depending on specific packages or + libraries. + + If another formatting method is preferred, please override method + ``_get_format_arch_method()`` to return it, and (if needed) override methods + ``_get_format_arch_args()`` and ``_get_format_arch_kwargs()`` accordingly. + """ + + def _get_levels(nd, lvl: int = 0, lvls=None) -> dict: + """Returns a {node: level} dict, generated recursively with subnodes""" + lvls = dict(lvls or []) + lvls[nd] = lvl + len(tuple(nd.iterancestors())) + for subnd in nd: + lvls.update(_get_levels(subnd, lvl, lvls)) + return lvls + + def _adjust_text(nd, spc, lvl): + old_text = nd.text + if old_text is None: + new_text = None + else: + is_multi_line = "\n" in old_text + has_text = old_text.strip() + is_comment = isinstance(nd, etree._Comment) + if is_multi_line and has_text: + # Multi line with text (add suffix for comments) + orig_lines = old_text.split("\n") + lines = [" ".join(ln.split()) for ln in orig_lines if ln.strip()] + prefix = "\n" + (spc * (lvl + 1)) + new_text = "".join(map(lambda x: prefix + x, lines)) + if is_comment: + new_text += "\n" + (spc * lvl) + elif is_multi_line: + # Multi line with no text + new_text = "\n\n" + (spc * lvl) + elif has_text: + # Single line with text (add whitespaces for comments) + new_text = " ".join(old_text.split()) + if new_text and isinstance(nd, etree._Comment): + new_text = " %s " % new_text + else: + # Single line with no text + new_text = "" + # Add extra space to text if we're expecting sub nodes + if len(nd): + new_text = (new_text or "").rstrip() + "\n" + (spc * (lvl + 1)) + nd.text = new_text + + def _adjust_tail(nd, spc, lvl): + if not len(tuple(nd.iterancestors())): + # Root tags do not accept tails + new_tail = None + else: + old_tail = nd.tail + has_tail = (old_tail or "").strip() + if has_tail and old_tail.lstrip(" ").startswith("\n"): + # Multi line tail + orig_lines = old_tail.split("\n") + lines = [" ".join(ln.split()) for ln in orig_lines if ln.strip()] + prefix = "\n" + spc * lvl + new_tail = "".join(map(lambda x: prefix + x, lines)) + elif has_tail: + # Single line tail + new_tail = " ".join(old_tail.split()) + else: + # No real text in tail + new_tail = "" + # Add spacing as suffix + new_tail += "\n" + spc * lvl + nd.tail = new_tail + # Update last child's tail to match indentation + if len(nd): + last_child = tuple(nd.iterchildren())[-1] + last_child.tail = (last_child.tail or "").rstrip() + "\n" + spc * lvl + + levels = _get_levels(doc, level).items() + for node, level in sorted(levels, key=lambda x: x[1], reverse=True): + _adjust_text(node, space, level) + _adjust_tail(node, space, level) + + return etree.tostring(doc, pretty_print=True, encoding=str) + + def _get_format_arch_args(self) -> tuple: + # Hook method, can be overridden + self.ensure_one() + return (etree.fromstring(self.read_combined()["arch"]),) + + def _get_format_arch_kwargs(self) -> dict: + # Hook method, can be overridden + self.ensure_one() + return dict(space=" ", level=0) diff --git a/base_view_full_arch/readme/CONTRIBUTORS.rst b/base_view_full_arch/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000000..039706d6946 --- /dev/null +++ b/base_view_full_arch/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ +* `Camptocamp SA `_: + + * Silvio Gregorini diff --git a/base_view_full_arch/readme/DESCRIPTION.rst b/base_view_full_arch/readme/DESCRIPTION.rst new file mode 100644 index 00000000000..41bcc5a9810 --- /dev/null +++ b/base_view_full_arch/readme/DESCRIPTION.rst @@ -0,0 +1,18 @@ +Displays view's fully combined architecture. + +Primary views (ie: views that do not inherit from other views, or that are defined with +``mode == 'primary'``) will display the fully combined architecture including all the +inheriting views; inheriting views will display the fully combined architecture of the +ancestor view (recursively). + +Especially useful for analysis, development and debug when having multiple inheriting +views. + +This module's feature is not equivalent to using ``fields_view_get()``: + +- ``fields_view_get()`` does not display the architecture of nested views (eg: sale + orders' lines tree view, partners' children kanban view) +- ``fields_view_get()`` can only be accessed through the debug menu, which is not always + available for views (eg: reports' templates) +- ``fields_view_get()`` applies to the views conditions generated by the Python code, + making it harder to understand what's defined in the view's architecture and what's not diff --git a/base_view_full_arch/readme/USAGE.rst b/base_view_full_arch/readme/USAGE.rst new file mode 100644 index 00000000000..f505ddc440c --- /dev/null +++ b/base_view_full_arch/readme/USAGE.rst @@ -0,0 +1,2 @@ +Install the module, and a new tab will appear in the ``ir.ui.view`` form view to +display the fully combined architecture of the view. diff --git a/base_view_full_arch/static/description/index.html b/base_view_full_arch/static/description/index.html new file mode 100644 index 00000000000..d3b37094bec --- /dev/null +++ b/base_view_full_arch/static/description/index.html @@ -0,0 +1,439 @@ + + + + + +Display full architecture for views + + + +
+

Display full architecture for views

+ + +

Beta License: LGPL-3 camptocamp/server-tools

+

Displays view’s fully combined architecture.

+

Primary views (ie: views that do not inherit from other views, or that are defined with +mode == 'primary') will display the fully combined architecture including all the +inheriting views; inheriting views will display the fully combined architecture of the +ancestor view (recursively).

+

Especially useful for analysis, development and debug when having multiple inheriting +views.

+

This module’s feature is not equivalent to using fields_view_get():

+
    +
  • fields_view_get() does not display the architecture of nested views (eg: sale +orders’ lines tree view, partners’ children kanban view)
  • +
  • fields_view_get() can only be accessed through the debug menu, which is not always +available for views (eg: reports’ templates)
  • +
  • fields_view_get() applies to the views conditions generated by the Python code, +making it harder to understand what’s defined in the view’s architecture and what’s not
  • +
+

Table of contents

+ +
+

Usage

+

Install the module, and a new tab will appear in the ir.ui.view form view to +display the fully combined architecture of the view.

+
+
+

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

+
    +
  • Camptocamp
  • +
+
+ +
+

Maintainers

+

This module is part of the camptocamp/server-tools project on GitHub.

+

You are welcome to contribute.

+
+
+
+ + diff --git a/base_view_full_arch/tests/__init__.py b/base_view_full_arch/tests/__init__.py new file mode 100644 index 00000000000..030ec2e79ff --- /dev/null +++ b/base_view_full_arch/tests/__init__.py @@ -0,0 +1 @@ +from . import test_full_arch diff --git a/base_view_full_arch/tests/data/test_00_format_doc.xml b/base_view_full_arch/tests/data/test_00_format_doc.xml new file mode 100644 index 00000000000..5163c6ff60a --- /dev/null +++ b/base_view_full_arch/tests/data/test_00_format_doc.xml @@ -0,0 +1,26 @@ + + +
+ Multi + line + text + + Multi + line + tail +
    + +
  • Single line text
  • +
  • + +
  • +
  • +
  • +
  • Single line tail +
+
+
diff --git a/base_view_full_arch/tests/data/test_01_root_view_full_arch.xml b/base_view_full_arch/tests/data/test_01_root_view_full_arch.xml new file mode 100644 index 00000000000..d0897c250a5 --- /dev/null +++ b/base_view_full_arch/tests/data/test_01_root_view_full_arch.xml @@ -0,0 +1,12 @@ + +
+ + + + + + + + + +
diff --git a/base_view_full_arch/tests/data/test_02_ancestor_view_full_arch.xml b/base_view_full_arch/tests/data/test_02_ancestor_view_full_arch.xml new file mode 100644 index 00000000000..5b04fb4ed73 --- /dev/null +++ b/base_view_full_arch/tests/data/test_02_ancestor_view_full_arch.xml @@ -0,0 +1,13 @@ + +
+ + + + + + + + + + +
diff --git a/base_view_full_arch/tests/data/test_04_archive_inheriting_view.xml b/base_view_full_arch/tests/data/test_04_archive_inheriting_view.xml new file mode 100644 index 00000000000..81516b31a14 --- /dev/null +++ b/base_view_full_arch/tests/data/test_04_archive_inheriting_view.xml @@ -0,0 +1,12 @@ + +
+ + + + + + + + + +
diff --git a/base_view_full_arch/tests/data/test_05_update_views_arch_propagate_top_down_ancestor_is_v1.xml b/base_view_full_arch/tests/data/test_05_update_views_arch_propagate_top_down_ancestor_is_v1.xml new file mode 100644 index 00000000000..5f3a9371060 --- /dev/null +++ b/base_view_full_arch/tests/data/test_05_update_views_arch_propagate_top_down_ancestor_is_v1.xml @@ -0,0 +1,12 @@ + +
+ + + + + + + + + +
diff --git a/base_view_full_arch/tests/data/test_05_update_views_arch_propagate_top_down_ancestor_is_v3.xml b/base_view_full_arch/tests/data/test_05_update_views_arch_propagate_top_down_ancestor_is_v3.xml new file mode 100644 index 00000000000..3dcd1cf2408 --- /dev/null +++ b/base_view_full_arch/tests/data/test_05_update_views_arch_propagate_top_down_ancestor_is_v3.xml @@ -0,0 +1,13 @@ + +
+ + + + + + + + + + +
diff --git a/base_view_full_arch/tests/data/test_06_update_views_arch_propagate_bottom_up_ancestor_is_v1.xml b/base_view_full_arch/tests/data/test_06_update_views_arch_propagate_bottom_up_ancestor_is_v1.xml new file mode 100644 index 00000000000..d0897c250a5 --- /dev/null +++ b/base_view_full_arch/tests/data/test_06_update_views_arch_propagate_bottom_up_ancestor_is_v1.xml @@ -0,0 +1,12 @@ + +
+ + + + + + + + + +
diff --git a/base_view_full_arch/tests/data/test_06_update_views_arch_propagate_bottom_up_ancestor_is_v3.xml b/base_view_full_arch/tests/data/test_06_update_views_arch_propagate_bottom_up_ancestor_is_v3.xml new file mode 100644 index 00000000000..4005d9b0237 --- /dev/null +++ b/base_view_full_arch/tests/data/test_06_update_views_arch_propagate_bottom_up_ancestor_is_v3.xml @@ -0,0 +1,13 @@ + +
+ + + + + + + + + + +
diff --git a/base_view_full_arch/tests/test_full_arch.py b/base_view_full_arch/tests/test_full_arch.py new file mode 100644 index 00000000000..524af86a030 --- /dev/null +++ b/base_view_full_arch/tests/test_full_arch.py @@ -0,0 +1,176 @@ +# Copyright 2024 Camptocamp SA (https://www.camptocamp.com). +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from itertools import product +from pathlib import Path +from random import choice + +from lxml import etree + +from odoo.tests.common import SavepointCase +from odoo.tools import get_cache_key_counter + + +class TestFullArch(SavepointCase): + """Tests full arch computations + + Test views are defined in ``demo/ir_ui_view.xml`` + + The views' inheritance follows this schema: + + V1 + / \ + V2 V3 <- primary + / | | + V4 V5 V6 + + According to Odoo's current inheriting system and its workflow for combining views, + we expect the V1 full architecture to include modifications made by V2, V4 and V5, + while V3's full architecture should include V1's full architecture and V6's arch + """ + + @property + def data_path(self): + return Path(__file__).parent.absolute() / "data" + + @classmethod + def _get_views_by_xmlids_num(cls, nums): + env = cls.env + base_xmlid = "base_view_full_arch.demo_view_%s" + return sum([env.ref(base_xmlid % n) for n in nums], env["ir.ui.view"]) + + def _compare_with_file(self, view, fpath): + with open(fpath) as expected: + self.assertEqual(view.full_arch.strip(), expected.read().strip()) + + def test_00_format_doc(self): + """Tests formatting methods without inheritance""" + self._compare_with_file( + self.env.ref("base_view_full_arch.test_format_doc"), + Path(__file__).parent / "data" / "test_00_format_doc.xml", + ) + + def test_01_root_view_full_arch(self): + """Tests full architecture for root view (inherit_id = False)""" + view_1 = self._get_views_by_xmlids_num([1]) + self.assertFalse(view_1.inherit_id) + self.assertEqual(view_1._get_ancestor(), view_1) + self.assertEqual(view_1._get_root(), view_1) + fpath = self.data_path / "test_01_root_view_full_arch.xml" + self._compare_with_file(view_1, fpath) + + def test_02_ancestor_view_full_arch(self): + """Tests full architecture for ancestor view (mode = "primary")""" + view_1, view_3 = self._get_views_by_xmlids_num([1, 3]) + self.assertEqual(view_3.mode, "primary") + self.assertEqual(view_3._get_ancestor(), view_3) + self.assertEqual(view_3._get_root(), view_1) + fpath = self.data_path / "test_02_ancestor_view_full_arch.xml" + self._compare_with_file(view_3, fpath) + + def test_03_inheriting_view_full_arch(self): + """Tests root, ancestors and full architectures for inheriting views""" + views = v1, v2, v3, v4, v5, v6 = self._get_views_by_xmlids_num(range(1, 7)) + + # v1 is common root for every view + self.assertTrue(all(v._get_root() == v1 for v in (v1, v2, v3, v4, v5, v6))) + + # v1 is ancestor for v1 itself, v2, v4 and v5 + self.assertTrue(all(v._get_ancestor() == v1 for v in (v1, v2, v4, v5))) + + # v3 is ancestor for v3 itself and v6 + self.assertTrue(all(v._get_ancestor() == v3 for v in (v3, v6))) + + # Each view shares the same full architecture of its ancestor + for view in views: + self.assertEqual(view.full_arch, view._get_ancestor().full_arch) + + def test_04_archive_inheriting_view(self): + """Tests that archiving views affects other views' ``full_arch``""" + view_1, view_4, view_5 = self._get_views_by_xmlids_num([1, 4, 5]) + (view_4 + view_5).action_archive() + fpath = self.data_path / "test_04_archive_inheriting_view.xml" + self._compare_with_file(view_1, fpath) + + def test_05_update_views_arch_propagate_top_down(self): + """Tests that changes upon views' arch are propagated top-down + + In this test, we're changing the architecture for view 1 and checking whether + the change is propagated down to all views, to make sure that changes are + propagated top-down even if there's a primary view (view 3) between the + view that is updated (view 1) and the one upon which the change should be + propagated (view 6) + """ + v1, v2, v3, v4, v5, v6 = self._get_views_by_xmlids_num(range(1, 7)) + + # Make field ``name`` required in view 1 + doc_1 = etree.fromstring(v1.arch) + attr = doc_1.find(".//field[@name='name']") + attr.set("required", "1") + v1.arch = etree.tostring(doc_1) + + fname = "test_05_update_views_arch_propagate_top_down_ancestor_is_v%s.xml" + for ancestor_id, views in {1: [v1, v2, v4, v5], 3: [v3, v6]}.items(): + fpath = self.data_path / (fname % str(ancestor_id)) + for view in views: + self._compare_with_file(view, fpath) + + def test_06_update_views_arch_propagate_bottom_up(self): + """Tests that changes upon views' arch are propagated bottom-up + + In this test, we're changing the architecture for view 6 and checking whether + the change is propagated up to the other views; however, this time view 3 will + function as a blocker, since it's a primary view: changes made to view 3 or any + of its inheriting views will not be propagated to view 1 or any of the views + that have view 1 as ancestor + """ + v1, v2, v3, v4, v5, v6 = self._get_views_by_xmlids_num(range(1, 7)) + + # View 6 will make field ``groups_id`` readonly; we'll change the target of + # the attribute so that field ``name`` will be readonly + doc_6 = etree.fromstring(v6.arch) + doc_6.set("name", "name") # ``doc_6``'s root tag is ``groups_id`` field itself + v6.arch = etree.tostring(doc_6) + + fname = "test_06_update_views_arch_propagate_bottom_up_ancestor_is_v%s.xml" + for ancestor_id, views in {1: [v1, v2, v4, v5], 3: [v3, v6]}.items(): + fpath = self.data_path / (fname % str(ancestor_id)) + for view in views: + self._compare_with_file(view, fpath) + + def test_07_check_traverse_inherit_id_caching(self): + """Tests ``_traverse_inherit_id()`` cache""" + + def _test_cache(): + couples = tuple(product(views, [True, False])) + # Check no value is cached + for view, value in couples: + cache, key, _ = get_cache_key_counter(view._traverse_inherit_id, value) + self.assertNotIn(key, cache) + # Cache results + for view, value in couples: + view._traverse_inherit_id(value) + # Check values have been cached + for view, value in couples: + cache, key, _ = get_cache_key_counter(view._traverse_inherit_id, value) + self.assertIn(key, cache) + + views = self._get_views_by_xmlids_num(range(1, 7)) + + # Clear method cache before starting + view_obj = self.env["ir.ui.view"] + type(view_obj)._traverse_inherit_id.clear_cache(view_obj) + _test_cache() + + # Change a random view's mode + choice(views).mode = "primary" + _test_cache() + + # Force demo_view_3 to inherit from demo_view_5 instead of demo_view_1 + views[2].inherit_id = views[4] + _test_cache() + + # Delete one of the children views which is not inherited by any other view + choice(views.filtered(lambda v: not v.inherit_children_ids)).unlink() + views = views.exists() # Remove deleted view + _test_cache() diff --git a/base_view_full_arch/views/ir_ui_view.xml b/base_view_full_arch/views/ir_ui_view.xml new file mode 100644 index 00000000000..c9e1d291a22 --- /dev/null +++ b/base_view_full_arch/views/ir_ui_view.xml @@ -0,0 +1,21 @@ + + + + + ir.ui.view + + + + + + + + + + + diff --git a/setup/base_view_full_arch/odoo/addons/base_view_full_arch b/setup/base_view_full_arch/odoo/addons/base_view_full_arch new file mode 120000 index 00000000000..172280cc624 --- /dev/null +++ b/setup/base_view_full_arch/odoo/addons/base_view_full_arch @@ -0,0 +1 @@ +../../../../base_view_full_arch \ No newline at end of file diff --git a/setup/base_view_full_arch/setup.py b/setup/base_view_full_arch/setup.py new file mode 100644 index 00000000000..28c57bb6403 --- /dev/null +++ b/setup/base_view_full_arch/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From 52c7dca2e50af1b078dbf754f988a34e85b40596 Mon Sep 17 00:00:00 2001 From: Atte Isopuro Date: Fri, 25 Aug 2023 19:40:03 +0300 Subject: [PATCH 010/232] [FIX] sentry: respect sentry_logging_level Before this fix, the Sentry module sent events for WARNING- level logs, even if sentry_logging_level was registered as "error" or higher. The fix itself is minor: setup of the integration mistakenly set the hardcoded WARNING level to the event handler and the sentry_logging_level to the breadcrumb handler, when they should have been the other way around. The largest part of the diff is a reworking of the tests in order to properly replicate the issue: * The test previously emitted a fake log event directly using the integration's handler's emit-method, which skipped the part of the logic that actually filters based on logging level. This has been changed to use a bespoke NoopHandler and dedicated Logger, so that the tests can emit "actual logs" and test Sentry as accurately as possible. * The tests were not configured to use a non-default logging level, thus making it so that none of them caught the fact we were basically hard-coding the setting to WARNING-level. The tests now set the logging level to ERROR in order to make sure the configuration parameter works when it is non-default. * Changes to configuration (especially ignored loggers) were leaking from one test into others. The tests were directly mutating the `odoo.tools.config.options` mapping, without resetting it afterward, leaving the changes in place for subsequent tests. Introduced a helper method `patch_config` that can be used to patch the config object so that the patch is undone at the end of the test. --- sentry/const.py | 6 ++- sentry/tests/test_client.py | 99 ++++++++++++++++++++++++++++--------- 2 files changed, 81 insertions(+), 24 deletions(-) diff --git a/sentry/const.py b/sentry/const.py index c3135a9dfe0..9f7eab3af95 100644 --- a/sentry/const.py +++ b/sentry/const.py @@ -69,7 +69,11 @@ def get_sentry_logging(level=DEFAULT_LOG_LEVEL): if level not in LOG_LEVEL_MAP: level = DEFAULT_LOG_LEVEL - return LoggingIntegration(level=LOG_LEVEL_MAP[level], event_level=logging.WARNING) + return LoggingIntegration( + # Gather warnings into breadcrumbs regardless of actual logging level + level=logging.WARNING, + event_level=LOG_LEVEL_MAP[level], + ) def get_sentry_options(): diff --git a/sentry/tests/test_client.py b/sentry/tests/test_client.py index 322b999c24a..f25ec2c8ee6 100644 --- a/sentry/tests/test_client.py +++ b/sentry/tests/test_client.py @@ -56,21 +56,56 @@ def kill(self, *args, **kwargs): pass +class NoopHandler(logging.Handler): + """ + A Handler subclass that does nothing with any given log record. + + Sentry's log patching works by having the integration process things after + the normal log handlers are run, so we use this handler to do nothing and + move to Sentry logic ASAP. + """ + + def emit(self, record): + pass + + class TestClientSetup(TransactionCase): def setUp(self): super(TestClientSetup, self).setUp() self.dsn = "http://public:secret@example.com/1" - config.options["sentry_enabled"] = True - config.options["sentry_dsn"] = self.dsn - with patch( - "odoo.addons.sentry.const.select_transport", return_value=InMemoryTransport - ): - self.client = initialize_sentry(config)._client - self.handler = self.client.integrations["logging"]._handler + self.patch_config( + { + "sentry_enabled": True, + "sentry_dsn": self.dsn, + "sentry_logging_level": "error", + } + ) + self.client = initialize_sentry(config)._client + self.client.transport = InMemoryTransport({"dsn": self.dsn}) + + # Setup our own logger so we don't flood stderr with error logs + self.logger = logging.getLogger("odoo.sentry.test.logger") + # Do not mutate list while iterating it + handlers = [handler for handler in self.logger.handlers] + for handler in handlers: + self.logger.removeHandler(handler) + self.logger.addHandler(NoopHandler()) + self.logger.propagate = False + + def patch_config(self, options: dict): + """ + Patch Odoo's config with the given `options`, ensuring that the patch + is undone when the test completes. + """ + _config_patcher = patch.dict( + in_dict=config.options, + values=options, + ) + _config_patcher.start() + self.addCleanup(_config_patcher.stop) def log(self, level, msg, exc_info=None): - record = logging.LogRecord(__name__, level, __file__, 42, msg, (), exc_info) - self.handler.emit(record) + self.logger.log(level, msg, exc_info=exc_info) def assertEventCaptured(self, client, event_level, event_msg): self.assertTrue( @@ -100,50 +135,64 @@ def test_startup_event_disabled(self): def test_initialize_raven_sets_dsn(self): self.assertEqual(self.client.dsn, self.dsn) - def test_capture_event(self): + def test_ignore_low_level_event(self): level, msg = logging.WARNING, "Test event, can be ignored" self.log(level, msg) level = "warning" + self.assertEventNotCaptured(self.client, level, msg) + + def test_capture_event(self): + level, msg = logging.ERROR, "Test event, should be captured" + self.log(level, msg) + level = "error" self.assertEventCaptured(self.client, level, msg) def test_capture_event_exc(self): - level, msg = logging.WARNING, "Test event, can be ignored exception" + level, msg = logging.ERROR, "Test event, can be ignored exception" try: raise TestException(msg) except TestException: exc_info = sys.exc_info() self.log(level, msg, exc_info) - level = "warning" + level = "error" self.assertEventCaptured(self.client, level, msg) def test_ignore_exceptions(self): - config.options["sentry_ignore_exceptions"] = "odoo.exceptions.UserError" + self.patch_config( + { + "sentry_ignore_exceptions": "odoo.exceptions.UserError", + } + ) client = initialize_sentry(config)._client client.transport = InMemoryTransport({"dsn": self.dsn}) - level, msg = logging.WARNING, "Test exception" + level, msg = logging.ERROR, "Test exception" try: raise exceptions.UserError(msg) except exceptions.UserError: exc_info = sys.exc_info() self.log(level, msg, exc_info) - level = "warning" + level = "error" self.assertEventNotCaptured(client, level, msg) def test_exclude_logger(self): - config.options["sentry_enabled"] = True - config.options["sentry_exclude_loggers"] = __name__ + self.patch_config( + { + "sentry_enabled": True, + "sentry_exclude_loggers": self.logger.name, + } + ) client = initialize_sentry(config)._client client.transport = InMemoryTransport({"dsn": self.dsn}) - level, msg = logging.WARNING, "Test exclude logger %s" % __name__ + level, msg = logging.ERROR, "Test exclude logger %s" % __name__ self.log(level, msg) - level = "warning" + level = "error" # Revert ignored logger so it doesn't affect other tests - remove_handler_ignore(__name__) + remove_handler_ignore(self.logger.name) self.assertEventNotCaptured(client, level, msg) @patch("odoo.addons.sentry.hooks.get_odoo_commit", return_value=GIT_SHA) def test_config_odoo_dir(self, get_odoo_commit): - config.options["sentry_odoo_dir"] = "/opt/odoo/core" + self.patch_config({"sentry_odoo_dir": "/opt/odoo/core"}) client = initialize_sentry(config)._client self.assertEqual( @@ -154,8 +203,12 @@ def test_config_odoo_dir(self, get_odoo_commit): @patch("odoo.addons.sentry.hooks.get_odoo_commit", return_value=GIT_SHA) def test_config_release(self, get_odoo_commit): - config.options["sentry_odoo_dir"] = "/opt/odoo/core" - config.options["sentry_release"] = RELEASE + self.patch_config( + { + "sentry_odoo_dir": "/opt/odoo/core", + "sentry_release": RELEASE, + } + ) client = initialize_sentry(config)._client self.assertEqual( From e2351c60d5df9efbcb4a7aa15207b1b4882f371d Mon Sep 17 00:00:00 2001 From: Atte Isopuro Date: Mon, 28 Aug 2023 15:46:59 +0300 Subject: [PATCH 011/232] [IMP] sentry: increase test coverage --- sentry/tests/test_client.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/sentry/tests/test_client.py b/sentry/tests/test_client.py index f25ec2c8ee6..72e4202f65a 100644 --- a/sentry/tests/test_client.py +++ b/sentry/tests/test_client.py @@ -12,6 +12,7 @@ from odoo.tests import TransactionCase from odoo.tools import config +from ..const import to_int_if_defined from ..hooks import initialize_sentry GIT_SHA = "d670460b4b4aece5915caf5c68d12f560a9fe3e4" @@ -190,6 +191,22 @@ def test_exclude_logger(self): remove_handler_ignore(self.logger.name) self.assertEventNotCaptured(client, level, msg) + def test_invalid_logging_level(self): + self.patch_config( + { + "sentry_logging_level": "foo_bar", + } + ) + client = initialize_sentry(config)._client + client.transport = InMemoryTransport({"dsn": self.dsn}) + level, msg = logging.WARNING, "Test we use the default" + self.log(level, msg) + level = "warning" + self.assertEventCaptured(client, level, msg) + + def test_undefined_to_int(self): + self.assertIsNone(to_int_if_defined("")) + @patch("odoo.addons.sentry.hooks.get_odoo_commit", return_value=GIT_SHA) def test_config_odoo_dir(self, get_odoo_commit): self.patch_config({"sentry_odoo_dir": "/opt/odoo/core"}) From f3dd4d9f34b954e6697b50b3e82d582901958f9f Mon Sep 17 00:00:00 2001 From: Pierre Verkest Date: Thu, 28 Mar 2024 18:54:25 +0100 Subject: [PATCH 012/232] sentry: fix test after backporting test ensure info log is sent to sentry but this is not the case as long backport set level to be sent from error Also split revert some change regarding class setup to make startup test working --- sentry/tests/test_client.py | 95 ++++++++++++++++++++++++++----------- 1 file changed, 68 insertions(+), 27 deletions(-) diff --git a/sentry/tests/test_client.py b/sentry/tests/test_client.py index 72e4202f65a..a0a5d171c87 100644 --- a/sentry/tests/test_client.py +++ b/sentry/tests/test_client.py @@ -70,10 +70,76 @@ def emit(self, record): pass -class TestClientSetup(TransactionCase): +class TestSentryCommon(TransactionCase): def setUp(self): - super(TestClientSetup, self).setUp() + super().setUp() self.dsn = "http://public:secret@example.com/1" + + def assertEventCaptured(self, client, event_level, event_msg): + self.assertTrue( + client.transport.has_event(event_level, event_msg), + msg='Event: "%s" was not captured' % event_msg, + ) + + def assertEventNotCaptured(self, client, event_level, event_msg): + self.assertFalse( + client.transport.has_event(event_level, event_msg), + msg='Event: "%s" was captured' % event_msg, + ) + + +class TestClientSetupStartup(TestSentryCommon): + def setUp(self): + super().setUp() + config.options["sentry_enabled"] = True + config.options["sentry_dsn"] = self.dsn + config.options["sentry_logging_level"] = "info" + with patch( + "odoo.addons.sentry.const.select_transport", return_value=InMemoryTransport + ): + self.client = initialize_sentry(config)._client + self.handler = self.client.integrations["logging"]._handler + + def assertEventCaptured(self, client, event_level, event_msg): + self.assertTrue( + client.transport.has_event(event_level, event_msg), + msg='Event: "%s" was not captured' % event_msg, + ) + + def assertEventNotCaptured(self, client, event_level, event_msg): + self.assertFalse( + client.transport.has_event(event_level, event_msg), + msg='Event: "%s" was captured' % event_msg, + ) + + def test_startup_event(self): + self.assertEventCaptured(self.client, "info", "Starting Odoo Server") + + def test_startup_event_disabled(self): + config.options["sentry_enabled"] = True + config.options["sentry_dsn"] = self.dsn + config.options["sentry_ignore_startup_event"] = True + with patch( + "odoo.addons.sentry.const.select_transport", return_value=InMemoryTransport + ): + self.client = initialize_sentry(config)._client + self.assertEventNotCaptured(self.client, "info", "Starting Odoo Server") + + def test_startup_event_disabled_if_warning_level(self): + config.options["sentry_enabled"] = True + config.options["sentry_dsn"] = self.dsn + config.options["sentry_ignore_startup_event"] = True + config.options["sentry_logging_level"] = "warning" + with patch( + "odoo.addons.sentry.const.select_transport", return_value=InMemoryTransport + ): + self.client = initialize_sentry(config)._client + self.assertEventNotCaptured(self.client, "info", "Starting Odoo Server") + + +class TestClientSetup(TestSentryCommon): + def setUp(self): + super().setUp() self.patch_config( { "sentry_enabled": True, @@ -108,31 +174,6 @@ def patch_config(self, options: dict): def log(self, level, msg, exc_info=None): self.logger.log(level, msg, exc_info=exc_info) - def assertEventCaptured(self, client, event_level, event_msg): - self.assertTrue( - client.transport.has_event(event_level, event_msg), - msg='Event: "%s" was not captured' % event_msg, - ) - - def assertEventNotCaptured(self, client, event_level, event_msg): - self.assertFalse( - client.transport.has_event(event_level, event_msg), - msg='Event: "%s" was captured' % event_msg, - ) - - def test_startup_event(self): - self.assertEventCaptured(self.client, "info", "Starting Odoo Server") - - def test_startup_event_disabled(self): - config.options["sentry_enabled"] = True - config.options["sentry_dsn"] = self.dsn - config.options["sentry_ignore_startup_event"] = True - with patch( - "odoo.addons.sentry.const.select_transport", return_value=InMemoryTransport - ): - self.client = initialize_sentry(config)._client - self.assertEventNotCaptured(self.client, "info", "Starting Odoo Server") - def test_initialize_raven_sets_dsn(self): self.assertEqual(self.client.dsn, self.dsn) From a3567828947e2af0329e01066f84b37757f7adc1 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Thu, 4 Apr 2024 13:31:48 +0000 Subject: [PATCH 013/232] [UPD] Update cron_daylight_saving_time_resistant.pot --- .../cron_daylight_saving_time_resistant.pot | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 cron_daylight_saving_time_resistant/i18n/cron_daylight_saving_time_resistant.pot diff --git a/cron_daylight_saving_time_resistant/i18n/cron_daylight_saving_time_resistant.pot b/cron_daylight_saving_time_resistant/i18n/cron_daylight_saving_time_resistant.pot new file mode 100644 index 00000000000..fb539efafff --- /dev/null +++ b/cron_daylight_saving_time_resistant/i18n/cron_daylight_saving_time_resistant.pot @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * cron_daylight_saving_time_resistant +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.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: cron_daylight_saving_time_resistant +#: model:ir.model.fields,help:cron_daylight_saving_time_resistant.field_ir_cron__daylight_saving_time_resistant +msgid "" +"Adjust interval to run at the same hour after and beforedaylight saving time" +" change. It's used twice a year" +msgstr "" + +#. module: cron_daylight_saving_time_resistant +#: model:ir.model.fields,field_description:cron_daylight_saving_time_resistant.field_ir_cron__daylight_saving_time_resistant +msgid "Daylight Saving Time Resistant" +msgstr "" + +#. module: cron_daylight_saving_time_resistant +#: model:ir.model.fields,field_description:cron_daylight_saving_time_resistant.field_ir_cron__display_name +msgid "Display Name" +msgstr "" + +#. module: cron_daylight_saving_time_resistant +#: model:ir.model.fields,field_description:cron_daylight_saving_time_resistant.field_ir_cron__id +msgid "ID" +msgstr "" + +#. module: cron_daylight_saving_time_resistant +#: model:ir.model.fields,field_description:cron_daylight_saving_time_resistant.field_ir_cron____last_update +msgid "Last Modified on" +msgstr "" + +#. module: cron_daylight_saving_time_resistant +#: model:ir.model,name:cron_daylight_saving_time_resistant.model_ir_cron +msgid "Scheduled Actions" +msgstr "" + +#. module: cron_daylight_saving_time_resistant +#: model:ir.model.fields,field_description:cron_daylight_saving_time_resistant.field_ir_cron__smart_search +msgid "Smart Search" +msgstr "" From dd090cef9685a405b0bf616901ab4c54428d9427 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Thu, 4 Apr 2024 13:31:56 +0000 Subject: [PATCH 014/232] [UPD] Update nsca_client.pot --- nsca_client/i18n/nsca_client.pot | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/nsca_client/i18n/nsca_client.pot b/nsca_client/i18n/nsca_client.pot index 06f0e751695..a1547ee1d97 100644 --- a/nsca_client/i18n/nsca_client.pot +++ b/nsca_client/i18n/nsca_client.pot @@ -78,6 +78,13 @@ msgstr "" msgid "Add Followers" msgstr "" +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__daylight_saving_time_resistant +msgid "" +"Adjust interval to run at the same hour after and beforedaylight saving time" +" change. It's used twice a year" +msgstr "" + #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__allow_void_result msgid "Allow void result" @@ -177,6 +184,11 @@ msgstr "" msgid "Cron" msgstr "" +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__daylight_saving_time_resistant +msgid "Daylight Saving Time Resistant" +msgstr "" + #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__display_name #: model:ir.model.fields,field_description:nsca_client.field_nsca_server__display_name From ea93b08e1ee48331a51f50463632b448e9044475 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 4 Apr 2024 13:38:29 +0000 Subject: [PATCH 015/232] [BOT] post-merge updates --- README.md | 1 + .../README.rst | 90 ++++ .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 433 ++++++++++++++++++ setup/_metapackage/VERSION.txt | 2 +- setup/_metapackage/setup.py | 1 + 6 files changed, 526 insertions(+), 1 deletion(-) create mode 100644 cron_daylight_saving_time_resistant/README.rst create mode 100644 cron_daylight_saving_time_resistant/static/description/icon.png create mode 100644 cron_daylight_saving_time_resistant/static/description/index.html diff --git a/README.md b/README.md index 900013ee337..f449188bab6 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,7 @@ addon | version | maintainers | summary [base_view_inheritance_extension](base_view_inheritance_extension/) | 14.0.1.1.2 | | Adds more operators for view inheritance [bus_alt_connection](bus_alt_connection/) | 14.0.1.0.0 | | Needed when using PgBouncer as a connection pooler [configuration_helper](configuration_helper/) | 14.0.1.0.1 | | Configuration Helper +[cron_daylight_saving_time_resistant](cron_daylight_saving_time_resistant/) | 14.0.1.0.0 | | Run cron on fixed hours [database_cleanup](database_cleanup/) | 14.0.1.0.3 | | Database cleanup [datetime_formatter](datetime_formatter/) | 14.0.1.0.0 | | Helper functions to give correct format to date[time] fields [dbfilter_from_header](dbfilter_from_header/) | 14.0.1.0.1 | | Filter databases with HTTP headers diff --git a/cron_daylight_saving_time_resistant/README.rst b/cron_daylight_saving_time_resistant/README.rst new file mode 100644 index 00000000000..40cbaf851e8 --- /dev/null +++ b/cron_daylight_saving_time_resistant/README.rst @@ -0,0 +1,90 @@ +=================================== +Cron daylight saving time resistant +=================================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:f3b9f01bf3c0dd6030c8bc3ac82e714d8c9de6bf827c67014c0c341793e61cb2 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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%2Fserver--tools-lightgray.png?logo=github + :target: https://github.com/OCA/server-tools/tree/14.0/cron_daylight_saving_time_resistant + :alt: OCA/server-tools +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-cron_daylight_saving_time_resistant + :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/server-tools&target_branch=14.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module adjust cron to run at fixed hours, local time. + + +Without this module, when a daylight saving time change occur, the cron will not take +the hour change in account. + +With this module, when a daylight saving time change occur, the offset (+1 or -1 hour) +will be applied. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +* Go to the menu Settings => Technical => Automation => Scheduled Actions + Then you can check the check box Daylight Saving Time Resistant + +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 +~~~~~~~ + +* akretion + +Contributors +~~~~~~~~~~~~ + +* Raphaël Reverdy https://akretion.com +* Florian da Costa + +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/server-tools `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/cron_daylight_saving_time_resistant/static/description/icon.png b/cron_daylight_saving_time_resistant/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 zcmW++2RxMjAAjx~&dlBk9S+%}OXg)AGE&Cb*&}d0jUxM@u(PQx^-s)697TX`ehR4?GS^qbkof1cslKgkU)h65qZ9Oc=ml_0temigYLJfnz{IDzUf>bGs4N!v3=Z3jMq&A#7%rM5eQ#dc?k~! zVpnB`o+K7|Al`Q_U;eD$B zfJtP*jH`siUq~{KE)`jP2|#TUEFGRryE2`i0**z#*^6~AI|YzIWy$Cu#CSLW3q=GA z6`?GZymC;dCPk~rBS%eCb`5OLr;RUZ;D`}um=H)BfVIq%7VhiMr)_#G0N#zrNH|__ zc+blN2UAB0=617@>_u;MPHN;P;N#YoE=)R#i$k_`UAA>WWCcEVMh~L_ zj--gtp&|K1#58Yz*AHCTMziU1Jzt_jG0I@qAOHsk$2}yTmVkBp_eHuY$A9)>P6o~I z%aQ?!(GqeQ-Y+b0I(m9pwgi(IIZZzsbMv+9w{PFtd_<_(LA~0H(xz{=FhLB@(1&qHA5EJw1>>=%q2f&^X>IQ{!GJ4e9U z&KlB)z(84HmNgm2hg2C0>WM{E(DdPr+EeU_N@57;PC2&DmGFW_9kP&%?X4}+xWi)( z;)z%wI5>D4a*5XwD)P--sPkoY(a~WBw;E~AW`Yue4kFa^LM3X`8x|}ZUeMnqr}>kH zG%WWW>3ml$Yez?i%)2pbKPI7?5o?hydokgQyZsNEr{a|mLdt;X2TX(#B1j35xPnPW z*bMSSOauW>o;*=kO8ojw91VX!qoOQb)zHJ!odWB}d+*K?#sY_jqPdg{Sm2HdYzdEx zOGVPhVRTGPtv0o}RfVP;Nd(|CB)I;*t&QO8h zFfekr30S!-LHmV_Su-W+rEwYXJ^;6&3|L$mMC8*bQptyOo9;>Qb9Q9`ySe3%V$A*9 zeKEe+b0{#KWGp$F+tga)0RtI)nhMa-K@JS}2krK~n8vJ=Ngm?R!9G<~RyuU0d?nz# z-5EK$o(!F?hmX*2Yt6+coY`6jGbb7tF#6nHA zuKk=GGJ;ZwON1iAfG$E#Y7MnZVmrY|j0eVI(DN_MNFJmyZ|;w4tf@=CCDZ#5N_0K= z$;R~bbk?}TpfDjfB&aiQ$VA}s?P}xPERJG{kxk5~R`iRS(SK5d+Xs9swCozZISbnS zk!)I0>t=A<-^z(cmSFz3=jZ23u13X><0b)P)^1T_))Kr`e!-pb#q&J*Q`p+B6la%C zuVl&0duN<;uOsB3%T9Fp8t{ED108<+W(nOZd?gDnfNBC3>M8WE61$So|P zVvqH0SNtDTcsUdzaMDpT=Ty0pDHHNL@Z0w$Y`XO z2M-_r1S+GaH%pz#Uy0*w$Vdl=X=rQXEzO}d6J^R6zjM1u&c9vYLvLp?W7w(?np9x1 zE_0JSAJCPB%i7p*Wvg)pn5T`8k3-uR?*NT|J`eS#_#54p>!p(mLDvmc-3o0mX*mp_ zN*AeS<>#^-{S%W<*mz^!X$w_2dHWpcJ6^j64qFBft-o}o_Vx80o0>}Du;>kLts;$8 zC`7q$QI(dKYG`Wa8#wl@V4jVWBRGQ@1dr-hstpQL)Tl+aqVpGpbSfN>5i&QMXfiZ> zaA?T1VGe?rpQ@;+pkrVdd{klI&jVS@I5_iz!=UMpTsa~mBga?1r}aRBm1WS;TT*s0f0lY=JBl66Upy)-k4J}lh=P^8(SXk~0xW=T9v*B|gzIhN z>qsO7dFd~mgxAy4V?&)=5ieYq?zi?ZEoj)&2o)RLy=@hbCRcfT5jigwtQGE{L*8<@Yd{zg;CsL5mvzfDY}P-wos_6PfprFVaeqNE%h zKZhLtcQld;ZD+>=nqN~>GvROfueSzJD&BE*}XfU|H&(FssBqY=hPCt`d zH?@s2>I(|;fcW&YM6#V#!kUIP8$Nkdh0A(bEVj``-AAyYgwY~jB zT|I7Bf@%;7aL7Wf4dZ%VqF$eiaC38OV6oy3Z#TER2G+fOCd9Iaoy6aLYbPTN{XRPz z;U!V|vBf%H!}52L2gH_+j;`bTcQRXB+y9onc^wLm5wi3-Be}U>k_u>2Eg$=k!(l@I zcCg+flakT2Nej3i0yn+g+}%NYb?ta;R?(g5SnwsQ49U8Wng8d|{B+lyRcEDvR3+`O{zfmrmvFrL6acVP%yG98X zo&+VBg@px@i)%o?dG(`T;n*$S5*rnyiR#=wW}}GsAcfyQpE|>a{=$Hjg=-*_K;UtD z#z-)AXwSRY?OPefw^iI+ z)AXz#PfEjlwTes|_{sB?4(O@fg0AJ^g8gP}ex9Ucf*@_^J(s_5jJV}c)s$`Myn|Kd z$6>}#q^n{4vN@+Os$m7KV+`}c%4)4pv@06af4-x5#wj!KKb%caK{A&Y#Rfs z-po?Dcb1({W=6FKIUirH&(yg=*6aLCekcKwyfK^JN5{wcA3nhO(o}SK#!CINhI`-I z1)6&n7O&ZmyFMuNwvEic#IiOAwNkR=u5it{B9n2sAJV5pNhar=j5`*N!Na;c7g!l$ z3aYBqUkqqTJ=Re-;)s!EOeij=7SQZ3Hq}ZRds%IM*PtM$wV z@;rlc*NRK7i3y5BETSKuumEN`Xu_8GP1Ri=OKQ$@I^ko8>H6)4rjiG5{VBM>B|%`&&s^)jS|-_95&yc=GqjNo{zFkw%%HHhS~e=s zD#sfS+-?*t|J!+ozP6KvtOl!R)@@-z24}`9{QaVLD^9VCSR2b`b!KC#o;Ki<+wXB6 zx3&O0LOWcg4&rv4QG0)4yb}7BFSEg~=IR5#ZRj8kg}dS7_V&^%#Do==#`u zpy6{ox?jWuR(;pg+f@mT>#HGWHAJRRDDDv~@(IDw&R>9643kK#HN`!1vBJHnC+RM&yIh8{gG2q zA%e*U3|N0XSRa~oX-3EAneep)@{h2vvd3Xvy$7og(sayr@95+e6~Xvi1tUqnIxoIH zVWo*OwYElb#uyW{Imam6f2rGbjR!Y3`#gPqkv57dB6K^wRGxc9B(t|aYDGS=m$&S!NmCtrMMaUg(c zc2qC=2Z`EEFMW-me5B)24AqF*bV5Dr-M5ig(l-WPS%CgaPzs6p_gnCIvTJ=Y<6!gT zVt@AfYCzjjsMEGi=rDQHo0yc;HqoRNnNFeWZgcm?f;cp(6CNylj36DoL(?TS7eU#+ z7&mfr#y))+CJOXQKUMZ7QIdS9@#-}7y2K1{8)cCt0~-X0O!O?Qx#E4Og+;A2SjalQ zs7r?qn0H044=sDN$SRG$arw~n=+T_DNdSrarmu)V6@|?1-ZB#hRn`uilTGPJ@fqEy zGt(f0B+^JDP&f=r{#Y_wi#AVDf-y!RIXU^0jXsFpf>=Ji*TeqSY!H~AMbJdCGLhC) zn7Rx+sXw6uYj;WRYrLd^5IZq@6JI1C^YkgnedZEYy<&4(z%Q$5yv#Boo{AH8n$a zhb4Y3PWdr269&?V%uI$xMcUrMzl=;w<_nm*qr=c3Rl@i5wWB;e-`t7D&c-mcQl7x! zZWB`UGcw=Y2=}~wzrfLx=uet<;m3~=8I~ZRuzvMQUQdr+yTV|ATf1Uuomr__nDf=X zZ3WYJtHp_ri(}SQAPjv+Y+0=fH4krOP@S&=zZ-t1jW1o@}z;xk8 z(Nz1co&El^HK^NrhVHa-_;&88vTU>_J33=%{if;BEY*J#1n59=07jrGQ#IP>@u#3A z;!q+E1Rj3ZJ+!4bq9F8PXJ@yMgZL;>&gYA0%_Kbi8?S=XGM~dnQZQ!yBSgcZhY96H zrWnU;k)qy`rX&&xlDyA%(a1Hhi5CWkmg(`Gb%m(HKi-7Z!LKGRP_B8@`7&hdDy5n= z`OIxqxiVfX@OX1p(mQu>0Ai*v_cTMiw4qRt3~NBvr9oBy0)r>w3p~V0SCm=An6@3n)>@z!|o-$HvDK z|3D2ZMJkLE5loMKl6R^ez@Zz%S$&mbeoqH5`Bb){Ei21q&VP)hWS2tjShfFtGE+$z zzCR$P#uktu+#!w)cX!lWN1XU%K-r=s{|j?)Akf@q#3b#{6cZCuJ~gCxuMXRmI$nGtnH+-h z+GEi!*X=AP<|fG`1>MBdTb?28JYc=fGvAi2I<$B(rs$;eoJCyR6_bc~p!XR@O-+sD z=eH`-ye})I5ic1eL~TDmtfJ|8`0VJ*Yr=hNCd)G1p2MMz4C3^Mj?7;!w|Ly%JqmuW zlIEW^Ft%z?*|fpXda>Jr^1noFZEwFgVV%|*XhH@acv8rdGxeEX{M$(vG{Zw+x(ei@ zmfXb22}8-?Fi`vo-YVrTH*C?a8%M=Hv9MqVH7H^J$KsD?>!SFZ;ZsvnHr_gn=7acz z#W?0eCdVhVMWN12VV^$>WlQ?f;P^{(&pYTops|btm6aj>_Uz+hqpGwB)vWp0Cf5y< zft8-je~nn?W11plq}N)4A{l8I7$!ks_x$PXW-2XaRFswX_BnF{R#6YIwMhAgd5F9X zGmwdadS6(a^fjHtXg8=l?Rc0Sm%hk6E9!5cLVloEy4eh(=FwgP`)~I^5~pBEWo+F6 zSf2ncyMurJN91#cJTy_u8Y}@%!bq1RkGC~-bV@SXRd4F{R-*V`bS+6;W5vZ(&+I<9$;-V|eNfLa5n-6% z2(}&uGRF;p92eS*sE*oR$@pexaqr*meB)VhmIg@h{uzkk$9~qh#cHhw#>O%)b@+(| z^IQgqzuj~Sk(J;swEM-3TrJAPCq9k^^^`q{IItKBRXYe}e0Tdr=Huf7da3$l4PdpwWDop%^}n;dD#K4s#DYA8SHZ z&1!riV4W4R7R#C))JH1~axJ)RYnM$$lIR%6fIVA@zV{XVyx}C+a-Dt8Y9M)^KU0+H zR4IUb2CJ{Hg>CuaXtD50jB(_Tcx=Z$^WYu2u5kubqmwp%drJ6 z?Fo40g!Qd<-l=TQxqHEOuPX0;^z7iX?Ke^a%XT<13TA^5`4Xcw6D@Ur&VT&CUe0d} z1GjOVF1^L@>O)l@?bD~$wzgf(nxX1OGD8fEV?TdJcZc2KoUe|oP1#=$$7ee|xbY)A zDZq+cuTpc(fFdj^=!;{k03C69lMQ(|>uhRfRu%+!k&YOi-3|1QKB z z?n?eq1XP>p-IM$Z^C;2L3itnbJZAip*Zo0aw2bs8@(s^~*8T9go!%dHcAz2lM;`yp zD=7&xjFV$S&5uDaiScyD?B-i1ze`+CoRtz`Wn+Zl&#s4&}MO{@N!ufrzjG$B79)Y2d3tBk&)TxUTw@QS0TEL_?njX|@vq?Uz(nBFK5Pq7*xj#u*R&i|?7+6# z+|r_n#SW&LXhtheZdah{ZVoqwyT{D>MC3nkFF#N)xLi{p7J1jXlmVeb;cP5?e(=f# zuT7fvjSbjS781v?7{)-X3*?>tq?)Yd)~|1{BDS(pqC zC}~H#WXlkUW*H5CDOo<)#x7%RY)A;ShGhI5s*#cRDA8YgqG(HeKDx+#(ZQ?386dv! zlXCO)w91~Vw4AmOcATuV653fa9R$fyK8ul%rG z-wfS zihugoZyr38Im?Zuh6@RcF~t1anQu7>#lPpb#}4cOA!EM11`%f*07RqOVkmX{p~KJ9 z^zP;K#|)$`^Rb{rnHGH{~>1(fawV0*Z#)}M`m8-?ZJV<+e}s9wE# z)l&az?w^5{)`S(%MRzxdNqrs1n*-=jS^_jqE*5XDrA0+VE`5^*p3CuM<&dZEeCjoz zR;uu_H9ZPZV|fQq`Cyw4nscrVwi!fE6ciMmX$!_hN7uF;jjKG)d2@aC4ropY)8etW=xJvni)8eHi`H$%#zn^WJ5NLc-rqk|u&&4Z6fD_m&JfSI1Bvb?b<*n&sfl0^t z=HnmRl`XrFvMKB%9}>PaA`m-fK6a0(8=qPkWS5bb4=v?XcWi&hRY?O5HdulRi4?fN zlsJ*N-0Qw+Yic@s0(2uy%F@ib;GjXt01Fmx5XbRo6+n|pP(&nodMoap^z{~q ziEeaUT@Mxe3vJSfI6?uLND(CNr=#^W<1b}jzW58bIfyWTDle$mmS(|x-0|2UlX+9k zQ^EX7Nw}?EzVoBfT(-LT|=9N@^hcn-_p&sqG z&*oVs2JSU+N4ZD`FhCAWaS;>|wH2G*Id|?pa#@>tyxX`+4HyIArWDvVrX)2WAOQff z0qyHu&-S@i^MS-+j--!pr4fPBj~_8({~e1bfcl0wI1kaoN>mJL6KUPQm5N7lB(ui1 zE-o%kq)&djzWJ}ob<-GfDlkB;F31j-VHKvQUGQ3sp`CwyGJk_i!y^sD0fqC@$9|jO zOqN!r!8-p==F@ZVP=U$qSpY(gQ0)59P1&t@y?5rvg<}E+GB}26NYPp4f2YFQrQtot5mn3wu_qprZ=>Ig-$ zbW26Ws~IgY>}^5w`vTB(G`PTZaDiGBo5o(tp)qli|NeV( z@H_=R8V39rt5J5YB2Ky?4eJJ#b`_iBe2ot~6%7mLt5t8Vwi^Jy7|jWXqa3amOIoRb zOr}WVFP--DsS`1WpN%~)t3R!arKF^Q$e12KEqU36AWwnCBICpH4XCsfnyrHr>$I$4 z!DpKX$OKLWarN7nv@!uIA+~RNO)l$$w}p(;b>mx8pwYvu;dD_unryX_NhT8*Tj>BTrTTL&!?O+%Rv;b?B??gSzdp?6Uug9{ zd@V08Z$BdI?fpoCS$)t4mg4rT8Q_I}h`0d-vYZ^|dOB*Q^S|xqTV*vIg?@fVFSmMpaw0qtTRbx} z({Pg?#{2`sc9)M5N$*N|4;^t$+QP?#mov zGVC@I*lBVrOU-%2y!7%)fAKjpEFsgQc4{amtiHb95KQEwvf<(3T<9-Zm$xIew#P22 zc2Ix|App^>v6(3L_MCU0d3W##AB0M~3D00EWoKZqsJYT(#@w$Y_H7G22M~ApVFTRHMI_3be)Lkn#0F*V8Pq zc}`Cjy$bE;FJ6H7p=0y#R>`}-m4(0F>%@P|?7fx{=R^uFdISRnZ2W_xQhD{YuR3t< z{6yxu=4~JkeA;|(J6_nv#>Nvs&FuLA&PW^he@t(UwFFE8)|a!R{`E`K`i^ZnyE4$k z;(749Ix|oi$c3QbEJ3b~D_kQsPz~fIUKym($a_7dJ?o+40*OLl^{=&oq$<#Q(yyrp z{J-FAniyAw9tPbe&IhQ|a`DqFTVQGQ&Gq3!C2==4x{6EJwiPZ8zub-iXoUtkJiG{} zPaR&}_fn8_z~(=;5lD-aPWD3z8PZS@AaUiomF!G8I}Mf>e~0g#BelA-5#`cj;O5>N Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/cron_daylight_saving_time_resistant/static/description/index.html b/cron_daylight_saving_time_resistant/static/description/index.html new file mode 100644 index 00000000000..02902a3bf3b --- /dev/null +++ b/cron_daylight_saving_time_resistant/static/description/index.html @@ -0,0 +1,433 @@ + + + + + +Cron daylight saving time resistant + + + +
+

Cron daylight saving time resistant

+ + +

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

+

This module adjust cron to run at fixed hours, local time.

+

Without this module, when a daylight saving time change occur, the cron will not take +the hour change in account.

+

With this module, when a daylight saving time change occur, the offset (+1 or -1 hour) +will be applied.

+

Table of contents

+ +
+

Configuration

+
    +
  • Go to the menu Settings => Technical => Automation => Scheduled Actions +Then you can check the check box Daylight Saving Time Resistant
  • +
+
+
+

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

+
    +
  • akretion
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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

+

This module is part of the OCA/server-tools project on GitHub.

+

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

+
+
+
+ + diff --git a/setup/_metapackage/VERSION.txt b/setup/_metapackage/VERSION.txt index 26adf59211e..4f19ff39fd0 100644 --- a/setup/_metapackage/VERSION.txt +++ b/setup/_metapackage/VERSION.txt @@ -1 +1 @@ -14.0.20240223.0 \ No newline at end of file +14.0.20240404.0 \ No newline at end of file diff --git a/setup/_metapackage/setup.py b/setup/_metapackage/setup.py index 6cceed3cdbd..5758cae096e 100644 --- a/setup/_metapackage/setup.py +++ b/setup/_metapackage/setup.py @@ -48,6 +48,7 @@ 'odoo14-addon-base_view_inheritance_extension', 'odoo14-addon-bus_alt_connection', 'odoo14-addon-configuration_helper', + 'odoo14-addon-cron_daylight_saving_time_resistant', 'odoo14-addon-database_cleanup', 'odoo14-addon-datetime_formatter', 'odoo14-addon-dbfilter_from_header', From 17877779cdc3b9b3369ad5b67f8b6af6d7bacd77 Mon Sep 17 00:00:00 2001 From: Weblate Date: Thu, 4 Apr 2024 13:40:06 +0000 Subject: [PATCH 016/232] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: server-tools-14.0/server-tools-14.0-nsca_client Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-nsca_client/ --- nsca_client/i18n/fr.po | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/nsca_client/i18n/fr.po b/nsca_client/i18n/fr.po index 5540a6d09aa..63e2f21f9df 100644 --- a/nsca_client/i18n/fr.po +++ b/nsca_client/i18n/fr.po @@ -81,6 +81,13 @@ msgstr "" msgid "Add Followers" msgstr "" +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__daylight_saving_time_resistant +msgid "" +"Adjust interval to run at the same hour after and beforedaylight saving time " +"change. It's used twice a year" +msgstr "" + #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__allow_void_result msgid "Allow void result" @@ -186,6 +193,11 @@ msgstr "Créé le" msgid "Cron" msgstr "Cron" +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__daylight_saving_time_resistant +msgid "Daylight Saving Time Resistant" +msgstr "" + #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__display_name #: model:ir.model.fields,field_description:nsca_client.field_nsca_server__display_name From 5677554854ba5d897a201b951c2055e82cafd08c Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 17 Apr 2024 11:59:29 +0000 Subject: [PATCH 017/232] Translated using Weblate (Italian) Currently translated at 100.0% (85 of 85 strings) Translation: server-tools-14.0/server-tools-14.0-auditlog Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-auditlog/it/ --- auditlog/i18n/it.po | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/auditlog/i18n/it.po b/auditlog/i18n/it.po index 0fd6092e7d6..0636f868262 100644 --- a/auditlog/i18n/it.po +++ b/auditlog/i18n/it.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: Odoo Server 9.0c\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-11-26 01:45+0000\n" -"PO-Revision-Date: 2024-01-09 22:35+0000\n" +"PO-Revision-Date: 2024-04-17 14:08+0000\n" "Last-Translator: mymage \n" "Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" "Language: it\n" @@ -28,45 +28,45 @@ msgstr "Azione" #. module: auditlog #: model:ir.ui.menu,name:auditlog.menu_audit msgid "Audit" -msgstr "Verifica" +msgstr "Audit" #. module: auditlog #: model:ir.model,name:auditlog.model_auditlog_autovacuum msgid "Auditlog - Delete old logs" -msgstr "Log verifica - elimina vecchi log" +msgstr "Log autid - elimina vecchi log" #. module: auditlog #: model:ir.model,name:auditlog.model_auditlog_http_session msgid "Auditlog - HTTP User session log" -msgstr "Log verifica - log sessione utente HTTP" +msgstr "Log audit - log sessione utente HTTP" #. module: auditlog #: model:ir.model,name:auditlog.model_auditlog_http_request msgid "Auditlog - HTTP request log" -msgstr "Log verifica - log richiesta HTTP" +msgstr "Log audit - log richiesta HTTP" #. module: auditlog #: model:ir.model,name:auditlog.model_auditlog_log msgid "Auditlog - Log" -msgstr "Log verifica - log" +msgstr "Log audit - log" #. module: auditlog #: model:ir.model,name:auditlog.model_auditlog_log_line #: model:ir.model,name:auditlog.model_auditlog_log_line_view msgid "Auditlog - Log details (fields updated)" -msgstr "Log verifica - dettagli log (campi aggiornati)" +msgstr "Log audit - dettagli log (campi aggiornati)" #. module: auditlog #: model:ir.model,name:auditlog.model_auditlog_rule msgid "Auditlog - Rule" -msgstr "Log verifica - regola" +msgstr "Log audit - regola" #. module: auditlog #: model:ir.actions.server,name:auditlog.ir_cron_auditlog_autovacuum_ir_actions_server #: model:ir.cron,cron_name:auditlog.ir_cron_auditlog_autovacuum #: model:ir.cron,name:auditlog.ir_cron_auditlog_autovacuum msgid "Auto-vacuum audit logs" -msgstr "Svuota automaticamente log verifica" +msgstr "Svuota automaticamente log audit" #. module: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_rule__capture_record @@ -209,7 +209,7 @@ msgstr "Richiesta HTTP" #: model_terms:ir.ui.view,arch_db:auditlog.view_auditlog_http_request_search #: model_terms:ir.ui.view,arch_db:auditlog.view_auditlog_http_session_form msgid "HTTP Requests" -msgstr "Richiesta HTTP" +msgstr "Richieste HTTP" #. module: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_autovacuum__id @@ -321,7 +321,7 @@ msgstr "Modello" #. module: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_log_line_view__model_model msgid "Model Model" -msgstr "Modello modello" +msgstr "Modello Model" #. module: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_log__model_name @@ -424,12 +424,12 @@ msgstr "Regole" #. module: auditlog #: model:ir.model.fields,help:auditlog.field_auditlog_rule__model_id msgid "Select model for which you want to generate log." -msgstr "Seleziona modello per il quale vuoi generare un log." +msgstr "Seleziona modello per il quale si vuole generare un log." #. module: auditlog #: model:ir.model.fields,help:auditlog.field_auditlog_rule__capture_record msgid "Select this if you want to keep track of Unlink Record" -msgstr "Seleziona se vuoi seguire \"scollega record\"" +msgstr "Selezionare se si vuole tenere traccia di Unlink Record" #. module: auditlog #: model:ir.model.fields,help:auditlog.field_auditlog_rule__log_create @@ -437,8 +437,8 @@ msgid "" "Select this if you want to keep track of creation on any record of the model " "of this rule" msgstr "" -"Seleziona se vuoi tenere traccia della creazione di qualsiasi record del " -"modello di questa regola" +"Selezionare se si vuole tenere traccia della creazione di qualsiasi record " +"del modello di questa regola" #. module: auditlog #: model:ir.model.fields,help:auditlog.field_auditlog_rule__log_unlink @@ -446,8 +446,8 @@ msgid "" "Select this if you want to keep track of deletion on any record of the model " "of this rule" msgstr "" -"Seleziona se vuoi tenere traccia dell'eliminazione di qualsiasi record del " -"modello di questa regola" +"Selezionare se si vuole tenere traccia dell'eliminazione di qualsiasi record " +"del modello di questa regola" #. module: auditlog #: model:ir.model.fields,help:auditlog.field_auditlog_rule__log_write @@ -455,8 +455,8 @@ msgid "" "Select this if you want to keep track of modification on any record of the " "model of this rule" msgstr "" -"Seleziona se vuoi tenere traccia della modifica di qualsiasi record del " -"modello di questa regola" +"Selezionare se si vuole tenere traccia della modifica di qualsiasi record " +"del modello di questa regola" #. module: auditlog #: model:ir.model.fields,help:auditlog.field_auditlog_rule__log_read @@ -464,8 +464,8 @@ msgid "" "Select this if you want to keep track of read/open on any record of the " "model of this rule" msgstr "" -"Seleziona se vuoi tenere traccia della lettura/apertura di qualsiasi record " -"del modello di questa regola" +"Selezionare se si vuole tenere traccia della lettura/apertura di qualsiasi " +"record del modello di questa regola" #. module: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_http_request__http_session_id From 59e30c47c8e730f01b20b65fa22b083ee66dbde1 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Thu, 18 Apr 2024 17:36:04 +0000 Subject: [PATCH 018/232] Added translation using Weblate (Spanish) --- profiler/i18n/es.po | 404 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 404 insertions(+) create mode 100644 profiler/i18n/es.po diff --git a/profiler/i18n/es.po b/profiler/i18n/es.po new file mode 100644 index 00000000000..af68640c843 --- /dev/null +++ b/profiler/i18n/es.po @@ -0,0 +1,404 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * profiler +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: profiler +#: model:ir.model.fields.selection,name:profiler.selection__profiler_profile__python_method__full +msgid "All activity" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: profiler +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "Attachments" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__cprof_ctpercall +msgid "CT per call" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__cprof_ncalls +msgid "Calls" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__changeset_change_ids +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__changeset_change_ids +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__changeset_ids +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__changeset_ids +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: profiler +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "Clear" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__user_context +msgid "Context" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__count_pending_changeset_changes +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__count_pending_changeset_changes +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__count_pending_changesets +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__count_pending_changesets +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__create_uid +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__create_uid +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__create_uid +msgid "Created by" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__create_date +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__create_date +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__create_date +msgid "Created on" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__cprof_cumtime +msgid "Cumulative time" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__date_finished +msgid "Date Finished" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__date_started +msgid "Date Started" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__description +msgid "Description" +msgstr "" + +#. module: profiler +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "Disable" +msgstr "" + +#. module: profiler +#: model:ir.model.fields.selection,name:profiler.selection__profiler_profile__state__disabled +msgid "Disabled" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__display_name +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__display_name +msgid "Display Name" +msgstr "" + +#. module: profiler +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "Enable" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__enable_postgresql +msgid "Enable Postgresql" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__enable_python +msgid "Enable Python" +msgstr "" + +#. module: profiler +#: model:ir.model.fields.selection,name:profiler.selection__profiler_profile__state__enabled +msgid "Enabled" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__cprof_fname +msgid "Filename:lineno(method)" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,help:profiler.field_profiler_profile__pg_log_path +msgid "Getting the path to the logger" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__py_request_lines +msgid "HTTP requests" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__id +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__id +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__id +msgid "ID" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,help:profiler.field_profiler_profile__use_py_index +msgid "" +"Index human-readable cProfile attachment.\n" +"To access this report, you must open the cprofile attachment view using debug mode.\n" +"Warning: Uses more resources." +msgstr "" + +#. module: profiler +#: model:ir.model.fields,help:profiler.field_profiler_profile__enable_postgresql +msgid "It requires postgresql server logs seudo-enabled" +msgstr "" + +#. module: profiler +#: code:addons/profiler/models/profiler_profile.py:0 +#, python-format +msgid "" +"It's not possible change parameter.\n" +"%s\n" +"Please, disable postgresql or re-enable it in order to read the instructions" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile____last_update +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line____last_update +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__write_uid +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__write_uid +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__write_date +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__write_date +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__write_date +msgid "Last Updated on" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__name +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__display_name +msgid "Name" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__py_stats_lines +msgid "PY Stats Lines" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__name +msgid "Path" +msgstr "" + +#. module: profiler +#: model:ir.model.fields.selection,name:profiler.selection__profiler_profile__python_method__request +msgid "Per HTTP request" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__pg_log_path +msgid "Pg Log Path" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__pg_remote +msgid "Pg Remote" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__pg_stats_most_frequent_html +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "PostgreSQL Stats - Most Frequent" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__pg_stats_slowest_html +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "PostgreSQL Stats - Slowest" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__pg_stats_time_consuming_html +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "PostgreSQL Stats - Time Consuming" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__profile_id +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__profile_id +#: model:ir.ui.menu,name:profiler.menu_profile +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "Profile" +msgstr "" + +#. module: profiler +#: model:ir.actions.act_window,name:profiler.profile_action_window +#: model:ir.ui.menu,name:profiler.menu_profiler +#: model:ir.ui.menu,name:profiler.menu_profiler_root +msgid "Profiler" +msgstr "" + +#. module: profiler +#: model:ir.model,name:profiler.model_profiler_profile_request_line +msgid "Profiler HTTP request Line to save cProfiling results" +msgstr "" + +#. module: profiler +#: model:ir.model,name:profiler.model_profiler_profile +msgid "Profiler Profile" +msgstr "" + +#. module: profiler +#: model:ir.model,name:profiler.model_profiler_profile_python_line +msgid "Profiler Python Line to save cProfiling results" +msgstr "" + +#. module: profiler +#: model:ir.actions.act_window,name:profiler.action_view_profiling_lines +msgid "Profiling lines" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__python_method +msgid "Python Method" +msgstr "" + +#. module: profiler +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "Python Stats - Profiling Lines" +msgstr "" + +#. module: profiler +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "Python Stats - Requests" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__cprof_nrcalls +msgid "Recursive Calls" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__root_url +msgid "Root URL" +msgstr "" + +#. module: profiler +#: model_terms:ir.ui.view,arch_db:profiler.view_profiling_lines_search +msgid "Search Profiling lines" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__session +msgid "Session" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__smart_search +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__smart_search +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__smart_search +msgid "Smart Search" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__state +msgid "State" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__total_time +msgid "Time in ms" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__cprof_ttpercall +msgid "Time per call" +msgstr "" + +#. module: profiler +#: code:addons/profiler/models/profiler_profile.py:0 +#, python-format +msgid "" +"To profile all activity, start the odoo server using the parameter '--" +"workers=0'" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__cprof_tottime +msgid "Total time" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__use_py_index +msgid "Use Py Index" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__user_id +msgid "User" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__user_can_see_changeset +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__user_can_see_changeset +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" + +#. module: profiler +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "View attachment" +msgstr "" + +#. module: profiler +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "View profiling lines" +msgstr "" + +#. module: profiler +#: model:ir.model.fields.selection,name:profiler.selection__profiler_profile_request_line__attachment_id__ir_attachment +msgid "ir.attachment" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__attachment_id +msgid "pStats file" +msgstr "" From 77798e49590b5939365255a6588c871a4744a2f6 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Thu, 18 Apr 2024 18:09:09 +0000 Subject: [PATCH 019/232] Added translation using Weblate (Spanish) --- excel_import_export/i18n/es.po | 1335 ++++++++++++++++++++++++++++++++ 1 file changed, 1335 insertions(+) create mode 100644 excel_import_export/i18n/es.po diff --git a/excel_import_export/i18n/es.po b/excel_import_export/i18n/es.po new file mode 100644 index 00000000000..0f20c752c25 --- /dev/null +++ b/excel_import_export/i18n/es.po @@ -0,0 +1,1335 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * excel_import_export +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "${object.post_import_do_something()}" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/common.py:0 +#: code:addons/excel_import_export/models/common.py:0 +#, python-format +msgid "'%s' sheet not found" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,help:excel_import_export.field_export_xlsx_wizard__state +#: model:ir.model.fields,help:excel_import_export.field_import_xlsx_wizard__state +#: model:ir.model.fields,help:excel_import_export.field_xlsx_report__state +msgid "" +"* Choose: wizard show in user selection mode\n" +"* Get: wizard show results from user action" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Cell: Location of data in excel sheet (e.g., A1, B1, ...)" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "" +"Continue: If not selected, start rolling with specified first row " +"cells. If selected, continue from previous one2many field" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "" +"Extend: If selected, extend one row after one data row in order to " +"preserve the sum line" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "" +"Field Cond.: Python code in ${...} to manipulate field " +"value, e.g., if field = product_id, value will represent " +"product object, e.g., ${value and value.uom_id.name or \"\"}" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "" +"Field Cond.: Python code in ${...} value will represent " +"data from excel cell, e.g., if A1 = 'ABC', value will represent" +" 'ABC', e.g., ${value == \"ABC\" and \"X\" or \"Y\"} thus can " +"change from cell value to other value for import." +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Field: Field of the record to be imported to, e.g., product_id" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "" +"Field: Field of the record, e.g., product_id.uom_id.name. They are " +"orm compliant." +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "" +"No Delete: By default, all one2many lines will be deleted before " +"import. Select this, to avoid deletion" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Note:" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "" +"Row Field: Use _HEAD_ for the record itself, and one2many field " +"(e.g., line_ids) for row data" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "" +"Row Field: Use _HEAD_ for the record itself, and one2many field for " +"row data, e.g., order_line, line_ids[max_row] where " +"[max_row] is optional number of rows to import" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Sheet: Name (e.g., Sheet 1) or index (e.g., 1) of excel sheet" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "" +"Sheet: Name (e.g., Sheet 1) or index (e.g., 1) of excel sheet to " +"export data to" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "" +"Style w/Cond.: Conditional style by python code in " +"#?...?, e.g., apply style for specific product, " +"#?value.name == \"ABC\" and #{font=bold;fill=red} or None?" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "" +"Style: Default style in #{...} that apply to each cell, " +"e.g., #{align=left;style=text}. See module's style.py " +"for available styles." +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Sum: Add sum value on last row, @{sum}" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "" +"\n" +"{\n" +" '__EXPORT__': {\n" +" 'sale_order': { # sheet can be name (string) or index (integer)\n" +" '_HEAD_': {\n" +" 'B2': 'partner_id.display_name${value or \"\"}#{align=left;style=text}',\n" +" 'B3': 'name${value or \"\"}#{align=left;style=text}',\n" +" },\n" +" 'line_ids': { # prefix with _CONT_ to continue rows from previous row field\n" +" 'A6': 'product_id.display_name${value or \"\"}#{style=text}',\n" +" 'C6': 'product_uom_qty${value or 0}#{style=number}',\n" +" 'E6': 'price_unit${value or 0}#{style=number}',\n" +" 'G6': 'price_subtotal${value or 0}#{style=number}',\n" +" },\n" +" },\n" +" },\n" +" '__IMPORT__': {\n" +" 'sale_order': { # sheet can be name (string) or index (integer)\n" +" 'order_line': { # prefix with _NODEL_ to not delete rows before import\n" +" 'A6': 'product_id',\n" +" 'C6': 'product_uom_qty',\n" +" 'E6': 'price_unit${value > 0 and value or 0}',\n" +" },\n" +" },\n" +" },\n" +" '__POST_IMPORT__': '${object.post_import_do_something()}',\n" +"}\n" +"\n" +" " +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "date, datetime, time: some useful python classes" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "model: active model, e.g., self.env['my.model']" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "" +"object: record object or line object depends on Row " +"Field" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "value: value from Cell" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "value: value from Field" +msgstr "" + +#. module: excel_import_export +#. openerp-web +#: code:addons/excel_import_export/static/src/js/report/action_manager_report.js:0 +#, python-format +msgid "" +"A popup window with your report was blocked. You may need to change your " +"browser settings to allow popup windows for this page." +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Add Export Action" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Add Import Action" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Add Report Menu" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Add data column" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Add header section" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Add new report menu at root level" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Add row section" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Add sheet section" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_report__choose_template +msgid "Allow Choose Template" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__assigned_attachment_ids +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__assigned_attachment_ids +#: model:ir.model.fields,field_description:excel_import_export.field_ir_actions_report__assigned_attachment_ids +#: model:ir.model.fields,field_description:excel_import_export.field_report_xlsx_wizard__assigned_attachment_ids +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_export__assigned_attachment_ids +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_import__assigned_attachment_ids +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_report__assigned_attachment_ids +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_styles__assigned_attachment_ids +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__assigned_attachment_ids +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__assigned_attachment_ids +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: excel_import_export +#: model:ir.model,name:excel_import_export.model_xlsx_styles +msgid "Available styles for excel" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,help:excel_import_export.field_xlsx_template_import__no_delete +msgid "" +"By default, all rows will be deleted before import.\n" +"Select No Delete, otherwise" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__csv_delimiter +msgid "CSV Delimiter" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__csv_extension +msgid "CSV File Extension" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__csv_quote +msgid "CSV Quoting" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,help:excel_import_export.field_xlsx_template__post_import_hook +msgid "" +"Call a function after successful import, i.e.,\n" +"${object.post_import_do_something()}" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.export_xlsx_wizard +#: model_terms:ir.ui.view,arch_db:excel_import_export.import_xlsx_wizard +#: model_terms:ir.ui.view,arch_db:excel_import_export.report_xlsx_wizard +#: model_terms:ir.ui.view,arch_db:excel_import_export.xlsx_report_view +msgid "Cancel" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__excel_cell +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__excel_cell +msgid "Cell" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__changeset_change_ids +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__changeset_change_ids +#: model:ir.model.fields,field_description:excel_import_export.field_ir_actions_report__changeset_change_ids +#: model:ir.model.fields,field_description:excel_import_export.field_report_xlsx_wizard__changeset_change_ids +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_export__changeset_change_ids +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_import__changeset_change_ids +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_report__changeset_change_ids +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_styles__changeset_change_ids +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__changeset_change_ids +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__changeset_change_ids +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__changeset_ids +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__changeset_ids +#: model:ir.model.fields,field_description:excel_import_export.field_ir_actions_report__changeset_ids +#: model:ir.model.fields,field_description:excel_import_export.field_report_xlsx_wizard__changeset_ids +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_export__changeset_ids +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_import__changeset_ids +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_report__changeset_ids +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_styles__changeset_ids +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__changeset_ids +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__changeset_ids +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields.selection,name:excel_import_export.selection__export_xlsx_wizard__state__choose +#: model:ir.model.fields.selection,name:excel_import_export.selection__import_xlsx_wizard__state__choose +#: model:ir.model.fields.selection,name:excel_import_export.selection__report_crm_lead__state__choose +#: model:ir.model.fields.selection,name:excel_import_export.selection__report_sale_order__state__choose +#: model:ir.model.fields.selection,name:excel_import_export.selection__xlsx_report__state__choose +msgid "Choose" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.xlsx_report_view +msgid "Choose Template:" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.actions.act_window,help:excel_import_export.action_xlsx_template +msgid "Click to create a XLSX Template Object." +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.export_xlsx_wizard +#: model_terms:ir.ui.view,arch_db:excel_import_export.import_xlsx_wizard +#: model_terms:ir.ui.view,arch_db:excel_import_export.xlsx_report_view +msgid "Close" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.export_xlsx_wizard +msgid "Complete Prepare File (.xlsx)" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.xlsx_report_view +msgid "Complete Prepare Report (.xlsx)" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__is_cont +msgid "Continue" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,help:excel_import_export.field_xlsx_template_export__is_cont +msgid "Continue data rows after last data row" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,help:excel_import_export.field_xlsx_template__to_csv +msgid "Convert file into CSV format on export" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__to_csv +msgid "Convert to CSV?" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__count_pending_changeset_changes +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__count_pending_changeset_changes +#: model:ir.model.fields,field_description:excel_import_export.field_ir_actions_report__count_pending_changeset_changes +#: model:ir.model.fields,field_description:excel_import_export.field_report_xlsx_wizard__count_pending_changeset_changes +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_export__count_pending_changeset_changes +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_import__count_pending_changeset_changes +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_report__count_pending_changeset_changes +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_styles__count_pending_changeset_changes +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__count_pending_changeset_changes +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__count_pending_changeset_changes +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__count_pending_changesets +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__count_pending_changesets +#: model:ir.model.fields,field_description:excel_import_export.field_ir_actions_report__count_pending_changesets +#: model:ir.model.fields,field_description:excel_import_export.field_report_xlsx_wizard__count_pending_changesets +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_export__count_pending_changesets +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_import__count_pending_changesets +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_report__count_pending_changesets +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_styles__count_pending_changesets +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__count_pending_changesets +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__count_pending_changesets +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__create_uid +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__create_uid +#: model:ir.model.fields,field_description:excel_import_export.field_report_xlsx_wizard__create_uid +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__create_uid +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__create_uid +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__create_uid +msgid "Created by" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__create_date +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__create_date +#: model:ir.model.fields,field_description:excel_import_export.field_report_xlsx_wizard__create_date +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__create_date +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__create_date +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__create_date +msgid "Created on" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields.selection,name:excel_import_export.selection__xlsx_template_export__section_type__data +#: model:ir.model.fields.selection,name:excel_import_export.selection__xlsx_template_import__section_type__data +msgid "Data" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__style +msgid "Default Style" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__description +msgid "Description" +msgstr "" + +#. module: excel_import_export +#: model:ir.model,name:excel_import_export.model_xlsx_template_export +msgid "Detailed of how excel data will be exported" +msgstr "" + +#. module: excel_import_export +#: model:ir.model,name:excel_import_export.model_xlsx_template_import +msgid "Detailed of how excel data will be imported" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__display_name +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__display_name +#: model:ir.model.fields,field_description:excel_import_export.field_ir_actions_report__display_name +#: model:ir.model.fields,field_description:excel_import_export.field_report_xlsx_wizard__display_name +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_export__display_name +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_import__display_name +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_report__display_name +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_styles__display_name +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__display_name +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__display_name +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__display_name +msgid "Display Name" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/wizard/import_xlsx_wizard.py:0 +#, python-format +msgid "Document must be in %s states" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/wizard/import_xlsx_wizard.py:0 +#, python-format +msgid "Document must be in draft state" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__use_report_wizard +msgid "Easy Reporting" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/xlsx_import.py:0 +#, python-format +msgid "" +"Error deleting data\n" +"%s" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/xlsx_export.py:0 +#, python-format +msgid "" +"Error filling data into Excel sheets\n" +"%s" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/xlsx_import.py:0 +#, python-format +msgid "Error importing data" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields.selection,name:excel_import_export.selection__ir_actions_report__report_type__excel +msgid "Excel" +msgstr "" + +#. module: excel_import_export +#: model:ir.model,name:excel_import_export.model_xlsx_export +msgid "Excel Export AbstractModel" +msgstr "" + +#. module: excel_import_export +#: model:ir.model,name:excel_import_export.model_xlsx_import +msgid "Excel Import AbstractModel" +msgstr "" + +#. module: excel_import_export +#: model:ir.ui.menu,name:excel_import_export.menu_excel_import_export +msgid "Excel Import/Export" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.xlsx_report_view +msgid "Excel Report" +msgstr "" + +#. module: excel_import_export +#: model:ir.model,name:excel_import_export.model_xlsx_report +msgid "Excel Report AbstractModel" +msgstr "" + +#. module: excel_import_export +#: model:ir.model,name:excel_import_export.model_xlsx_template +msgid "Excel template file and instruction" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.report_xlsx_wizard +msgid "Execute" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.xlsx_report_view +msgid "Execute Report" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__export_ids +#: model_terms:ir.ui.view,arch_db:excel_import_export.export_xlsx_wizard +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Export" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__export_action_id +msgid "Export Action" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "" +"Export Instruction is how to write data from an active data record to specified cells in excel sheet.\n" +" For example, an active record can be a sale order that user want to export.\n" +" The record itself will be mapped to the header part of excel sheet. The record can contain multiple one2many fields, which will be written as data lines.\n" +" You can look at following instruction as Excel Sheet(s), each with 1 header section (_HEAD_) and multiple row sections (one2many fields)." +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__is_extend +msgid "Extend" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,help:excel_import_export.field_xlsx_template_export__is_extend +msgid "Extend a blank row after filling each record, to extend the footer" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__field_name +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__field_name +msgid "Field" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__field_cond +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__field_cond +msgid "Field Cond." +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__data +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_report__data +msgid "File" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/wizard/import_xlsx_wizard.py:0 +#, python-format +msgid "File \"%s\" not found in template, %s." +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__datas +msgid "File Content" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__name +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_report__name +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__fname +msgid "File Name" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Following are more explaination on each column:" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "" +"Following show very simple example of the dictionary construct.\n" +" Normally, this will be within templates.xml file within addons." +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "" +"For code block ${...} and #?...?, following object" +" are available," +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "For code block ${...}, following object are available," +msgstr "" + +#. module: excel_import_export +#: model:ir.model,name:excel_import_export.model_report_xlsx_wizard +msgid "Generic Report Wizard, used with template reporting option" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields.selection,name:excel_import_export.selection__export_xlsx_wizard__state__get +#: model:ir.model.fields.selection,name:excel_import_export.selection__import_xlsx_wizard__state__get +#: model:ir.model.fields.selection,name:excel_import_export.selection__report_crm_lead__state__get +#: model:ir.model.fields.selection,name:excel_import_export.selection__report_sale_order__state__get +#: model:ir.model.fields.selection,name:excel_import_export.selection__xlsx_report__state__get +msgid "Get" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.export_xlsx_wizard +msgid "Get Import Template" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__gname +msgid "Group Name" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields.selection,name:excel_import_export.selection__xlsx_template_export__section_type__head +#: model:ir.model.fields.selection,name:excel_import_export.selection__xlsx_template_import__section_type__head +msgid "Head" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Help with Export Instruction" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Help with Import Instruction" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.export_xlsx_wizard +msgid "Here is the exported file:" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.xlsx_report_view +msgid "Here is the report file:" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__id +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__id +#: model:ir.model.fields,field_description:excel_import_export.field_ir_actions_report__id +#: model:ir.model.fields,field_description:excel_import_export.field_report_xlsx_wizard__id +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_export__id +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_import__id +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_report__id +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_styles__id +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__id +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__id +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__id +msgid "ID" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,help:excel_import_export.field_xlsx_template_export__row_field +#: model:ir.model.fields,help:excel_import_export.field_xlsx_template_import__row_field +msgid "If section type is row, this field is required" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/xlsx_export.py:0 +#, python-format +msgid "" +"IllegalCharacterError\n" +"Some exporting data contain special character\n" +"%s" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__import_ids +#: model_terms:ir.ui.view,arch_db:excel_import_export.import_xlsx_wizard +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Import" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__import_action_id +msgid "Import Action" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/wizard/import_xlsx_wizard.py:0 +#, python-format +msgid "Import Excel" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__import_file +msgid "Import File (*.xlsx)" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.import_xlsx_wizard +msgid "Import File Template" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__attachment_ids +msgid "Import File(s) (*.xlsx)" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "" +"Import Instruction is how to get data from excel sheet and write them to an active record.\n" +" For example, user create a sales order document, and want to import order lines from excel.\n" +" In reverse direction to exporting, data from excel's cells will be mapped to record fields during import.\n" +" Cells can be mapped to record in header section (_HEAD_) and data table can be mapped to row section (one2many field, begins from specifed cells." +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.import_xlsx_wizard +msgid "Import Successful!" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "" +"In header section part, map data fields (e.g., number, partner_id.name) into" +" cells (e.g., B1, B2)." +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "" +"In header section, map cells (e.g., B1, B2) into data fields (e.g., number, " +"partner_id)." +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "" +"In row section, data list will be rolled out from one2many row field (e.g., " +"order_line), and map data field (i.e., product_id.name, uom_id.name, qty) " +"into the first row cells to start rolling (e.g., A6, B6, C6)." +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "" +"In row section, data table from excel can be imported to one2many row field " +"(e.g., order_line) by mapping cells on first row onwards (e.g., A6, B6, C6) " +"to fields (e.g., product_id, uom_id, qty)" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Input Instruction (Dict.)" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__instruction +msgid "Instruction" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__input_instruction +msgid "Instruction (Input)" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,help:excel_import_export.field_xlsx_template__instruction +msgid "Instruction on how to import/export, prepared by system." +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/xlsx_import.py:0 +#, python-format +msgid "Invalid declaration, %s has no valid field type" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/xlsx_import.py:0 +#, python-format +msgid "Invalid file style, only .xls or .xlsx file allowed" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/common.py:0 +#, python-format +msgid "Invalid style type %s" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/common.py:0 +#, python-format +msgid "Invalid value {} for style type {}" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/xlsx_export.py:0 +#, python-format +msgid "" +"Key Error\n" +"%s" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard____last_update +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard____last_update +#: model:ir.model.fields,field_description:excel_import_export.field_ir_actions_report____last_update +#: model:ir.model.fields,field_description:excel_import_export.field_report_xlsx_wizard____last_update +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_export____last_update +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_import____last_update +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_report____last_update +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_styles____last_update +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template____last_update +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export____last_update +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import____last_update +msgid "Last Modified on" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__write_uid +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__write_uid +#: model:ir.model.fields,field_description:excel_import_export.field_report_xlsx_wizard__write_uid +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__write_uid +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__write_uid +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__write_date +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__write_date +#: model:ir.model.fields,field_description:excel_import_export.field_report_xlsx_wizard__write_date +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__write_date +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__write_date +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__write_date +msgid "Last Updated on" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,help:excel_import_export.field_xlsx_template__gname +msgid "" +"Multiple template of same model, can belong to same group,\n" +"result in multiple template selection" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__no_delete +msgid "No Delete" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/xlsx_import.py:0 +#, python-format +msgid "No data_dict['__IMPORT__'] in template %s" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/xlsx_template.py:0 +#, python-format +msgid "No file content!" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/xlsx_report.py:0 +#: code:addons/excel_import_export/wizard/export_xlsx_wizard.py:0 +#, python-format +msgid "No file in %s" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/xlsx_report.py:0 +#: code:addons/excel_import_export/wizard/export_xlsx_wizard.py:0 +#: code:addons/excel_import_export/wizard/import_xlsx_wizard.py:0 +#, python-format +msgid "No template found" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/xlsx_export.py:0 +#, python-format +msgid "Not enough worksheets" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/ir_report.py:0 +#, python-format +msgid "Only one id is allowed for excel_import_export" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,help:excel_import_export.field_xlsx_template__redirect_action +msgid "Optional action, redirection after finish import operation" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,help:excel_import_export.field_xlsx_template__csv_extension +msgid "Optional for CSV, default is .csv" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,help:excel_import_export.field_xlsx_template__csv_delimiter +msgid "Optional for CSV, default is comma." +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,help:excel_import_export.field_xlsx_template__csv_quote +msgid "Optional for CSV, default is full quoting." +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/wizard/import_xlsx_wizard.py:0 +#, python-format +msgid "Please select Excel file to import" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/common.py:0 +#: code:addons/excel_import_export/models/common.py:0 +#, python-format +msgid "Position %s is not valid" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__post_import_hook +msgid "Post Import Function Hook" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Post Import Hook" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/xlsx_import.py:0 +#, python-format +msgid "" +"Post import operation error\n" +"%s" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/xlsx_export.py:0 +#, python-format +msgid "Records in %s exceed max records allowed" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Remove Export Action" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Remove Import Action" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Remove Report Menu" +msgstr "" + +#. module: excel_import_export +#: model:ir.model,name:excel_import_export.model_ir_actions_report +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__report_action_id +msgid "Report Action" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__report_menu_id +msgid "Report Menu" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__result_model_id +msgid "Report Model" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_ir_actions_report__report_type +msgid "Report Type" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_report_xlsx_wizard__res_model +msgid "Res Model" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__res_id +msgid "Resource ID" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__res_ids +msgid "Resource IDs" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__res_model +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__res_model +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__res_model +msgid "Resource Model" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__result_field +msgid "Result Field" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__redirect_action +msgid "Return Action" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields.selection,name:excel_import_export.selection__xlsx_template_export__section_type__row +#: model:ir.model.fields.selection,name:excel_import_export.selection__xlsx_template_import__section_type__row +msgid "Row" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__row_field +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__row_field +msgid "Row Field" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__datas +msgid "Sample" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "Sample Input Instruction as Dictionary" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_report_xlsx_wizard__domain +msgid "Search Criterias" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__section_type +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__section_type +msgid "Section Type" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__sequence +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__sequence +msgid "Sequence" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/wizard/import_xlsx_wizard.py:0 +#, python-format +msgid "Set Templates" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__sheet +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__sheet +#: model:ir.model.fields.selection,name:excel_import_export.selection__xlsx_template_export__section_type__sheet +#: model:ir.model.fields.selection,name:excel_import_export.selection__xlsx_template_import__section_type__sheet +msgid "Sheet" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/xlsx_export.py:0 +#: code:addons/excel_import_export/models/xlsx_import.py:0 +#, python-format +msgid "Sheet %s not found" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__show_instruction +msgid "Show Output" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__smart_search +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__smart_search +#: model:ir.model.fields,field_description:excel_import_export.field_ir_actions_report__smart_search +#: model:ir.model.fields,field_description:excel_import_export.field_report_xlsx_wizard__smart_search +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_export__smart_search +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_import__smart_search +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_report__smart_search +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_styles__smart_search +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__smart_search +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__smart_search +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__smart_search +msgid "Smart Search" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__state +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__state +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_report__state +msgid "State" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__style_cond +msgid "Style w/Cond." +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__is_sum +msgid "Sum" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__template_id +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__template_id +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_report__template_id +msgid "Template" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/ir_report.py:0 +#, python-format +msgid "Template %s on model %s is not unique!" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__fname +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__name +msgid "Template Name" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/common.py:0 +#, python-format +msgid "" +"Template with CSV Quoting = False, data must not contain the same char as " +"delimiter -> \"%s\"" +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/xlsx_export.py:0 +#: code:addons/excel_import_export/models/xlsx_import.py:0 +#, python-format +msgid "Template's model mismatch" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,help:excel_import_export.field_xlsx_template__res_model +msgid "The database object this attachment will be attached to." +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/models/xlsx_template.py:0 +#, python-format +msgid "The selected redirect action is not for model %s" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,help:excel_import_export.field_ir_actions_report__report_type +msgid "" +"The type of the report that will be rendered, each one having its own " +"rendering method. HTML means the report will be opened directly in your " +"browser PDF means the report will be rendered using Wkhtmltopdf and " +"downloaded by the user." +msgstr "" + +#. module: excel_import_export +#: code:addons/excel_import_export/wizard/import_xlsx_wizard.py:0 +#, python-format +msgid "This import action is not usable in this document context" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,help:excel_import_export.field_xlsx_template__show_instruction +msgid "" +"This is the computed instruction based on tab Import/Export,\n" +"to be used by xlsx import/export engine" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,help:excel_import_export.field_xlsx_template__input_instruction +msgid "This is used to construct instruction in tab Import/Export" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,help:excel_import_export.field_xlsx_template__use_report_wizard +msgid "Use common report wizard model, instead of create specific model" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__user_can_see_changeset +#: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__user_can_see_changeset +#: model:ir.model.fields,field_description:excel_import_export.field_ir_actions_report__user_can_see_changeset +#: model:ir.model.fields,field_description:excel_import_export.field_report_xlsx_wizard__user_can_see_changeset +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_export__user_can_see_changeset +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_import__user_can_see_changeset +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_report__user_can_see_changeset +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_styles__user_can_see_changeset +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__user_can_see_changeset +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__user_can_see_changeset +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" + +#. module: excel_import_export +#. openerp-web +#: code:addons/excel_import_export/static/src/js/report/action_manager_report.js:0 +#, python-format +msgid "Warning" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,help:excel_import_export.field_xlsx_template__result_model_id +msgid "When use commone wizard, choose the result model" +msgstr "" + +#. module: excel_import_export +#: model:ir.model,name:excel_import_export.model_export_xlsx_wizard +msgid "Wizard for exporting excel" +msgstr "" + +#. module: excel_import_export +#: model:ir.model,name:excel_import_export.model_import_xlsx_wizard +msgid "Wizard for importing excel" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__template_id +#: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__template_id +#: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form +msgid "XLSX Template" +msgstr "" + +#. module: excel_import_export +#: model:ir.actions.act_window,name:excel_import_export.action_xlsx_template +#: model:ir.ui.menu,name:excel_import_export.menu_xlsx_template +msgid "XLSX Templates" +msgstr "" + +#. module: excel_import_export +#: model:ir.model.fields,help:excel_import_export.field_import_xlsx_wizard__attachment_ids +msgid "You can select multiple files to import." +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.export_xlsx_wizard +#: model_terms:ir.ui.view,arch_db:excel_import_export.import_xlsx_wizard +#: model_terms:ir.ui.view,arch_db:excel_import_export.xlsx_report_view +msgid "or" +msgstr "" + +#. module: excel_import_export +#: model_terms:ir.ui.view,arch_db:excel_import_export.import_xlsx_wizard +msgid "⇒ Get Sample Import Template" +msgstr "" From 1581fa694047ababdc9e3b9a0b11f3cb8ae5165f Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Thu, 18 Apr 2024 17:22:03 +0000 Subject: [PATCH 020/232] Translated using Weblate (Spanish) Currently translated at 100.0% (85 of 85 strings) Translation: server-tools-14.0/server-tools-14.0-auto_backup Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-auto_backup/es/ --- auto_backup/i18n/es.po | 81 +++++++++++++++++++++--------------------- 1 file changed, 40 insertions(+), 41 deletions(-) diff --git a/auto_backup/i18n/es.po b/auto_backup/i18n/es.po index 302bb75ace2..6b7abbce589 100644 --- a/auto_backup/i18n/es.po +++ b/auto_backup/i18n/es.po @@ -9,14 +9,15 @@ msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-03 10:08+0000\n" -"PO-Revision-Date: 2018-03-03 10:08+0000\n" -"Last-Translator: OCA Transbot , 2018\n" +"PO-Revision-Date: 2024-04-18 19:36+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" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" #. module: auto_backup #: model_terms:ir.ui.view,arch_db:auto_backup.view_backup_conf_form @@ -31,12 +32,12 @@ msgstr "Ruta absoluta para almacenar las copias de seguridad" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__message_needaction msgid "Action Needed" -msgstr "" +msgstr "Acción Necesaria" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__message_attachment_count msgid "Attachment Count" -msgstr "" +msgstr "Contador de Archivos Adjuntos" #. module: auto_backup #: model:ir.actions.act_window,name:auto_backup.action_backup_conf_form @@ -58,16 +59,15 @@ msgstr "Error de copia de seguridad" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__backup_format -#, fuzzy msgid "Backup Format" -msgstr "Error de copia de seguridad" +msgstr "Formato de copia de Seguridad" #. module: auto_backup #: model:ir.actions.server,name:auto_backup.ir_cron_backup_scheduler_0_ir_actions_server #: model:ir.cron,cron_name:auto_backup.ir_cron_backup_scheduler_0 #: model:ir.cron,name:auto_backup.ir_cron_backup_scheduler_0 msgid "Backup Scheduler" -msgstr "" +msgstr "Planificador de Copia de Seguridad" #. module: auto_backup #: model:mail.message.subtype,name:auto_backup.mail_message_subtype_success @@ -96,18 +96,17 @@ msgstr "No se puede duplicar una configuración." #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__changeset_change_ids msgid "Changeset Changes" -msgstr "" +msgstr "Cambios en el conjunto de cambios" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__changeset_ids msgid "Changesets" -msgstr "" +msgstr "Conjuntos de cambios" #. module: auto_backup #: model:ir.model.fields,help:auto_backup.field_db_backup__backup_format -#, fuzzy msgid "Choose the format for this backup." -msgstr "Elija el método de almacenamiento para esta copia de seguridad." +msgstr "Elija el formato para esta copia de seguridad." #. module: auto_backup #: model:ir.model.fields,help:auto_backup.field_db_backup__method @@ -137,12 +136,12 @@ msgstr "Prueba de conexión correcta!" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__count_pending_changeset_changes msgid "Count Pending Changeset Changes" -msgstr "" +msgstr "Contar los Cambios del Conjunto de Cambios Pendientes" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__count_pending_changesets msgid "Count Pending Changesets" -msgstr "" +msgstr "Contar Conjuntos de Cambios Pendientes" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__create_uid @@ -157,7 +156,7 @@ msgstr "Creado el" #. module: auto_backup #: model:ir.model,name:auto_backup.model_db_backup msgid "Database Backup" -msgstr "" +msgstr "Copia de Seguridad de la base de datos" #. module: auto_backup #: code:addons/auto_backup/models/db_backup.py:0 @@ -171,12 +170,12 @@ msgstr "La copia de seguridad de la base de datos ha fallado." #: model:mail.message.subtype,description:auto_backup.mail_message_subtype_success #, python-format msgid "Database backup succeeded." -msgstr "La copia de seguridad de la base de datos se realizo correctamente" +msgstr "La copia de seguridad de la base de datos se realizo correctamente." #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__days_to_keep msgid "Days To Keep" -msgstr "" +msgstr "Días Para Guardar" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__display_name @@ -195,7 +194,7 @@ msgstr "" #. module: auto_backup #: model_terms:ir.ui.view,arch_db:auto_backup.view_backup_conf_form msgid "Execute backup" -msgstr "" +msgstr "Ejecutar copia de seguridad" #. module: auto_backup #: model:ir.actions.server,name:auto_backup.action_server_backup @@ -210,22 +209,22 @@ msgstr "Carpeta" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__message_follower_ids msgid "Followers" -msgstr "" +msgstr "Seguidores" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__message_channel_ids msgid "Followers (Channels)" -msgstr "" +msgstr "Seguidores/as (Canales)" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__message_partner_ids msgid "Followers (Partners)" -msgstr "" +msgstr "Seguidores (Socios)" #. module: auto_backup #: model_terms:ir.ui.view,arch_db:auto_backup.view_backup_conf_form msgid "Go to Settings / Technical / Automation / Scheduled Actions." -msgstr "Ir a Configuración / Técnico / Automatización / Acciones Planificadas" +msgstr "Ir a Configuración / Técnico / Automatización / Acciones Planificadas." #. module: auto_backup #: model_terms:ir.ui.view,arch_db:auto_backup.view_backup_conf_form @@ -248,17 +247,17 @@ msgstr "ID" #: model:ir.model.fields,help:auto_backup.field_db_backup__message_needaction #: model:ir.model.fields,help:auto_backup.field_db_backup__message_unread msgid "If checked, new messages require your attention." -msgstr "" +msgstr "Si está marcado, nuevos mensajes requieren su atención." #. module: auto_backup #: model:ir.model.fields,help:auto_backup.field_db_backup__message_has_error msgid "If checked, some messages have a delivery error." -msgstr "" +msgstr "Si está marcado algunos mensajes requieren su atención." #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__message_is_follower msgid "Is Follower" -msgstr "" +msgstr "Es Seguidor/a" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup____last_update @@ -283,17 +282,17 @@ msgstr "Disco local" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__message_main_attachment_id msgid "Main Attachment" -msgstr "" +msgstr "Archivo Adjunto Principal" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__message_has_error msgid "Message Delivery error" -msgstr "" +msgstr "Error de Entrega de Mensajes" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__message_ids msgid "Messages" -msgstr "" +msgstr "Mensajes" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__method @@ -308,27 +307,27 @@ msgstr "Nombre" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__message_needaction_counter msgid "Number of Actions" -msgstr "" +msgstr "Número de Acciones" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__message_has_error_counter msgid "Number of errors" -msgstr "" +msgstr "Número de errores" #. module: auto_backup #: model:ir.model.fields,help:auto_backup.field_db_backup__message_needaction_counter msgid "Number of messages which requires an action" -msgstr "" +msgstr "Número de mensajes que requiere una acción" #. module: auto_backup #: model:ir.model.fields,help:auto_backup.field_db_backup__message_has_error_counter msgid "Number of messages with delivery error" -msgstr "" +msgstr "Número de mensajes con errores de envío" #. module: auto_backup #: model:ir.model.fields,help:auto_backup.field_db_backup__message_unread_counter msgid "Number of unread messages" -msgstr "" +msgstr "Número de mensajes sin leer" #. module: auto_backup #: model:ir.model.fields,help:auto_backup.field_db_backup__sftp_private_key @@ -385,7 +384,7 @@ msgstr "" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: auto_backup #: model:ir.model.fields,help:auto_backup.field_db_backup__name @@ -431,12 +430,12 @@ msgstr "" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__message_unread msgid "Unread Messages" -msgstr "" +msgstr "Número de Mensajes no Leídos" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__message_unread_counter msgid "Unread Messages Counter" -msgstr "" +msgstr "Contador de Mensajes no Leídos" #. module: auto_backup #: model_terms:ir.ui.view,arch_db:auto_backup.view_backup_conf_form @@ -450,7 +449,7 @@ msgstr "" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__user_can_see_changeset msgid "User Can See Changeset" -msgstr "" +msgstr "El Usuario Puede Ver el Conjunto de Cambios" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__sftp_user @@ -465,12 +464,12 @@ msgstr "Advertencia:" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__website_message_ids msgid "Website Messages" -msgstr "" +msgstr "Mensajes de Sitio Web" #. module: auto_backup #: model:ir.model.fields,help:auto_backup.field_db_backup__website_message_ids msgid "Website communication history" -msgstr "" +msgstr "Histórico de mensajes del sitio web" #. module: auto_backup #: model_terms:ir.ui.view,arch_db:auto_backup.view_backup_conf_form @@ -480,7 +479,7 @@ msgstr "john" #. module: auto_backup #: model:ir.model.fields.selection,name:auto_backup.selection__db_backup__backup_format__dump msgid "pg_dump custom format (without filestore)" -msgstr "" +msgstr "pg_dump formato personalizado (sin filestore)" #. module: auto_backup #: model_terms:ir.ui.view,arch_db:auto_backup.view_backup_conf_form @@ -490,4 +489,4 @@ msgstr "sftp.example.com" #. module: auto_backup #: model:ir.model.fields.selection,name:auto_backup.selection__db_backup__backup_format__zip msgid "zip (includes filestore)" -msgstr "" +msgstr "zip (incluye filestore)" From 8e9f318385b6d24df48a2f7b2f51939254ed87a4 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Thu, 18 Apr 2024 17:39:51 +0000 Subject: [PATCH 021/232] Translated using Weblate (Spanish) Currently translated at 100.0% (69 of 69 strings) Translation: server-tools-14.0/server-tools-14.0-profiler Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-profiler/es/ --- profiler/i18n/es.po | 145 ++++++++++++++++++++++++-------------------- 1 file changed, 79 insertions(+), 66 deletions(-) diff --git a/profiler/i18n/es.po b/profiler/i18n/es.po index af68640c843..eea19793584 100644 --- a/profiler/i18n/es.po +++ b/profiler/i18n/es.po @@ -6,168 +6,170 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-18 19:36+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: profiler #: model:ir.model.fields.selection,name:profiler.selection__profiler_profile__python_method__full msgid "All activity" -msgstr "" +msgstr "Toda la Actividad" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__attachment_count msgid "Attachment Count" -msgstr "" +msgstr "Contador de Archivos Adjuntos" #. module: profiler #: model_terms:ir.ui.view,arch_db:profiler.view_profile_form msgid "Attachments" -msgstr "" +msgstr "Archivos Adjuntos" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__cprof_ctpercall msgid "CT per call" -msgstr "" +msgstr "TC por llamada" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__cprof_ncalls msgid "Calls" -msgstr "" +msgstr "Llamadas" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__changeset_change_ids #: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__changeset_change_ids #: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__changeset_change_ids msgid "Changeset Changes" -msgstr "" +msgstr "Cambios en el Conjunto de Modificaciones" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__changeset_ids #: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__changeset_ids #: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__changeset_ids msgid "Changesets" -msgstr "" +msgstr "Conjuntos de cambios" #. module: profiler #: model_terms:ir.ui.view,arch_db:profiler.view_profile_form msgid "Clear" -msgstr "" +msgstr "Borrar" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__user_context msgid "Context" -msgstr "" +msgstr "Contexto" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__count_pending_changeset_changes #: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__count_pending_changeset_changes #: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__count_pending_changeset_changes msgid "Count Pending Changeset Changes" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__count_pending_changesets #: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__count_pending_changesets #: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__count_pending_changesets msgid "Count Pending Changesets" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__create_uid #: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__create_uid #: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__create_uid msgid "Created by" -msgstr "" +msgstr "Creado por" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__create_date #: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__create_date #: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__create_date msgid "Created on" -msgstr "" +msgstr "Creado el" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__cprof_cumtime msgid "Cumulative time" -msgstr "" +msgstr "Tiempo acumulado" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__date_finished msgid "Date Finished" -msgstr "" +msgstr "Fecha de Finalización" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__date_started msgid "Date Started" -msgstr "" +msgstr "Fecha de Inicio" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__description msgid "Description" -msgstr "" +msgstr "Descripción" #. module: profiler #: model_terms:ir.ui.view,arch_db:profiler.view_profile_form msgid "Disable" -msgstr "" +msgstr "Deshabilitar" #. module: profiler #: model:ir.model.fields.selection,name:profiler.selection__profiler_profile__state__disabled msgid "Disabled" -msgstr "" +msgstr "Deshabilitado" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__display_name #: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: profiler #: model_terms:ir.ui.view,arch_db:profiler.view_profile_form msgid "Enable" -msgstr "" +msgstr "Habilitar" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__enable_postgresql msgid "Enable Postgresql" -msgstr "" +msgstr "Habilitar Postgresql" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__enable_python msgid "Enable Python" -msgstr "" +msgstr "Habilitar Python" #. module: profiler #: model:ir.model.fields.selection,name:profiler.selection__profiler_profile__state__enabled msgid "Enabled" -msgstr "" +msgstr "Habilitado" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__cprof_fname msgid "Filename:lineno(method)" -msgstr "" +msgstr "Filename:lineno(método)" #. module: profiler #: model:ir.model.fields,help:profiler.field_profiler_profile__pg_log_path msgid "Getting the path to the logger" -msgstr "" +msgstr "Obtener la ruta hacia el registrador" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__py_request_lines msgid "HTTP requests" -msgstr "" +msgstr "Peticiones HTTP" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__id #: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__id #: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__id msgid "ID" -msgstr "" +msgstr "ID" #. module: profiler #: model:ir.model.fields,help:profiler.field_profiler_profile__use_py_index @@ -176,11 +178,15 @@ msgid "" "To access this report, you must open the cprofile attachment view using debug mode.\n" "Warning: Uses more resources." msgstr "" +"Índice de archivos adjuntos de cProfile legibles por humanos.\n" +"Para acceder a este informe, debe abrir la vista de archivos adjuntos de " +"cProfile utilizando el modo de depuración.\n" +"Advertencia: Utiliza más recursos." #. module: profiler #: model:ir.model.fields,help:profiler.field_profiler_profile__enable_postgresql msgid "It requires postgresql server logs seudo-enabled" -msgstr "" +msgstr "Requiere postgresql server logs seudo-enabled" #. module: profiler #: code:addons/profiler/models/profiler_profile.py:0 @@ -190,76 +196,80 @@ msgid "" "%s\n" "Please, disable postgresql or re-enable it in order to read the instructions" msgstr "" +"No es posible cambiar parámetro.\n" +"%s\n" +"Por favor, deshabilite postgresql o vuelva a habilitarlo para poder leer las " +"instrucciones" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile____last_update #: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line____last_update #: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__write_uid #: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__write_uid #: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__write_uid msgid "Last Updated by" -msgstr "" +msgstr "Última Actualización por" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__write_date #: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__write_date #: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__write_date msgid "Last Updated on" -msgstr "" +msgstr "Última Actualización el" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__name #: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__display_name msgid "Name" -msgstr "" +msgstr "Nombre" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__py_stats_lines msgid "PY Stats Lines" -msgstr "" +msgstr "Líneas PY Estadísticas" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__name msgid "Path" -msgstr "" +msgstr "Ruta" #. module: profiler #: model:ir.model.fields.selection,name:profiler.selection__profiler_profile__python_method__request msgid "Per HTTP request" -msgstr "" +msgstr "Por solicitud HTTP" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__pg_log_path msgid "Pg Log Path" -msgstr "" +msgstr "Pg Ruta de Registro" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__pg_remote msgid "Pg Remote" -msgstr "" +msgstr "Pg Remoto" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__pg_stats_most_frequent_html #: model_terms:ir.ui.view,arch_db:profiler.view_profile_form msgid "PostgreSQL Stats - Most Frequent" -msgstr "" +msgstr "Estadísticas PostgreSQL - Más frecuentes" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__pg_stats_slowest_html #: model_terms:ir.ui.view,arch_db:profiler.view_profile_form msgid "PostgreSQL Stats - Slowest" -msgstr "" +msgstr "Estadísticas PostgreSQL - El más lento" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__pg_stats_time_consuming_html #: model_terms:ir.ui.view,arch_db:profiler.view_profile_form msgid "PostgreSQL Stats - Time Consuming" -msgstr "" +msgstr "Estadísticas PostgreSQL - Consumo de tiempo" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__profile_id @@ -267,91 +277,92 @@ msgstr "" #: model:ir.ui.menu,name:profiler.menu_profile #: model_terms:ir.ui.view,arch_db:profiler.view_profile_form msgid "Profile" -msgstr "" +msgstr "Perfil" #. module: profiler #: model:ir.actions.act_window,name:profiler.profile_action_window #: model:ir.ui.menu,name:profiler.menu_profiler #: model:ir.ui.menu,name:profiler.menu_profiler_root msgid "Profiler" -msgstr "" +msgstr "Perfilador" #. module: profiler #: model:ir.model,name:profiler.model_profiler_profile_request_line msgid "Profiler HTTP request Line to save cProfiling results" msgstr "" +"Línea de solicitud HTTP de Profiler para guardar los resultados de cProfiling" #. module: profiler #: model:ir.model,name:profiler.model_profiler_profile msgid "Profiler Profile" -msgstr "" +msgstr "Perfil del Perfilador" #. module: profiler #: model:ir.model,name:profiler.model_profiler_profile_python_line msgid "Profiler Python Line to save cProfiling results" -msgstr "" +msgstr "Profiler Python Línea para guardar los resultados de cProfiling" #. module: profiler #: model:ir.actions.act_window,name:profiler.action_view_profiling_lines msgid "Profiling lines" -msgstr "" +msgstr "Líneas de perfilado" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__python_method msgid "Python Method" -msgstr "" +msgstr "Método Python" #. module: profiler #: model_terms:ir.ui.view,arch_db:profiler.view_profile_form msgid "Python Stats - Profiling Lines" -msgstr "" +msgstr "Python Stats - Líneas de perfilado" #. module: profiler #: model_terms:ir.ui.view,arch_db:profiler.view_profile_form msgid "Python Stats - Requests" -msgstr "" +msgstr "Estadísticas Python - Peticiones" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__cprof_nrcalls msgid "Recursive Calls" -msgstr "" +msgstr "Estadísticas Python - Peticiones" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__root_url msgid "Root URL" -msgstr "" +msgstr "URL raíz" #. module: profiler #: model_terms:ir.ui.view,arch_db:profiler.view_profiling_lines_search msgid "Search Profiling lines" -msgstr "" +msgstr "Buscar Líneas de perfil" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__session msgid "Session" -msgstr "" +msgstr "Sesión" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__smart_search #: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__smart_search #: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__state msgid "State" -msgstr "" +msgstr "Estado" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__total_time msgid "Time in ms" -msgstr "" +msgstr "Tiempo en ms" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__cprof_ttpercall msgid "Time per call" -msgstr "" +msgstr "Tiempo por llamada" #. module: profiler #: code:addons/profiler/models/profiler_profile.py:0 @@ -360,45 +371,47 @@ msgid "" "To profile all activity, start the odoo server using the parameter '--" "workers=0'" msgstr "" +"Para perfilar toda la actividad, inicie el servidor odoo utilizando el " +"parámetro '--workers=0'" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__cprof_tottime msgid "Total time" -msgstr "" +msgstr "Tiempo Total" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__use_py_index msgid "Use Py Index" -msgstr "" +msgstr "Utilizar el Índice Py" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__user_id msgid "User" -msgstr "" +msgstr "Usuario" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile__user_can_see_changeset #: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__user_can_see_changeset #: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__user_can_see_changeset msgid "User Can See Changeset" -msgstr "" +msgstr "El Usuario Puede Ver el Conjunto de Cambios" #. module: profiler #: model_terms:ir.ui.view,arch_db:profiler.view_profile_form msgid "View attachment" -msgstr "" +msgstr "Ver archivo adjunto" #. module: profiler #: model_terms:ir.ui.view,arch_db:profiler.view_profile_form msgid "View profiling lines" -msgstr "" +msgstr "Ver líneas de perfil" #. module: profiler #: model:ir.model.fields.selection,name:profiler.selection__profiler_profile_request_line__attachment_id__ir_attachment msgid "ir.attachment" -msgstr "" +msgstr "ir.attachment" #. module: profiler #: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__attachment_id msgid "pStats file" -msgstr "" +msgstr "Archivo pStats" From 55ee0cd32e50e45ead45588c45196a00d12c6406 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Thu, 18 Apr 2024 18:09:44 +0000 Subject: [PATCH 022/232] Translated using Weblate (Spanish) Currently translated at 25.0% (50 of 200 strings) Translation: server-tools-14.0/server-tools-14.0-excel_import_export Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-excel_import_export/es/ --- excel_import_export/i18n/es.po | 112 ++++++++++++++++++++++----------- 1 file changed, 74 insertions(+), 38 deletions(-) diff --git a/excel_import_export/i18n/es.po b/excel_import_export/i18n/es.po index 0f20c752c25..f6c35a44a98 100644 --- a/excel_import_export/i18n/es.po +++ b/excel_import_export/i18n/es.po @@ -6,25 +6,27 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-18 19:36+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "${object.post_import_do_something()}" -msgstr "" +msgstr "${object.post_import_do_something()}" #. module: excel_import_export #: code:addons/excel_import_export/models/common.py:0 #: code:addons/excel_import_export/models/common.py:0 #, python-format msgid "'%s' sheet not found" -msgstr "" +msgstr "Hoja '%s' no encontrada" #. module: excel_import_export #: model:ir.model.fields,help:excel_import_export.field_export_xlsx_wizard__state @@ -34,11 +36,15 @@ msgid "" "* Choose: wizard show in user selection mode\n" "* Get: wizard show results from user action" msgstr "" +"* Elegir: el asistente muestra el modo de selección del usuario\n" +"* Obtener: el asistente muestra los resultados de la acción del usuario" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Cell: Location of data in excel sheet (e.g., A1, B1, ...)" msgstr "" +"Cell: Ubicación de los datos en la hoja excel (por ejemplo, A1, B1, " +"...)" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -46,6 +52,9 @@ msgid "" "Continue: If not selected, start rolling with specified first row " "cells. If selected, continue from previous one2many field" msgstr "" +"Continuar: Si no se selecciona, empieza a rodar con las celdas " +"especificadas de la primera fila. Si se selecciona, continuar desde el campo " +"one2many anterior" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -53,6 +62,8 @@ msgid "" "Extend: If selected, extend one row after one data row in order to " "preserve the sum line" msgstr "" +"Extender: si se selecciona, extender una fila después de una fila de " +"datos para conservar la línea de suma" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -61,6 +72,10 @@ msgid "" "value, e.g., if field = product_id, value will represent " "product object, e.g., ${value and value.uom_id.name or \"\"}" msgstr "" +"Cond. de campo: código Python en ${...} para manipular " +"el valor del campo, por ejemplo, si campo = product_id, value " +"representará el producto objeto, por ejemplo, ${valor y " +"valor.uom_id.name o \"\"}" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -70,11 +85,17 @@ msgid "" " 'ABC', e.g., ${value == \"ABC\" and \"X\" or \"Y\"} thus can " "change from cell value to other value for import." msgstr "" +"Cond. de campo: el código Python en el valor ${...} " +"representará datos de la celda de Excel, por ejemplo, si A1 = 'ABC', " +"valor representará 'ABC', por ejemplo, ${value == \"ABC\" " +"y \"X\" o \"Y\"}, por lo que puede cambiar del valor de la celda a " +"otro valor para importar." #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Field: Field of the record to be imported to, e.g., product_id" msgstr "" +"Campo: campo del registro al que se importará, por ejemplo, product_id" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -82,6 +103,8 @@ msgid "" "Field: Field of the record, e.g., product_id.uom_id.name. They are " "orm compliant." msgstr "" +"Campo: Campo del registro, por ejemplo, product_id.uom_id.name. " +"Cumplen con las normas." #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -89,11 +112,14 @@ msgid "" "No Delete: By default, all one2many lines will be deleted before " "import. Select this, to avoid deletion" msgstr "" +"Sin eliminar: de forma predeterminada, todas las líneas one2many se " +"eliminarán antes de la importación. Seleccione esto para evitar la " +"eliminación" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Note:" -msgstr "" +msgstr "Nota:" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -101,6 +127,8 @@ msgid "" "Row Field: Use _HEAD_ for the record itself, and one2many field " "(e.g., line_ids) for row data" msgstr "" +"Campo de fila: use _HEAD_ para el registro en sí y un campo one2many (" +"por ejemplo, line_ids) para los datos de la fila" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -109,6 +137,10 @@ msgid "" "row data, e.g., order_line, line_ids[max_row] where " "[max_row] is optional number of rows to import" msgstr "" +"Campo de fila: utilice _HEAD_ para el registro en sí y un campo " +"one2many para los datos de la fila, por ejemplo, order_line, " +"line_ids[max_row] donde [max_row] es un número " +"opcional de filas para importar" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -226,37 +258,37 @@ msgstr "" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Add Report Menu" -msgstr "" +msgstr "Añadir informe Menú" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Add data column" -msgstr "" +msgstr "Añadir columna de datos" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Add header section" -msgstr "" +msgstr "Añadir sección de cabecera" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Add new report menu at root level" -msgstr "" +msgstr "Añadir un nuevo menú de informes en el nivel raíz" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Add row section" -msgstr "" +msgstr "Añadir sección de fila" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Add sheet section" -msgstr "" +msgstr "Añadir sección de hoja" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_report__choose_template msgid "Allow Choose Template" -msgstr "" +msgstr "Permitir Elegir Plantilla" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__assigned_attachment_ids @@ -271,12 +303,12 @@ msgstr "" #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__assigned_attachment_ids #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__assigned_attachment_ids msgid "Assigned Attachments" -msgstr "" +msgstr "Archivos Adjuntos Asignados" #. module: excel_import_export #: model:ir.model,name:excel_import_export.model_xlsx_styles msgid "Available styles for excel" -msgstr "" +msgstr "Estilos disponibles para excel" #. module: excel_import_export #: model:ir.model.fields,help:excel_import_export.field_xlsx_template_import__no_delete @@ -284,21 +316,23 @@ msgid "" "By default, all rows will be deleted before import.\n" "Select No Delete, otherwise" msgstr "" +"Por defecto, todas las filas se borrarán antes de la importación.\n" +"Seleccione No borrar, de lo contrario" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__csv_delimiter msgid "CSV Delimiter" -msgstr "" +msgstr "Delimitador CSV" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__csv_extension msgid "CSV File Extension" -msgstr "" +msgstr "Extensión de archivo CSV" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__csv_quote msgid "CSV Quoting" -msgstr "" +msgstr "Cotización CSV" #. module: excel_import_export #: model:ir.model.fields,help:excel_import_export.field_xlsx_template__post_import_hook @@ -306,6 +340,8 @@ msgid "" "Call a function after successful import, i.e.,\n" "${object.post_import_do_something()}" msgstr "" +"Llamar a una función después de la importación con éxito, es decir,\n" +"${object.post_import_do_something()}" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.export_xlsx_wizard @@ -313,13 +349,13 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:excel_import_export.report_xlsx_wizard #: model_terms:ir.ui.view,arch_db:excel_import_export.xlsx_report_view msgid "Cancel" -msgstr "" +msgstr "Cancelar" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__excel_cell #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__excel_cell msgid "Cell" -msgstr "" +msgstr "Celda" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__changeset_change_ids @@ -334,7 +370,7 @@ msgstr "" #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__changeset_change_ids #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__changeset_change_ids msgid "Changeset Changes" -msgstr "" +msgstr "Cambios en el Conjunto de Modificaciones" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__changeset_ids @@ -349,7 +385,7 @@ msgstr "" #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__changeset_ids #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__changeset_ids msgid "Changesets" -msgstr "" +msgstr "Conjunto de cambios" #. module: excel_import_export #: model:ir.model.fields.selection,name:excel_import_export.selection__export_xlsx_wizard__state__choose @@ -358,54 +394,54 @@ msgstr "" #: model:ir.model.fields.selection,name:excel_import_export.selection__report_sale_order__state__choose #: model:ir.model.fields.selection,name:excel_import_export.selection__xlsx_report__state__choose msgid "Choose" -msgstr "" +msgstr "Elegir" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.xlsx_report_view msgid "Choose Template:" -msgstr "" +msgstr "Elija Plantilla:" #. module: excel_import_export #: model_terms:ir.actions.act_window,help:excel_import_export.action_xlsx_template msgid "Click to create a XLSX Template Object." -msgstr "" +msgstr "Haga clic para crear un objeto de plantilla XLSX." #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.export_xlsx_wizard #: model_terms:ir.ui.view,arch_db:excel_import_export.import_xlsx_wizard #: model_terms:ir.ui.view,arch_db:excel_import_export.xlsx_report_view msgid "Close" -msgstr "" +msgstr "Cerrado" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.export_xlsx_wizard msgid "Complete Prepare File (.xlsx)" -msgstr "" +msgstr "Fichero Preparado Completo (.xlsx)" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.xlsx_report_view msgid "Complete Prepare Report (.xlsx)" -msgstr "" +msgstr "Informe de preparación completo (.xlsx)" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__is_cont msgid "Continue" -msgstr "" +msgstr "Continuar" #. module: excel_import_export #: model:ir.model.fields,help:excel_import_export.field_xlsx_template_export__is_cont msgid "Continue data rows after last data row" -msgstr "" +msgstr "Continuar las filas de datos después de la última fila de datos" #. module: excel_import_export #: model:ir.model.fields,help:excel_import_export.field_xlsx_template__to_csv msgid "Convert file into CSV format on export" -msgstr "" +msgstr "Convertir el archivo en formato CSV al exportarlo" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__to_csv msgid "Convert to CSV?" -msgstr "" +msgstr "¿Convertir a CSV?" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__count_pending_changeset_changes @@ -420,7 +456,7 @@ msgstr "" #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__count_pending_changeset_changes #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__count_pending_changeset_changes msgid "Count Pending Changeset Changes" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__count_pending_changesets @@ -435,7 +471,7 @@ msgstr "" #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__count_pending_changesets #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__count_pending_changesets msgid "Count Pending Changesets" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__create_uid @@ -445,7 +481,7 @@ msgstr "" #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__create_uid #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__create_uid msgid "Created by" -msgstr "" +msgstr "Creado Por" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__create_date @@ -455,28 +491,28 @@ msgstr "" #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__create_date #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__create_date msgid "Created on" -msgstr "" +msgstr "Creado el" #. module: excel_import_export #: model:ir.model.fields.selection,name:excel_import_export.selection__xlsx_template_export__section_type__data #: model:ir.model.fields.selection,name:excel_import_export.selection__xlsx_template_import__section_type__data msgid "Data" -msgstr "" +msgstr "Datos" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__style msgid "Default Style" -msgstr "" +msgstr "Estilo por Defecto" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__description msgid "Description" -msgstr "" +msgstr "Descripción" #. module: excel_import_export #: model:ir.model,name:excel_import_export.model_xlsx_template_export msgid "Detailed of how excel data will be exported" -msgstr "" +msgstr "Detalle de cómo se exportarán los datos de Excel" #. module: excel_import_export #: model:ir.model,name:excel_import_export.model_xlsx_template_import From 4d1a45452bc1505339d5b506e5ef749ee02dfcd9 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Thu, 18 Apr 2024 20:08:06 +0000 Subject: [PATCH 023/232] Added translation using Weblate (Spanish) --- attachment_synchronize/i18n/es.po | 393 ++++++++++++++++++++++++++++++ 1 file changed, 393 insertions(+) create mode 100644 attachment_synchronize/i18n/es.po diff --git a/attachment_synchronize/i18n/es.po b/attachment_synchronize/i18n/es.po new file mode 100644 index 00000000000..285134bd2a8 --- /dev/null +++ b/attachment_synchronize/i18n/es.po @@ -0,0 +1,393 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * attachment_synchronize +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: attachment_synchronize +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form +msgid "Fail" +msgstr "" + +#. module: attachment_synchronize +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form +msgid "Pending" +msgstr "" + +#. module: attachment_synchronize +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form +msgid "Success" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__after_import +msgid "Action after import a file" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__after_import +msgid "After Import" +msgstr "" + +#. module: attachment_synchronize +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form +msgid "Archived" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__assigned_attachment_ids +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__assigned_attachment_ids +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__attachment_ids +msgid "Attachment" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model,name:attachment_synchronize.model_attachment_queue +msgid "Attachment Queue" +msgstr "" + +#. module: attachment_synchronize +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_search +msgid "Attachment Task" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model,name:attachment_synchronize.model_attachment_synchronize_task +msgid "Attachment synchronize task" +msgstr "" + +#. module: attachment_synchronize +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_search +msgid "Attachments" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.actions.act_window,name:attachment_synchronize.action_attachment_export_task +#: model:ir.ui.menu,name:attachment_synchronize.menu_attachment_export_task +msgid "Attachments Export Tasks" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.actions.act_window,name:attachment_synchronize.action_attachment_import_task +#: model:ir.ui.menu,name:attachment_synchronize.menu_attachment_import_task +msgid "Attachments Import Tasks" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.actions.act_window,name:attachment_synchronize.action_attachment_queue_related +msgid "Attachments Queue" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__avoid_duplicated_files +msgid "Avoid importing duplicated files" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__backend_id +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_search +msgid "Backend" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__changeset_change_ids +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__changeset_change_ids +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__changeset_ids +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__changeset_ids +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__count_attachment_done +msgid "Count Attachment Done" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__count_attachment_failed +msgid "Count Attachment Failed" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__count_attachment_pending +msgid "Count Attachment Pending" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__count_pending_changeset_changes +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__count_pending_changeset_changes +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__count_pending_changesets +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__count_pending_changesets +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__create_uid +msgid "Created by" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__create_date +msgid "Created on" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields.selection,name:attachment_synchronize.selection__attachment_synchronize_task__after_import__delete +msgid "Delete" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__display_name +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__display_name +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__display_name +msgid "Display Name" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__active +msgid "Enabled" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields.selection,name:attachment_synchronize.selection__attachment_queue__file_type__export +msgid "Export File (External location)" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields.selection,name:attachment_synchronize.selection__attachment_synchronize_task__method_type__export +msgid "Export Task" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__export_task_count +msgid "Export Tasks" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__failure_emails +msgid "Failure Emails" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__filepath +msgid "File Path" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__file_type +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__file_type +msgid "File Type" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__id +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__id +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__id +msgid "ID" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__avoid_duplicated_files +msgid "" +"If checked, a file will not be imported if an Attachment Queue with the same" +" name already exists." +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields.selection,name:attachment_synchronize.selection__attachment_synchronize_task__method_type__import +msgid "Import Task" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__import_task_count +msgid "Import Tasks" +msgstr "" + +#. module: attachment_synchronize +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form +msgid "Importation" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__move_path +msgid "Imported File will be moved to this path" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__new_name +msgid "" +"Imported File will be renamed to this name.\n" +"New Name can use 'mako' template where 'obj' is the original file's name.\n" +"For instance : ${obj.name}-${obj.create_date}.csv" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue____last_update +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task____last_update +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend____last_update +msgid "Last Modified on" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__write_date +msgid "Last Updated on" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__method_type +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__method_type +msgid "Method Type" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields.selection,name:attachment_synchronize.selection__attachment_synchronize_task__after_import__move +msgid "Move" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields.selection,name:attachment_synchronize.selection__attachment_synchronize_task__after_import__move_rename +msgid "Move & Rename" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__move_path +msgid "Move Path" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__name +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form +msgid "Name" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__new_name +msgid "New Name" +msgstr "" + +#. module: attachment_synchronize +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form +msgid "Notification" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__filepath +msgid "Path to imported/exported files in the Backend" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__pattern +msgid "" +"Pattern used to select the files to be imported following the 'fnmatch' special characters (e.g. '*.txt' to catch all the text files).\n" +"If empty, import all the files found in 'File Path'." +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields.selection,name:attachment_synchronize.selection__attachment_synchronize_task__after_import__rename +msgid "Rename" +msgstr "" + +#. module: attachment_synchronize +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_tree +msgid "Run" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.actions.server,name:attachment_synchronize.cronjob_run_attachment_synchronize_task_import_ir_actions_server +#: model:ir.cron,cron_name:attachment_synchronize.cronjob_run_attachment_synchronize_task_import +#: model:ir.cron,name:attachment_synchronize.cronjob_run_attachment_synchronize_task_import +msgid "Run attachment tasks import" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__pattern +msgid "Selection Pattern" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__smart_search +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__smart_search +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__smart_search +msgid "Smart Search" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model,name:attachment_synchronize.model_storage_backend +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__storage_backend_id +msgid "Storage Backend" +msgstr "" + +#. module: attachment_synchronize +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form +msgid "Storage Location" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__task_id +msgid "Task" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__synchronize_task_ids +msgid "Tasks" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,help:attachment_synchronize.field_attachment_queue__file_type +msgid "" +"The file type determines an import method to be used to parse and transform " +"data before their import in ERP or an export" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__failure_emails +msgid "" +"Used to fill the 'Failure Emails' field in the 'Attachments Queues' related to this task.\n" +"An alert will be sent to these emails if any operation on these Attachment Queue's file type fails." +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__file_type +msgid "" +"Used to fill the 'File Type' field in the imported 'Attachments Queues'.\n" +"Further operations will be realized on these Attachments Queues depending on their 'File Type' value." +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__user_can_see_changeset +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__user_can_see_changeset +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" From f372636e44933585bb51f87b7a708d4dd3513298 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Thu, 18 Apr 2024 20:22:17 +0000 Subject: [PATCH 024/232] Added translation using Weblate (Spanish) --- jsonifier/i18n/es.po | 243 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 243 insertions(+) create mode 100644 jsonifier/i18n/es.po diff --git a/jsonifier/i18n/es.po b/jsonifier/i18n/es.po new file mode 100644 index 00000000000..d0555ccdfdc --- /dev/null +++ b/jsonifier/i18n/es.po @@ -0,0 +1,243 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * jsonifier +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: jsonifier +#: model:ir.model.fields,help:jsonifier.field_ir_exports_line__instance_method_name +msgid "A method defined on the model that takes a record and a field_name" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__active +msgid "Active" +msgstr "" + +#. module: jsonifier +#: model:ir.model,name:jsonifier.model_base +msgid "Base" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,help:jsonifier.field_ir_exports_resolver__python_code +msgid "" +"Compute the result from 'value' by setting the variable 'result'.\n" +"\n" +"For fields resolvers:\n" +":param record: the record\n" +":param name: name of the field\n" +":param value: value of the field\n" +":param field_type: type of the field\n" +"\n" +"For global resolvers:\n" +":param value: JSON dict\n" +":param record: the record\n" +"\n" +"In both types, you can override the final json key.\n" +"To achieve this, simply return a dict like: \n" +"{'result': {'_value': $value, '_json_key': $new_json_key}}" +msgstr "" + +#. module: jsonifier +#: model_terms:ir.ui.view,arch_db:jsonifier.view_ir_exports +msgid "Configuration" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__create_uid +msgid "Created by" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__create_date +msgid "Created on" +msgstr "" + +#. module: jsonifier +#: model:ir.actions.act_window,name:jsonifier.act_ui_exports_resolver_view +#: model:ir.ui.menu,name:jsonifier.ui_exports_resolvers +msgid "Custom Export Resolvers" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports__global_resolver_id +msgid "Custom global resolver" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__resolver_id +msgid "Custom resolver" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports__display_name +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__display_name +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__display_name +msgid "Display Name" +msgstr "" + +#. module: jsonifier +#: code:addons/jsonifier/models/ir_exports_line.py:0 +#, python-format +msgid "Either set a function or a resolver, not both." +msgstr "" + +#. module: jsonifier +#: model:ir.actions.act_window,name:jsonifier.act_ui_exports_view +#: model:ir.ui.menu,name:jsonifier.ui_exports +msgid "Export Fields" +msgstr "" + +#. module: jsonifier +#: model:ir.model,name:jsonifier.model_ir_exports_resolver +msgid "Export Resolver" +msgstr "" + +#. module: jsonifier +#: model:ir.model,name:jsonifier.model_ir_exports +msgid "Exports" +msgstr "" + +#. module: jsonifier +#: model:ir.model,name:jsonifier.model_ir_exports_line +msgid "Exports Line" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields.selection,name:jsonifier.selection__ir_exports_resolver__type__field +msgid "Field" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__instance_method_name +msgid "Function" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields.selection,name:jsonifier.selection__ir_exports_resolver__type__global +msgid "Global" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports__id +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__id +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__id +msgid "ID" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,help:jsonifier.field_ir_exports_line__lang_id +msgid "If set, the language in which the field is exported" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,help:jsonifier.field_ir_exports__global_resolver_id +msgid "If set, will apply the global resolver to the result" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,help:jsonifier.field_ir_exports_line__resolver_id +msgid "If set, will apply the resolver on the field value" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,help:jsonifier.field_ir_exports__language_agnostic +msgid "" +"If set, will set the lang to False when exporting lines without lang, " +"otherwise it uses the lang in the given context to export these fields" +msgstr "" + +#. module: jsonifier +#: model_terms:ir.ui.view,arch_db:jsonifier.view_ir_exports +msgid "Index" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__lang_id +msgid "Language" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports__language_agnostic +msgid "Language Agnostic" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports____last_update +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line____last_update +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver____last_update +msgid "Last Modified on" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__write_date +msgid "Last Updated on" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__name +msgid "Name" +msgstr "" + +#. module: jsonifier +#: code:addons/jsonifier/models/ir_exports_line.py:0 +#, python-format +msgid "Name and Target must have the same hierarchy depth" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__python_code +msgid "Python Code" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports__smart_search +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__smart_search +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__smart_search +msgid "Smart Search" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__target +msgid "Target" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,help:jsonifier.field_ir_exports_line__target +msgid "" +"The complete path to the field where you can specify a target on the step as" +" field:target" +msgstr "" + +#. module: jsonifier +#: code:addons/jsonifier/models/ir_exports_line.py:0 +#, python-format +msgid "The target must reference the same field as in name '%s' not in '%s'" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__type +msgid "Type" +msgstr "" + +#. module: jsonifier +#: code:addons/jsonifier/models/models.py:0 +#, python-format +msgid "Wrong parser configuration for field: `%s`" +msgstr "" From e4c24082c1efa160a57daf26354476cd9d79077d Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Thu, 18 Apr 2024 20:31:21 +0000 Subject: [PATCH 025/232] Added translation using Weblate (Spanish) --- attachment_queue/i18n/es.po | 481 ++++++++++++++++++++++++++++++++++++ 1 file changed, 481 insertions(+) create mode 100644 attachment_queue/i18n/es.po diff --git a/attachment_queue/i18n/es.po b/attachment_queue/i18n/es.po new file mode 100644 index 00000000000..a7346154dd5 --- /dev/null +++ b/attachment_queue/i18n/es.po @@ -0,0 +1,481 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * attachment_queue +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: attachment_queue +#: model:mail.template,body_html:attachment_queue.attachment_failure_notification +msgid "" +"\n" +"

Hello,

\n" +"

The attachment ${object.name} has failed with the following error message :
${object.state_message}

\n" +"

Regards,

\n" +" " +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__access_token +msgid "Access Token" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__attachment_id +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Attachment" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: attachment_queue +#: model:ir.model,name:attachment_queue.model_attachment_queue +msgid "Attachment Queue" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__local_url +msgid "Attachment URL" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Attachments" +msgstr "" + +#. module: attachment_queue +#: model:ir.actions.act_window,name:attachment_queue.action_attachment_queue +#: model:ir.ui.menu,name:attachment_queue.menu_attachment_queue +msgid "Attachments Queue" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Binary" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__checksum +msgid "Checksum/SHA1" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__failure_emails +msgid "" +"Comma-separated list of email addresses to be notified in case offailure" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__company_id +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Company" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__create_uid +msgid "Created by" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__create_date +msgid "Created on" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Creation Month" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__db_datas +msgid "Database Data" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__date_done +msgid "Date Done" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__description +msgid "Description" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__display_name +msgid "Display Name" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields.selection,name:attachment_queue.selection__attachment_queue__state__done +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Done" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_form +msgid "Error" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields.selection,name:attachment_queue.selection__attachment_queue__state__failed +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Failed" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__failure_emails +msgid "Failure Emails" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__datas +msgid "File Content (base64)" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__raw +msgid "File Content (raw)" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__file_size +msgid "File Size" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__file_type +msgid "File Type" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "File type" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Filter on my documents" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_channel_ids +msgid "Followers (Channels)" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Group By" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__id +msgid "ID" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__message_needaction +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__message_unread +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__image_height +msgid "Image Height" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__image_src +msgid "Image Src" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__image_width +msgid "Image Width" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__index_content +msgid "Indexed Content" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__public +msgid "Is public document" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue____last_update +msgid "Last Modified on" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__write_date +msgid "Last Updated on" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__attachment_id +msgid "Link to ir.attachment model " +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_ids +msgid "Messages" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__mimetype +msgid "Mime Type" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "My Document(s)" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__name +msgid "Name" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__original_id +msgid "Original (unoptimized, unresized) attachment" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Owner" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields.selection,name:attachment_queue.selection__attachment_queue__state__pending +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Pending" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__res_field +msgid "Resource Field" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__res_id +msgid "Resource ID" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__res_model +msgid "Resource Model" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__res_name +msgid "Resource Name" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_form +msgid "Run" +msgstr "" + +#. module: attachment_queue +#: model:ir.actions.server,name:attachment_queue.cronjob_run_attachment_queue_ir_actions_server +#: model:ir.cron,cron_name:attachment_queue.cronjob_run_attachment_queue +#: model:ir.cron,name:attachment_queue.cronjob_run_attachment_queue +msgid "Run Attachments Queue" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_form +msgid "Set to Done" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__smart_search +msgid "Smart Search" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__state +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "State" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__state_message +msgid "State Message" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__store_fname +msgid "Stored Filename" +msgstr "" + +#. module: attachment_queue +#: model:mail.template,subject:attachment_queue.attachment_failure_notification +msgid "The attachment ${object.name} has failed" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__res_model +msgid "The database object this attachment will be attached to." +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__file_type +msgid "" +"The file type determines an import method to be used to parse and transform " +"data before their import in ERP or an export" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__res_id +msgid "The record id this is attached to." +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__type +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Type" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "URL" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__url +msgid "Url" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__type +msgid "" +"You can either upload a file from your computer or copy/paste an internet " +"link to your file." +msgstr "" From 81ff7112a2a9b01d82e11451838178f7acb6b654 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Thu, 18 Apr 2024 20:03:36 +0000 Subject: [PATCH 026/232] Translated using Weblate (Spanish) Currently translated at 99.5% (199 of 200 strings) Translation: server-tools-14.0/server-tools-14.0-excel_import_export Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-excel_import_export/es/ --- excel_import_export/i18n/es.po | 327 +++++++++++++++++++++------------ 1 file changed, 208 insertions(+), 119 deletions(-) diff --git a/excel_import_export/i18n/es.po b/excel_import_export/i18n/es.po index f6c35a44a98..3ce20842664 100644 --- a/excel_import_export/i18n/es.po +++ b/excel_import_export/i18n/es.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-04-18 19:36+0000\n" +"PO-Revision-Date: 2024-04-18 22:42+0000\n" "Last-Translator: Ivorra78 \n" "Language-Team: none\n" "Language: es\n" @@ -146,6 +146,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Sheet: Name (e.g., Sheet 1) or index (e.g., 1) of excel sheet" msgstr "" +"Hoja: Nombre (p. ej., Hoja 1) o índice (p. ej., 1) de la hoja de Excel" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -153,6 +154,8 @@ msgid "" "Sheet: Name (e.g., Sheet 1) or index (e.g., 1) of excel sheet to " "export data to" msgstr "" +"Hoja: nombre (por ejemplo, hoja 1) o índice (por ejemplo, 1) de la " +"hoja de Excel a la que exportar datos" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -161,6 +164,10 @@ msgid "" "#?...?, e.g., apply style for specific product, " "#?value.name == \"ABC\" and #{font=bold;fill=red} or None?" msgstr "" +"Estilo con Cond.: Estilo condicional por código Python en " +"#?...?, por ejemplo, aplicar estilo para un producto " +"específico, #?value.name = = \"ABC\" y #{font=bold;fill=red} o " +"¿Ninguno?" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -169,11 +176,16 @@ msgid "" "e.g., #{align=left;style=text}. See module's style.py " "for available styles." msgstr "" +"Estilo: estilo predeterminado en #{...} que se aplica a " +"cada celda, por ejemplo, #{align=left;style=text} . Consulte el " +"style.py del módulo para conocer los estilos disponibles." #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Sum: Add sum value on last row, @{sum}" msgstr "" +"Suma: agregue el valor de la suma en la última fila, " +"@{sum}" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -212,12 +224,12 @@ msgstr "" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "date, datetime, time: some useful python classes" -msgstr "" +msgstr "date, datetime, time: algunas clases útiles de python" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "model: active model, e.g., self.env['my.model']" -msgstr "" +msgstr "modelo: modelo activo, por ejemplo, self.env['my.model']" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -225,16 +237,18 @@ msgid "" "object: record object or line object depends on Row " "Field" msgstr "" +"objeto: objeto de registro u objeto de línea depende del " +"campo de fila" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "value: value from Cell" -msgstr "" +msgstr "valor: valor de la Celda" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "value: value from Field" -msgstr "" +msgstr "valor: valor del campo" #. module: excel_import_export #. openerp-web @@ -244,16 +258,19 @@ msgid "" "A popup window with your report was blocked. You may need to change your " "browser settings to allow popup windows for this page." msgstr "" +"Una ventana emergente con su informe fue bloqueada. Puede que necesite " +"cambiar las preferencias de su navegador para que permita ventanas " +"emergentes en esta página." #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Add Export Action" -msgstr "" +msgstr "Agregar Acción de Exportación" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Add Import Action" -msgstr "" +msgstr "Añadir Acción de Importación" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -517,7 +534,7 @@ msgstr "Detalle de cómo se exportarán los datos de Excel" #. module: excel_import_export #: model:ir.model,name:excel_import_export.model_xlsx_template_import msgid "Detailed of how excel data will be imported" -msgstr "" +msgstr "Detalle de cómo se importarán los datos de Excel" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__display_name @@ -532,24 +549,24 @@ msgstr "" #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__display_name #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: excel_import_export #: code:addons/excel_import_export/wizard/import_xlsx_wizard.py:0 #, python-format msgid "Document must be in %s states" -msgstr "" +msgstr "El documento debe estar en %s estados" #. module: excel_import_export #: code:addons/excel_import_export/wizard/import_xlsx_wizard.py:0 #, python-format msgid "Document must be in draft state" -msgstr "" +msgstr "El documento debe estar en estado de borrador" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__use_report_wizard msgid "Easy Reporting" -msgstr "" +msgstr "Informes Fáciles" #. module: excel_import_export #: code:addons/excel_import_export/models/xlsx_import.py:0 @@ -558,6 +575,8 @@ msgid "" "Error deleting data\n" "%s" msgstr "" +"Error al borrar datos\n" +"%s" #. module: excel_import_export #: code:addons/excel_import_export/models/xlsx_export.py:0 @@ -566,69 +585,71 @@ msgid "" "Error filling data into Excel sheets\n" "%s" msgstr "" +"Error al introducir datos en hojas Excel\n" +"%s" #. module: excel_import_export #: code:addons/excel_import_export/models/xlsx_import.py:0 #, python-format msgid "Error importing data" -msgstr "" +msgstr "Error al importar datos" #. module: excel_import_export #: model:ir.model.fields.selection,name:excel_import_export.selection__ir_actions_report__report_type__excel msgid "Excel" -msgstr "" +msgstr "Excel" #. module: excel_import_export #: model:ir.model,name:excel_import_export.model_xlsx_export msgid "Excel Export AbstractModel" -msgstr "" +msgstr "ModeloAbstracto Exportación Excel" #. module: excel_import_export #: model:ir.model,name:excel_import_export.model_xlsx_import msgid "Excel Import AbstractModel" -msgstr "" +msgstr "Importar Excel Modeloabstracto" #. module: excel_import_export #: model:ir.ui.menu,name:excel_import_export.menu_excel_import_export msgid "Excel Import/Export" -msgstr "" +msgstr "Importación/Exportación Excel" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.xlsx_report_view msgid "Excel Report" -msgstr "" +msgstr "Informe Excel" #. module: excel_import_export #: model:ir.model,name:excel_import_export.model_xlsx_report msgid "Excel Report AbstractModel" -msgstr "" +msgstr "ModeloAbstracto de Informe Excel" #. module: excel_import_export #: model:ir.model,name:excel_import_export.model_xlsx_template msgid "Excel template file and instruction" -msgstr "" +msgstr "Archivo de plantilla Excel e instrucciones" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.report_xlsx_wizard msgid "Execute" -msgstr "" +msgstr "Ejecutar" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.xlsx_report_view msgid "Execute Report" -msgstr "" +msgstr "Ejecutar Informe" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__export_ids #: model_terms:ir.ui.view,arch_db:excel_import_export.export_xlsx_wizard #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Export" -msgstr "" +msgstr "Exportar" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__export_action_id msgid "Export Action" -msgstr "" +msgstr "Exportar Acción" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -638,57 +659,69 @@ msgid "" " The record itself will be mapped to the header part of excel sheet. The record can contain multiple one2many fields, which will be written as data lines.\n" " You can look at following instruction as Excel Sheet(s), each with 1 header section (_HEAD_) and multiple row sections (one2many fields)." msgstr "" +"Instrucción de Exportación es como escribir datos de un registro de datos " +"activo a celdas especificadas en una hoja de Excel.\n" +" Por ejemplo, un registro activo puede ser una orden de venta que el usuario " +"desea exportar.\n" +" El registro será mapeado a la parte del encabezado de la hoja de Excel. El " +"registro puede contener múltiples campos one2many, que serán escritos como " +"líneas de datos.\n" +" Puede ver las siguientes instrucciones como hojas de Excel, cada una con " +"una sección de encabezado (_HEAD_) y múltiples secciones de fila (campos " +"one2many)." #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__is_extend msgid "Extend" -msgstr "" +msgstr "Extender" #. module: excel_import_export #: model:ir.model.fields,help:excel_import_export.field_xlsx_template_export__is_extend msgid "Extend a blank row after filling each record, to extend the footer" msgstr "" +"Extender una fila en blanco después de rellenar cada registro, para extender " +"el pie de página" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__field_name #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__field_name msgid "Field" -msgstr "" +msgstr "Campo" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__field_cond #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__field_cond msgid "Field Cond." -msgstr "" +msgstr "Campo Cond." #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__data #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_report__data msgid "File" -msgstr "" +msgstr "Archivo" #. module: excel_import_export #: code:addons/excel_import_export/wizard/import_xlsx_wizard.py:0 #, python-format msgid "File \"%s\" not found in template, %s." -msgstr "" +msgstr "Archivo \"%s\" no encontrado en la plantilla, %s." #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__datas msgid "File Content" -msgstr "" +msgstr "Contenido del archivo" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__name #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_report__name #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__fname msgid "File Name" -msgstr "" +msgstr "Nombre del Archivo" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Following are more explaination on each column:" -msgstr "" +msgstr "A continuación encontrará más explicaciones sobre cada columna:" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -696,6 +729,10 @@ msgid "" "Following show very simple example of the dictionary construct.\n" " Normally, this will be within templates.xml file within addons." msgstr "" +"A continuación se muestra un ejemplo muy simple de la construcción del " +"diccionario.\n" +" Normalmente, esto será dentro del " +"archivo templates.xml dentro de addons." #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -703,16 +740,22 @@ msgid "" "For code block ${...} and #?...?, following object" " are available," msgstr "" +"Para el bloque de código ${...} y #?...?, están " +"disponibles los siguientes objetos," #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "For code block ${...}, following object are available," msgstr "" +"Para el bloque de código ${...}, están disponibles los " +"siguientes objetos," #. module: excel_import_export #: model:ir.model,name:excel_import_export.model_report_xlsx_wizard msgid "Generic Report Wizard, used with template reporting option" msgstr "" +"Asistente para informes genéricos, utilizado con la opción de informes de " +"plantilla" #. module: excel_import_export #: model:ir.model.fields.selection,name:excel_import_export.selection__export_xlsx_wizard__state__get @@ -721,43 +764,43 @@ msgstr "" #: model:ir.model.fields.selection,name:excel_import_export.selection__report_sale_order__state__get #: model:ir.model.fields.selection,name:excel_import_export.selection__xlsx_report__state__get msgid "Get" -msgstr "" +msgstr "Obtener" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.export_xlsx_wizard msgid "Get Import Template" -msgstr "" +msgstr "Obtener plantilla de importación" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__gname msgid "Group Name" -msgstr "" +msgstr "Nombre del Grupo" #. module: excel_import_export #: model:ir.model.fields.selection,name:excel_import_export.selection__xlsx_template_export__section_type__head #: model:ir.model.fields.selection,name:excel_import_export.selection__xlsx_template_import__section_type__head msgid "Head" -msgstr "" +msgstr "Cabeza" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Help with Export Instruction" -msgstr "" +msgstr "Ayuda con Instrucciones de Exportación" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Help with Import Instruction" -msgstr "" +msgstr "Ayuda con Instrucciones de Importación" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.export_xlsx_wizard msgid "Here is the exported file:" -msgstr "" +msgstr "Aquí está el archivo exportado:" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.xlsx_report_view msgid "Here is the report file:" -msgstr "" +msgstr "Aquí está el archivo del informe:" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__id @@ -772,13 +815,13 @@ msgstr "" #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__id #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__id msgid "ID" -msgstr "" +msgstr "ID (identificación)" #. module: excel_import_export #: model:ir.model.fields,help:excel_import_export.field_xlsx_template_export__row_field #: model:ir.model.fields,help:excel_import_export.field_xlsx_template_import__row_field msgid "If section type is row, this field is required" -msgstr "" +msgstr "Si el tipo de sección es fila, este campo es obligatorio" #. module: excel_import_export #: code:addons/excel_import_export/models/xlsx_export.py:0 @@ -788,39 +831,42 @@ msgid "" "Some exporting data contain special character\n" "%s" msgstr "" +"Error de carácter ilegal\n" +"Algunos datos de exportación contienen caracteres especiales.\n" +"%s" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__import_ids #: model_terms:ir.ui.view,arch_db:excel_import_export.import_xlsx_wizard #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Import" -msgstr "" +msgstr "Importación" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__import_action_id msgid "Import Action" -msgstr "" +msgstr "Importar Acción" #. module: excel_import_export #: code:addons/excel_import_export/wizard/import_xlsx_wizard.py:0 #, python-format msgid "Import Excel" -msgstr "" +msgstr "Importar Excel" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__import_file msgid "Import File (*.xlsx)" -msgstr "" +msgstr "Importar archivo (*.xlsx)" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.import_xlsx_wizard msgid "Import File Template" -msgstr "" +msgstr "Importar plantilla de archivo" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__attachment_ids msgid "Import File(s) (*.xlsx)" -msgstr "" +msgstr "Importar archivos (*.xlsx)" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -830,11 +876,22 @@ msgid "" " In reverse direction to exporting, data from excel's cells will be mapped to record fields during import.\n" " Cells can be mapped to record in header section (_HEAD_) and data table can be mapped to row section (one2many field, begins from specifed cells." msgstr "" +"La instrucción de importación es cómo obtener datos de una hoja de Excel y " +"escribirlos en un registro activo.\n" +" Por ejemplo, el usuario crea un documento " +"de pedido de ventas y desea importar líneas de pedido desde Excel.\n" +" En dirección inversa a la exportación, los " +"datos de las celdas de Excel se asignarán a los campos de registro durante " +"la importación.\n" +" Las celdas se pueden asignar a registros " +"en la sección de encabezado (_HEAD_) y la tabla de datos se puede asignar a " +"la sección de filas (campo uno a muchos, comienza desde las celdas " +"especificadas)." #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.import_xlsx_wizard msgid "Import Successful!" -msgstr "" +msgstr "¡Importación exitosa!" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -842,6 +899,8 @@ msgid "" "In header section part, map data fields (e.g., number, partner_id.name) into" " cells (e.g., B1, B2)." msgstr "" +"En la parte de la sección del encabezado, asigne los campos de datos (por " +"ejemplo, número, socio_id.nombre) a celdas (por ejemplo, B1, B2)." #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -849,6 +908,8 @@ msgid "" "In header section, map cells (e.g., B1, B2) into data fields (e.g., number, " "partner_id)." msgstr "" +"En la sección del encabezado, asigne celdas (por ejemplo, B1, B2) a campos " +"de datos (por ejemplo, número, socio_id)." #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -857,6 +918,10 @@ msgid "" "order_line), and map data field (i.e., product_id.name, uom_id.name, qty) " "into the first row cells to start rolling (e.g., A6, B6, C6)." msgstr "" +"En la sección de filas, la lista de datos se desplegará desde el campo de " +"fila one2many (por ejemplo, order_line) y el campo de datos del mapa (es " +"decir, product_id.name, uom_id.name, qty) a las celdas de la primera fila " +"para comenzar a rodar (por ejemplo, A6, B6, C6)." #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -865,50 +930,54 @@ msgid "" "(e.g., order_line) by mapping cells on first row onwards (e.g., A6, B6, C6) " "to fields (e.g., product_id, uom_id, qty)" msgstr "" +"En la sección de filas, la tabla de datos de Excel se puede importar a un " +"campo de fila one2many (p. ej., order_line) asignando celdas de la primera " +"fila en adelante (p. ej., A6, B6, C6) a los campos (p. ej., product_id, " +"uom_id, qty)" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Input Instruction (Dict.)" -msgstr "" +msgstr "Instrucción de entrada (Dict.)" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__instruction msgid "Instruction" -msgstr "" +msgstr "Instrucción" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__input_instruction msgid "Instruction (Input)" -msgstr "" +msgstr "Instrucción (entrada)" #. module: excel_import_export #: model:ir.model.fields,help:excel_import_export.field_xlsx_template__instruction msgid "Instruction on how to import/export, prepared by system." -msgstr "" +msgstr "Instrucción sobre cómo importar/exportar, preparada por el sistema." #. module: excel_import_export #: code:addons/excel_import_export/models/xlsx_import.py:0 #, python-format msgid "Invalid declaration, %s has no valid field type" -msgstr "" +msgstr "Declaración no válida, %s no tiene ningún tipo de campo válido" #. module: excel_import_export #: code:addons/excel_import_export/models/xlsx_import.py:0 #, python-format msgid "Invalid file style, only .xls or .xlsx file allowed" -msgstr "" +msgstr "Estilo de archivo no válido, solo se permiten archivos .xls o .xlsx" #. module: excel_import_export #: code:addons/excel_import_export/models/common.py:0 #, python-format msgid "Invalid style type %s" -msgstr "" +msgstr "Tipo de estilo no válido %s" #. module: excel_import_export #: code:addons/excel_import_export/models/common.py:0 #, python-format msgid "Invalid value {} for style type {}" -msgstr "" +msgstr "Valor no válido {} para el tipo de estilo {}" #. module: excel_import_export #: code:addons/excel_import_export/models/xlsx_export.py:0 @@ -917,6 +986,8 @@ msgid "" "Key Error\n" "%s" msgstr "" +"Error de clave\n" +"%s" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard____last_update @@ -931,7 +1002,7 @@ msgstr "" #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export____last_update #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__write_uid @@ -941,7 +1012,7 @@ msgstr "" #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__write_uid #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__write_uid msgid "Last Updated by" -msgstr "" +msgstr "Última actualización por" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__write_date @@ -951,7 +1022,7 @@ msgstr "" #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__write_date #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__write_date msgid "Last Updated on" -msgstr "" +msgstr "Última Actualización el" #. module: excel_import_export #: model:ir.model.fields,help:excel_import_export.field_xlsx_template__gname @@ -959,30 +1030,32 @@ msgid "" "Multiple template of same model, can belong to same group,\n" "result in multiple template selection" msgstr "" +"Varias plantillas del mismo modelo, pueden pertenecer al mismo grupo,\n" +"dar como resultado una selección de plantillas múltiples" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__no_delete msgid "No Delete" -msgstr "" +msgstr "Sin Eliminar" #. module: excel_import_export #: code:addons/excel_import_export/models/xlsx_import.py:0 #, python-format msgid "No data_dict['__IMPORT__'] in template %s" -msgstr "" +msgstr "No data_dict['__IMPORT__'] en la plantilla %s" #. module: excel_import_export #: code:addons/excel_import_export/models/xlsx_template.py:0 #, python-format msgid "No file content!" -msgstr "" +msgstr "¡Sin contenido de archivo!" #. module: excel_import_export #: code:addons/excel_import_export/models/xlsx_report.py:0 #: code:addons/excel_import_export/wizard/export_xlsx_wizard.py:0 #, python-format msgid "No file in %s" -msgstr "" +msgstr "Ningún archivo en %s" #. module: excel_import_export #: code:addons/excel_import_export/models/xlsx_report.py:0 @@ -990,62 +1063,63 @@ msgstr "" #: code:addons/excel_import_export/wizard/import_xlsx_wizard.py:0 #, python-format msgid "No template found" -msgstr "" +msgstr "No se encontró ninguna plantilla" #. module: excel_import_export #: code:addons/excel_import_export/models/xlsx_export.py:0 #, python-format msgid "Not enough worksheets" -msgstr "" +msgstr "No hay suficientes hojas de trabajo" #. module: excel_import_export #: code:addons/excel_import_export/models/ir_report.py:0 #, python-format msgid "Only one id is allowed for excel_import_export" -msgstr "" +msgstr "Sólo se permite una identificación para excel_import_export" #. module: excel_import_export #: model:ir.model.fields,help:excel_import_export.field_xlsx_template__redirect_action msgid "Optional action, redirection after finish import operation" msgstr "" +"Acción opcional, redirección después de finalizar la operación de importación" #. module: excel_import_export #: model:ir.model.fields,help:excel_import_export.field_xlsx_template__csv_extension msgid "Optional for CSV, default is .csv" -msgstr "" +msgstr "Opcional para CSV, el valor predeterminado es .csv" #. module: excel_import_export #: model:ir.model.fields,help:excel_import_export.field_xlsx_template__csv_delimiter msgid "Optional for CSV, default is comma." -msgstr "" +msgstr "Opcional para CSV, el valor predeterminado es la coma." #. module: excel_import_export #: model:ir.model.fields,help:excel_import_export.field_xlsx_template__csv_quote msgid "Optional for CSV, default is full quoting." -msgstr "" +msgstr "Opcional para CSV, el valor predeterminado son las citas completas." #. module: excel_import_export #: code:addons/excel_import_export/wizard/import_xlsx_wizard.py:0 #, python-format msgid "Please select Excel file to import" -msgstr "" +msgstr "Seleccione el archivo Excel para importar" #. module: excel_import_export #: code:addons/excel_import_export/models/common.py:0 #: code:addons/excel_import_export/models/common.py:0 #, python-format msgid "Position %s is not valid" -msgstr "" +msgstr "La posición %s no es válida" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__post_import_hook msgid "Post Import Function Hook" -msgstr "" +msgstr "Gancho de función posterior a la importación" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Post Import Hook" -msgstr "" +msgstr "Gancho posterior a la importación" #. module: excel_import_export #: code:addons/excel_import_export/models/xlsx_import.py:0 @@ -1054,125 +1128,127 @@ msgid "" "Post import operation error\n" "%s" msgstr "" +"Error de operación posterior a la importación\n" +"%s" #. module: excel_import_export #: code:addons/excel_import_export/models/xlsx_export.py:0 #, python-format msgid "Records in %s exceed max records allowed" -msgstr "" +msgstr "Los registros en %s superan el máximo de registros permitidos" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Remove Export Action" -msgstr "" +msgstr "Eliminar acción de exportación" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Remove Import Action" -msgstr "" +msgstr "Eliminar acción de importación" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Remove Report Menu" -msgstr "" +msgstr "Quitar menú Informe" #. module: excel_import_export #: model:ir.model,name:excel_import_export.model_ir_actions_report #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__report_action_id msgid "Report Action" -msgstr "" +msgstr "Acción de informe" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__report_menu_id msgid "Report Menu" -msgstr "" +msgstr "Menú Informe" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__result_model_id msgid "Report Model" -msgstr "" +msgstr "Informe Modelo" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_ir_actions_report__report_type msgid "Report Type" -msgstr "" +msgstr "Tipo de Informe" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_report_xlsx_wizard__res_model msgid "Res Model" -msgstr "" +msgstr "Modelo Rec" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__res_id msgid "Resource ID" -msgstr "" +msgstr "ID del Recurso" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__res_ids msgid "Resource IDs" -msgstr "" +msgstr "IDs del Recurso" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__res_model #: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__res_model #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__res_model msgid "Resource Model" -msgstr "" +msgstr "Modelo de Recursos" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__result_field msgid "Result Field" -msgstr "" +msgstr "Campo del Recurso" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__redirect_action msgid "Return Action" -msgstr "" +msgstr "Acción de devolución" #. module: excel_import_export #: model:ir.model.fields.selection,name:excel_import_export.selection__xlsx_template_export__section_type__row #: model:ir.model.fields.selection,name:excel_import_export.selection__xlsx_template_import__section_type__row msgid "Row" -msgstr "" +msgstr "fila" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__row_field #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__row_field msgid "Row Field" -msgstr "" +msgstr "Campo de fila" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__datas msgid "Sample" -msgstr "" +msgstr "Ejemplo" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "Sample Input Instruction as Dictionary" -msgstr "" +msgstr "Instrucción de entrada de muestra como Diccionario" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_report_xlsx_wizard__domain msgid "Search Criterias" -msgstr "" +msgstr "Criterios de búsqueda" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__section_type #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__section_type msgid "Section Type" -msgstr "" +msgstr "Tipo de Sección" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__sequence #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__sequence msgid "Sequence" -msgstr "" +msgstr "Secuencia" #. module: excel_import_export #: code:addons/excel_import_export/wizard/import_xlsx_wizard.py:0 #, python-format msgid "Set Templates" -msgstr "" +msgstr "Establecer Plantillas" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__sheet @@ -1180,19 +1256,19 @@ msgstr "" #: model:ir.model.fields.selection,name:excel_import_export.selection__xlsx_template_export__section_type__sheet #: model:ir.model.fields.selection,name:excel_import_export.selection__xlsx_template_import__section_type__sheet msgid "Sheet" -msgstr "" +msgstr "Hoja" #. module: excel_import_export #: code:addons/excel_import_export/models/xlsx_export.py:0 #: code:addons/excel_import_export/models/xlsx_import.py:0 #, python-format msgid "Sheet %s not found" -msgstr "" +msgstr "Hoja %s s no encontrada" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__show_instruction msgid "Show Output" -msgstr "" +msgstr "Mostrar salida" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__smart_search @@ -1207,43 +1283,43 @@ msgstr "" #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__smart_search #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__state #: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__state #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_report__state msgid "State" -msgstr "" +msgstr "Estado" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__style_cond msgid "Style w/Cond." -msgstr "" +msgstr "Estilo con Cond." #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__is_sum msgid "Sum" -msgstr "" +msgstr "Suma" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__template_id #: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__template_id #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_report__template_id msgid "Template" -msgstr "" +msgstr "Plantilla" #. module: excel_import_export #: code:addons/excel_import_export/models/ir_report.py:0 #, python-format msgid "Template %s on model %s is not unique!" -msgstr "" +msgstr "¡La plantilla %s en el modelo %s no es única!" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__fname #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__name msgid "Template Name" -msgstr "" +msgstr "Nombre de Plantilla" #. module: excel_import_export #: code:addons/excel_import_export/models/common.py:0 @@ -1252,24 +1328,26 @@ msgid "" "Template with CSV Quoting = False, data must not contain the same char as " "delimiter -> \"%s\"" msgstr "" +"Plantilla con cita CSV = Falso, los datos no deben contener el mismo " +"carácter que el delimitador -> \"%s\"" #. module: excel_import_export #: code:addons/excel_import_export/models/xlsx_export.py:0 #: code:addons/excel_import_export/models/xlsx_import.py:0 #, python-format msgid "Template's model mismatch" -msgstr "" +msgstr "El modelo de la plantilla no coincide" #. module: excel_import_export #: model:ir.model.fields,help:excel_import_export.field_xlsx_template__res_model msgid "The database object this attachment will be attached to." -msgstr "" +msgstr "El objeto de la base de datos al que se anexará este anexo." #. module: excel_import_export #: code:addons/excel_import_export/models/xlsx_template.py:0 #, python-format msgid "The selected redirect action is not for model %s" -msgstr "" +msgstr "La acción de redirección seleccionada no es para el modelo %s" #. module: excel_import_export #: model:ir.model.fields,help:excel_import_export.field_ir_actions_report__report_type @@ -1279,12 +1357,18 @@ msgid "" "browser PDF means the report will be rendered using Wkhtmltopdf and " "downloaded by the user." msgstr "" +"El tipo de informe que se generará, cada uno con su propio método de " +"generación. HTML significa que el informe se abrirá directamente en el " +"navegador PDF quiere decir que el informe se renderizará utilizando " +"Wkhtmltopdf y será descargado por el usuario." #. module: excel_import_export #: code:addons/excel_import_export/wizard/import_xlsx_wizard.py:0 #, python-format msgid "This import action is not usable in this document context" msgstr "" +"Esta acción de importación no se puede utilizar en el contexto de este " +"documento" #. module: excel_import_export #: model:ir.model.fields,help:excel_import_export.field_xlsx_template__show_instruction @@ -1292,16 +1376,21 @@ msgid "" "This is the computed instruction based on tab Import/Export,\n" "to be used by xlsx import/export engine" msgstr "" +"Esta es la instrucción calculada basada en la pestaña Importar/Exportar,\n" +"para ser utilizado por el motor de importación/exportación xlsx" #. module: excel_import_export #: model:ir.model.fields,help:excel_import_export.field_xlsx_template__input_instruction msgid "This is used to construct instruction in tab Import/Export" msgstr "" +"Esto se utiliza para construir instrucciones en la pestaña Importar/Exportar" #. module: excel_import_export #: model:ir.model.fields,help:excel_import_export.field_xlsx_template__use_report_wizard msgid "Use common report wizard model, instead of create specific model" msgstr "" +"Utilice el modelo de asistente de informes común, en lugar de crear un " +"modelo específico" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__user_can_see_changeset @@ -1316,56 +1405,56 @@ msgstr "" #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__user_can_see_changeset #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__user_can_see_changeset msgid "User Can See Changeset" -msgstr "" +msgstr "El Usuario Puede Ver el Conjunto de Cambios" #. module: excel_import_export #. openerp-web #: code:addons/excel_import_export/static/src/js/report/action_manager_report.js:0 #, python-format msgid "Warning" -msgstr "" +msgstr "Aviso" #. module: excel_import_export #: model:ir.model.fields,help:excel_import_export.field_xlsx_template__result_model_id msgid "When use commone wizard, choose the result model" -msgstr "" +msgstr "Cuando use el asistente común, elija el modelo de resultado" #. module: excel_import_export #: model:ir.model,name:excel_import_export.model_export_xlsx_wizard msgid "Wizard for exporting excel" -msgstr "" +msgstr "Asistente para exportar excel" #. module: excel_import_export #: model:ir.model,name:excel_import_export.model_import_xlsx_wizard msgid "Wizard for importing excel" -msgstr "" +msgstr "Asistente para importar excel" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_export__template_id #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template_import__template_id #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form msgid "XLSX Template" -msgstr "" +msgstr "Plantilla XLSX" #. module: excel_import_export #: model:ir.actions.act_window,name:excel_import_export.action_xlsx_template #: model:ir.ui.menu,name:excel_import_export.menu_xlsx_template msgid "XLSX Templates" -msgstr "" +msgstr "Plantilla XLSX" #. module: excel_import_export #: model:ir.model.fields,help:excel_import_export.field_import_xlsx_wizard__attachment_ids msgid "You can select multiple files to import." -msgstr "" +msgstr "Puede seleccionar varios archivos para importar." #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.export_xlsx_wizard #: model_terms:ir.ui.view,arch_db:excel_import_export.import_xlsx_wizard #: model_terms:ir.ui.view,arch_db:excel_import_export.xlsx_report_view msgid "or" -msgstr "" +msgstr "o" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.import_xlsx_wizard msgid "⇒ Get Sample Import Template" -msgstr "" +msgstr "⇒ Obtener plantilla de importación de muestra" From 1f936ef77971eed9bc95c1130b936797ca63efe1 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Thu, 18 Apr 2024 20:11:47 +0000 Subject: [PATCH 027/232] Translated using Weblate (Spanish) Currently translated at 100.0% (67 of 67 strings) Translation: server-tools-14.0/server-tools-14.0-attachment_synchronize Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-attachment_synchronize/es/ --- attachment_synchronize/i18n/es.po | 146 +++++++++++++++++------------- 1 file changed, 84 insertions(+), 62 deletions(-) diff --git a/attachment_synchronize/i18n/es.po b/attachment_synchronize/i18n/es.po index 285134bd2a8..37bd92d7f23 100644 --- a/attachment_synchronize/i18n/es.po +++ b/attachment_synchronize/i18n/es.po @@ -6,211 +6,213 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-18 22:43+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: attachment_synchronize #: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form msgid "Fail" -msgstr "" +msgstr "Suspendido" #. module: attachment_synchronize #: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form msgid "Pending" -msgstr "" +msgstr "Pendiente" #. module: attachment_synchronize #: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form msgid "Success" -msgstr "" +msgstr "Éxito" #. module: attachment_synchronize #: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__after_import msgid "Action after import a file" -msgstr "" +msgstr "Acción tras importar un archivo" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__after_import msgid "After Import" -msgstr "" +msgstr "Después de Importar" #. module: attachment_synchronize #: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form msgid "Archived" -msgstr "" +msgstr "Archivado" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__assigned_attachment_ids #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__assigned_attachment_ids #: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__assigned_attachment_ids msgid "Assigned Attachments" -msgstr "" +msgstr "Archivos Adjuntos Asignados" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__attachment_ids msgid "Attachment" -msgstr "" +msgstr "Adjunto" #. module: attachment_synchronize #: model:ir.model,name:attachment_synchronize.model_attachment_queue msgid "Attachment Queue" -msgstr "" +msgstr "Cola de Archivos Adjuntos" #. module: attachment_synchronize #: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_search msgid "Attachment Task" -msgstr "" +msgstr "Tarea Adjunta" #. module: attachment_synchronize #: model:ir.model,name:attachment_synchronize.model_attachment_synchronize_task msgid "Attachment synchronize task" -msgstr "" +msgstr "Adjuntar tarea de sincronización" #. module: attachment_synchronize #: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_search msgid "Attachments" -msgstr "" +msgstr "Archivos Adjuntos" #. module: attachment_synchronize #: model:ir.actions.act_window,name:attachment_synchronize.action_attachment_export_task #: model:ir.ui.menu,name:attachment_synchronize.menu_attachment_export_task msgid "Attachments Export Tasks" -msgstr "" +msgstr "Tareas de Exportación de Anexos" #. module: attachment_synchronize #: model:ir.actions.act_window,name:attachment_synchronize.action_attachment_import_task #: model:ir.ui.menu,name:attachment_synchronize.menu_attachment_import_task msgid "Attachments Import Tasks" -msgstr "" +msgstr "Tareas de Importación de Anexos" #. module: attachment_synchronize #: model:ir.actions.act_window,name:attachment_synchronize.action_attachment_queue_related msgid "Attachments Queue" -msgstr "" +msgstr "Cola de Archivos Adjuntos" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__avoid_duplicated_files msgid "Avoid importing duplicated files" -msgstr "" +msgstr "Evitar la importación de archivos duplicados" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__backend_id #: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_search msgid "Backend" -msgstr "" +msgstr "Servidor" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__changeset_change_ids #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__changeset_change_ids #: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__changeset_change_ids msgid "Changeset Changes" -msgstr "" +msgstr "Cambios en el conjunto de modificaciones" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__changeset_ids #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__changeset_ids #: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__changeset_ids msgid "Changesets" -msgstr "" +msgstr "Conjuntos de cambios" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__count_attachment_done msgid "Count Attachment Done" -msgstr "" +msgstr "Recuento Adjunto Realizado" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__count_attachment_failed msgid "Count Attachment Failed" -msgstr "" +msgstr "Recuento Adjunto Fallido" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__count_attachment_pending msgid "Count Attachment Pending" -msgstr "" +msgstr "Recuento Adjunto Pendiente" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__count_pending_changeset_changes #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__count_pending_changeset_changes #: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__count_pending_changeset_changes msgid "Count Pending Changeset Changes" -msgstr "" +msgstr "Contar los cambios del conjunto de cambios pendientes" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__count_pending_changesets #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__count_pending_changesets #: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__count_pending_changesets msgid "Count Pending Changesets" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__create_uid msgid "Created by" -msgstr "" +msgstr "Creado por" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__create_date msgid "Created on" -msgstr "" +msgstr "Creado el" #. module: attachment_synchronize #: model:ir.model.fields.selection,name:attachment_synchronize.selection__attachment_synchronize_task__after_import__delete msgid "Delete" -msgstr "" +msgstr "Borrar" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__display_name #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__display_name #: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__active msgid "Enabled" -msgstr "" +msgstr "Habilitado" #. module: attachment_synchronize #: model:ir.model.fields.selection,name:attachment_synchronize.selection__attachment_queue__file_type__export msgid "Export File (External location)" -msgstr "" +msgstr "Exportar Archivo (Ubicación externa)" #. module: attachment_synchronize #: model:ir.model.fields.selection,name:attachment_synchronize.selection__attachment_synchronize_task__method_type__export msgid "Export Task" -msgstr "" +msgstr "Exportar Tarea" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__export_task_count msgid "Export Tasks" -msgstr "" +msgstr "Exportar Tareas" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__failure_emails msgid "Failure Emails" -msgstr "" +msgstr "Correos electrónicos fallidos" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__filepath msgid "File Path" -msgstr "" +msgstr "Ruta del Archivo" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__file_type #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__file_type msgid "File Type" -msgstr "" +msgstr "Tipo de Archivo" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__id #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__id #: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__id msgid "ID" -msgstr "" +msgstr "ID (identificación)" #. module: attachment_synchronize #: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__avoid_duplicated_files @@ -218,26 +220,28 @@ msgid "" "If checked, a file will not be imported if an Attachment Queue with the same" " name already exists." msgstr "" +"Si está marcada, no se importará un archivo si ya existe una Cola de " +"Adjuntos con el mismo nombre." #. module: attachment_synchronize #: model:ir.model.fields.selection,name:attachment_synchronize.selection__attachment_synchronize_task__method_type__import msgid "Import Task" -msgstr "" +msgstr "Importar Tarea" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__import_task_count msgid "Import Tasks" -msgstr "" +msgstr "Importar Tareas" #. module: attachment_synchronize #: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form msgid "Importation" -msgstr "" +msgstr "Importación" #. module: attachment_synchronize #: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__move_path msgid "Imported File will be moved to this path" -msgstr "" +msgstr "El Archivo Importado se moverá a esta ruta" #. module: attachment_synchronize #: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__new_name @@ -246,65 +250,69 @@ msgid "" "New Name can use 'mako' template where 'obj' is the original file's name.\n" "For instance : ${obj.name}-${obj.create_date}.csv" msgstr "" +"El Archivo Importado será renombrado a este nombre.\n" +"El Nuevo Nombre puede utilizar la plantilla 'mako' donde 'obj' es el nombre " +"del archivo original.\n" +"Por instancia: ${obj.name}-${obj.create_date}.csv" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue____last_update #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task____last_update #: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__write_uid msgid "Last Updated by" -msgstr "" +msgstr "Última actualización por" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__write_date msgid "Last Updated on" -msgstr "" +msgstr "Última Actualización el" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__method_type #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__method_type msgid "Method Type" -msgstr "" +msgstr "Tipo de Método" #. module: attachment_synchronize #: model:ir.model.fields.selection,name:attachment_synchronize.selection__attachment_synchronize_task__after_import__move msgid "Move" -msgstr "" +msgstr "Mover" #. module: attachment_synchronize #: model:ir.model.fields.selection,name:attachment_synchronize.selection__attachment_synchronize_task__after_import__move_rename msgid "Move & Rename" -msgstr "" +msgstr "Mover y Renombrar" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__move_path msgid "Move Path" -msgstr "" +msgstr "Mover Ruta" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__name #: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form msgid "Name" -msgstr "" +msgstr "Nombre" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__new_name msgid "New Name" -msgstr "" +msgstr "Nombre Nuevo" #. module: attachment_synchronize #: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form msgid "Notification" -msgstr "" +msgstr "Notificación" #. module: attachment_synchronize #: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__filepath msgid "Path to imported/exported files in the Backend" -msgstr "" +msgstr "Ruta a los archivos importados/exportados en el Servidor" #. module: attachment_synchronize #: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__pattern @@ -312,57 +320,61 @@ msgid "" "Pattern used to select the files to be imported following the 'fnmatch' special characters (e.g. '*.txt' to catch all the text files).\n" "If empty, import all the files found in 'File Path'." msgstr "" +"Patrón utilizado para seleccionar los archivos que se importarán siguiendo " +"los caracteres especiales 'fnmatch' (por ejemplo, '*.txt' para capturar " +"todos los archivos de texto).\n" +"Si está vacío, importa todos los archivos encontrados en 'File Path'." #. module: attachment_synchronize #: model:ir.model.fields.selection,name:attachment_synchronize.selection__attachment_synchronize_task__after_import__rename msgid "Rename" -msgstr "" +msgstr "Renombrar" #. module: attachment_synchronize #: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form #: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_tree msgid "Run" -msgstr "" +msgstr "Ejecutar" #. module: attachment_synchronize #: model:ir.actions.server,name:attachment_synchronize.cronjob_run_attachment_synchronize_task_import_ir_actions_server #: model:ir.cron,cron_name:attachment_synchronize.cronjob_run_attachment_synchronize_task_import #: model:ir.cron,name:attachment_synchronize.cronjob_run_attachment_synchronize_task_import msgid "Run attachment tasks import" -msgstr "" +msgstr "Ejecutar la importación de tareas adjuntas" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__pattern msgid "Selection Pattern" -msgstr "" +msgstr "Patrón de Selección" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__smart_search #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__smart_search #: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: attachment_synchronize #: model:ir.model,name:attachment_synchronize.model_storage_backend #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__storage_backend_id msgid "Storage Backend" -msgstr "" +msgstr "Servidor de Almacenamiento" #. module: attachment_synchronize #: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form msgid "Storage Location" -msgstr "" +msgstr "Lugar de Almacenamiento" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__task_id msgid "Task" -msgstr "" +msgstr "Tareas" #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__synchronize_task_ids msgid "Tasks" -msgstr "" +msgstr "Tareas" #. module: attachment_synchronize #: model:ir.model.fields,help:attachment_synchronize.field_attachment_queue__file_type @@ -370,6 +382,8 @@ msgid "" "The file type determines an import method to be used to parse and transform " "data before their import in ERP or an export" msgstr "" +"El tipo de archivo determina el método de importación que se utilizará para " +"analizar y transformar los datos antes de importarlos al ERP o exportarlos" #. module: attachment_synchronize #: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__failure_emails @@ -377,6 +391,10 @@ msgid "" "Used to fill the 'Failure Emails' field in the 'Attachments Queues' related to this task.\n" "An alert will be sent to these emails if any operation on these Attachment Queue's file type fails." msgstr "" +"Se utiliza para rellenar el campo \" Correos electrónicos fallidos\" en las " +"\"Colas de archivos adjuntos\" relacionadas con esta tarea.\n" +"Se enviará una alerta a estos correos electrónicos si falla alguna operación " +"en el tipo de archivo de esta cola de archivos adjuntos." #. module: attachment_synchronize #: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__file_type @@ -384,10 +402,14 @@ msgid "" "Used to fill the 'File Type' field in the imported 'Attachments Queues'.\n" "Further operations will be realized on these Attachments Queues depending on their 'File Type' value." msgstr "" +"Se utiliza para rellenar el campo \"Tipo de archivo\" en las \"Colas de " +"archivos adjuntos\" importadas.\n" +"Se realizarán otras operaciones en estas colas de archivos adjuntos en " +"función de su valor de \"Tipo de archivo\"." #. module: attachment_synchronize #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__user_can_see_changeset #: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__user_can_see_changeset #: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__user_can_see_changeset msgid "User Can See Changeset" -msgstr "" +msgstr "El Usuario Puede Ver el Conjunto de Cambios" From 7642c364962d49ea169895eda2639b1a5c019a0a Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Thu, 18 Apr 2024 20:26:19 +0000 Subject: [PATCH 028/232] Translated using Weblate (Spanish) Currently translated at 97.4% (38 of 39 strings) Translation: server-tools-14.0/server-tools-14.0-jsonifier Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-jsonifier/es/ --- jsonifier/i18n/es.po | 81 ++++++++++++++++++++++++-------------------- 1 file changed, 45 insertions(+), 36 deletions(-) diff --git a/jsonifier/i18n/es.po b/jsonifier/i18n/es.po index d0555ccdfdc..24cc2acc44a 100644 --- a/jsonifier/i18n/es.po +++ b/jsonifier/i18n/es.po @@ -6,28 +6,30 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-18 22:43+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: jsonifier #: model:ir.model.fields,help:jsonifier.field_ir_exports_line__instance_method_name msgid "A method defined on the model that takes a record and a field_name" -msgstr "" +msgstr "Un método definido en el modelo que toma un registro y un field_name" #. module: jsonifier #: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__active msgid "Active" -msgstr "" +msgstr "Activo" #. module: jsonifier #: model:ir.model,name:jsonifier.model_base msgid "Base" -msgstr "" +msgstr "Base" #. module: jsonifier #: model:ir.model.fields,help:jsonifier.field_ir_exports_resolver__python_code @@ -52,104 +54,104 @@ msgstr "" #. module: jsonifier #: model_terms:ir.ui.view,arch_db:jsonifier.view_ir_exports msgid "Configuration" -msgstr "" +msgstr "Configuración" #. module: jsonifier #: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__create_uid msgid "Created by" -msgstr "" +msgstr "Creado por" #. module: jsonifier #: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__create_date msgid "Created on" -msgstr "" +msgstr "Creado en" #. module: jsonifier #: model:ir.actions.act_window,name:jsonifier.act_ui_exports_resolver_view #: model:ir.ui.menu,name:jsonifier.ui_exports_resolvers msgid "Custom Export Resolvers" -msgstr "" +msgstr "Resolucionadores de Exportación Personalizados" #. module: jsonifier #: model:ir.model.fields,field_description:jsonifier.field_ir_exports__global_resolver_id msgid "Custom global resolver" -msgstr "" +msgstr "Resolución global personalizada" #. module: jsonifier #: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__resolver_id msgid "Custom resolver" -msgstr "" +msgstr "Resolución personalizada" #. module: jsonifier #: model:ir.model.fields,field_description:jsonifier.field_ir_exports__display_name #: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__display_name #: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__display_name msgid "Display Name" -msgstr "" +msgstr "Nombre para Mostrar" #. module: jsonifier #: code:addons/jsonifier/models/ir_exports_line.py:0 #, python-format msgid "Either set a function or a resolver, not both." -msgstr "" +msgstr "O bien establece una función o una resolución, no ambas." #. module: jsonifier #: model:ir.actions.act_window,name:jsonifier.act_ui_exports_view #: model:ir.ui.menu,name:jsonifier.ui_exports msgid "Export Fields" -msgstr "" +msgstr "Exportar campos" #. module: jsonifier #: model:ir.model,name:jsonifier.model_ir_exports_resolver msgid "Export Resolver" -msgstr "" +msgstr "Resolver Exportaciones" #. module: jsonifier #: model:ir.model,name:jsonifier.model_ir_exports msgid "Exports" -msgstr "" +msgstr "Exportaciones" #. module: jsonifier #: model:ir.model,name:jsonifier.model_ir_exports_line msgid "Exports Line" -msgstr "" +msgstr "Línea de Exportación" #. module: jsonifier #: model:ir.model.fields.selection,name:jsonifier.selection__ir_exports_resolver__type__field msgid "Field" -msgstr "" +msgstr "Campo" #. module: jsonifier #: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__instance_method_name msgid "Function" -msgstr "" +msgstr "Función" #. module: jsonifier #: model:ir.model.fields.selection,name:jsonifier.selection__ir_exports_resolver__type__global msgid "Global" -msgstr "" +msgstr "Global" #. module: jsonifier #: model:ir.model.fields,field_description:jsonifier.field_ir_exports__id #: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__id #: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__id msgid "ID" -msgstr "" +msgstr "ID (identificación)" #. module: jsonifier #: model:ir.model.fields,help:jsonifier.field_ir_exports_line__lang_id msgid "If set, the language in which the field is exported" -msgstr "" +msgstr "Si se establece, el idioma en el que se exporta el campo" #. module: jsonifier #: model:ir.model.fields,help:jsonifier.field_ir_exports__global_resolver_id msgid "If set, will apply the global resolver to the result" -msgstr "" +msgstr "Si se establece, se aplicará el resolver global al resultado" #. module: jsonifier #: model:ir.model.fields,help:jsonifier.field_ir_exports_line__resolver_id msgid "If set, will apply the resolver on the field value" -msgstr "" +msgstr "Si se establece, se aplicará el resolver en el valor del campo" #. module: jsonifier #: model:ir.model.fields,help:jsonifier.field_ir_exports__language_agnostic @@ -157,66 +159,69 @@ msgid "" "If set, will set the lang to False when exporting lines without lang, " "otherwise it uses the lang in the given context to export these fields" msgstr "" +"Si se establece, se establecerá el lang a False al exportar líneas sin lang, " +"de lo contrario utiliza el lang en el contexto dado para exportar estos " +"campos" #. module: jsonifier #: model_terms:ir.ui.view,arch_db:jsonifier.view_ir_exports msgid "Index" -msgstr "" +msgstr "Índice" #. module: jsonifier #: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__lang_id msgid "Language" -msgstr "" +msgstr "Lenguaje" #. module: jsonifier #: model:ir.model.fields,field_description:jsonifier.field_ir_exports__language_agnostic msgid "Language Agnostic" -msgstr "" +msgstr "Agnóstico lingüístico" #. module: jsonifier #: model:ir.model.fields,field_description:jsonifier.field_ir_exports____last_update #: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line____last_update #: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: jsonifier #: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__write_uid msgid "Last Updated by" -msgstr "" +msgstr "Última actualización por" #. module: jsonifier #: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__write_date msgid "Last Updated on" -msgstr "" +msgstr "Última Actualización el" #. module: jsonifier #: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__name msgid "Name" -msgstr "" +msgstr "Nombre" #. module: jsonifier #: code:addons/jsonifier/models/ir_exports_line.py:0 #, python-format msgid "Name and Target must have the same hierarchy depth" -msgstr "" +msgstr "Nombre y Destino deben tener la misma profundidad jerárquica" #. module: jsonifier #: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__python_code msgid "Python Code" -msgstr "" +msgstr "Código de Python" #. module: jsonifier #: model:ir.model.fields,field_description:jsonifier.field_ir_exports__smart_search #: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__smart_search #: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: jsonifier #: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__target msgid "Target" -msgstr "" +msgstr "Objetivo" #. module: jsonifier #: model:ir.model.fields,help:jsonifier.field_ir_exports_line__target @@ -224,20 +229,24 @@ msgid "" "The complete path to the field where you can specify a target on the step as" " field:target" msgstr "" +"La ruta completa al campo donde se puede especificar un objetivo en el paso " +"como field:target" #. module: jsonifier #: code:addons/jsonifier/models/ir_exports_line.py:0 #, python-format msgid "The target must reference the same field as in name '%s' not in '%s'" msgstr "" +"El objetivo debe hacer referencia al mismo campo que en el nombre '%s' no en " +"'%s'" #. module: jsonifier #: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__type msgid "Type" -msgstr "" +msgstr "Tipo" #. module: jsonifier #: code:addons/jsonifier/models/models.py:0 #, python-format msgid "Wrong parser configuration for field: `%s`" -msgstr "" +msgstr "Configuración incorrecta del analizador sintáctico para el campo: `%s`" From b256e5b58148822a3678fb70eca65ac8d8f2c354 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 12:47:09 +0000 Subject: [PATCH 029/232] Added translation using Weblate (Spanish) --- sequence_python/i18n/es.po | 129 +++++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 sequence_python/i18n/es.po diff --git a/sequence_python/i18n/es.po b/sequence_python/i18n/es.po new file mode 100644 index 00000000000..0e326aeb454 --- /dev/null +++ b/sequence_python/i18n/es.po @@ -0,0 +1,129 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sequence_python +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "number: The next number of the sequence (integer)" +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "" +"number_padded: Padded string of the next number of the sequence" +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "" +"random: The Python random module, eg. to use " +"random.randint(0, 9)" +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "sequence: Odoo record of the sequence being used" +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "" +"string: The Python string module, eg. to use " +"random.choices(string.ascii_letters + string.digits, k=4)" +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "" +"uuid: The Python uuid module, eg. to use " +"uuid.uuid4()" +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "Aside from this, you may use several" +msgstr "" + +#. module: sequence_python +#: model:ir.model.fields,field_description:sequence_python.field_ir_sequence__display_name +msgid "Display Name" +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "Help with Python expressions" +msgstr "" + +#. module: sequence_python +#: model:ir.model.fields,field_description:sequence_python.field_ir_sequence__id +msgid "ID" +msgstr "" + +#. module: sequence_python +#: model:ir.model.fields,field_description:sequence_python.field_ir_sequence____last_update +msgid "Last Modified on" +msgstr "" + +#. module: sequence_python +#: model:ir.model.fields,field_description:sequence_python.field_ir_sequence__python_code_preview +msgid "Preview" +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "Python Code" +msgstr "" + +#. module: sequence_python +#: model:ir.model.fields,field_description:sequence_python.field_ir_sequence__python_code +msgid "Python expression" +msgstr "" + +#. module: sequence_python +#: model:ir.model,name:sequence_python.model_ir_sequence +msgid "Sequence" +msgstr "" + +#. module: sequence_python +#: model:ir.model.fields,field_description:sequence_python.field_ir_sequence__smart_search +msgid "Smart Search" +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "" +"The expression you type here will be evaluated as the next number. The " +"following variables can be used:" +msgstr "" + +#. module: sequence_python +#: model:ir.model.fields,field_description:sequence_python.field_ir_sequence__use_python_code +msgid "Use Python" +msgstr "" + +#. module: sequence_python +#: model:ir.model.fields,help:sequence_python.field_ir_sequence__python_code +msgid "Write Python code that generates the sequence body." +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "builtin Python functions" +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "number" +msgstr "" From ae2fe4f13704e28dab69f36d1278fad0b1d8752f Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 11:48:54 +0000 Subject: [PATCH 030/232] Translated using Weblate (Spanish) Currently translated at 100.0% (89 of 89 strings) Translation: server-tools-14.0/server-tools-14.0-attachment_queue Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-attachment_queue/es/ --- attachment_queue/i18n/es.po | 194 ++++++++++++++++++++---------------- 1 file changed, 108 insertions(+), 86 deletions(-) diff --git a/attachment_queue/i18n/es.po b/attachment_queue/i18n/es.po index a7346154dd5..e185c1def48 100644 --- a/attachment_queue/i18n/es.po +++ b/attachment_queue/i18n/es.po @@ -6,13 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-20 15:37+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: attachment_queue #: model:mail.template,body_html:attachment_queue.attachment_failure_notification @@ -23,402 +25,418 @@ msgid "" "

Regards,

\n" " " msgstr "" +"\n" +"

Hola,

\n" +"

El archivo adjunto ${object.name} ha fallado con el siguiente mensaje de " +"error:
${object.state_message}

\n" +"

Saludos,

\n" +" " #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__access_token msgid "Access Token" -msgstr "" +msgstr "Ficha de Acceso" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_needaction msgid "Action Needed" -msgstr "" +msgstr "Necesita Acción" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__attachment_id #: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search msgid "Attachment" -msgstr "" +msgstr "Archivo Adjunto" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_attachment_count msgid "Attachment Count" -msgstr "" +msgstr "Contador de Archivos Adjuntos" #. module: attachment_queue #: model:ir.model,name:attachment_queue.model_attachment_queue msgid "Attachment Queue" -msgstr "" +msgstr "Cola de Archivos Adjuntos" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__local_url msgid "Attachment URL" -msgstr "" +msgstr "URL del Archivo Adjunto" #. module: attachment_queue #: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search msgid "Attachments" -msgstr "" +msgstr "Archivos Adjuntos" #. module: attachment_queue #: model:ir.actions.act_window,name:attachment_queue.action_attachment_queue #: model:ir.ui.menu,name:attachment_queue.menu_attachment_queue msgid "Attachments Queue" -msgstr "" +msgstr "Cola de Archivos Adjuntos" #. module: attachment_queue #: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search msgid "Binary" -msgstr "" +msgstr "Binario" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__changeset_change_ids msgid "Changeset Changes" -msgstr "" +msgstr "Cambios en el Conjunto de Modificaciones" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__changeset_ids msgid "Changesets" -msgstr "" +msgstr "Conjuntos de cambios" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__checksum msgid "Checksum/SHA1" -msgstr "" +msgstr "Verificación de suma/SHA1" #. module: attachment_queue #: model:ir.model.fields,help:attachment_queue.field_attachment_queue__failure_emails msgid "" "Comma-separated list of email addresses to be notified in case offailure" msgstr "" +"Lista separada por comas de direcciones de correo electrónico a las que " +"notificar en caso de fallo" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__company_id #: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search msgid "Company" -msgstr "" +msgstr "Companía" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__count_pending_changeset_changes msgid "Count Pending Changeset Changes" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__count_pending_changesets msgid "Count Pending Changesets" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__create_uid msgid "Created by" -msgstr "" +msgstr "Creado por" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__create_date msgid "Created on" -msgstr "" +msgstr "Creado el" #. module: attachment_queue #: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search msgid "Creation Month" -msgstr "" +msgstr "Mes de Creación" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__db_datas msgid "Database Data" -msgstr "" +msgstr "Base de Datos" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__date_done msgid "Date Done" -msgstr "" +msgstr "Fecha Finalización" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__description msgid "Description" -msgstr "" +msgstr "Descripción" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: attachment_queue #: model:ir.model.fields.selection,name:attachment_queue.selection__attachment_queue__state__done #: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search msgid "Done" -msgstr "" +msgstr "Realizado/a" #. module: attachment_queue #: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_form msgid "Error" -msgstr "" +msgstr "Error" #. module: attachment_queue #: model:ir.model.fields.selection,name:attachment_queue.selection__attachment_queue__state__failed #: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search msgid "Failed" -msgstr "" +msgstr "Fallido" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__failure_emails msgid "Failure Emails" -msgstr "" +msgstr "Correos Electrónicos Fallidos" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__datas msgid "File Content (base64)" -msgstr "" +msgstr "Contenido del Archivo (base64)" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__raw msgid "File Content (raw)" -msgstr "" +msgstr "Contenido del Archivo (sin procesar)" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__file_size msgid "File Size" -msgstr "" +msgstr "Tamaño del Archivo" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__file_type msgid "File Type" -msgstr "" +msgstr "Tipo de Archivo" #. module: attachment_queue #: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search msgid "File type" -msgstr "" +msgstr "Tipo de archivo" #. module: attachment_queue #: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search msgid "Filter on my documents" -msgstr "" +msgstr "Filtrar en mis documentos" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_follower_ids msgid "Followers" -msgstr "" +msgstr "Seguidores" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_channel_ids msgid "Followers (Channels)" -msgstr "" +msgstr "Seguidores/as (Canales)" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_partner_ids msgid "Followers (Partners)" -msgstr "" +msgstr "seguidores (Socios)" #. module: attachment_queue #: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search msgid "Group By" -msgstr "" +msgstr "Agrupar por" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__id msgid "ID" -msgstr "" +msgstr "ID" #. module: attachment_queue #: model:ir.model.fields,help:attachment_queue.field_attachment_queue__message_needaction #: model:ir.model.fields,help:attachment_queue.field_attachment_queue__message_unread msgid "If checked, new messages require your attention." -msgstr "" +msgstr "Si están marcado, nuevos mensajes requieren su atención." #. module: attachment_queue #: model:ir.model.fields,help:attachment_queue.field_attachment_queue__message_has_error msgid "If checked, some messages have a delivery error." -msgstr "" +msgstr "Si está marcado, algunos mensajes requieren su atención." #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__image_height msgid "Image Height" -msgstr "" +msgstr "Altura de la Imagen" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__image_src msgid "Image Src" -msgstr "" +msgstr "Origen de la Imagen" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__image_width msgid "Image Width" -msgstr "" +msgstr "Anchura de la Imagen" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__index_content msgid "Indexed Content" -msgstr "" +msgstr "Contenido Indexado" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_is_follower msgid "Is Follower" -msgstr "" +msgstr "Es Seguidor/a" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__public msgid "Is public document" -msgstr "" +msgstr "Es un documento público" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__write_uid msgid "Last Updated by" -msgstr "" +msgstr "Última actualización por" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__write_date msgid "Last Updated on" -msgstr "" +msgstr "Última Actualización el" #. module: attachment_queue #: model:ir.model.fields,help:attachment_queue.field_attachment_queue__attachment_id msgid "Link to ir.attachment model " -msgstr "" +msgstr "Enlace al modelo ir.attachment " #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_main_attachment_id msgid "Main Attachment" -msgstr "" +msgstr "Archivo Adjunto Principal" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_has_error msgid "Message Delivery error" -msgstr "" +msgstr "Error en Entrega de Mensajes" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_ids msgid "Messages" -msgstr "" +msgstr "Mensajes" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__mimetype msgid "Mime Type" -msgstr "" +msgstr "Tipo Mimo" #. module: attachment_queue #: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search msgid "My Document(s)" -msgstr "" +msgstr "Mis Documento(s)" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__name msgid "Name" -msgstr "" +msgstr "Nombre" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_needaction_counter msgid "Number of Actions" -msgstr "" +msgstr "Número de Acciones" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_has_error_counter msgid "Number of errors" -msgstr "" +msgstr "Número de errores" #. module: attachment_queue #: model:ir.model.fields,help:attachment_queue.field_attachment_queue__message_needaction_counter msgid "Number of messages which requires an action" -msgstr "" +msgstr "Cantidad de mensajes que requieren una acción" #. module: attachment_queue #: model:ir.model.fields,help:attachment_queue.field_attachment_queue__message_has_error_counter msgid "Number of messages with delivery error" -msgstr "" +msgstr "Número de mensajes con error de envío" #. module: attachment_queue #: model:ir.model.fields,help:attachment_queue.field_attachment_queue__message_unread_counter msgid "Number of unread messages" -msgstr "" +msgstr "Número de mensajes no leídos" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__original_id msgid "Original (unoptimized, unresized) attachment" -msgstr "" +msgstr "Archivo adjunto original (sin optimizar y sin redimensionar)" #. module: attachment_queue #: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search msgid "Owner" -msgstr "" +msgstr "Propietario" #. module: attachment_queue #: model:ir.model.fields.selection,name:attachment_queue.selection__attachment_queue__state__pending #: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search msgid "Pending" -msgstr "" +msgstr "Pendiente" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__res_field msgid "Resource Field" -msgstr "" +msgstr "Campo de Recurso" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__res_id msgid "Resource ID" -msgstr "" +msgstr "ID del Recurso" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__res_model msgid "Resource Model" -msgstr "" +msgstr "Modelo del Recurso" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__res_name msgid "Resource Name" -msgstr "" +msgstr "Nombre del Recurso" #. module: attachment_queue #: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_form msgid "Run" -msgstr "" +msgstr "Ejecutar" #. module: attachment_queue #: model:ir.actions.server,name:attachment_queue.cronjob_run_attachment_queue_ir_actions_server #: model:ir.cron,cron_name:attachment_queue.cronjob_run_attachment_queue #: model:ir.cron,name:attachment_queue.cronjob_run_attachment_queue msgid "Run Attachments Queue" -msgstr "" +msgstr "Ejecutar Cola de Archivos Adjuntos" #. module: attachment_queue #: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_form msgid "Set to Done" -msgstr "" +msgstr "Establecer como Hecho" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__state #: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search msgid "State" -msgstr "" +msgstr "Estado" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__state_message msgid "State Message" -msgstr "" +msgstr "Mensaje de Estado" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__store_fname msgid "Stored Filename" -msgstr "" +msgstr "Nombre del Archivo Almacenado" #. module: attachment_queue #: model:mail.template,subject:attachment_queue.attachment_failure_notification msgid "The attachment ${object.name} has failed" -msgstr "" +msgstr "El archivo adjunto ${object.name} ha fallado" #. module: attachment_queue #: model:ir.model.fields,help:attachment_queue.field_attachment_queue__res_model msgid "The database object this attachment will be attached to." -msgstr "" +msgstr "El objeto de la base de datos al que se anexará este anexo." #. module: attachment_queue #: model:ir.model.fields,help:attachment_queue.field_attachment_queue__file_type @@ -426,52 +444,54 @@ msgid "" "The file type determines an import method to be used to parse and transform " "data before their import in ERP or an export" msgstr "" +"El tipo de archivo determina el método de importación que se utilizará para " +"analizar y transformar los datos antes de importarlos al ERP o exportarlos" #. module: attachment_queue #: model:ir.model.fields,help:attachment_queue.field_attachment_queue__res_id msgid "The record id this is attached to." -msgstr "" +msgstr "Se adjunta el identificador de registro." #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__type #: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search msgid "Type" -msgstr "" +msgstr "Grupo" #. module: attachment_queue #: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search msgid "URL" -msgstr "" +msgstr "URL" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_unread msgid "Unread Messages" -msgstr "" +msgstr "Mensajes no Leídos" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_unread_counter msgid "Unread Messages Counter" -msgstr "" +msgstr "Número de Mensajes sin Leer" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__url msgid "Url" -msgstr "" +msgstr "Url" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__user_can_see_changeset msgid "User Can See Changeset" -msgstr "" +msgstr "Usuario Puede ver Conjunto de Cambios" #. module: attachment_queue #: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__website_message_ids msgid "Website Messages" -msgstr "" +msgstr "Mensajes de Sitio Web" #. module: attachment_queue #: model:ir.model.fields,help:attachment_queue.field_attachment_queue__website_message_ids msgid "Website communication history" -msgstr "" +msgstr "Historial de la comunicación en el sitio web" #. module: attachment_queue #: model:ir.model.fields,help:attachment_queue.field_attachment_queue__type @@ -479,3 +499,5 @@ msgid "" "You can either upload a file from your computer or copy/paste an internet " "link to your file." msgstr "" +"Puede cargar un archivo desde su ordenador o copiar/pegar un enlace de " +"Internet a su archivo." From 86b413ba67bd1664299458e6e6089aa1a829351a Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 12:49:42 +0000 Subject: [PATCH 031/232] Translated using Weblate (Spanish) Currently translated at 66.6% (14 of 21 strings) Translation: server-tools-14.0/server-tools-14.0-sequence_python Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-sequence_python/es/ --- sequence_python/i18n/es.po | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/sequence_python/i18n/es.po b/sequence_python/i18n/es.po index 0e326aeb454..55dc41ebed9 100644 --- a/sequence_python/i18n/es.po +++ b/sequence_python/i18n/es.po @@ -6,24 +6,28 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-20 15:37+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: sequence_python #: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view msgid "number: The next number of the sequence (integer)" -msgstr "" +msgstr "número: El siguiente número de la secuencia (entero)" #. module: sequence_python #: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view msgid "" "number_padded: Padded string of the next number of the sequence" msgstr "" +"number_padded: Cadena rellena del siguiente número de la " +"secuencia" #. module: sequence_python #: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view @@ -43,6 +47,8 @@ msgid "" "string: The Python string module, eg. to use " "random.choices(string.ascii_letters + string.digits, k=4)" msgstr "" +"string: el módulo de cadena de Python, por ejemplo. usar " +"random.choices(string.ascii_letters + string.digits, k=4)" #. module: sequence_python #: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view @@ -50,56 +56,58 @@ msgid "" "uuid: The Python uuid module, eg. to use " "uuid.uuid4()" msgstr "" +"uuid: El módulo uuid de Python, por ejemplo. utilizar uuid" +".uuid4()" #. module: sequence_python #: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view msgid "Aside from this, you may use several" -msgstr "" +msgstr "Aparte de esto, usted puede utilizar varios" #. module: sequence_python #: model:ir.model.fields,field_description:sequence_python.field_ir_sequence__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: sequence_python #: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view msgid "Help with Python expressions" -msgstr "" +msgstr "Ayuda con las expresiones Python" #. module: sequence_python #: model:ir.model.fields,field_description:sequence_python.field_ir_sequence__id msgid "ID" -msgstr "" +msgstr "ID" #. module: sequence_python #: model:ir.model.fields,field_description:sequence_python.field_ir_sequence____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: sequence_python #: model:ir.model.fields,field_description:sequence_python.field_ir_sequence__python_code_preview msgid "Preview" -msgstr "" +msgstr "Previsualización" #. module: sequence_python #: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view msgid "Python Code" -msgstr "" +msgstr "Código Python" #. module: sequence_python #: model:ir.model.fields,field_description:sequence_python.field_ir_sequence__python_code msgid "Python expression" -msgstr "" +msgstr "Expresión python" #. module: sequence_python #: model:ir.model,name:sequence_python.model_ir_sequence msgid "Sequence" -msgstr "" +msgstr "Secuencia" #. module: sequence_python #: model:ir.model.fields,field_description:sequence_python.field_ir_sequence__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: sequence_python #: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view From 52084c36fcf1088af8f5cd4dc38e91e3ad25ada2 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 15:46:25 +0000 Subject: [PATCH 032/232] Added translation using Weblate (Spanish) --- base_generate_code/i18n/es.po | 182 ++++++++++++++++++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 base_generate_code/i18n/es.po diff --git a/base_generate_code/i18n/es.po b/base_generate_code/i18n/es.po new file mode 100644 index 00000000000..11192502cb9 --- /dev/null +++ b/base_generate_code/i18n/es.po @@ -0,0 +1,182 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_generate_code +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__code +msgid "Code" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: base_generate_code +#: model:ir.model,name:base_generate_code.model_code_format_mixin +msgid "Customizable code format Mixin" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__display_name +msgid "Display Name" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_channel_ids +msgid "Followers (Channels)" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__id +msgid "ID" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,help:base_generate_code.field_code_format_mixin__message_needaction +#: model:ir.model.fields,help:base_generate_code.field_code_format_mixin__message_unread +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,help:base_generate_code.field_code_format_mixin__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_ids +msgid "Messages" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,help:base_generate_code.field_code_format_mixin__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,help:base_generate_code.field_code_format_mixin__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,help:base_generate_code.field_code_format_mixin__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__smart_search +msgid "Smart Search" +msgstr "" + +#. module: base_generate_code +#: code:addons/base_generate_code/models/code_format_mixin.py:0 +#, python-format +msgid "Unable to generate a non existing random code." +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,help:base_generate_code.field_code_format_mixin__website_message_ids +msgid "Website communication history" +msgstr "" From ffba1d38dbc425a267b64b428f94103b93ec11d4 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 16:09:40 +0000 Subject: [PATCH 033/232] Added translation using Weblate (Spanish) --- base_model_restrict_update/i18n/es.po | 105 ++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 base_model_restrict_update/i18n/es.po diff --git a/base_model_restrict_update/i18n/es.po b/base_model_restrict_update/i18n/es.po new file mode 100644 index 00000000000..3b9527e8b47 --- /dev/null +++ b/base_model_restrict_update/i18n/es.po @@ -0,0 +1,105 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_model_restrict_update +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: base_model_restrict_update +#: model_terms:ir.ui.view,arch_db:base_model_restrict_update.view_users_form +msgid "Read-only" +msgstr "" + +#. module: base_model_restrict_update +#: model_terms:ir.ui.view,arch_db:base_model_restrict_update.view_users_form +msgid "Unrestrict Update" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model__display_name +#: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model_access__display_name +#: model:ir.model.fields,field_description:base_model_restrict_update.field_res_users__display_name +msgid "Display Name" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model__id +#: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model_access__id +#: model:ir.model.fields,field_description:base_model_restrict_update.field_res_users__id +msgid "ID" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model____last_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model_access____last_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_res_users____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model,name:base_model_restrict_update.model_ir_model_access +msgid "Model Access" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model,name:base_model_restrict_update.model_ir_model +msgid "Models" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_res_users__is_readonly_user +msgid "Ready User" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,help:base_model_restrict_update.field_res_users__is_readonly_user +msgid "Set to true and the user are readonly user on all models" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,help:base_model_restrict_update.field_res_users__unrestrict_model_update +msgid "Set to true and the user can update restricted model." +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_res_users__unrestrict_model_update +msgid "Unrestrict Model Update" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model__restrict_update +msgid "Update Restrict Model" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model,name:base_model_restrict_update.model_res_users +msgid "Users" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,help:base_model_restrict_update.field_ir_model__restrict_update +msgid "" +"When selected, the model is restricted to read-only unless the user has the " +"special permission." +msgstr "" + +#. module: base_model_restrict_update +#: code:addons/base_model_restrict_update/models/ir_model_access.py:0 +#, python-format +msgid "You are only allowed to read this record. (%s - %s)" +msgstr "" + +#. module: base_model_restrict_update +#: code:addons/base_model_restrict_update/models/res_users.py:0 +#, python-format +msgid "You cannot set admin user as a readonly user." +msgstr "" From b46dafb91a36b559e1ebfe947d5ed72fd292cf45 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 16:15:04 +0000 Subject: [PATCH 034/232] Added translation using Weblate (Spanish) --- jsonifier_stored/i18n/es.po | 92 +++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 jsonifier_stored/i18n/es.po diff --git a/jsonifier_stored/i18n/es.po b/jsonifier_stored/i18n/es.po new file mode 100644 index 00000000000..b44d282ecaf --- /dev/null +++ b/jsonifier_stored/i18n/es.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * jsonifier_stored +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__display_name +msgid "Display Name" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__id +msgid "ID" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__ir_export_id +msgid "Ir Export" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model,name:jsonifier_stored.model_jsonifier_stored_mixin +msgid "JSONifier stored mixin" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.actions.server,name:jsonifier_stored.cron_recompute_all_ir_actions_server +#: model:ir.cron,cron_name:jsonifier_stored.cron_recompute_all +#: model:ir.cron,name:jsonifier_stored.cron_recompute_all +msgid "JSONify stored - Recompute data for all models" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__jsonified_data +msgid "Jsonified Data" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__jsonified_display +msgid "Jsonified Display" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin____last_update +msgid "Last Modified on" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__smart_search +msgid "Smart Search" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" From 5e640d58846f98d3ba54f846cf2b01aa619ff657 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 16:21:07 +0000 Subject: [PATCH 035/232] Added translation using Weblate (Spanish) --- tracking_manager/i18n/es.po | 226 ++++++++++++++++++++++++++++++++++++ 1 file changed, 226 insertions(+) create mode 100644 tracking_manager/i18n/es.po diff --git a/tracking_manager/i18n/es.po b/tracking_manager/i18n/es.po new file mode 100644 index 00000000000..d3f3c7b0890 --- /dev/null +++ b/tracking_manager/i18n/es.po @@ -0,0 +1,226 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * tracking_manager +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.track_o2m_m2m_template +msgid "Change :" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.track_o2m_m2m_template +msgid "Delete :" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.track_o2m_m2m_template +msgid "New :" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form +msgid "Active" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__active_custom_tracking +msgid "Active Custom Tracking" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__assigned_attachment_ids +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__assigned_attachment_ids +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__assigned_attachment_ids +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__automatic_custom_tracking +msgid "Automatic Custom Tracking" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__automatic_custom_tracking_domain +msgid "Automatic Custom Tracking Domain" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form +msgid "Automatic configuration" +msgstr "" + +#. module: tracking_manager +#: model:ir.model,name:tracking_manager.model_base +msgid "Base" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.track_o2m_m2m_template +msgid "Changed" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__changeset_change_ids +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__changeset_change_ids +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__changeset_change_ids +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__changeset_ids +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__changeset_ids +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__changeset_ids +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__count_pending_changeset_changes +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__count_pending_changeset_changes +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__count_pending_changeset_changes +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__count_pending_changesets +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__count_pending_changesets +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__count_pending_changesets +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__custom_tracking +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form +msgid "Custom Tracking" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_track_fields_search +msgid "Custom Tracking OFF" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_track_fields_search +msgid "Custom Tracking ON" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__display_name +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__display_name +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__display_name +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__display_name +msgid "Display Name" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form +msgid "Domain" +msgstr "" + +#. module: tracking_manager +#: model:ir.model,name:tracking_manager.model_mail_thread +msgid "Email Thread" +msgstr "" + +#. module: tracking_manager +#: model:ir.model,name:tracking_manager.model_ir_model_fields +msgid "Fields" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__id +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__id +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__id +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__id +msgid "ID" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,help:tracking_manager.field_ir_model__automatic_custom_tracking +msgid "If tick new field will be automatically tracked if the domain match" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model____last_update +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields____last_update +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread____last_update +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value____last_update +msgid "Last Modified on" +msgstr "" + +#. module: tracking_manager +#: model:ir.model,name:tracking_manager.model_mail_tracking_value +msgid "Mail Tracking Value" +msgstr "" + +#. module: tracking_manager +#: model:ir.model,name:tracking_manager.model_ir_model +msgid "Models" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__native_tracking +msgid "Native Tracking" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__smart_search +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__smart_search +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__smart_search +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__smart_search +msgid "Smart Search" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__trackable +msgid "Trackable" +msgstr "" + +#. module: tracking_manager +#: model:ir.actions.act_window,name:tracking_manager.ir_model_fields_action +msgid "Trackable Fields" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__tracked_field_count +msgid "Tracked Field Count" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form +msgid "Tracked Fields" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form +msgid "Update" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form +msgid "Update fields configuration" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__user_can_see_changeset +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__user_can_see_changeset +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__user_can_see_changeset +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" From d4d7fe88176d267734dbfd6f6ee529e079bd6a85 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 16:36:08 +0000 Subject: [PATCH 036/232] Added translation using Weblate (Spanish) --- attachment_unindex_content/i18n/es.po | 35 +++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 attachment_unindex_content/i18n/es.po diff --git a/attachment_unindex_content/i18n/es.po b/attachment_unindex_content/i18n/es.po new file mode 100644 index 00000000000..c243692271e --- /dev/null +++ b/attachment_unindex_content/i18n/es.po @@ -0,0 +1,35 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * attachment_unindex_content +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: attachment_unindex_content +#: model:ir.model,name:attachment_unindex_content.model_ir_attachment +msgid "Attachment" +msgstr "" + +#. module: attachment_unindex_content +#: model:ir.model.fields,field_description:attachment_unindex_content.field_ir_attachment__display_name +msgid "Display Name" +msgstr "" + +#. module: attachment_unindex_content +#: model:ir.model.fields,field_description:attachment_unindex_content.field_ir_attachment__id +msgid "ID" +msgstr "" + +#. module: attachment_unindex_content +#: model:ir.model.fields,field_description:attachment_unindex_content.field_ir_attachment____last_update +msgid "Last Modified on" +msgstr "" From 25ae4f6639601aba24748a971f09c4bdf33db4e2 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 16:37:15 +0000 Subject: [PATCH 037/232] Added translation using Weblate (Spanish) --- base_sequence_option/i18n/es.po | 208 ++++++++++++++++++++++++++++++++ 1 file changed, 208 insertions(+) create mode 100644 base_sequence_option/i18n/es.po diff --git a/base_sequence_option/i18n/es.po b/base_sequence_option/i18n/es.po new file mode 100644 index 00000000000..74b12f1b713 --- /dev/null +++ b/base_sequence_option/i18n/es.po @@ -0,0 +1,208 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_sequence_option +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: base_sequence_option +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__filter_domain +msgid "Apply On" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__model +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__model +msgid "Apply On Model" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__base_id +msgid "Base" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__company_id +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__company_id +msgid "Company" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,help:base_sequence_option.field_ir_sequence_option__company_id +#: model:ir.model.fields,help:base_sequence_option.field_ir_sequence_option_line__company_id +msgid "Company related to this sequence option" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__create_uid +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__create_uid +msgid "Created by" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__create_date +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__create_date +msgid "Created on" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__name +msgid "Description" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence__display_name +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__display_name +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__display_name +msgid "Display Name" +msgstr "" + +#. module: base_sequence_option +#: model_terms:ir.ui.view,arch_db:base_sequence_option.view_ir_sequence_option_form +msgid "Doctype Sequence" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,help:base_sequence_option.field_ir_sequence_option_line__filter_domain +msgid "Find matching option by document values" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence__id +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__id +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__id +msgid "ID" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,help:base_sequence_option.field_ir_sequence_option__use_sequence_option +#: model:ir.model.fields,help:base_sequence_option.field_ir_sequence_option_line__use_sequence_option +msgid "" +"If checked, Odoo will try to find the new matching sequence first, if not " +"found, fall back to use the original Odoo sequence." +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__implementation +msgid "Implementation" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence____last_update +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option____last_update +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__write_uid +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__write_date +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__write_date +msgid "Last Updated on" +msgstr "" + +#. module: base_sequence_option +#: model:ir.actions.act_window,name:base_sequence_option.action_ir_sequence_option +#: model:ir.ui.menu,name:base_sequence_option.menu_ir_sequence_option +msgid "Manage Sequence Options" +msgstr "" + +#. module: base_sequence_option +#: model_terms:ir.ui.view,arch_db:base_sequence_option.view_ir_sequence_option_form +msgid "Matching Domain" +msgstr "" + +#. module: base_sequence_option +#: code:addons/base_sequence_option/models/ir_sequence_option.py:0 +#, python-format +msgid "Multiple optional sequences found for this model!" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__name +#: model_terms:ir.ui.view,arch_db:base_sequence_option.view_ir_sequence_option_form +msgid "Name" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__prefix +msgid "Prefix" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,help:base_sequence_option.field_ir_sequence_option_line__prefix +msgid "Prefix value of the record for the sequence" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model,name:base_sequence_option.model_ir_sequence +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__sequence_id +msgid "Sequence" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model,name:base_sequence_option.model_ir_sequence_option +msgid "Sequence Option Base Model" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model,name:base_sequence_option.model_ir_sequence_option_line +msgid "Sequence Option Line" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__option_ids +msgid "Sequence Options" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence__smart_search +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__smart_search +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__smart_search +msgid "Smart Search" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__suffix +msgid "Suffix" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,help:base_sequence_option.field_ir_sequence_option_line__suffix +msgid "Suffix value of the record for the sequence" +msgstr "" + +#. module: base_sequence_option +#: model_terms:ir.ui.view,arch_db:base_sequence_option.view_ir_sequence_option_form +msgid "Use Sequence" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__use_sequence_option +#: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__use_sequence_option +msgid "Use sequence options" +msgstr "" + +#. module: base_sequence_option +#: model:ir.model.fields,help:base_sequence_option.field_ir_sequence_option_line__implementation +msgid "" +"While assigning a sequence number to a record, the 'no gap' sequence " +"implementation ensures that each previous sequence number has been assigned " +"already. While this sequence implementation will not skip any sequence " +"number upon assignment, there can still be gaps in the sequence if records " +"are deleted. The 'no gap' implementation is slower than the standard one." +msgstr "" From 4efcf8c57f1794509fcfb524e6c52637107650f2 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 16:34:33 +0000 Subject: [PATCH 038/232] Translated using Weblate (Spanish) Currently translated at 100.0% (7 of 7 strings) Translation: server-tools-14.0/server-tools-14.0-base_view_inheritance_extension Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_view_inheritance_extension/es/ --- base_view_inheritance_extension/i18n/es.po | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/base_view_inheritance_extension/i18n/es.po b/base_view_inheritance_extension/i18n/es.po index 8ad8f97a8b8..9a358281efa 100644 --- a/base_view_inheritance_extension/i18n/es.po +++ b/base_view_inheritance_extension/i18n/es.po @@ -9,49 +9,50 @@ msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-01 02:10+0000\n" -"PO-Revision-Date: 2017-12-01 02:10+0000\n" -"Last-Translator: Pedro M. Baeza , 2017\n" +"PO-Revision-Date: 2024-04-20 16:39+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" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" #. module: base_view_inheritance_extension #: model:ir.model.fields,field_description:base_view_inheritance_extension.field_ir_ui_view__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: base_view_inheritance_extension #: model:ir.model.fields,field_description:base_view_inheritance_extension.field_ir_ui_view__id msgid "ID" -msgstr "" +msgstr "ID" #. module: base_view_inheritance_extension #: model:ir.model.fields,field_description:base_view_inheritance_extension.field_ir_ui_view____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: base_view_inheritance_extension #: model_terms:ir.ui.view,arch_db:base_view_inheritance_extension.view_partner_simple_form msgid "Partner form" -msgstr "" +msgstr "Formulario de socio" #. module: base_view_inheritance_extension #: model_terms:ir.ui.view,arch_db:base_view_inheritance_extension.view_partner_simple_form msgid "Phone numbers" -msgstr "" +msgstr "Números de teléfono" #. module: base_view_inheritance_extension #: model:ir.model.fields,field_description:base_view_inheritance_extension.field_ir_ui_view__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: base_view_inheritance_extension #: model:ir.model,name:base_view_inheritance_extension.model_ir_ui_view msgid "View" -msgstr "" +msgstr "Ver" #~ msgid "ir.ui.view" #~ msgstr "ir.ui.view" From a1039a3ffe0f723c6cf2cc94807af02a12c30050 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 15:39:06 +0000 Subject: [PATCH 039/232] Translated using Weblate (Spanish) Currently translated at 100.0% (21 of 21 strings) Translation: server-tools-14.0/server-tools-14.0-sequence_python Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-sequence_python/es/ --- sequence_python/i18n/es.po | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/sequence_python/i18n/es.po b/sequence_python/i18n/es.po index 55dc41ebed9..eb4413400c3 100644 --- a/sequence_python/i18n/es.po +++ b/sequence_python/i18n/es.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-04-20 15:37+0000\n" +"PO-Revision-Date: 2024-04-20 16:39+0000\n" "Last-Translator: Ivorra78 \n" "Language-Team: none\n" "Language: es\n" @@ -35,11 +35,15 @@ msgid "" "random: The Python random module, eg. to use " "random.randint(0, 9)" msgstr "" +"random: el módulo aleatorio de Python, por ejemplo, para usar " +"random.randint(0, 9)" #. module: sequence_python #: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view msgid "sequence: Odoo record of the sequence being used" msgstr "" +"secuencia: Registro de Odoo de la secuencia que esta siendo " +"utilizada" #. module: sequence_python #: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view @@ -115,23 +119,25 @@ msgid "" "The expression you type here will be evaluated as the next number. The " "following variables can be used:" msgstr "" +"La expresión que escriba aquí se evaluará como el siguiente número. Se " +"pueden utilizar las siguientes variables:" #. module: sequence_python #: model:ir.model.fields,field_description:sequence_python.field_ir_sequence__use_python_code msgid "Use Python" -msgstr "" +msgstr "Utilizar Python" #. module: sequence_python #: model:ir.model.fields,help:sequence_python.field_ir_sequence__python_code msgid "Write Python code that generates the sequence body." -msgstr "" +msgstr "Escribir código Python que genere el cuerpo de la secuencia." #. module: sequence_python #: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view msgid "builtin Python functions" -msgstr "" +msgstr "funciones incorporadas de Python" #. module: sequence_python #: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view msgid "number" -msgstr "" +msgstr "número" From ba44eb06da8c495ba3e1440e5d66acab27a7abab Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 16:00:56 +0000 Subject: [PATCH 040/232] Translated using Weblate (Spanish) Currently translated at 100.0% (33 of 33 strings) Translation: server-tools-14.0/server-tools-14.0-base_generate_code Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_generate_code/es/ --- base_generate_code/i18n/es.po | 70 ++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 34 deletions(-) diff --git a/base_generate_code/i18n/es.po b/base_generate_code/i18n/es.po index 11192502cb9..3b7e3a63097 100644 --- a/base_generate_code/i18n/es.po +++ b/base_generate_code/i18n/es.po @@ -6,177 +6,179 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-20 16:39+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_needaction msgid "Action Needed" -msgstr "" +msgstr "Acción Necesaria" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__assigned_attachment_ids msgid "Assigned Attachments" -msgstr "" +msgstr "Archivos Adjuntos Asignados" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_attachment_count msgid "Attachment Count" -msgstr "" +msgstr "Contador de Archivos Adjuntos" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__changeset_change_ids msgid "Changeset Changes" -msgstr "" +msgstr "Cambios en el Conjunto de Modificaciones" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__changeset_ids msgid "Changesets" -msgstr "" +msgstr "Conjuntos de cambios" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__code msgid "Code" -msgstr "" +msgstr "Código" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__count_pending_changeset_changes msgid "Count Pending Changeset Changes" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__count_pending_changesets msgid "Count Pending Changesets" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: base_generate_code #: model:ir.model,name:base_generate_code.model_code_format_mixin msgid "Customizable code format Mixin" -msgstr "" +msgstr "Mixin de formato de código personalizable" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_follower_ids msgid "Followers" -msgstr "" +msgstr "Seguidores" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_channel_ids msgid "Followers (Channels)" -msgstr "" +msgstr "Seguidores/as (Canales)" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_partner_ids msgid "Followers (Partners)" -msgstr "" +msgstr "Seguidores/as (Socios)" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__id msgid "ID" -msgstr "" +msgstr "ID" #. module: base_generate_code #: model:ir.model.fields,help:base_generate_code.field_code_format_mixin__message_needaction #: model:ir.model.fields,help:base_generate_code.field_code_format_mixin__message_unread msgid "If checked, new messages require your attention." -msgstr "" +msgstr "Si está marcada, nuevos mensajes requieren su atención." #. module: base_generate_code #: model:ir.model.fields,help:base_generate_code.field_code_format_mixin__message_has_error msgid "If checked, some messages have a delivery error." -msgstr "" +msgstr "Si está marcado, algunos mensajes requieren su atención." #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_is_follower msgid "Is Follower" -msgstr "" +msgstr "Es Seguidor/a" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_main_attachment_id msgid "Main Attachment" -msgstr "" +msgstr "Archivo Adjunto Principal" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_has_error msgid "Message Delivery error" -msgstr "" +msgstr "Error de Entrega de Mensaje" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_ids msgid "Messages" -msgstr "" +msgstr "Mensajes" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_needaction_counter msgid "Number of Actions" -msgstr "" +msgstr "Número de Acciones" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_has_error_counter msgid "Number of errors" -msgstr "" +msgstr "Número de errores" #. module: base_generate_code #: model:ir.model.fields,help:base_generate_code.field_code_format_mixin__message_needaction_counter msgid "Number of messages which requires an action" -msgstr "" +msgstr "Núumero de mensajes que requieren una acción" #. module: base_generate_code #: model:ir.model.fields,help:base_generate_code.field_code_format_mixin__message_has_error_counter msgid "Number of messages with delivery error" -msgstr "" +msgstr "Número de mensajes con errores de envío" #. module: base_generate_code #: model:ir.model.fields,help:base_generate_code.field_code_format_mixin__message_unread_counter msgid "Number of unread messages" -msgstr "" +msgstr "Número de mensajes no leídos" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: base_generate_code #: code:addons/base_generate_code/models/code_format_mixin.py:0 #, python-format msgid "Unable to generate a non existing random code." -msgstr "" +msgstr "No se puede generar un código aleatorio no existente." #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_unread msgid "Unread Messages" -msgstr "" +msgstr "Mensajes No Leídos" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_unread_counter msgid "Unread Messages Counter" -msgstr "" +msgstr "Contador de Mensajes no leídos" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__user_can_see_changeset msgid "User Can See Changeset" -msgstr "" +msgstr "Usuario Puede ver Conjunto de Cambios" #. module: base_generate_code #: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__website_message_ids msgid "Website Messages" -msgstr "" +msgstr "Mensajes del sitio Web" #. module: base_generate_code #: model:ir.model.fields,help:base_generate_code.field_code_format_mixin__website_message_ids msgid "Website communication history" -msgstr "" +msgstr "Historial de la comunicación en el sitio web" From 37730a392fdfb861c82744bc8e3c1c1c563d2243 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 16:10:05 +0000 Subject: [PATCH 041/232] Translated using Weblate (Spanish) Currently translated at 100.0% (16 of 16 strings) Translation: server-tools-14.0/server-tools-14.0-base_model_restrict_update Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_model_restrict_update/es/ --- base_model_restrict_update/i18n/es.po | 35 +++++++++++++++------------ 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/base_model_restrict_update/i18n/es.po b/base_model_restrict_update/i18n/es.po index 3b9527e8b47..9528303d3d7 100644 --- a/base_model_restrict_update/i18n/es.po +++ b/base_model_restrict_update/i18n/es.po @@ -6,84 +6,87 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-20 16:39+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: base_model_restrict_update #: model_terms:ir.ui.view,arch_db:base_model_restrict_update.view_users_form msgid "Read-only" -msgstr "" +msgstr "Solo-Lectura" #. module: base_model_restrict_update #: model_terms:ir.ui.view,arch_db:base_model_restrict_update.view_users_form msgid "Unrestrict Update" -msgstr "" +msgstr "Actualización sin Restricciones" #. module: base_model_restrict_update #: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model__display_name #: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model_access__display_name #: model:ir.model.fields,field_description:base_model_restrict_update.field_res_users__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: base_model_restrict_update #: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model__id #: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model_access__id #: model:ir.model.fields,field_description:base_model_restrict_update.field_res_users__id msgid "ID" -msgstr "" +msgstr "ID" #. module: base_model_restrict_update #: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model____last_update #: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model_access____last_update #: model:ir.model.fields,field_description:base_model_restrict_update.field_res_users____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: base_model_restrict_update #: model:ir.model,name:base_model_restrict_update.model_ir_model_access msgid "Model Access" -msgstr "" +msgstr "Acceso Modelo" #. module: base_model_restrict_update #: model:ir.model,name:base_model_restrict_update.model_ir_model msgid "Models" -msgstr "" +msgstr "Modelos" #. module: base_model_restrict_update #: model:ir.model.fields,field_description:base_model_restrict_update.field_res_users__is_readonly_user msgid "Ready User" -msgstr "" +msgstr "Usuario Listo" #. module: base_model_restrict_update #: model:ir.model.fields,help:base_model_restrict_update.field_res_users__is_readonly_user msgid "Set to true and the user are readonly user on all models" -msgstr "" +msgstr "Establecer a true y el usuario son de sólo lectura en todos los modelos" #. module: base_model_restrict_update #: model:ir.model.fields,help:base_model_restrict_update.field_res_users__unrestrict_model_update msgid "Set to true and the user can update restricted model." msgstr "" +"Si se establece en true, el usuario puede actualizar el modelo restringido." #. module: base_model_restrict_update #: model:ir.model.fields,field_description:base_model_restrict_update.field_res_users__unrestrict_model_update msgid "Unrestrict Model Update" -msgstr "" +msgstr "Actualización del modelo Sin restricciones" #. module: base_model_restrict_update #: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model__restrict_update msgid "Update Restrict Model" -msgstr "" +msgstr "Actualizar el Modelo de Restricciones" #. module: base_model_restrict_update #: model:ir.model,name:base_model_restrict_update.model_res_users msgid "Users" -msgstr "" +msgstr "Usuarios" #. module: base_model_restrict_update #: model:ir.model.fields,help:base_model_restrict_update.field_ir_model__restrict_update @@ -91,15 +94,17 @@ msgid "" "When selected, the model is restricted to read-only unless the user has the " "special permission." msgstr "" +"Cuando se selecciona, el modelo se restringe a sólo lectura a menos que el " +"usuario tenga el permiso especial." #. module: base_model_restrict_update #: code:addons/base_model_restrict_update/models/ir_model_access.py:0 #, python-format msgid "You are only allowed to read this record. (%s - %s)" -msgstr "" +msgstr "Sólo puede leer este registro. (%s - %s)" #. module: base_model_restrict_update #: code:addons/base_model_restrict_update/models/res_users.py:0 #, python-format msgid "You cannot set admin user as a readonly user." -msgstr "" +msgstr "No se puede establecer el usuario admin como usuario de sólo lectura." From 49ee36d633d95118ef435fc7d230d7bb7fb1abba Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 16:15:58 +0000 Subject: [PATCH 042/232] Translated using Weblate (Spanish) Currently translated at 100.0% (15 of 15 strings) Translation: server-tools-14.0/server-tools-14.0-jsonifier_stored Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-jsonifier_stored/es/ --- jsonifier_stored/i18n/es.po | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/jsonifier_stored/i18n/es.po b/jsonifier_stored/i18n/es.po index b44d282ecaf..bea1406b5a7 100644 --- a/jsonifier_stored/i18n/es.po +++ b/jsonifier_stored/i18n/es.po @@ -6,87 +6,89 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-20 16:39+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: jsonifier_stored #: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__assigned_attachment_ids msgid "Assigned Attachments" -msgstr "" +msgstr "Archivos Adjuntos Asignados" #. module: jsonifier_stored #: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__changeset_change_ids msgid "Changeset Changes" -msgstr "" +msgstr "Cambios en el Conjunto de Modificaciones" #. module: jsonifier_stored #: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__changeset_ids msgid "Changesets" -msgstr "" +msgstr "Conjuntos de Cambios" #. module: jsonifier_stored #: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__count_pending_changeset_changes msgid "Count Pending Changeset Changes" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: jsonifier_stored #: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__count_pending_changesets msgid "Count Pending Changesets" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: jsonifier_stored #: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: jsonifier_stored #: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__id msgid "ID" -msgstr "" +msgstr "ID" #. module: jsonifier_stored #: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__ir_export_id msgid "Ir Export" -msgstr "" +msgstr "Exportación Ir" #. module: jsonifier_stored #: model:ir.model,name:jsonifier_stored.model_jsonifier_stored_mixin msgid "JSONifier stored mixin" -msgstr "" +msgstr "Mezclador almacenado JSONifier" #. module: jsonifier_stored #: model:ir.actions.server,name:jsonifier_stored.cron_recompute_all_ir_actions_server #: model:ir.cron,cron_name:jsonifier_stored.cron_recompute_all #: model:ir.cron,name:jsonifier_stored.cron_recompute_all msgid "JSONify stored - Recompute data for all models" -msgstr "" +msgstr "JSONify stored - Recalcular datos para todos los modelos" #. module: jsonifier_stored #: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__jsonified_data msgid "Jsonified Data" -msgstr "" +msgstr "Datos Jsonificados" #. module: jsonifier_stored #: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__jsonified_display msgid "Jsonified Display" -msgstr "" +msgstr "Visualización jsonificada" #. module: jsonifier_stored #: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: jsonifier_stored #: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: jsonifier_stored #: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__user_can_see_changeset msgid "User Can See Changeset" -msgstr "" +msgstr "El Usuario Puede Ver el Conjunto de Cambios" From ea8c1ee725ed2eac2c284b6241c94555d12d73cb Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 16:25:06 +0000 Subject: [PATCH 043/232] Translated using Weblate (Spanish) Currently translated at 100.0% (36 of 36 strings) Translation: server-tools-14.0/server-tools-14.0-tracking_manager Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-tracking_manager/es/ --- tracking_manager/i18n/es.po | 76 +++++++++++++++++++------------------ 1 file changed, 40 insertions(+), 36 deletions(-) diff --git a/tracking_manager/i18n/es.po b/tracking_manager/i18n/es.po index d3f3c7b0890..6fc1de96e1c 100644 --- a/tracking_manager/i18n/es.po +++ b/tracking_manager/i18n/es.po @@ -6,38 +6,40 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-20 16:39+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.track_o2m_m2m_template msgid "Change :" -msgstr "" +msgstr "Cambio :" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.track_o2m_m2m_template msgid "Delete :" -msgstr "" +msgstr "Eliminar:" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.track_o2m_m2m_template msgid "New :" -msgstr "" +msgstr " Nuevo: " #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form msgid "Active" -msgstr "" +msgstr "Activo" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__active_custom_tracking msgid "Active Custom Tracking" -msgstr "" +msgstr "Seguimiento Personalizado Activo" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__assigned_attachment_ids @@ -45,32 +47,32 @@ msgstr "" #: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__assigned_attachment_ids #: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__assigned_attachment_ids msgid "Assigned Attachments" -msgstr "" +msgstr "Archivos Adjuntos Asignados" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__automatic_custom_tracking msgid "Automatic Custom Tracking" -msgstr "" +msgstr "Seguimiento Automático Personalizado" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__automatic_custom_tracking_domain msgid "Automatic Custom Tracking Domain" -msgstr "" +msgstr "Dominio de Seguimiento Automático Personalizado" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form msgid "Automatic configuration" -msgstr "" +msgstr "Configuración automática" #. module: tracking_manager #: model:ir.model,name:tracking_manager.model_base msgid "Base" -msgstr "" +msgstr "Base" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.track_o2m_m2m_template msgid "Changed" -msgstr "" +msgstr "Cambiado" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__changeset_change_ids @@ -78,7 +80,7 @@ msgstr "" #: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__changeset_change_ids #: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__changeset_change_ids msgid "Changeset Changes" -msgstr "" +msgstr "Cambios en el Conjunto de Modificaciones" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__changeset_ids @@ -86,7 +88,7 @@ msgstr "" #: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__changeset_ids #: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__changeset_ids msgid "Changesets" -msgstr "" +msgstr "Conjuntos de Cambios" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__count_pending_changeset_changes @@ -94,7 +96,7 @@ msgstr "" #: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__count_pending_changeset_changes #: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__count_pending_changeset_changes msgid "Count Pending Changeset Changes" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__count_pending_changesets @@ -102,23 +104,23 @@ msgstr "" #: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__count_pending_changesets #: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__count_pending_changesets msgid "Count Pending Changesets" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__custom_tracking #: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form msgid "Custom Tracking" -msgstr "" +msgstr "Seguimiento Personalizado" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_track_fields_search msgid "Custom Tracking OFF" -msgstr "" +msgstr "Seguimiento Personalizado OFF" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_track_fields_search msgid "Custom Tracking ON" -msgstr "" +msgstr "Seguimiento Personalizado ON" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__display_name @@ -126,22 +128,22 @@ msgstr "" #: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__display_name #: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__display_name msgid "Display Name" -msgstr "" +msgstr "Nombre para Mostrar" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form msgid "Domain" -msgstr "" +msgstr "Dominio" #. module: tracking_manager #: model:ir.model,name:tracking_manager.model_mail_thread msgid "Email Thread" -msgstr "" +msgstr "Hilo de Correo Electrónico" #. module: tracking_manager #: model:ir.model,name:tracking_manager.model_ir_model_fields msgid "Fields" -msgstr "" +msgstr "Campos" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__id @@ -149,12 +151,14 @@ msgstr "" #: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__id #: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__id msgid "ID" -msgstr "" +msgstr "ID (identificación)" #. module: tracking_manager #: model:ir.model.fields,help:tracking_manager.field_ir_model__automatic_custom_tracking msgid "If tick new field will be automatically tracked if the domain match" msgstr "" +"Si se marca el nuevo campo se rastreará automáticamente si el dominio " +"coincide" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model____last_update @@ -162,22 +166,22 @@ msgstr "" #: model:ir.model.fields,field_description:tracking_manager.field_mail_thread____last_update #: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: tracking_manager #: model:ir.model,name:tracking_manager.model_mail_tracking_value msgid "Mail Tracking Value" -msgstr "" +msgstr "Valor de Seguimiento del Correo" #. module: tracking_manager #: model:ir.model,name:tracking_manager.model_ir_model msgid "Models" -msgstr "" +msgstr "Modelos" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__native_tracking msgid "Native Tracking" -msgstr "" +msgstr "Seguimiento Nativo" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__smart_search @@ -185,37 +189,37 @@ msgstr "" #: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__smart_search #: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__trackable msgid "Trackable" -msgstr "" +msgstr "Rastreable" #. module: tracking_manager #: model:ir.actions.act_window,name:tracking_manager.ir_model_fields_action msgid "Trackable Fields" -msgstr "" +msgstr "Campos Rastreables" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__tracked_field_count msgid "Tracked Field Count" -msgstr "" +msgstr "Recuento de Campos Rastreados" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form msgid "Tracked Fields" -msgstr "" +msgstr "Campos Rastreados" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form msgid "Update" -msgstr "" +msgstr "Actualizar" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form msgid "Update fields configuration" -msgstr "" +msgstr "Actualizar configuración de campos" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__user_can_see_changeset @@ -223,4 +227,4 @@ msgstr "" #: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__user_can_see_changeset #: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__user_can_see_changeset msgid "User Can See Changeset" -msgstr "" +msgstr "Usuario Puede ver Conjunto de Cambios" From 9678bd310af93298bd5f74c497fa31851183ae9f Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 16:36:50 +0000 Subject: [PATCH 044/232] Translated using Weblate (Spanish) Currently translated at 100.0% (4 of 4 strings) Translation: server-tools-14.0/server-tools-14.0-attachment_unindex_content Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-attachment_unindex_content/es/ --- attachment_unindex_content/i18n/es.po | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/attachment_unindex_content/i18n/es.po b/attachment_unindex_content/i18n/es.po index c243692271e..f9486fed814 100644 --- a/attachment_unindex_content/i18n/es.po +++ b/attachment_unindex_content/i18n/es.po @@ -6,30 +6,32 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-20 16:39+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: attachment_unindex_content #: model:ir.model,name:attachment_unindex_content.model_ir_attachment msgid "Attachment" -msgstr "" +msgstr "Adjunto" #. module: attachment_unindex_content #: model:ir.model.fields,field_description:attachment_unindex_content.field_ir_attachment__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: attachment_unindex_content #: model:ir.model.fields,field_description:attachment_unindex_content.field_ir_attachment__id msgid "ID" -msgstr "" +msgstr "ID (identificación)" #. module: attachment_unindex_content #: model:ir.model.fields,field_description:attachment_unindex_content.field_ir_attachment____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" From 049b8afdc4711ec5f5f1e7183beea37cbd2e8bb2 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 16:38:17 +0000 Subject: [PATCH 045/232] Translated using Weblate (Spanish) Currently translated at 24.2% (8 of 33 strings) Translation: server-tools-14.0/server-tools-14.0-base_sequence_option Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_sequence_option/es/ --- base_sequence_option/i18n/es.po | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/base_sequence_option/i18n/es.po b/base_sequence_option/i18n/es.po index 74b12f1b713..cf5abe572ed 100644 --- a/base_sequence_option/i18n/es.po +++ b/base_sequence_option/i18n/es.po @@ -6,58 +6,60 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-20 16:39+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: base_sequence_option #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__filter_domain msgid "Apply On" -msgstr "" +msgstr "Aplicar en" #. module: base_sequence_option #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__model #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__model msgid "Apply On Model" -msgstr "" +msgstr "Aplicar Sobre el Modelo" #. module: base_sequence_option #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__base_id msgid "Base" -msgstr "" +msgstr "Base" #. module: base_sequence_option #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__company_id #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__company_id msgid "Company" -msgstr "" +msgstr "Compañía" #. module: base_sequence_option #: model:ir.model.fields,help:base_sequence_option.field_ir_sequence_option__company_id #: model:ir.model.fields,help:base_sequence_option.field_ir_sequence_option_line__company_id msgid "Company related to this sequence option" -msgstr "" +msgstr "Compañía relacionada con esta opción de secuencia" #. module: base_sequence_option #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__create_uid #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__create_uid msgid "Created by" -msgstr "" +msgstr "Creado por" #. module: base_sequence_option #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__create_date #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__create_date msgid "Created on" -msgstr "" +msgstr "Creado el" #. module: base_sequence_option #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__name msgid "Description" -msgstr "" +msgstr "Descripción" #. module: base_sequence_option #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence__display_name From 9b4906729c08a48df96ea06a6096c8661744ddee Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 16:40:42 +0000 Subject: [PATCH 046/232] Translated using Weblate (Spanish) Currently translated at 30.3% (10 of 33 strings) Translation: server-tools-14.0/server-tools-14.0-base_sequence_option Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_sequence_option/es/ --- base_sequence_option/i18n/es.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/base_sequence_option/i18n/es.po b/base_sequence_option/i18n/es.po index cf5abe572ed..6843ac13519 100644 --- a/base_sequence_option/i18n/es.po +++ b/base_sequence_option/i18n/es.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-04-20 16:39+0000\n" +"PO-Revision-Date: 2024-04-20 16:40+0000\n" "Last-Translator: Ivorra78 \n" "Language-Team: none\n" "Language: es\n" @@ -66,12 +66,12 @@ msgstr "Descripción" #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__display_name #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: base_sequence_option #: model_terms:ir.ui.view,arch_db:base_sequence_option.view_ir_sequence_option_form msgid "Doctype Sequence" -msgstr "" +msgstr "Secuencia de tipo de Documento" #. module: base_sequence_option #: model:ir.model.fields,help:base_sequence_option.field_ir_sequence_option_line__filter_domain From 30b1e85a5488f281458b2f03cca47072480b6af3 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 16:45:22 +0000 Subject: [PATCH 047/232] Added translation using Weblate (Spanish) --- upgrade_analysis/i18n/es.po | 532 ++++++++++++++++++++++++++++++++++++ 1 file changed, 532 insertions(+) create mode 100644 upgrade_analysis/i18n/es.po diff --git a/upgrade_analysis/i18n/es.po b/upgrade_analysis/i18n/es.po new file mode 100644 index 00000000000..765f9ce5bb3 --- /dev/null +++ b/upgrade_analysis/i18n/es.po @@ -0,0 +1,532 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * upgrade_analysis +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form +msgid "All Modules" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form +msgid "All OCA Modules" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form +msgid "All Odoo SA Modules" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form +msgid "All Other Modules" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__analysis_ids +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_comparison_config_form +msgid "Analyses" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__analysis_date +msgid "Analysis Date" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__analysis_qty +msgid "Analysis Qty" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__attribute_ids +msgid "Attribute" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_record_form +msgid "Attributes" +msgstr "" + +#. module: upgrade_analysis +#: code:addons/upgrade_analysis/wizards/upgrade_generate_record_wizard.py:0 +#, python-format +msgid "Cannot seem to install or upgrade modules %s" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form +msgid "Clear the list" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_generate_record_wizard_form +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form +msgid "Close" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__config_id +msgid "Comparison Config" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.ui.menu,name:upgrade_analysis.menu_upgrade_comparison_config +msgid "Comparison Configurations" +msgstr "" + +#. module: upgrade_analysis +#: code:addons/upgrade_analysis/models/upgrade_comparison_config.py:0 +#, python-format +msgid "" +"Connection failed.\n" +"\n" +"DETAIL: %s" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_generate_record_wizard_form +msgid "Continue" +msgstr "" + +#. module: upgrade_analysis +#: code:addons/upgrade_analysis/models/upgrade_comparison_config.py:0 +#, python-format +msgid "Could not connect the Odoo server at %s:%s" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_record__mode__create +msgid "Create" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_record_search +msgid "Create Mode" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__create_uid +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__create_uid +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__create_uid +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_generate_record_wizard__create_uid +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__create_uid +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__create_uid +msgid "Created by" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__create_date +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__create_date +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__create_date +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_generate_record_wizard__create_date +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__create_date +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__create_date +msgid "Created on" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__database +msgid "Database" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__definition +msgid "Definition" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_ir_module_module__display_name +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__display_name +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__display_name +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__display_name +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_generate_record_wizard__display_name +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__display_name +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__display_name +msgid "Display Name" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__domain +msgid "Domain" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_analysis__state__done +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_generate_record_wizard__state__done +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_install_wizard__state__done +msgid "Done" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_generate_record_wizard__state__draft +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_install_wizard__state__draft +msgid "Draft" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__field +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_record__type__field +msgid "Field" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.actions.act_window,name:upgrade_analysis.action_upgrade_generate_record_wizard +#: model:ir.ui.menu,name:upgrade_analysis.menu_upgrade_generate_record +msgid "Generate Records Wizard" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_ir_module_module__id +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__id +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__id +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__id +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_generate_record_wizard__id +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__id +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__id +msgid "ID" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form +msgid "Install Modules" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.actions.act_window,name:upgrade_analysis.action_upgrade_install_wizard +#: model:ir.ui.menu,name:upgrade_analysis.menu_upgrade_install +msgid "Install Modules Wizard" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_ir_module_module__is_oca_module +msgid "Is Oca Module" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_ir_module_module__is_odoo_module +msgid "Is Odoo Module" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_ir_module_module____last_update +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis____last_update +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute____last_update +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config____last_update +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_generate_record_wizard____last_update +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard____last_update +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record____last_update +msgid "Last Modified on" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__write_uid +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__write_uid +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__write_uid +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_generate_record_wizard__write_uid +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__write_uid +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__write_date +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__write_date +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__write_date +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_generate_record_wizard__write_date +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__write_date +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__write_date +msgid "Last Updated on" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__log +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_analysis_form +msgid "Log" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__mode +msgid "Mode" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__model +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_record__type__model +msgid "Model" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__model_original_module +msgid "Model Original Module" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__model_type +msgid "Model Type" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_record__mode__modify +msgid "Modify" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_record_search +msgid "Modify Mode" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model,name:upgrade_analysis.model_ir_module_module +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__module_ids +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__module +msgid "Module" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__module_qty +msgid "Modules Quantity" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_generate_record_wizard_form +msgid "Modules initialized and record created" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__name +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__name +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__name +msgid "Name" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_comparison_config_form +msgid "New Analysis" +msgstr "" + +#. module: upgrade_analysis +#: code:addons/upgrade_analysis/models/upgrade_record.py:0 +#, python-format +msgid "No manifest found in %s" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__noupdate +msgid "Noupdate" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__password +msgid "Password" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_analysis_form +msgid "Perform Analysis" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__port +msgid "Port" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__prefix +msgid "Prefix" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__record_id +msgid "Record" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.ui.menu,name:upgrade_analysis.menu_upgrade_records +msgid "Records" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__server +msgid "Server" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,help:upgrade_analysis.field_upgrade_record__mode +msgid "" +"Set to Create if a field is newly created in this module. If this module " +"modifies an attribute of an existing field, set to Modify." +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_ir_module_module__smart_search +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__smart_search +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__smart_search +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__smart_search +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_generate_record_wizard__smart_search +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__smart_search +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__smart_search +msgid "Smart Search" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__state +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_generate_record_wizard__state +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__state +msgid "State" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__suffix +msgid "Suffix" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_comparison_config_form +msgid "Test Connection" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,help:upgrade_analysis.field_upgrade_analysis__upgrade_path +msgid "" +"The base file path to save the analyse files of Odoo modules. Taken from " +"Odoo's --upgrade-path command line option or the 'scripts' subdirectory in " +"the openupgrade_scripts addon." +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form +msgid "The modules have been installed successfuly" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form +msgid "" +"This will install the selected modules on the database. Do not continue if " +"you use this database in production." +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_generate_record_wizard_form +msgid "" +"This will reinitialize all the modules installed on this database. Do not " +"continue if you use this database in production." +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__type +msgid "Type" +msgstr "" + +#. module: upgrade_analysis +#: code:addons/upgrade_analysis/models/upgrade_analysis.py:0 +#, python-format +msgid "Unexpected root Element: %s in file: %s" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.actions.act_window,name:upgrade_analysis.action_upgrade_analysis_tree +#: model:ir.model,name:upgrade_analysis.model_upgrade_analysis +#: model:ir.ui.menu,name:upgrade_analysis.menu_upgrade_analysis +msgid "Upgrade Analyses" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.ui.menu,name:upgrade_analysis.menu_upgrade +msgid "Upgrade Analysis" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model,name:upgrade_analysis.model_upgrade_attribute +msgid "Upgrade Attribute" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model,name:upgrade_analysis.model_upgrade_comparison_config +msgid "Upgrade Comparison Configuration" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model,name:upgrade_analysis.model_upgrade_generate_record_wizard +msgid "Upgrade Generate Record Wizard" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model,name:upgrade_analysis.model_upgrade_install_wizard +msgid "Upgrade Install Wizard" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__upgrade_path +msgid "Upgrade Path" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model,name:upgrade_analysis.model_upgrade_record +msgid "Upgrade Record" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__username +msgid "Username" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__value +msgid "Value" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__version +msgid "Version" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__write_files +msgid "Write Files" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,help:upgrade_analysis.field_upgrade_analysis__write_files +msgid "Write analysis files to the module directories" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_record__type__xmlid +msgid "XML ID" +msgstr "" + +#. module: upgrade_analysis +#: code:addons/upgrade_analysis/models/upgrade_comparison_config.py:0 +#, python-format +msgid "" +"You are correctly connected to the server %(server)s (version %(version)s) " +"with the user %(user_name)s" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_analysis__state__draft +msgid "draft" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.actions.act_window,name:upgrade_analysis.action_upgrade_comparison_config_tree +msgid "upgrade Comparison Configs" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.actions.act_window,name:upgrade_analysis.action_upgrade_record_tree +msgid "upgrade Records" +msgstr "" From 90a4d9eeb2804ddf96f4d04292f8d3720d1b5483 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 17:15:31 +0000 Subject: [PATCH 048/232] Added translation using Weblate (Spanish) --- sql_export_mail/i18n/es.po | 139 +++++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 sql_export_mail/i18n/es.po diff --git a/sql_export_mail/i18n/es.po b/sql_export_mail/i18n/es.po new file mode 100644 index 00000000000..54558a4e844 --- /dev/null +++ b/sql_export_mail/i18n/es.po @@ -0,0 +1,139 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sql_export_mail +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: sql_export_mail +#: model:mail.template,body_html:sql_export_mail.sql_export_mailer +msgid "" +"\n" +"
\n" +"\n" +"

You will find the report ${object.name or ''} as an attachment of the mail.

\n" +"\n" +"
\n" +" " +msgstr "" + +#. module: sql_export_mail +#: model:mail.template,subject:sql_export_mail.sql_export_mailer +msgid "${object.name or ''}" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,help:sql_export_mail.field_sql_export__mail_user_ids +msgid "" +"Add the users who want to receive the report by e-mail. You need to link the" +" sql query with a cron to send mail automatically" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: sql_export_mail +#: model_terms:ir.ui.view,arch_db:sql_export_mail.sql_export_mail_view_form +msgid "Create Cron" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__cron_ids +#: model_terms:ir.ui.view,arch_db:sql_export_mail.sql_export_mail_view_form +msgid "Crons" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__display_name +msgid "Display Name" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields.selection,name:sql_export_mail.selection__sql_export__mail_condition__not_empty +msgid "File Not Empty" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__id +msgid "ID" +msgstr "" + +#. module: sql_export_mail +#: code:addons/sql_export_mail/models/sql_export.py:0 +#, python-format +msgid "" +"It is not possible to execute and send a query automatically by mail if " +"there are parameters to fill" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export____last_update +msgid "Last Modified on" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__mail_condition +msgid "Mail Condition" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model,name:sql_export_mail.model_sql_export +msgid "SQL export" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__smart_search +msgid "Smart Search" +msgstr "" + +#. module: sql_export_mail +#: code:addons/sql_export_mail/models/sql_export.py:0 +#, python-format +msgid "The user does not have any e-mail address." +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__mail_user_ids +msgid "User to notify" +msgstr "" + +#. module: sql_export_mail +#: model_terms:ir.ui.view,arch_db:sql_export_mail.sql_export_mail_view_form +msgid "Users Notified by e-mail" +msgstr "" From 339ce41c94f488bfd4c65911f291c760fb2c80bf Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 17:26:56 +0000 Subject: [PATCH 049/232] Added translation using Weblate (Spanish) --- sql_export_excel/i18n/es.po | 155 ++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 sql_export_excel/i18n/es.po diff --git a/sql_export_excel/i18n/es.po b/sql_export_excel/i18n/es.po new file mode 100644 index 00000000000..f7a1c37a9d7 --- /dev/null +++ b/sql_export_excel/i18n/es.po @@ -0,0 +1,155 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sql_export_excel +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__col_position +msgid "Column Position" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__display_name +msgid "Display Name" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields.selection,name:sql_export_excel.selection__sql_export__file_format__excel +msgid "Excel" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__attachment_id +msgid "Excel Template" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__file_format +msgid "File Format" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__header +msgid "Header" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__id +msgid "ID" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,help:sql_export_excel.field_sql_export__attachment_id +msgid "" +"If you configure an excel file (in xlsx format) here, the result of the query will be injected in it.\n" +"It is usefull to feed data in a excel file pre-configured with calculation" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,help:sql_export_excel.field_sql_export__col_position +msgid "Indicate from which column the result of the query should be injected." +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,help:sql_export_excel.field_sql_export__row_position +msgid "Indicate from which row the result of the query should be injected." +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,help:sql_export_excel.field_sql_export__header +msgid "Indicate if the header should be exported to the file." +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,help:sql_export_excel.field_sql_export__sheet_position +msgid "" +"Indicate the sheet's position of the excel template where the result of the " +"sql query should be injected." +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export____last_update +msgid "Last Modified on" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__row_position +msgid "Row Position" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model,name:sql_export_excel.model_sql_export +msgid "SQL export" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__sheet_position +msgid "Sheet Position" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__smart_search +msgid "Smart Search" +msgstr "" + +#. module: sql_export_excel +#: code:addons/sql_export_excel/models/sql_export.py:0 +#, python-format +msgid "" +"The Excel Template file contains less than %s sheets Please, adjust the " +"Sheet Position parameter." +msgstr "" + +#. module: sql_export_excel +#: code:addons/sql_export_excel/models/sql_export.py:0 +#, python-format +msgid "The column position can't be less than 1." +msgstr "" + +#. module: sql_export_excel +#: code:addons/sql_export_excel/models/sql_export.py:0 +#, python-format +msgid "The row position can't be less than 1." +msgstr "" + +#. module: sql_export_excel +#: code:addons/sql_export_excel/models/sql_export.py:0 +#, python-format +msgid "The sheet position can't be less than 1." +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" From d752ad3407580f7f9cbf0c0ff1373da5d4ebebd2 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 17:33:39 +0000 Subject: [PATCH 050/232] Added translation using Weblate (Spanish) --- base_time_window/i18n/es.po | 161 ++++++++++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 base_time_window/i18n/es.po diff --git a/base_time_window/i18n/es.po b/base_time_window/i18n/es.po new file mode 100644 index 00000000000..fcdf7fbc628 --- /dev/null +++ b/base_time_window/i18n/es.po @@ -0,0 +1,161 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_time_window +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: base_time_window +#: code:addons/base_time_window/models/time_window_mixin.py:0 +#, python-format +msgid "%s must be > %s" +msgstr "" + +#. module: base_time_window +#: code:addons/base_time_window/models/time_window_mixin.py:0 +#, python-format +msgid "%s overlaps %s" +msgstr "" + +#. module: base_time_window +#: code:addons/base_time_window/models/time_window_mixin.py:0 +#, python-format +msgid "At least one time.weekday is required" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_weekday__create_uid +msgid "Created by" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_weekday__create_date +msgid "Created on" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_weekday__display_name +#: model:ir.model.fields,field_description:base_time_window.field_time_window_mixin__display_name +msgid "Display Name" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields.selection,name:base_time_window.selection__time_weekday__name__4 +msgid "Friday" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_window_mixin__time_window_start +msgid "From" +msgstr "" + +#. module: base_time_window +#: code:addons/base_time_window/models/time_window_mixin.py:0 +#, python-format +msgid "Hour should be between 00 and 23" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_weekday__id +#: model:ir.model.fields,field_description:base_time_window.field_time_window_mixin__id +msgid "ID" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_weekday____last_update +#: model:ir.model.fields,field_description:base_time_window.field_time_window_mixin____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_weekday__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_weekday__write_date +msgid "Last Updated on" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields.selection,name:base_time_window.selection__time_weekday__name__0 +msgid "Monday" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_weekday__name +msgid "Name" +msgstr "" + +#. module: base_time_window +#: code:addons/base_time_window/models/time_weekday.py:0 +#: model:ir.model.constraint,message:base_time_window.constraint_time_weekday_name_uniq +#, python-format +msgid "Name must be unique" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields.selection,name:base_time_window.selection__time_weekday__name__5 +msgid "Saturday" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_weekday__smart_search +#: model:ir.model.fields,field_description:base_time_window.field_time_window_mixin__smart_search +msgid "Smart Search" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields.selection,name:base_time_window.selection__time_weekday__name__6 +msgid "Sunday" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields.selection,name:base_time_window.selection__time_weekday__name__3 +msgid "Thursday" +msgstr "" + +#. module: base_time_window +#: model:ir.model,name:base_time_window.model_time_weekday +msgid "Time Week Day" +msgstr "" + +#. module: base_time_window +#: model:ir.model,name:base_time_window.model_time_window_mixin +msgid "Time Window" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_window_mixin__time_window_weekday_ids +msgid "Time Window Weekday" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_window_mixin__time_window_end +msgid "To" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields.selection,name:base_time_window.selection__time_weekday__name__1 +msgid "Tuesday" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields.selection,name:base_time_window.selection__time_weekday__name__2 +msgid "Wednesday" +msgstr "" + +#. module: base_time_window +#: code:addons/base_time_window/models/time_window_mixin.py:0 +#, python-format +msgid "{days}: From {start} to {end}" +msgstr "" From e33a7ab6f1085a896c2915e10caa2e91cbc27ab1 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 19:27:45 +0000 Subject: [PATCH 051/232] Added translation using Weblate (Spanish) --- nsca_client/i18n/es.po | 596 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 596 insertions(+) create mode 100644 nsca_client/i18n/es.po diff --git a/nsca_client/i18n/es.po b/nsca_client/i18n/es.po new file mode 100644 index 00000000000..15311f7f9f0 --- /dev/null +++ b/nsca_client/i18n/es.po @@ -0,0 +1,596 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * nsca_client +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: nsca_client +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form +msgid "0: OK" +msgstr "" + +#. module: nsca_client +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form +msgid "1: WARNING" +msgstr "" + +#. module: nsca_client +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form +msgid "2: CRITICAL" +msgstr "" + +#. module: nsca_client +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form +msgid "3: UNKNOWN" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__help +msgid "Action Description" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__name +msgid "Action Name" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__state +msgid "Action To Do" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__type +msgid "Action Type" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__active +msgid "Active" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_type_id +msgid "Activity" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_type +msgid "Activity User Type" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__channel_ids +msgid "Add Channels" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__partner_ids +msgid "Add Followers" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__daylight_saving_time_resistant +msgid "" +"Adjust interval to run at the same hour after and beforedaylight saving time" +" change. It's used twice a year" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__allow_void_result +msgid "Allow void result" +msgstr "" + +#. module: nsca_client +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form +msgid "" +"Any other RC value will be treated as\n" +" CRITICAL." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_args +msgid "Arguments" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_model_id +msgid "Binding Model" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_type +msgid "Binding Type" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_view_types +msgid "Binding View Types" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__allow_void_result +msgid "" +"By default, a CRITICAL message is sent if the method does not return.\n" +"If checked, no message will be sent in such a case." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__check_count +msgid "Check Count" +msgstr "" + +#. module: nsca_client +#: model:ir.actions.act_window,name:nsca_client.action_nsca_check_tree +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__check_ids +#: model:ir.ui.menu,name:nsca_client.menu_action_nsca_check_tree +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form +msgid "Checks" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__child_ids +msgid "Child Actions" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__child_ids +msgid "" +"Child server actions that will be executed. Note that the last return " +"returned action value will be used as global return value." +msgstr "" + +#. module: nsca_client +#: code:addons/nsca_client/models/nsca_server.py:0 +#, python-format +msgid "" +"Command '%s' not found. Please install the NSCA client.\n" +"On Debian/Ubuntu: apt-get install nsca-client" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__config_dir_path +msgid "Configuration directory" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__config_file_path +msgid "Configuration file" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__create_uid +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__create_uid +msgid "Created by" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__create_date +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__create_date +msgid "Created on" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__cron_id +msgid "Cron" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__daylight_saving_time_resistant +msgid "Daylight Saving Time Resistant" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__display_name +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__display_name +msgid "Display Name" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_date_deadline_range +msgid "Due Date In" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_date_deadline_range_type +msgid "Due type" +msgstr "" + +#. module: nsca_client +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form +msgid "" +"E.g.\n" +" (1, u\"3 mails not sent\")" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__template_id +msgid "Email Template" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__encryption_method +msgid "Encryption method" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__xml_id +msgid "External ID" +msgstr "" + +#. module: nsca_client +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form +msgid "Frequency" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__groups_id +msgid "Groups" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__name +msgid "Hostname" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__node_hostname +msgid "Hostname of this node" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__numbercall +msgid "" +"How many times the method is called,\n" +"a negative number indicates no limit." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__id +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__id +msgid "ID" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__interval_number +msgid "Interval Number" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__interval_type +msgid "Interval Unit" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__lastcall +msgid "Last Execution Date" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check____last_update +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server____last_update +msgid "Last Modified on" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__write_uid +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__write_date +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__write_date +msgid "Last Updated on" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__link_field_id +msgid "Link Field" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_function +msgid "Method" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__model_id +msgid "Model" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__model_name +msgid "Model Name" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__crud_model_id +msgid "" +"Model for record creation / update. Set this field only to specify a " +"different model than the base model." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__mutually_exclusive_cron_ids +msgid "Mutually Exclusive Scheduled Actions" +msgstr "" + +#. module: nsca_client +#: code:addons/nsca_client/models/nsca_check.py:0 +#: model:ir.model,name:nsca_client.model_nsca_check +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form +#, python-format +msgid "NSCA Check" +msgstr "" + +#. module: nsca_client +#: model:ir.cron,cron_name:nsca_client.demo_nsca_check_mails_ir_cron +#: model:ir.cron,name:nsca_client.demo_nsca_check_mails_ir_cron +#: model:nsca.check,cron_name:nsca_client.demo_nsca_check_mails +#: model:nsca.check,name:nsca_client.demo_nsca_check_mails +msgid "NSCA Check - Odoo Mail Queue" +msgstr "" + +#. module: nsca_client +#: model:ir.ui.menu,name:nsca_client.menu_nsca_client +msgid "NSCA Client" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_model +msgid "NSCA Model" +msgstr "" + +#. module: nsca_client +#: model:ir.model,name:nsca_client.model_nsca_server +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form +msgid "NSCA Server" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__cron_name +msgid "Name" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nextcall +msgid "Next Execution Date" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__nextcall +msgid "Next planned execution date for this job." +msgstr "" + +#. module: nsca_client +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form +msgid "Node identity" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_note +msgid "Note" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__numbercall +msgid "Number of Calls" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__help +msgid "" +"Optional help text for the users with a description of the target view, such" +" as its usage and purpose." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__password +msgid "Password" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__port +msgid "Port" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__lastcall +msgid "" +"Previous time the cron ran successfully, provided to the job through the " +"context on the `lastcall` key" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__priority +msgid "Priority" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__link_field_id +msgid "" +"Provide the field used to link the newly created record on the record used " +"by the server action." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__code +msgid "Python Code" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__doall +msgid "Repeat Missed" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__interval_number +msgid "Repeat every x." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_id +msgid "Responsible" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__user_id +msgid "Scheduler User" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__sequence +msgid "Sequence" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__server_id +msgid "Server" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__ir_actions_server_id +msgid "Server action" +msgstr "" + +#. module: nsca_client +#: model:ir.actions.act_window,name:nsca_client.action_nsca_server_tree +#: model:ir.ui.menu,name:nsca_client.menu_action_nsca_server_tree +msgid "Servers" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__service +msgid "Service" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__binding_model_id +msgid "" +"Setting a value makes this action available in the sidebar for the given " +"model." +msgstr "" + +#. module: nsca_client +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form +msgid "Settings" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__smart_search +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__smart_search +msgid "Smart Search" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__doall +msgid "" +"Specify if missed occurrences should be executed when the server restarts." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_summary +msgid "Summary" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__crud_model_id +msgid "Target Model" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__crud_model_name +msgid "Target Model Name" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__activity_user_field_name +msgid "Technical name of the user on the record" +msgstr "" + +#. module: nsca_client +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form +msgid "" +"The method must return a tuple (RC,\n" +" MESSAGE) where RC is an integer:" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__priority +msgid "" +"The priority of the job, as an integer: 0 means higher priority, 10 means " +"lower priority." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_server__node_hostname +msgid "" +"This is the hostname of the current Odoo node declared in the monitoring " +"server." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Execute Python Code': a block of python code that will be executed\n" +"- 'Create': create a new record with new values\n" +"- 'Update a Record': update the values of a record\n" +"- 'Execute several actions': define an action that triggers several other server actions\n" +"- 'Send Email': automatically send an email (Discuss)\n" +"- 'Add Followers': add followers to a record (Discuss)\n" +"- 'Create Next Activity': create an activity (Discuss)" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__usage +msgid "Usage" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__activity_user_type +msgid "" +"Use 'Specific User' to always assign the same user on the next activity. Use" +" 'Generic User From Record' to specify the field name of the user to choose " +"on the record." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_field_name +msgid "User field name" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__fields_lines +msgid "Value Mapping" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__sequence +msgid "" +"When dealing with multiple actions, the execution order is based on the " +"sequence. Low number means high priority." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__code +msgid "" +"Write Python code that the action will execute. Some variables are available" +" for use; help about python expression is given in the help tab." +msgstr "" From b9e8962b09cb6a05181a3732cb4c3e463776fdad Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 16:40:59 +0000 Subject: [PATCH 052/232] Translated using Weblate (Spanish) Currently translated at 100.0% (33 of 33 strings) Translation: server-tools-14.0/server-tools-14.0-base_sequence_option Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_sequence_option/es/ --- base_sequence_option/i18n/es.po | 53 +++++++++++++++++++-------------- 1 file changed, 31 insertions(+), 22 deletions(-) diff --git a/base_sequence_option/i18n/es.po b/base_sequence_option/i18n/es.po index 6843ac13519..94f6fa1b5e9 100644 --- a/base_sequence_option/i18n/es.po +++ b/base_sequence_option/i18n/es.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-04-20 16:40+0000\n" +"PO-Revision-Date: 2024-04-20 19:36+0000\n" "Last-Translator: Ivorra78 \n" "Language-Team: none\n" "Language: es\n" @@ -76,14 +76,14 @@ msgstr "Secuencia de tipo de Documento" #. module: base_sequence_option #: model:ir.model.fields,help:base_sequence_option.field_ir_sequence_option_line__filter_domain msgid "Find matching option by document values" -msgstr "" +msgstr "Buscar opción coincidente por valores del documento" #. module: base_sequence_option #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence__id #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__id #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__id msgid "ID" -msgstr "" +msgstr "ID" #. module: base_sequence_option #: model:ir.model.fields,help:base_sequence_option.field_ir_sequence_option__use_sequence_option @@ -92,112 +92,115 @@ msgid "" "If checked, Odoo will try to find the new matching sequence first, if not " "found, fall back to use the original Odoo sequence." msgstr "" +"Si esta marcada, Odoo tratara de encontrar la nueva secuencia coincidente " +"primero, si no se encuentra, retrocede para usar la secuencia original de " +"Odoo." #. module: base_sequence_option #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__implementation msgid "Implementation" -msgstr "" +msgstr "Implementación" #. module: base_sequence_option #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence____last_update #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option____last_update #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: base_sequence_option #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__write_uid #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__write_uid msgid "Last Updated by" -msgstr "" +msgstr "Última Actualización por" #. module: base_sequence_option #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__write_date #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__write_date msgid "Last Updated on" -msgstr "" +msgstr "Última Actualización el" #. module: base_sequence_option #: model:ir.actions.act_window,name:base_sequence_option.action_ir_sequence_option #: model:ir.ui.menu,name:base_sequence_option.menu_ir_sequence_option msgid "Manage Sequence Options" -msgstr "" +msgstr "Gestionar Opciones de Secuencia" #. module: base_sequence_option #: model_terms:ir.ui.view,arch_db:base_sequence_option.view_ir_sequence_option_form msgid "Matching Domain" -msgstr "" +msgstr "Dominio Correspondiente" #. module: base_sequence_option #: code:addons/base_sequence_option/models/ir_sequence_option.py:0 #, python-format msgid "Multiple optional sequences found for this model!" -msgstr "" +msgstr "¡Múltiples secuencias opcionales encontradas para este modelo!" #. module: base_sequence_option #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__name #: model_terms:ir.ui.view,arch_db:base_sequence_option.view_ir_sequence_option_form msgid "Name" -msgstr "" +msgstr "Nombre" #. module: base_sequence_option #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__prefix msgid "Prefix" -msgstr "" +msgstr "Prefijo" #. module: base_sequence_option #: model:ir.model.fields,help:base_sequence_option.field_ir_sequence_option_line__prefix msgid "Prefix value of the record for the sequence" -msgstr "" +msgstr "Valor del prefijo del registro para la secuencia" #. module: base_sequence_option #: model:ir.model,name:base_sequence_option.model_ir_sequence #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__sequence_id msgid "Sequence" -msgstr "" +msgstr "Secuencia" #. module: base_sequence_option #: model:ir.model,name:base_sequence_option.model_ir_sequence_option msgid "Sequence Option Base Model" -msgstr "" +msgstr "Secuencia Opción Modelo Base" #. module: base_sequence_option #: model:ir.model,name:base_sequence_option.model_ir_sequence_option_line msgid "Sequence Option Line" -msgstr "" +msgstr "Línea de Opción de Secuencia" #. module: base_sequence_option #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__option_ids msgid "Sequence Options" -msgstr "" +msgstr "Opciones de Secuencia" #. module: base_sequence_option #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence__smart_search #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__smart_search #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: base_sequence_option #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__suffix msgid "Suffix" -msgstr "" +msgstr "Súfijo" #. module: base_sequence_option #: model:ir.model.fields,help:base_sequence_option.field_ir_sequence_option_line__suffix msgid "Suffix value of the record for the sequence" -msgstr "" +msgstr "Valor del sufijo del registro para la secuencia" #. module: base_sequence_option #: model_terms:ir.ui.view,arch_db:base_sequence_option.view_ir_sequence_option_form msgid "Use Sequence" -msgstr "" +msgstr "Secuencia de Uso" #. module: base_sequence_option #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option__use_sequence_option #: model:ir.model.fields,field_description:base_sequence_option.field_ir_sequence_option_line__use_sequence_option msgid "Use sequence options" -msgstr "" +msgstr "Utilizar opciones de secuencia" #. module: base_sequence_option #: model:ir.model.fields,help:base_sequence_option.field_ir_sequence_option_line__implementation @@ -208,3 +211,9 @@ msgid "" "number upon assignment, there can still be gaps in the sequence if records " "are deleted. The 'no gap' implementation is slower than the standard one." msgstr "" +"Al asignar un número de secuencia a un registro, la implementación de la " +"secuencia \"sin espacios\" garantiza que ya se ha asignado cada número de " +"secuencia anterior. Aunque esta implementación de la secuencia no omitirá " +"ningún número de secuencia al asignarlo, puede haber huecos en la secuencia " +"si se borran registros. La implementación \"sin huecos\" es más lenta que la " +"estándar." From d2df265a32612a79e4e1f9e8e52591e85c3565e6 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 16:45:36 +0000 Subject: [PATCH 053/232] Translated using Weblate (Spanish) Currently translated at 100.0% (87 of 87 strings) Translation: server-tools-14.0/server-tools-14.0-upgrade_analysis Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-upgrade_analysis/es/ --- upgrade_analysis/i18n/es.po | 180 ++++++++++++++++++++---------------- 1 file changed, 98 insertions(+), 82 deletions(-) diff --git a/upgrade_analysis/i18n/es.po b/upgrade_analysis/i18n/es.po index 765f9ce5bb3..b07f8962714 100644 --- a/upgrade_analysis/i18n/es.po +++ b/upgrade_analysis/i18n/es.po @@ -6,86 +6,88 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-20 19:36+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: upgrade_analysis #: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form msgid "All Modules" -msgstr "" +msgstr "Todos los Módulos" #. module: upgrade_analysis #: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form msgid "All OCA Modules" -msgstr "" +msgstr "Todos los Módulos OCA" #. module: upgrade_analysis #: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form msgid "All Odoo SA Modules" -msgstr "" +msgstr "Todos los módulos Odoo SA" #. module: upgrade_analysis #: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form msgid "All Other Modules" -msgstr "" +msgstr "Todos los Otros Módulos" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__analysis_ids #: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_comparison_config_form msgid "Analyses" -msgstr "" +msgstr "Análisis" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__analysis_date msgid "Analysis Date" -msgstr "" +msgstr "Fecha de Análisis" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__analysis_qty msgid "Analysis Qty" -msgstr "" +msgstr "Cantd de Análisis" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__attribute_ids msgid "Attribute" -msgstr "" +msgstr "Atributo" #. module: upgrade_analysis #: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_record_form msgid "Attributes" -msgstr "" +msgstr "Atributos" #. module: upgrade_analysis #: code:addons/upgrade_analysis/wizards/upgrade_generate_record_wizard.py:0 #, python-format msgid "Cannot seem to install or upgrade modules %s" -msgstr "" +msgstr "Parece que no se pueden instalar o actualizar los módulos %s" #. module: upgrade_analysis #: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form msgid "Clear the list" -msgstr "" +msgstr "Limpiar la lista" #. module: upgrade_analysis #: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_generate_record_wizard_form #: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form msgid "Close" -msgstr "" +msgstr "Cerrar" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__config_id msgid "Comparison Config" -msgstr "" +msgstr "Configuración de Comparación" #. module: upgrade_analysis #: model:ir.ui.menu,name:upgrade_analysis.menu_upgrade_comparison_config msgid "Comparison Configurations" -msgstr "" +msgstr "Configuraciones de Comparación" #. module: upgrade_analysis #: code:addons/upgrade_analysis/models/upgrade_comparison_config.py:0 @@ -95,27 +97,30 @@ msgid "" "\n" "DETAIL: %s" msgstr "" +"Conexión fallida.\n" +"\n" +"DETALLE: %s" #. module: upgrade_analysis #: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_generate_record_wizard_form msgid "Continue" -msgstr "" +msgstr "Continuar" #. module: upgrade_analysis #: code:addons/upgrade_analysis/models/upgrade_comparison_config.py:0 #, python-format msgid "Could not connect the Odoo server at %s:%s" -msgstr "" +msgstr "No se pudo conectar el servidor Odoo en %s:%s" #. module: upgrade_analysis #: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_record__mode__create msgid "Create" -msgstr "" +msgstr "Crear" #. module: upgrade_analysis #: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_record_search msgid "Create Mode" -msgstr "" +msgstr "Modo Crear" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__create_uid @@ -125,7 +130,7 @@ msgstr "" #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__create_uid #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__create_uid msgid "Created by" -msgstr "" +msgstr "Creado por" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__create_date @@ -135,17 +140,17 @@ msgstr "" #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__create_date #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__create_date msgid "Created on" -msgstr "" +msgstr "Creado el" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__database msgid "Database" -msgstr "" +msgstr "Base de datos" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__definition msgid "Definition" -msgstr "" +msgstr "Definición" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_ir_module_module__display_name @@ -156,37 +161,37 @@ msgstr "" #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__display_name #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__domain msgid "Domain" -msgstr "" +msgstr "Dominio" #. module: upgrade_analysis #: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_analysis__state__done #: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_generate_record_wizard__state__done #: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_install_wizard__state__done msgid "Done" -msgstr "" +msgstr "Realizado/a" #. module: upgrade_analysis #: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_generate_record_wizard__state__draft #: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_install_wizard__state__draft msgid "Draft" -msgstr "" +msgstr "Borrador" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__field #: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_record__type__field msgid "Field" -msgstr "" +msgstr "Campo" #. module: upgrade_analysis #: model:ir.actions.act_window,name:upgrade_analysis.action_upgrade_generate_record_wizard #: model:ir.ui.menu,name:upgrade_analysis.menu_upgrade_generate_record msgid "Generate Records Wizard" -msgstr "" +msgstr "Asistente de Generación de Registros" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_ir_module_module__id @@ -197,28 +202,28 @@ msgstr "" #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__id #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__id msgid "ID" -msgstr "" +msgstr "ID" #. module: upgrade_analysis #: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form msgid "Install Modules" -msgstr "" +msgstr "Instalar Módulos" #. module: upgrade_analysis #: model:ir.actions.act_window,name:upgrade_analysis.action_upgrade_install_wizard #: model:ir.ui.menu,name:upgrade_analysis.menu_upgrade_install msgid "Install Modules Wizard" -msgstr "" +msgstr "Asistente de Instalación de Módulos" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_ir_module_module__is_oca_module msgid "Is Oca Module" -msgstr "" +msgstr "Es Módulo Oca" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_ir_module_module__is_odoo_module msgid "Is Odoo Module" -msgstr "" +msgstr "Es Módulo Odoo" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_ir_module_module____last_update @@ -229,7 +234,7 @@ msgstr "" #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard____last_update #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__write_uid @@ -239,7 +244,7 @@ msgstr "" #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__write_uid #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__write_uid msgid "Last Updated by" -msgstr "" +msgstr "Última Actualización por" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__write_date @@ -249,119 +254,119 @@ msgstr "" #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__write_date #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__write_date msgid "Last Updated on" -msgstr "" +msgstr "Última Actualización el" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__log #: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_analysis_form msgid "Log" -msgstr "" +msgstr "Registro" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__mode msgid "Mode" -msgstr "" +msgstr "Modo" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__model #: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_record__type__model msgid "Model" -msgstr "" +msgstr "Modelo" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__model_original_module msgid "Model Original Module" -msgstr "" +msgstr "Modelo Módulo Original" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__model_type msgid "Model Type" -msgstr "" +msgstr "Tipo de Modelo" #. module: upgrade_analysis #: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_record__mode__modify msgid "Modify" -msgstr "" +msgstr "Modificar" #. module: upgrade_analysis #: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_record_search msgid "Modify Mode" -msgstr "" +msgstr "Modificar Modo" #. module: upgrade_analysis #: model:ir.model,name:upgrade_analysis.model_ir_module_module #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__module_ids #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__module msgid "Module" -msgstr "" +msgstr "Módulo" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__module_qty msgid "Modules Quantity" -msgstr "" +msgstr "Cantidad de Módulos" #. module: upgrade_analysis #: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_generate_record_wizard_form msgid "Modules initialized and record created" -msgstr "" +msgstr "Módulos inicializados y registro creado" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__name #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__name #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__name msgid "Name" -msgstr "" +msgstr "Nombre" #. module: upgrade_analysis #: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_comparison_config_form msgid "New Analysis" -msgstr "" +msgstr "Nuevo Análisis" #. module: upgrade_analysis #: code:addons/upgrade_analysis/models/upgrade_record.py:0 #, python-format msgid "No manifest found in %s" -msgstr "" +msgstr "No se ha encontrado ningún manifiesto en %s" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__noupdate msgid "Noupdate" -msgstr "" +msgstr "No actualizar" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__password msgid "Password" -msgstr "" +msgstr "Contraseña" #. module: upgrade_analysis #: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_analysis_form msgid "Perform Analysis" -msgstr "" +msgstr "Realizar Análisis" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__port msgid "Port" -msgstr "" +msgstr "Puerto" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__prefix msgid "Prefix" -msgstr "" +msgstr "Prefijo" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__record_id msgid "Record" -msgstr "" +msgstr "Registro" #. module: upgrade_analysis #: model:ir.ui.menu,name:upgrade_analysis.menu_upgrade_records msgid "Records" -msgstr "" +msgstr "Registros" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__server msgid "Server" -msgstr "" +msgstr "Servidor" #. module: upgrade_analysis #: model:ir.model.fields,help:upgrade_analysis.field_upgrade_record__mode @@ -369,6 +374,8 @@ msgid "" "Set to Create if a field is newly created in this module. If this module " "modifies an attribute of an existing field, set to Modify." msgstr "" +"Establézcalo como Crear si se crea un nuevo campo en este módulo. Si este " +"módulo modifica un atributo de un campo existente, establece Modificar." #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_ir_module_module__smart_search @@ -379,24 +386,24 @@ msgstr "" #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__smart_search #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__state #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_generate_record_wizard__state #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__state msgid "State" -msgstr "" +msgstr "Estado" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__suffix msgid "Suffix" -msgstr "" +msgstr "Sufijo" #. module: upgrade_analysis #: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_comparison_config_form msgid "Test Connection" -msgstr "" +msgstr "Comprobar Conexión" #. module: upgrade_analysis #: model:ir.model.fields,help:upgrade_analysis.field_upgrade_analysis__upgrade_path @@ -405,11 +412,14 @@ msgid "" "Odoo's --upgrade-path command line option or the 'scripts' subdirectory in " "the openupgrade_scripts addon." msgstr "" +"La ruta del archivo base para guardar los archivos de análisis de los " +"módulos de Odoo. Tomado de la opción de línea de comandos --upgrade-path de " +"Odoo o del subdirectorio 'scripts' en el addon openupgrade_scripts." #. module: upgrade_analysis #: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form msgid "The modules have been installed successfuly" -msgstr "" +msgstr "Los módulos se han instalado correctamente" #. module: upgrade_analysis #: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form @@ -417,6 +427,8 @@ msgid "" "This will install the selected modules on the database. Do not continue if " "you use this database in production." msgstr "" +"Esto instalará los módulos seleccionados en la base de datos. No continúe si " +"utiliza esta base de datos en producción." #. module: upgrade_analysis #: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_generate_record_wizard_form @@ -424,89 +436,91 @@ msgid "" "This will reinitialize all the modules installed on this database. Do not " "continue if you use this database in production." msgstr "" +"Esto reiniciará todos los módulos instalados en esta base de datos. No " +"continúe si utiliza esta base de datos en producción." #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__type msgid "Type" -msgstr "" +msgstr "Tipo" #. module: upgrade_analysis #: code:addons/upgrade_analysis/models/upgrade_analysis.py:0 #, python-format msgid "Unexpected root Element: %s in file: %s" -msgstr "" +msgstr "Elemento raíz inesperado: %s en archivo: %s" #. module: upgrade_analysis #: model:ir.actions.act_window,name:upgrade_analysis.action_upgrade_analysis_tree #: model:ir.model,name:upgrade_analysis.model_upgrade_analysis #: model:ir.ui.menu,name:upgrade_analysis.menu_upgrade_analysis msgid "Upgrade Analyses" -msgstr "" +msgstr "Análisis de Actualización" #. module: upgrade_analysis #: model:ir.ui.menu,name:upgrade_analysis.menu_upgrade msgid "Upgrade Analysis" -msgstr "" +msgstr "Análisis de Actualización" #. module: upgrade_analysis #: model:ir.model,name:upgrade_analysis.model_upgrade_attribute msgid "Upgrade Attribute" -msgstr "" +msgstr "Atributo de Actualización" #. module: upgrade_analysis #: model:ir.model,name:upgrade_analysis.model_upgrade_comparison_config msgid "Upgrade Comparison Configuration" -msgstr "" +msgstr "Configuración de Comparación de Actualizaciones" #. module: upgrade_analysis #: model:ir.model,name:upgrade_analysis.model_upgrade_generate_record_wizard msgid "Upgrade Generate Record Wizard" -msgstr "" +msgstr "Actualizar el Asistente para Generar Registros" #. module: upgrade_analysis #: model:ir.model,name:upgrade_analysis.model_upgrade_install_wizard msgid "Upgrade Install Wizard" -msgstr "" +msgstr "Asistente de Instalación de Actualizaciones" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__upgrade_path msgid "Upgrade Path" -msgstr "" +msgstr "Ruta de Actualización" #. module: upgrade_analysis #: model:ir.model,name:upgrade_analysis.model_upgrade_record msgid "Upgrade Record" -msgstr "" +msgstr "Registro de Actualización" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__username msgid "Username" -msgstr "" +msgstr "Nombre de usuario" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__value msgid "Value" -msgstr "" +msgstr "Valoración" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__version msgid "Version" -msgstr "" +msgstr "Versión" #. module: upgrade_analysis #: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__write_files msgid "Write Files" -msgstr "" +msgstr "Escribir Archivos" #. module: upgrade_analysis #: model:ir.model.fields,help:upgrade_analysis.field_upgrade_analysis__write_files msgid "Write analysis files to the module directories" -msgstr "" +msgstr "Escribir archivos de análisis en los directorios de los módulos" #. module: upgrade_analysis #: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_record__type__xmlid msgid "XML ID" -msgstr "" +msgstr "ID XML" #. module: upgrade_analysis #: code:addons/upgrade_analysis/models/upgrade_comparison_config.py:0 @@ -515,18 +529,20 @@ msgid "" "You are correctly connected to the server %(server)s (version %(version)s) " "with the user %(user_name)s" msgstr "" +"Está conectado correctamente al servidor %(server)s (versión %(version)s) " +"con el usuario %(user_name)s" #. module: upgrade_analysis #: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_analysis__state__draft msgid "draft" -msgstr "" +msgstr "Borrador" #. module: upgrade_analysis #: model:ir.actions.act_window,name:upgrade_analysis.action_upgrade_comparison_config_tree msgid "upgrade Comparison Configs" -msgstr "" +msgstr "actualizar Configuraciones de Comparación" #. module: upgrade_analysis #: model:ir.actions.act_window,name:upgrade_analysis.action_upgrade_record_tree msgid "upgrade Records" -msgstr "" +msgstr "actualizar Registros" From 1c41f5c9095291275509381c4e20ef9909322eb2 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 17:16:48 +0000 Subject: [PATCH 054/232] Translated using Weblate (Spanish) Currently translated at 100.0% (22 of 22 strings) Translation: server-tools-14.0/server-tools-14.0-sql_export_mail Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-sql_export_mail/es/ --- sql_export_mail/i18n/es.po | 56 ++++++++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 20 deletions(-) diff --git a/sql_export_mail/i18n/es.po b/sql_export_mail/i18n/es.po index 54558a4e844..eb97420cb28 100644 --- a/sql_export_mail/i18n/es.po +++ b/sql_export_mail/i18n/es.po @@ -6,13 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-20 19:36+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: sql_export_mail #: model:mail.template,body_html:sql_export_mail.sql_export_mailer @@ -25,11 +27,20 @@ msgid "" "\n" " " msgstr "" +"\n" +"
\n" +"\n" +"

Encontrará el informe ${object.name or ''} como archivo adjunto del " +"correo.

\n" +"\n" +"
\n" +" " #. module: sql_export_mail #: model:mail.template,subject:sql_export_mail.sql_export_mailer msgid "${object.name or ''}" -msgstr "" +msgstr "${object.name or ''}" #. module: sql_export_mail #: model:ir.model.fields,help:sql_export_mail.field_sql_export__mail_user_ids @@ -37,57 +48,60 @@ msgid "" "Add the users who want to receive the report by e-mail. You need to link the" " sql query with a cron to send mail automatically" msgstr "" +"Añada los usuarios que desean recibir el informe por correo electrónico. Es " +"necesario vincular la consulta sql con un cron para enviar el correo " +"automáticamente" #. module: sql_export_mail #: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__assigned_attachment_ids msgid "Assigned Attachments" -msgstr "" +msgstr "Archivos Adjuntos Asignados" #. module: sql_export_mail #: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__changeset_change_ids msgid "Changeset Changes" -msgstr "" +msgstr "Cambios en el Conjunto de Modificaciones" #. module: sql_export_mail #: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__changeset_ids msgid "Changesets" -msgstr "" +msgstr "Conjuntos de Cambios" #. module: sql_export_mail #: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__count_pending_changeset_changes msgid "Count Pending Changeset Changes" -msgstr "" +msgstr "Contar los Cambios del Conjunto de Cambios Pendientes" #. module: sql_export_mail #: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__count_pending_changesets msgid "Count Pending Changesets" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: sql_export_mail #: model_terms:ir.ui.view,arch_db:sql_export_mail.sql_export_mail_view_form msgid "Create Cron" -msgstr "" +msgstr "Crear Cron" #. module: sql_export_mail #: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__cron_ids #: model_terms:ir.ui.view,arch_db:sql_export_mail.sql_export_mail_view_form msgid "Crons" -msgstr "" +msgstr "Crons" #. module: sql_export_mail #: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: sql_export_mail #: model:ir.model.fields.selection,name:sql_export_mail.selection__sql_export__mail_condition__not_empty msgid "File Not Empty" -msgstr "" +msgstr "Fichero No Vacío" #. module: sql_export_mail #: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__id msgid "ID" -msgstr "" +msgstr "ID" #. module: sql_export_mail #: code:addons/sql_export_mail/models/sql_export.py:0 @@ -96,44 +110,46 @@ msgid "" "It is not possible to execute and send a query automatically by mail if " "there are parameters to fill" msgstr "" +"No es posible ejecutar y enviar una consulta automáticamente por correo si " +"hay parámetros que rellenar" #. module: sql_export_mail #: model:ir.model.fields,field_description:sql_export_mail.field_sql_export____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: sql_export_mail #: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__mail_condition msgid "Mail Condition" -msgstr "" +msgstr "Condición del Correo" #. module: sql_export_mail #: model:ir.model,name:sql_export_mail.model_sql_export msgid "SQL export" -msgstr "" +msgstr "Exportar SQL" #. module: sql_export_mail #: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: sql_export_mail #: code:addons/sql_export_mail/models/sql_export.py:0 #, python-format msgid "The user does not have any e-mail address." -msgstr "" +msgstr "El usuario no tiene ninguna dirección de correo electrónico." #. module: sql_export_mail #: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__user_can_see_changeset msgid "User Can See Changeset" -msgstr "" +msgstr "El Usuario Puede Ver el Conjunto de Cambios" #. module: sql_export_mail #: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__mail_user_ids msgid "User to notify" -msgstr "" +msgstr "Usuario a notificar" #. module: sql_export_mail #: model_terms:ir.ui.view,arch_db:sql_export_mail.sql_export_mail_view_form msgid "Users Notified by e-mail" -msgstr "" +msgstr "Usuarios Notificados por correo electrónico" From 418d00ea16f371e0c76daf73ac9961adaa11793b Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 17:27:08 +0000 Subject: [PATCH 055/232] Translated using Weblate (Spanish) Currently translated at 100.0% (26 of 26 strings) Translation: server-tools-14.0/server-tools-14.0-sql_export_excel Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-sql_export_excel/es/ --- sql_export_excel/i18n/es.po | 56 ++++++++++++++++++++++--------------- 1 file changed, 34 insertions(+), 22 deletions(-) diff --git a/sql_export_excel/i18n/es.po b/sql_export_excel/i18n/es.po index f7a1c37a9d7..2094fabdbff 100644 --- a/sql_export_excel/i18n/es.po +++ b/sql_export_excel/i18n/es.po @@ -6,68 +6,70 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-20 19:36+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: sql_export_excel #: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__changeset_change_ids msgid "Changeset Changes" -msgstr "" +msgstr "Cambios en el Conjunto de Modificaciones" #. module: sql_export_excel #: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__changeset_ids msgid "Changesets" -msgstr "" +msgstr "Conjuntos de Cambios" #. module: sql_export_excel #: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__col_position msgid "Column Position" -msgstr "" +msgstr "Posición de la Columna" #. module: sql_export_excel #: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__count_pending_changeset_changes msgid "Count Pending Changeset Changes" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: sql_export_excel #: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__count_pending_changesets msgid "Count Pending Changesets" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: sql_export_excel #: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: sql_export_excel #: model:ir.model.fields.selection,name:sql_export_excel.selection__sql_export__file_format__excel msgid "Excel" -msgstr "" +msgstr "Excel" #. module: sql_export_excel #: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__attachment_id msgid "Excel Template" -msgstr "" +msgstr "Plantilla Excel" #. module: sql_export_excel #: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__file_format msgid "File Format" -msgstr "" +msgstr "Formato Archivo" #. module: sql_export_excel #: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__header msgid "Header" -msgstr "" +msgstr "Encabezado" #. module: sql_export_excel #: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__id msgid "ID" -msgstr "" +msgstr "ID" #. module: sql_export_excel #: model:ir.model.fields,help:sql_export_excel.field_sql_export__attachment_id @@ -75,21 +77,27 @@ msgid "" "If you configure an excel file (in xlsx format) here, the result of the query will be injected in it.\n" "It is usefull to feed data in a excel file pre-configured with calculation" msgstr "" +"Si configura aquí un fichero excel (en formato xlsx), el resultado de la " +"consulta se inyectará en él.\n" +"Es útil para alimentar los datos en un archivo excel preconfigurado con " +"cálculo" #. module: sql_export_excel #: model:ir.model.fields,help:sql_export_excel.field_sql_export__col_position msgid "Indicate from which column the result of the query should be injected." msgstr "" +"Indique a partir de qué columna debe inyectarse el resultado de la consulta." #. module: sql_export_excel #: model:ir.model.fields,help:sql_export_excel.field_sql_export__row_position msgid "Indicate from which row the result of the query should be injected." msgstr "" +"Indica a partir de qué fila debe inyectarse el resultado de la consulta." #. module: sql_export_excel #: model:ir.model.fields,help:sql_export_excel.field_sql_export__header msgid "Indicate if the header should be exported to the file." -msgstr "" +msgstr "Indique si la cabecera debe exportarse al fichero." #. module: sql_export_excel #: model:ir.model.fields,help:sql_export_excel.field_sql_export__sheet_position @@ -97,31 +105,33 @@ msgid "" "Indicate the sheet's position of the excel template where the result of the " "sql query should be injected." msgstr "" +"Indique la posición de la hoja de la plantilla excel donde debe inyectarse " +"el resultado de la consulta sql." #. module: sql_export_excel #: model:ir.model.fields,field_description:sql_export_excel.field_sql_export____last_update msgid "Last Modified on" -msgstr "" +msgstr "Útlima Modificación el" #. module: sql_export_excel #: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__row_position msgid "Row Position" -msgstr "" +msgstr "Posición de la Fila" #. module: sql_export_excel #: model:ir.model,name:sql_export_excel.model_sql_export msgid "SQL export" -msgstr "" +msgstr "Exportar SQL" #. module: sql_export_excel #: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__sheet_position msgid "Sheet Position" -msgstr "" +msgstr "Posición de la Hoja" #. module: sql_export_excel #: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: sql_export_excel #: code:addons/sql_export_excel/models/sql_export.py:0 @@ -130,26 +140,28 @@ msgid "" "The Excel Template file contains less than %s sheets Please, adjust the " "Sheet Position parameter." msgstr "" +"El archivo Plantilla Excel contiene menos de %s hojas Por favor, ajuste el " +"parámetro Posición de la Hoja." #. module: sql_export_excel #: code:addons/sql_export_excel/models/sql_export.py:0 #, python-format msgid "The column position can't be less than 1." -msgstr "" +msgstr "La posición de la columna no puede ser inferior a 1." #. module: sql_export_excel #: code:addons/sql_export_excel/models/sql_export.py:0 #, python-format msgid "The row position can't be less than 1." -msgstr "" +msgstr "La posición de la fila no puede ser inferior a 1." #. module: sql_export_excel #: code:addons/sql_export_excel/models/sql_export.py:0 #, python-format msgid "The sheet position can't be less than 1." -msgstr "" +msgstr "La posición de la hoja no puede ser inferior a 1." #. module: sql_export_excel #: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__user_can_see_changeset msgid "User Can See Changeset" -msgstr "" +msgstr "El Usuario Puede Ver el Conjunto de Cambios" From 11d09a9e7c488725f860b01223300317c4e7b812 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 17:34:13 +0000 Subject: [PATCH 056/232] Translated using Weblate (Spanish) Currently translated at 100.0% (27 of 27 strings) Translation: server-tools-14.0/server-tools-14.0-base_time_window Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_time_window/es/ --- base_time_window/i18n/es.po | 58 +++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/base_time_window/i18n/es.po b/base_time_window/i18n/es.po index fcdf7fbc628..c5612ed5e77 100644 --- a/base_time_window/i18n/es.po +++ b/base_time_window/i18n/es.po @@ -6,156 +6,158 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-20 19:36+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: base_time_window #: code:addons/base_time_window/models/time_window_mixin.py:0 #, python-format msgid "%s must be > %s" -msgstr "" +msgstr "%s debe ser > %s" #. module: base_time_window #: code:addons/base_time_window/models/time_window_mixin.py:0 #, python-format msgid "%s overlaps %s" -msgstr "" +msgstr "%s solapa con %s" #. module: base_time_window #: code:addons/base_time_window/models/time_window_mixin.py:0 #, python-format msgid "At least one time.weekday is required" -msgstr "" +msgstr "Al menos se requiere una vez por semana" #. module: base_time_window #: model:ir.model.fields,field_description:base_time_window.field_time_weekday__create_uid msgid "Created by" -msgstr "" +msgstr "Creado por" #. module: base_time_window #: model:ir.model.fields,field_description:base_time_window.field_time_weekday__create_date msgid "Created on" -msgstr "" +msgstr "Creado el" #. module: base_time_window #: model:ir.model.fields,field_description:base_time_window.field_time_weekday__display_name #: model:ir.model.fields,field_description:base_time_window.field_time_window_mixin__display_name msgid "Display Name" -msgstr "" +msgstr "Nombre para Mostrar" #. module: base_time_window #: model:ir.model.fields.selection,name:base_time_window.selection__time_weekday__name__4 msgid "Friday" -msgstr "" +msgstr "Viernes" #. module: base_time_window #: model:ir.model.fields,field_description:base_time_window.field_time_window_mixin__time_window_start msgid "From" -msgstr "" +msgstr "Desde" #. module: base_time_window #: code:addons/base_time_window/models/time_window_mixin.py:0 #, python-format msgid "Hour should be between 00 and 23" -msgstr "" +msgstr "La hora debe estar comprendida entre 00 y 23" #. module: base_time_window #: model:ir.model.fields,field_description:base_time_window.field_time_weekday__id #: model:ir.model.fields,field_description:base_time_window.field_time_window_mixin__id msgid "ID" -msgstr "" +msgstr "ID (identificación)" #. module: base_time_window #: model:ir.model.fields,field_description:base_time_window.field_time_weekday____last_update #: model:ir.model.fields,field_description:base_time_window.field_time_window_mixin____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: base_time_window #: model:ir.model.fields,field_description:base_time_window.field_time_weekday__write_uid msgid "Last Updated by" -msgstr "" +msgstr "Última Actualización por" #. module: base_time_window #: model:ir.model.fields,field_description:base_time_window.field_time_weekday__write_date msgid "Last Updated on" -msgstr "" +msgstr "Última Actualización el" #. module: base_time_window #: model:ir.model.fields.selection,name:base_time_window.selection__time_weekday__name__0 msgid "Monday" -msgstr "" +msgstr "Lunes" #. module: base_time_window #: model:ir.model.fields,field_description:base_time_window.field_time_weekday__name msgid "Name" -msgstr "" +msgstr "Nombre" #. module: base_time_window #: code:addons/base_time_window/models/time_weekday.py:0 #: model:ir.model.constraint,message:base_time_window.constraint_time_weekday_name_uniq #, python-format msgid "Name must be unique" -msgstr "" +msgstr "El nombre debe ser único" #. module: base_time_window #: model:ir.model.fields.selection,name:base_time_window.selection__time_weekday__name__5 msgid "Saturday" -msgstr "" +msgstr "Sábado" #. module: base_time_window #: model:ir.model.fields,field_description:base_time_window.field_time_weekday__smart_search #: model:ir.model.fields,field_description:base_time_window.field_time_window_mixin__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: base_time_window #: model:ir.model.fields.selection,name:base_time_window.selection__time_weekday__name__6 msgid "Sunday" -msgstr "" +msgstr "Domingo" #. module: base_time_window #: model:ir.model.fields.selection,name:base_time_window.selection__time_weekday__name__3 msgid "Thursday" -msgstr "" +msgstr "Jueves" #. module: base_time_window #: model:ir.model,name:base_time_window.model_time_weekday msgid "Time Week Day" -msgstr "" +msgstr "Tiempo Semana Día" #. module: base_time_window #: model:ir.model,name:base_time_window.model_time_window_mixin msgid "Time Window" -msgstr "" +msgstr "Ventana de Tiempo" #. module: base_time_window #: model:ir.model.fields,field_description:base_time_window.field_time_window_mixin__time_window_weekday_ids msgid "Time Window Weekday" -msgstr "" +msgstr "Ventana de tiempo Día laborable" #. module: base_time_window #: model:ir.model.fields,field_description:base_time_window.field_time_window_mixin__time_window_end msgid "To" -msgstr "" +msgstr "Para" #. module: base_time_window #: model:ir.model.fields.selection,name:base_time_window.selection__time_weekday__name__1 msgid "Tuesday" -msgstr "" +msgstr "Martes" #. module: base_time_window #: model:ir.model.fields.selection,name:base_time_window.selection__time_weekday__name__2 msgid "Wednesday" -msgstr "" +msgstr "Miércoles" #. module: base_time_window #: code:addons/base_time_window/models/time_window_mixin.py:0 #, python-format msgid "{days}: From {start} to {end}" -msgstr "" +msgstr "{days}: De [start] a [end]" From 5543f5eb103a7850540253ad6a85d8b1ef8de8a7 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 19:29:47 +0000 Subject: [PATCH 057/232] Translated using Weblate (Spanish) Currently translated at 14.5% (15 of 103 strings) Translation: server-tools-14.0/server-tools-14.0-nsca_client Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-nsca_client/es/ --- nsca_client/i18n/es.po | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/nsca_client/i18n/es.po b/nsca_client/i18n/es.po index 15311f7f9f0..6aa38fef851 100644 --- a/nsca_client/i18n/es.po +++ b/nsca_client/i18n/es.po @@ -6,78 +6,80 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-20 19:36+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: nsca_client #: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form msgid "0: OK" -msgstr "" +msgstr "0: OK" #. module: nsca_client #: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form msgid "1: WARNING" -msgstr "" +msgstr "1: ADVERTENCIA" #. module: nsca_client #: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form msgid "2: CRITICAL" -msgstr "" +msgstr "2: CRÍTICO" #. module: nsca_client #: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form msgid "3: UNKNOWN" -msgstr "" +msgstr "3: DESCONOCIDO" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__help msgid "Action Description" -msgstr "" +msgstr "Descripción de la Acción" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__name msgid "Action Name" -msgstr "" +msgstr "Nombre Acción" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__state msgid "Action To Do" -msgstr "" +msgstr "Acción A Realizar" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__type msgid "Action Type" -msgstr "" +msgstr "Tipo de Acción" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__active msgid "Active" -msgstr "" +msgstr "Activo" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_type_id msgid "Activity" -msgstr "" +msgstr "Actividad" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_type msgid "Activity User Type" -msgstr "" +msgstr "Tipo Actividad Usuario" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__channel_ids msgid "Add Channels" -msgstr "" +msgstr "Añadir Canales" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__partner_ids msgid "Add Followers" -msgstr "" +msgstr "Añadir Seguidores" #. module: nsca_client #: model:ir.model.fields,help:nsca_client.field_nsca_check__daylight_saving_time_resistant @@ -85,11 +87,13 @@ msgid "" "Adjust interval to run at the same hour after and beforedaylight saving time" " change. It's used twice a year" msgstr "" +"Ajuste el intervalo para que funcione a la misma hora después y antes del " +"cambio de horario de verano. Se utiliza dos veces al año" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__allow_void_result msgid "Allow void result" -msgstr "" +msgstr "Permitir resultado nulo" #. module: nsca_client #: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form From 72de40b31b73ad84c40cf45ce4497452126b4bc2 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 20 Apr 2024 20:31:50 +0000 Subject: [PATCH 058/232] Translated using Weblate (Spanish) Currently translated at 100.0% (103 of 103 strings) Translation: server-tools-14.0/server-tools-14.0-nsca_client Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-nsca_client/es/ --- nsca_client/i18n/es.po | 188 ++++++++++++++++++++++++++--------------- 1 file changed, 118 insertions(+), 70 deletions(-) diff --git a/nsca_client/i18n/es.po b/nsca_client/i18n/es.po index 6aa38fef851..205edd805e6 100644 --- a/nsca_client/i18n/es.po +++ b/nsca_client/i18n/es.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-04-20 19:36+0000\n" +"PO-Revision-Date: 2024-04-20 23:50+0000\n" "Last-Translator: Ivorra78 \n" "Language-Team: none\n" "Language: es\n" @@ -101,26 +101,28 @@ msgid "" "Any other RC value will be treated as\n" " CRITICAL." msgstr "" +"Cualquier otro valor RC será tratado como\n" +" CRÍTICO." #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_args msgid "Arguments" -msgstr "" +msgstr "Argumentos" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_model_id msgid "Binding Model" -msgstr "" +msgstr "Modelo de Encuadernación" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_type msgid "Binding Type" -msgstr "" +msgstr "Tipo de Encuadernación" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_view_types msgid "Binding View Types" -msgstr "" +msgstr "Tipos de Vistas Vinculantes" #. module: nsca_client #: model:ir.model.fields,help:nsca_client.field_nsca_check__allow_void_result @@ -128,11 +130,13 @@ msgid "" "By default, a CRITICAL message is sent if the method does not return.\n" "If checked, no message will be sent in such a case." msgstr "" +"Por defecto, se envía un mensaje CRÍTICO si el método no devuelve.\n" +"Si se marca, no se enviará ningún mensaje en tal caso." #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_server__check_count msgid "Check Count" -msgstr "" +msgstr "Comprobar el Recuento" #. module: nsca_client #: model:ir.actions.act_window,name:nsca_client.action_nsca_check_tree @@ -140,12 +144,12 @@ msgstr "" #: model:ir.ui.menu,name:nsca_client.menu_action_nsca_check_tree #: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form msgid "Checks" -msgstr "" +msgstr "Comprobaciones" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__child_ids msgid "Child Actions" -msgstr "" +msgstr "Acciones Hijas" #. module: nsca_client #: model:ir.model.fields,help:nsca_client.field_nsca_check__child_ids @@ -153,6 +157,8 @@ msgid "" "Child server actions that will be executed. Note that the last return " "returned action value will be used as global return value." msgstr "" +"Acciones del servidor hijo que se ejecutarán. Tenga en cuenta que el último " +"valor de acción devuelto se utilizará como valor de retorno global." #. module: nsca_client #: code:addons/nsca_client/models/nsca_server.py:0 @@ -161,54 +167,56 @@ msgid "" "Command '%s' not found. Please install the NSCA client.\n" "On Debian/Ubuntu: apt-get install nsca-client" msgstr "" +"Comando '%s' no encontrado. Por favor, instale el cliente NSCA.\n" +"En Debian/Ubuntu: apt-get install nsca-client" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_server__config_dir_path msgid "Configuration directory" -msgstr "" +msgstr "Directorio de configuración" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_server__config_file_path msgid "Configuration file" -msgstr "" +msgstr "Archivo de Configuración" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__create_uid #: model:ir.model.fields,field_description:nsca_client.field_nsca_server__create_uid msgid "Created by" -msgstr "" +msgstr "Creado por" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__create_date #: model:ir.model.fields,field_description:nsca_client.field_nsca_server__create_date msgid "Created on" -msgstr "" +msgstr "Creado el" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__cron_id msgid "Cron" -msgstr "" +msgstr "Cron" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__daylight_saving_time_resistant msgid "Daylight Saving Time Resistant" -msgstr "" +msgstr "Resistente al Horario de Verano" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__display_name #: model:ir.model.fields,field_description:nsca_client.field_nsca_server__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_date_deadline_range msgid "Due Date In" -msgstr "" +msgstr "Fecha de Vencimiento En" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_date_deadline_range_type msgid "Due type" -msgstr "" +msgstr "Tipo de vencimiento" #. module: nsca_client #: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form @@ -216,41 +224,43 @@ msgid "" "E.g.\n" " (1, u\"3 mails not sent\")" msgstr "" +"Por ejemplo\n" +" (1, u \"3 correos no enviados\")" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__template_id msgid "Email Template" -msgstr "" +msgstr "Plantilla de Correo Electrónico" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_server__encryption_method msgid "Encryption method" -msgstr "" +msgstr "Método de encriptación" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__xml_id msgid "External ID" -msgstr "" +msgstr "ID Externo" #. module: nsca_client #: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form msgid "Frequency" -msgstr "" +msgstr "Frecuencia" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__groups_id msgid "Groups" -msgstr "" +msgstr "Grupos" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_server__name msgid "Hostname" -msgstr "" +msgstr "Nombre del huésped" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_server__node_hostname msgid "Hostname of this node" -msgstr "" +msgstr "Nombre de host de este nodo" #. module: nsca_client #: model:ir.model.fields,help:nsca_client.field_nsca_check__numbercall @@ -258,65 +268,67 @@ msgid "" "How many times the method is called,\n" "a negative number indicates no limit." msgstr "" +"Cuántas veces se llama al método,\n" +"un número negativo indica que no hay límite." #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__id #: model:ir.model.fields,field_description:nsca_client.field_nsca_server__id msgid "ID" -msgstr "" +msgstr "ID" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__interval_number msgid "Interval Number" -msgstr "" +msgstr "Número de Intervalo" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__interval_type msgid "Interval Unit" -msgstr "" +msgstr "Unidad de Intervalo" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__lastcall msgid "Last Execution Date" -msgstr "" +msgstr "Última Fecha de Ejecución" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check____last_update #: model:ir.model.fields,field_description:nsca_client.field_nsca_server____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__write_uid #: model:ir.model.fields,field_description:nsca_client.field_nsca_server__write_uid msgid "Last Updated by" -msgstr "" +msgstr "Última Actualización por" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__write_date #: model:ir.model.fields,field_description:nsca_client.field_nsca_server__write_date msgid "Last Updated on" -msgstr "" +msgstr "Última Actualización el" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__link_field_id msgid "Link Field" -msgstr "" +msgstr "Campo de Enlace" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_function msgid "Method" -msgstr "" +msgstr "Método" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__model_id msgid "Model" -msgstr "" +msgstr "Modelo" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__model_name msgid "Model Name" -msgstr "" +msgstr "Nombre del Modelo" #. module: nsca_client #: model:ir.model.fields,help:nsca_client.field_nsca_check__crud_model_id @@ -324,16 +336,18 @@ msgid "" "Model for record creation / update. Set this field only to specify a " "different model than the base model." msgstr "" +"Modelo para la creación / actualización de registros. Establezca este campo " +"sólo para especificar un modelo diferente al modelo base." #. module: nsca_client #: model:ir.model.fields,help:nsca_client.field_nsca_check__model_id msgid "Model on which the server action runs." -msgstr "" +msgstr "Modelo sobre el que se ejecuta la acción del servidor." #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__mutually_exclusive_cron_ids msgid "Mutually Exclusive Scheduled Actions" -msgstr "" +msgstr "Acciones programadas excluyentes mutuamente" #. module: nsca_client #: code:addons/nsca_client/models/nsca_check.py:0 @@ -341,7 +355,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form #, python-format msgid "NSCA Check" -msgstr "" +msgstr "Comprobación NSCA" #. module: nsca_client #: model:ir.cron,cron_name:nsca_client.demo_nsca_check_mails_ir_cron @@ -349,53 +363,53 @@ msgstr "" #: model:nsca.check,cron_name:nsca_client.demo_nsca_check_mails #: model:nsca.check,name:nsca_client.demo_nsca_check_mails msgid "NSCA Check - Odoo Mail Queue" -msgstr "" +msgstr "NSCA Comprobación - Cola de correo Odoo" #. module: nsca_client #: model:ir.ui.menu,name:nsca_client.menu_nsca_client msgid "NSCA Client" -msgstr "" +msgstr "Cliente NSCA" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_model msgid "NSCA Model" -msgstr "" +msgstr "Modelo NSCA" #. module: nsca_client #: model:ir.model,name:nsca_client.model_nsca_server #: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form msgid "NSCA Server" -msgstr "" +msgstr "Servidor NSCA" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__cron_name msgid "Name" -msgstr "" +msgstr "Nombre" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nextcall msgid "Next Execution Date" -msgstr "" +msgstr "Próxima Fecha de Ejecución" #. module: nsca_client #: model:ir.model.fields,help:nsca_client.field_nsca_check__nextcall msgid "Next planned execution date for this job." -msgstr "" +msgstr "Próxima fecha de ejecución prevista para este trabajo." #. module: nsca_client #: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form msgid "Node identity" -msgstr "" +msgstr "Identidad del nodo" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_note msgid "Note" -msgstr "" +msgstr "Nota" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__numbercall msgid "Number of Calls" -msgstr "" +msgstr "Número de Llamadas" #. module: nsca_client #: model:ir.model.fields,help:nsca_client.field_nsca_check__help @@ -403,16 +417,18 @@ msgid "" "Optional help text for the users with a description of the target view, such" " as its usage and purpose." msgstr "" +"Texto de ayuda opcional para los usuarios con una descripción de la vista de " +"destino, como su uso y propósito." #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_server__password msgid "Password" -msgstr "" +msgstr "Contraseña" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_server__port msgid "Port" -msgstr "" +msgstr "Puerto" #. module: nsca_client #: model:ir.model.fields,help:nsca_client.field_nsca_check__lastcall @@ -420,11 +436,13 @@ msgid "" "Previous time the cron ran successfully, provided to the job through the " "context on the `lastcall` key" msgstr "" +"Hora anterior en la que el cron se ejecutó correctamente, proporcionada al " +"trabajo a través del contexto en la tecla `lastcall" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__priority msgid "Priority" -msgstr "" +msgstr "Prioridad" #. module: nsca_client #: model:ir.model.fields,help:nsca_client.field_nsca_check__link_field_id @@ -432,57 +450,59 @@ msgid "" "Provide the field used to link the newly created record on the record used " "by the server action." msgstr "" +"Proporcione el campo utilizado para vincular el registro recién creado en el " +"registro utilizado por la acción del servidor." #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__code msgid "Python Code" -msgstr "" +msgstr "Código Python" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__doall msgid "Repeat Missed" -msgstr "" +msgstr "Repetición Fallida" #. module: nsca_client #: model:ir.model.fields,help:nsca_client.field_nsca_check__interval_number msgid "Repeat every x." -msgstr "" +msgstr "Repite cada x." #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_id msgid "Responsible" -msgstr "" +msgstr "Responsable" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__user_id msgid "Scheduler User" -msgstr "" +msgstr "Programador Usuario" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__sequence msgid "Sequence" -msgstr "" +msgstr "Secuencia" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__server_id msgid "Server" -msgstr "" +msgstr "Servidor" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__ir_actions_server_id msgid "Server action" -msgstr "" +msgstr "Acción de servidor" #. module: nsca_client #: model:ir.actions.act_window,name:nsca_client.action_nsca_server_tree #: model:ir.ui.menu,name:nsca_client.menu_action_nsca_server_tree msgid "Servers" -msgstr "" +msgstr "Servidores" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__service msgid "Service" -msgstr "" +msgstr "Servicio" #. module: nsca_client #: model:ir.model.fields,help:nsca_client.field_nsca_check__binding_model_id @@ -490,43 +510,47 @@ msgid "" "Setting a value makes this action available in the sidebar for the given " "model." msgstr "" +"Establecer un valor hace que esta acción esté disponible en la barra lateral " +"para el modelo dado." #. module: nsca_client #: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form msgid "Settings" -msgstr "" +msgstr "Configuraciones" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__smart_search #: model:ir.model.fields,field_description:nsca_client.field_nsca_server__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: nsca_client #: model:ir.model.fields,help:nsca_client.field_nsca_check__doall msgid "" "Specify if missed occurrences should be executed when the server restarts." msgstr "" +"Especifique si las incidencias omitidas deben ejecutarse cuando se reinicie " +"el servidor." #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_summary msgid "Summary" -msgstr "" +msgstr "Resumen" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__crud_model_id msgid "Target Model" -msgstr "" +msgstr "Modelo de Objetivo" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__crud_model_name msgid "Target Model Name" -msgstr "" +msgstr "Nombre del modelo de destino" #. module: nsca_client #: model:ir.model.fields,help:nsca_client.field_nsca_check__activity_user_field_name msgid "Technical name of the user on the record" -msgstr "" +msgstr "Nombre técnico del usuario en el registro" #. module: nsca_client #: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form @@ -534,6 +558,8 @@ msgid "" "The method must return a tuple (RC,\n" " MESSAGE) where RC is an integer:" msgstr "" +"El método debe devolver una tupla (RC,\n" +" MENSAJE) donde RC es un número entero:" #. module: nsca_client #: model:ir.model.fields,help:nsca_client.field_nsca_check__priority @@ -541,6 +567,8 @@ msgid "" "The priority of the job, as an integer: 0 means higher priority, 10 means " "lower priority." msgstr "" +"La prioridad del trabajo, como un número entero: 0 significa mayor " +"prioridad, 10 menor prioridad." #. module: nsca_client #: model:ir.model.fields,help:nsca_client.field_nsca_server__node_hostname @@ -548,6 +576,8 @@ msgid "" "This is the hostname of the current Odoo node declared in the monitoring " "server." msgstr "" +"Este es el nombre de host del nodo Odoo actual declarado en el servidor de " +"monitorización." #. module: nsca_client #: model:ir.model.fields,help:nsca_client.field_nsca_check__state @@ -561,11 +591,21 @@ msgid "" "- 'Add Followers': add followers to a record (Discuss)\n" "- 'Create Next Activity': create an activity (Discuss)" msgstr "" +"Tipo de acción del servidor. Están disponibles los siguientes valores:\n" +"- 'Ejecutar código Python': un bloque de código python que se ejecutará.\n" +"- 'Create': crear un nuevo registro con nuevos valores\n" +"- 'Actualizar un registro': actualizar los valores de un registro\n" +"- Ejecutar varias acciones\": define una acción que desencadena otras " +"acciones del servidor.\n" +"- Enviar correo electrónico': enviar automáticamente un correo electrónico " +"(Discutir)\n" +"- Añadir seguidores\": añadir seguidores a un registro (Discutir)\n" +"- Crear siguiente actividad': crear una actividad (Discutir)" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__usage msgid "Usage" -msgstr "" +msgstr "Uso" #. module: nsca_client #: model:ir.model.fields,help:nsca_client.field_nsca_check__activity_user_type @@ -574,16 +614,19 @@ msgid "" " 'Generic User From Record' to specify the field name of the user to choose " "on the record." msgstr "" +"Utilice 'Usuario Específico' para asignar siempre el mismo usuario en la " +"siguiente actividad. Utilice 'Usuario genérico del registro' para " +"especificar el nombre de campo del usuario a elegir en el registro." #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_field_name msgid "User field name" -msgstr "" +msgstr "Nombre del campo de usuario" #. module: nsca_client #: model:ir.model.fields,field_description:nsca_client.field_nsca_check__fields_lines msgid "Value Mapping" -msgstr "" +msgstr "Mapa de valores" #. module: nsca_client #: model:ir.model.fields,help:nsca_client.field_nsca_check__sequence @@ -591,6 +634,8 @@ msgid "" "When dealing with multiple actions, the execution order is based on the " "sequence. Low number means high priority." msgstr "" +"Cuando se trata de acciones múltiples, el orden de ejecución se basa en la " +"secuencia. Un número bajo significa prioridad alta." #. module: nsca_client #: model:ir.model.fields,help:nsca_client.field_nsca_check__code @@ -598,3 +643,6 @@ msgid "" "Write Python code that the action will execute. Some variables are available" " for use; help about python expression is given in the help tab." msgstr "" +"Escriba el código Python que ejecutará la acción. Algunas variables están " +"disponibles para su uso; ayuda sobre la expresión de Python se da en la " +"pestaña de ayuda." From 80eb368c7b70cee234993dd994d6a429cbfec603 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sun, 21 Apr 2024 19:47:45 +0000 Subject: [PATCH 059/232] Added translation using Weblate (Spanish) --- base_deterministic_session_gc/i18n/es.po | 77 ++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 base_deterministic_session_gc/i18n/es.po diff --git a/base_deterministic_session_gc/i18n/es.po b/base_deterministic_session_gc/i18n/es.po new file mode 100644 index 00000000000..45506bdf25f --- /dev/null +++ b/base_deterministic_session_gc/i18n/es.po @@ -0,0 +1,77 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_deterministic_session_gc +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: base_deterministic_session_gc +#: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.model,name:base_deterministic_session_gc.model_ir_autovacuum +msgid "Automatic Vacuum" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__display_name +msgid "Display Name" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.actions.server,name:base_deterministic_session_gc.deterministic_session_gc_ir_actions_server +#: model:ir.cron,cron_name:base_deterministic_session_gc.deterministic_session_gc +#: model:ir.cron,name:base_deterministic_session_gc.deterministic_session_gc +msgid "Garbage collection of expired sessions" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__id +msgid "ID" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__smart_search +msgid "Smart Search" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" From 5823bf6b12e65923d4f446279d706a66319493e4 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sun, 21 Apr 2024 19:55:01 +0000 Subject: [PATCH 060/232] Added translation using Weblate (Spanish) --- base_conditional_image/i18n/es.po | 291 ++++++++++++++++++++++++++++++ 1 file changed, 291 insertions(+) create mode 100644 base_conditional_image/i18n/es.po diff --git a/base_conditional_image/i18n/es.po b/base_conditional_image/i18n/es.po new file mode 100644 index 00000000000..07e55ee693d --- /dev/null +++ b/base_conditional_image/i18n/es.po @@ -0,0 +1,291 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_conditional_image +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__assigned_attachment_ids +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__changeset_change_ids +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__changeset_ids +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__company_id +msgid "Company" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,help:base_conditional_image.field_conditional_image__company_id +msgid "" +"Company related check. If inherited object does not have a `company_id` " +"field, it will be ignored. The check will first take the records with a " +"company then, if no match is found, the ones without a company." +msgstr "" + +#. module: base_conditional_image +#: model:ir.model,name:base_conditional_image.model_conditional_image +#: model_terms:ir.ui.view,arch_db:base_conditional_image.view_conditional_image_form +msgid "Conditional Image" +msgstr "" + +#. module: base_conditional_image +#: model:ir.actions.act_window,name:base_conditional_image.conditional_image_action +#: model:ir.ui.menu,name:base_conditional_image.conditional_image_menu +msgid "Conditional Images" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__count_pending_changeset_changes +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__count_pending_changesets +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__create_uid +msgid "Created by" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__create_date +msgid "Created on" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__display_name +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__display_name +msgid "Display Name" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_channel_ids +msgid "Followers (Channels)" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__id +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__id +msgid "ID" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,help:base_conditional_image.field_conditional_image__message_needaction +#: model:ir.model.fields,help:base_conditional_image.field_conditional_image__message_unread +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,help:base_conditional_image.field_conditional_image__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__image_1920 +msgid "Image" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__image_1024 +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__image_1024 +msgid "Image 1024" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__image_128 +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__image_128 +msgid "Image 128" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__image_1920 +msgid "Image 1920" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__image_256 +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__image_256 +msgid "Image 256" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__image_512 +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__image_512 +msgid "Image 512" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image____last_update +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__write_date +msgid "Last Updated on" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_ids +msgid "Messages" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model,name:base_conditional_image.model_conditional_image_consumer_mixin +msgid "Mixin for conditional images consumers" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__model_name +msgid "Model Name" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__name +msgid "Name" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,help:base_conditional_image.field_conditional_image__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,help:base_conditional_image.field_conditional_image__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,help:base_conditional_image.field_conditional_image__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,help:base_conditional_image.field_conditional_image__selector +msgid "" +"Python expression used as selector when multiple images are usedfor the same" +" object. The variable `object` refers to the actual record on which the " +"expression will be executed. An empty expression will always return `True`." +msgstr "" + +#. module: base_conditional_image +#: model:ir.actions.server,name:base_conditional_image.resize_conditional_images_ir_actions_server +#: model:ir.cron,cron_name:base_conditional_image.resize_conditional_images +#: model:ir.cron,name:base_conditional_image.resize_conditional_images +msgid "Resize conditional images" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__selector +#: model_terms:ir.ui.view,arch_db:base_conditional_image.view_conditional_image_form +msgid "Selector" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__smart_search +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__smart_search +msgid "Smart Search" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__user_can_see_changeset +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,help:base_conditional_image.field_conditional_image__website_message_ids +msgid "Website communication history" +msgstr "" From 03f8fe9cd4401f2d3e48e8e1756fef0b9eeca800 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sun, 21 Apr 2024 20:08:59 +0000 Subject: [PATCH 061/232] Added translation using Weblate (Spanish) --- attachment_delete_restrict/i18n/es.po | 263 ++++++++++++++++++++++++++ 1 file changed, 263 insertions(+) create mode 100644 attachment_delete_restrict/i18n/es.po diff --git a/attachment_delete_restrict/i18n/es.po b/attachment_delete_restrict/i18n/es.po new file mode 100644 index 00000000000..815bfd395ff --- /dev/null +++ b/attachment_delete_restrict/i18n/es.po @@ -0,0 +1,263 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * attachment_delete_restrict +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: attachment_delete_restrict +#: model:ir.model,name:attachment_delete_restrict.model_res_groups +msgid "Access Groups" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model,name:attachment_delete_restrict.model_ir_attachment +msgid "Attachment" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__delete_attachment_group_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__global_delete_attachment_group_ids +msgid "Attachment Deletion Groups" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__delete_attachment_model_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__delete_attachment_model_ids +#: model_terms:ir.ui.view,arch_db:attachment_delete_restrict.view_groups_form +#: model_terms:ir.ui.view,arch_db:attachment_delete_restrict.view_users_form +msgid "Attachment Deletion Models" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__delete_attachment_user_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__global_delete_attachment_user_ids +msgid "Attachment Deletion Users" +msgstr "" + +#. module: attachment_delete_restrict +#: model_terms:ir.ui.view,arch_db:attachment_delete_restrict.res_config_settings_view_form +msgid "Authorized Groups:" +msgstr "" + +#. module: attachment_delete_restrict +#: model_terms:ir.ui.view,arch_db:attachment_delete_restrict.res_config_settings_view_form +msgid "Authorized Users:" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__changeset_change_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__changeset_change_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__changeset_change_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__changeset_change_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__changeset_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__changeset_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__changeset_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__changeset_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model,name:attachment_delete_restrict.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__count_pending_changeset_changes +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__count_pending_changeset_changes +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__count_pending_changeset_changes +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__count_pending_changeset_changes +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__count_pending_changesets +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__count_pending_changesets +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__count_pending_changesets +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__count_pending_changesets +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__ir_model__restrict_delete_attachment__custom +#: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__res_config_settings__global_restrict_delete_attachment__custom +msgid "Custom: For each model, selected groups and users can delete them" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,help:attachment_delete_restrict.field_res_config_settings__global_restrict_delete_attachment +msgid "Define a default value for Attachments Deletion" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__display_name +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__display_name +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__display_name +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__display_name +msgid "Display Name" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__id +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__id +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__id +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__id +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__id +msgid "ID" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment____last_update +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model____last_update +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups____last_update +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users____last_update +msgid "Last Modified on" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model,name:attachment_delete_restrict.model_ir_model +msgid "Models" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__ir_model__restrict_delete_attachment__none +#: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__res_config_settings__global_restrict_delete_attachment__none +msgid "No restriction: All users / groups can delete them" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__ir_model__restrict_delete_attachment__owner_custom +#: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__res_config_settings__global_restrict_delete_attachment__owner_custom +msgid "" +"Owner + Custom: Creator and admin can delete them + for each model, selected" +" groups and users can delete them" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__ir_model__restrict_delete_attachment__owner +#: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__res_config_settings__global_restrict_delete_attachment__owner +msgid "Owner: Only creator and admin can delete them" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__restrict_delete_attachment +msgid "Restrict Attachment Deletion" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__global_restrict_delete_attachment +msgid "Restrict Delete Attachments" +msgstr "" + +#. module: attachment_delete_restrict +#: model_terms:ir.ui.view,arch_db:attachment_delete_restrict.res_config_settings_view_form +msgid "Restrict Deletion on attachment" +msgstr "" + +#. module: attachment_delete_restrict +#: model_terms:ir.ui.view,arch_db:attachment_delete_restrict.res_config_settings_view_form +msgid "Select default level of delete restriction on attachments" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__smart_search +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__smart_search +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__smart_search +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__smart_search +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__smart_search +msgid "Smart Search" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,help:attachment_delete_restrict.field_res_users__delete_attachment_model_ids +msgid "" +"The user can delete the attachments related to the models assigned here. In " +"general settings, 'Restrict Delete Attachment' must be set as 'custom' to " +"activate this setting." +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,help:attachment_delete_restrict.field_res_config_settings__global_delete_attachment_group_ids +msgid "The users in the groups selected here can delete all the attachments." +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,help:attachment_delete_restrict.field_ir_model__delete_attachment_group_ids +msgid "" +"The users in the groups selected here can delete the attachments related to " +"this model." +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,help:attachment_delete_restrict.field_res_groups__delete_attachment_model_ids +msgid "" +"The users of the group can delete the attachments related to the models " +"assigned here. In general settings, 'Restrict Delete Attachment' must be set" +" as 'custom' to activate this setting." +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,help:attachment_delete_restrict.field_res_config_settings__global_delete_attachment_user_ids +msgid "The users selected here can delete all the attachments" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,help:attachment_delete_restrict.field_ir_model__delete_attachment_user_ids +msgid "" +"The users selected here can delete the attachments related to this model." +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__ir_model__restrict_delete_attachment__default +msgid "Use global configuration" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__user_can_see_changeset +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__user_can_see_changeset +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__user_can_see_changeset +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__user_can_see_changeset +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model,name:attachment_delete_restrict.model_res_users +msgid "Users" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,help:attachment_delete_restrict.field_ir_model__restrict_delete_attachment +msgid "" +"When selected, the deletion of the attachments related to this model is " +"restricted to certain users." +msgstr "" + +#. module: attachment_delete_restrict +#: code:addons/attachment_delete_restrict/models/ir_attachment.py:0 +#, python-format +msgid "" +"You are not allowed to delete this attachment.\n" +"\n" +"Users with the delete permission:\n" +"%s" +msgstr "" From 3cd123fc1c9ccb2897db7ec09c0678a93b83b8d3 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sun, 21 Apr 2024 20:22:51 +0000 Subject: [PATCH 062/232] Added translation using Weblate (Spanish) --- module_analysis/i18n/es.po | 235 +++++++++++++++++++++++++++++++++++++ 1 file changed, 235 insertions(+) create mode 100644 module_analysis/i18n/es.po diff --git a/module_analysis/i18n/es.po b/module_analysis/i18n/es.po new file mode 100644 index 00000000000..4e9fcda4531 --- /dev/null +++ b/module_analysis/i18n/es.po @@ -0,0 +1,235 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * module_analysis +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_base_module_update__analyse_installed_modules +msgid "Analyse Installed Modules" +msgstr "" + +#. module: module_analysis +#: model:ir.ui.menu,name:module_analysis.menu_module_analysis +msgid "Analysis" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_module__author_ids +msgid "Authors" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_module__css_code_qty +msgid "CSS Code Quantity" +msgstr "" + +#. module: module_analysis +#: model_terms:ir.ui.view,arch_db:module_analysis.view_ir_module_module_form +msgid "Code Size" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_author__create_uid +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__create_uid +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule__create_uid +msgid "Created by" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_author__create_date +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__create_date +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule__create_date +msgid "Created on" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_base_module_update__display_name +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_author__display_name +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_module__display_name +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__display_name +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule__display_name +msgid "Display Name" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_base_module_update__id +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_author__id +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_module__id +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__id +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule__id +msgid "ID" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__installed_module_ids +msgid "Installed Modules" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_author__installed_module_qty +msgid "Installed Modules Quantity" +msgstr "" + +#. module: module_analysis +#: model:ir.actions.act_window,name:module_analysis.action_ir_module_module_by_type +#: model:ir.ui.menu,name:module_analysis.menu_module_by_type +msgid "Installed Modules by Types" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_module__js_code_qty +msgid "JS Code Quantity" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_base_module_update____last_update +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_author____last_update +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_module____last_update +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type____last_update +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule____last_update +msgid "Last Modified on" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_author__write_uid +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__write_uid +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_author__write_date +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__write_date +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule__write_date +msgid "Last Updated on" +msgstr "" + +#. module: module_analysis +#: model:ir.model,name:module_analysis.model_ir_module_module +msgid "Module" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule__module_domain +msgid "Module Domain" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_module__module_type_id +msgid "Module Type" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule__module_type_id +msgid "Module type" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_author__installed_module_ids +msgid "Modules" +msgstr "" + +#. module: module_analysis +#: model:ir.actions.act_window,name:module_analysis.action_ir_module_author +#: model:ir.model,name:module_analysis.model_ir_module_author +#: model:ir.ui.menu,name:module_analysis.menu_module_authors +msgid "Modules Authors" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__installed_module_qty +msgid "Modules Quantity" +msgstr "" + +#. module: module_analysis +#: model:ir.actions.act_window,name:module_analysis.action_ir_module_type +#: model:ir.model,name:module_analysis.model_ir_module_type +#: model:ir.ui.menu,name:module_analysis.menu_module_types +msgid "Modules Types" +msgstr "" + +#. module: module_analysis +#: model:ir.actions.act_window,name:module_analysis.action_ir_module_type_rule +#: model:ir.model,name:module_analysis.model_ir_module_type_rule +#: model:ir.ui.menu,name:module_analysis.menu_module_type_rules +msgid "Modules Types Rules" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_author__name +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__name +msgid "Name" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_module__python_code_qty +msgid "Python Code Quantity" +msgstr "" + +#. module: module_analysis +#: model_terms:ir.ui.view,arch_db:module_analysis.view_ir_module_module_form +msgid "Refresh Code Analysis" +msgstr "" + +#. module: module_analysis +#: model:ir.ui.menu,name:module_analysis.menu_module_analysis_reporting +msgid "Reporting" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__sequence +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule__sequence +msgid "Sequence" +msgstr "" + +#. module: module_analysis +#: model:ir.ui.menu,name:module_analysis.menu_module_analysis_settings +msgid "Settings" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_base_module_update__smart_search +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_author__smart_search +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_module__smart_search +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__smart_search +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule__smart_search +msgid "Smart Search" +msgstr "" + +#. module: module_analysis +#: model:ir.model.constraint,message:module_analysis.constraint_ir_module_author_name_uniq +msgid "The name of the modules author should be unique per database!" +msgstr "" + +#. module: module_analysis +#: model_terms:ir.ui.view,arch_db:module_analysis.view_ir_module_module_form +msgid "Type and Authors" +msgstr "" + +#. module: module_analysis +#: model:ir.model,name:module_analysis.model_base_module_update +msgid "Update Module" +msgstr "" + +#. module: module_analysis +#: model:ir.actions.server,name:module_analysis.cron_module_analysis_ir_actions_server +#: model:ir.cron,cron_name:module_analysis.cron_module_analysis +#: model:ir.cron,name:module_analysis.cron_module_analysis +msgid "Update Module Analysis" +msgstr "" + +#. module: module_analysis +#: model:ir.model.fields,field_description:module_analysis.field_ir_module_module__xml_code_qty +msgid "XML Code Quantity" +msgstr "" From af61b6370feccc0ad218044f5ef048d94322e83d Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sun, 21 Apr 2024 20:30:30 +0000 Subject: [PATCH 063/232] Added translation using Weblate (Spanish) --- base_time_parameter/i18n/es.po | 216 +++++++++++++++++++++++++++++++++ 1 file changed, 216 insertions(+) create mode 100644 base_time_parameter/i18n/es.po diff --git a/base_time_parameter/i18n/es.po b/base_time_parameter/i18n/es.po new file mode 100644 index 00000000000..3fde71161e0 --- /dev/null +++ b/base_time_parameter/i18n/es.po @@ -0,0 +1,216 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_time_parameter +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: base_time_parameter +#: model:ir.model.constraint,message:base_time_parameter.constraint_base_time_parameter_version__unique +msgid "A parameter cannot have two versions starting the same day." +msgstr "" + +#. module: base_time_parameter +#: model:ir.model,name:base_time_parameter.model_base +msgid "Base" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__boolean +msgid "Boolean (True/False)" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__code +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__code +msgid "Code" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__company_id +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__company_id +msgid "Company" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__country_id +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__country_id +msgid "Country" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__create_uid +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__create_uid +msgid "Created by" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__create_date +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__create_date +msgid "Created on" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__date +msgid "Date" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__date_from +msgid "Date From" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__description +#: model_terms:ir.ui.view,arch_db:base_time_parameter.base_time_parameter_view_form +msgid "Description" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__display_name +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__display_name +msgid "Display Name" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,help:base_time_parameter.field_base_time_parameter__model_id +msgid "Filter by model (e.g. hr.payslip)" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__float +msgid "Floating point number" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__id +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__id +msgid "ID" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__integer +msgid "Integer number" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__json +msgid "JSON" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter____last_update +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__write_uid +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__write_date +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__write_date +msgid "Last Updated on" +msgstr "" + +#. module: base_time_parameter +#: model:res.groups,name:base_time_parameter.group_time_parameter +msgid "Manage Time Parameters" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__model_id +#: model_terms:ir.ui.view,arch_db:base_time_parameter.base_time_parameter_view_search +msgid "Model" +msgstr "" + +#. module: base_time_parameter +#: code:addons/base_time_parameter/models/base_time_parameter.py:0 +#, python-format +msgid "" +"No parameter for model '%(model_name)s', code '%(code)s', date %(date)s" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__name +msgid "Parameter Name" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__record +msgid "Record" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__record_model +msgid "Record Model" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__value_reference +msgid "Reference Value" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__smart_search +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__smart_search +msgid "Smart Search" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__string +msgid "Text" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model,name:base_time_parameter.model_base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__parameter_id +#: model_terms:ir.ui.view,arch_db:base_time_parameter.base_time_parameter_view_form +msgid "Time Parameter" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model,name:base_time_parameter.model_base_time_parameter_version +msgid "Time Parameter Version" +msgstr "" + +#. module: base_time_parameter +#: model:ir.actions.act_window,name:base_time_parameter.base_time_parameter_action +#: model:ir.ui.menu,name:base_time_parameter.base_time_parameter_menu +msgid "Time Parameters" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.constraint,message:base_time_parameter.constraint_base_time_parameter__unique +msgid "Two time parameters cannot have the same code." +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__type +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__type +msgid "Type" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__value +msgid "Value" +msgstr "" + +#. module: base_time_parameter +#: model:ir.actions.act_window,name:base_time_parameter.base_time_parameter_version_action +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__version_ids +#: model_terms:ir.ui.view,arch_db:base_time_parameter.base_time_parameter_view_form +msgid "Versions" +msgstr "" From a01d0ca3cbdb7bf87491eefb3304da8688c212a0 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sun, 21 Apr 2024 20:53:51 +0000 Subject: [PATCH 064/232] Added translation using Weblate (Spanish) --- base_video_link/i18n/es.po | 163 +++++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 base_video_link/i18n/es.po diff --git a/base_video_link/i18n/es.po b/base_video_link/i18n/es.po new file mode 100644 index 00000000000..5249521722d --- /dev/null +++ b/base_video_link/i18n/es.po @@ -0,0 +1,163 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_video_link +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__code +msgid "Code" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__create_uid +#: model:ir.model.fields,field_description:base_video_link.field_video_video__create_uid +msgid "Created by" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__create_date +#: model:ir.model.fields,field_description:base_video_link.field_video_video__create_date +msgid "Created on" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_link_mixin__display_name +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__display_name +#: model:ir.model.fields,field_description:base_video_link.field_video_video__display_name +msgid "Display Name" +msgstr "" + +#. module: base_video_link +#: model_terms:ir.ui.view,arch_db:base_video_link.video_video_view_search +msgid "Group By" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_link_mixin__id +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__id +#: model:ir.model.fields,field_description:base_video_link.field_video_video__id +msgid "ID" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_video__identifier +msgid "Identifier" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_link_mixin____last_update +#: model:ir.model.fields,field_description:base_video_link.field_video_provider____last_update +#: model:ir.model.fields,field_description:base_video_link.field_video_video____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__write_uid +#: model:ir.model.fields,field_description:base_video_link.field_video_video__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__write_date +#: model:ir.model.fields,field_description:base_video_link.field_video_video__write_date +msgid "Last Updated on" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__name +#: model:ir.model.fields,field_description:base_video_link.field_video_video__name +msgid "Name" +msgstr "" + +#. module: base_video_link +#: model_terms:ir.ui.view,arch_db:base_video_link.video_video_view +msgid "Open" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__pattern_thumbnail_url +msgid "Pattern Thumbnail Url" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__pattern_video_url +msgid "Pattern Video Url" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,help:base_video_link.field_video_provider__pattern_video_url +msgid "" +"Pattern to generate the video's URL. `record` variable represents the video " +"record." +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,help:base_video_link.field_video_provider__pattern_thumbnail_url +msgid "" +"Pattern to generate the video's thumb URL. `record` variable represents the " +"video record." +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_video__provider_id +#: model_terms:ir.ui.view,arch_db:base_video_link.video_video_view_search +msgid "Provider" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_video__sequence +msgid "Sequence" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_link_mixin__smart_search +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__smart_search +#: model:ir.model.fields,field_description:base_video_link.field_video_video__smart_search +msgid "Smart Search" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_video__thumbnail_url +msgid "Thumbnail Url" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_video__url +msgid "Url" +msgstr "" + +#. module: base_video_link +#: model:ir.actions.act_window,name:base_video_link.video_video_action +#: model:ir.model,name:base_video_link.model_video_video +#: model:ir.model.fields,field_description:base_video_link.field_video_link_mixin__video_ids +#: model:ir.ui.menu,name:base_video_link.video_root_menu +#: model:ir.ui.menu,name:base_video_link.video_video_menu +#: model_terms:ir.ui.view,arch_db:base_video_link.video_video_view_form +#: model_terms:ir.ui.view,arch_db:base_video_link.video_video_view_search +msgid "Video" +msgstr "" + +#. module: base_video_link +#: model:ir.model,name:base_video_link.model_video_link_mixin +msgid "Video Link Mixin" +msgstr "" + +#. module: base_video_link +#: model:ir.actions.act_window,name:base_video_link.video_provider_action +#: model:ir.model,name:base_video_link.model_video_provider +#: model:ir.ui.menu,name:base_video_link.video_provider_menu +#: model_terms:ir.ui.view,arch_db:base_video_link.video_provider_view_form +#: model_terms:ir.ui.view,arch_db:base_video_link.video_provider_view_search +msgid "Video Provider" +msgstr "" From 87140e79aef6f1b7333cfff63bf7ccfd5e3867ba Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sun, 21 Apr 2024 21:03:12 +0000 Subject: [PATCH 065/232] Added translation using Weblate (Spanish) --- rpc_helper/i18n/es.po | 100 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 rpc_helper/i18n/es.po diff --git a/rpc_helper/i18n/es.po b/rpc_helper/i18n/es.po new file mode 100644 index 00000000000..bfa2d0a2e5d --- /dev/null +++ b/rpc_helper/i18n/es.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * rpc_helper +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,help:rpc_helper.field_ir_model__rpc_config_edit +msgid "" +"Configure RPC config via JSON. Value must be a list of methods to disable " +"wrapped by a dict with key `disable`. Eg: {'disable': ['search', " +"'do_this']}To disable all methods, use `{'disable: ['all']}`" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model__display_name +msgid "Display Name" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model__id +msgid "ID" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model____last_update +msgid "Last Modified on" +msgstr "" + +#. module: rpc_helper +#: model:ir.model,name:rpc_helper.model_ir_model +msgid "Models" +msgstr "" + +#. module: rpc_helper +#: code:addons/rpc_helper/patch.py:0 +#, python-format +msgid "Object %s doesn't exist" +msgstr "" + +#. module: rpc_helper +#: code:addons/rpc_helper/patch.py:0 +#, python-format +msgid "RPC call on %s is not allowed" +msgstr "" + +#. module: rpc_helper +#: model_terms:ir.ui.view,arch_db:rpc_helper.view_model_form +msgid "RPC config" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model__rpc_config +msgid "Rpc Config" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model__rpc_config_edit +msgid "Rpc Config Edit" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model__smart_search +msgid "Smart Search" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" From 7f81dcfd4425fae290441a07e24ace3bdb9003ea Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sun, 21 Apr 2024 19:54:16 +0000 Subject: [PATCH 066/232] Translated using Weblate (Spanish) Currently translated at 100.0% (12 of 12 strings) Translation: server-tools-14.0/server-tools-14.0-base_deterministic_session_gc Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_deterministic_session_gc/es/ --- base_deterministic_session_gc/i18n/es.po | 28 +++++++++++++----------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/base_deterministic_session_gc/i18n/es.po b/base_deterministic_session_gc/i18n/es.po index 45506bdf25f..4b55e66d795 100644 --- a/base_deterministic_session_gc/i18n/es.po +++ b/base_deterministic_session_gc/i18n/es.po @@ -6,72 +6,74 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-21 22:42+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: base_deterministic_session_gc #: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__assigned_attachment_ids msgid "Assigned Attachments" -msgstr "" +msgstr "Archivos Adjuntos Asignados" #. module: base_deterministic_session_gc #: model:ir.model,name:base_deterministic_session_gc.model_ir_autovacuum msgid "Automatic Vacuum" -msgstr "" +msgstr "Vacío Automático" #. module: base_deterministic_session_gc #: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__changeset_change_ids msgid "Changeset Changes" -msgstr "" +msgstr "Cambios en el Conjunto de Modificaciones" #. module: base_deterministic_session_gc #: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__changeset_ids msgid "Changesets" -msgstr "" +msgstr "Conjuntos de Cambios" #. module: base_deterministic_session_gc #: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__count_pending_changeset_changes msgid "Count Pending Changeset Changes" -msgstr "" +msgstr "Contar los Cambios del Conjunto de Cambios Pendientes" #. module: base_deterministic_session_gc #: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__count_pending_changesets msgid "Count Pending Changesets" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: base_deterministic_session_gc #: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: base_deterministic_session_gc #: model:ir.actions.server,name:base_deterministic_session_gc.deterministic_session_gc_ir_actions_server #: model:ir.cron,cron_name:base_deterministic_session_gc.deterministic_session_gc #: model:ir.cron,name:base_deterministic_session_gc.deterministic_session_gc msgid "Garbage collection of expired sessions" -msgstr "" +msgstr "Recogida de basura de sesiones caducadas" #. module: base_deterministic_session_gc #: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__id msgid "ID" -msgstr "" +msgstr "ID" #. module: base_deterministic_session_gc #: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: base_deterministic_session_gc #: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: base_deterministic_session_gc #: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__user_can_see_changeset msgid "User Can See Changeset" -msgstr "" +msgstr "Usuario Puede ver Conjunto de Cambios" From c5060c9872b28a11c95970996a8e4bda7d4625f9 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sun, 21 Apr 2024 20:03:52 +0000 Subject: [PATCH 067/232] Translated using Weblate (Spanish) Currently translated at 100.0% (50 of 50 strings) Translation: server-tools-14.0/server-tools-14.0-base_conditional_image Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_conditional_image/es/ --- base_conditional_image/i18n/es.po | 108 ++++++++++++++++-------------- 1 file changed, 59 insertions(+), 49 deletions(-) diff --git a/base_conditional_image/i18n/es.po b/base_conditional_image/i18n/es.po index 07e55ee693d..f68e5b245ef 100644 --- a/base_conditional_image/i18n/es.po +++ b/base_conditional_image/i18n/es.po @@ -6,46 +6,48 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-21 22:42+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_needaction msgid "Action Needed" -msgstr "" +msgstr "Necesaria Acción" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__assigned_attachment_ids #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__assigned_attachment_ids msgid "Assigned Attachments" -msgstr "" +msgstr "Archivos Adjuntos Asignados" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_attachment_count msgid "Attachment Count" -msgstr "" +msgstr "Contador de Archivos Adjuntos" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__changeset_change_ids #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__changeset_change_ids msgid "Changeset Changes" -msgstr "" +msgstr "Cambios en el Conjunto de Modificaciones" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__changeset_ids #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__changeset_ids msgid "Changesets" -msgstr "" +msgstr "Conjuntos de Cambios" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__company_id msgid "Company" -msgstr "" +msgstr "Empresa" #. module: base_conditional_image #: model:ir.model.fields,help:base_conditional_image.field_conditional_image__company_id @@ -54,188 +56,192 @@ msgid "" "field, it will be ignored. The check will first take the records with a " "company then, if no match is found, the ones without a company." msgstr "" +"Comprobación relacionada con la empresa. Si el objeto heredado no tiene un " +"campo `company_id`, será ignorado. La comprobación tomará primero los " +"registros con empresa y luego, si no se encuentra ninguna coincidencia, los " +"que no tengan empresa." #. module: base_conditional_image #: model:ir.model,name:base_conditional_image.model_conditional_image #: model_terms:ir.ui.view,arch_db:base_conditional_image.view_conditional_image_form msgid "Conditional Image" -msgstr "" +msgstr "Imagen Condicional" #. module: base_conditional_image #: model:ir.actions.act_window,name:base_conditional_image.conditional_image_action #: model:ir.ui.menu,name:base_conditional_image.conditional_image_menu msgid "Conditional Images" -msgstr "" +msgstr "Imágenes Condicionales" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__count_pending_changeset_changes #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__count_pending_changeset_changes msgid "Count Pending Changeset Changes" -msgstr "" +msgstr "Contar los Cambios del Conjunto de Cambios Pendientes" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__count_pending_changesets #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__count_pending_changesets msgid "Count Pending Changesets" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__create_uid msgid "Created by" -msgstr "" +msgstr "Creado por" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__create_date msgid "Created on" -msgstr "" +msgstr "Creado el" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__display_name #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_follower_ids msgid "Followers" -msgstr "" +msgstr "Seguidores/as" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_channel_ids msgid "Followers (Channels)" -msgstr "" +msgstr "Seguidores/as (Canales)" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_partner_ids msgid "Followers (Partners)" -msgstr "" +msgstr "Seguidores/as (Socios)" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__id #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__id msgid "ID" -msgstr "" +msgstr "ID" #. module: base_conditional_image #: model:ir.model.fields,help:base_conditional_image.field_conditional_image__message_needaction #: model:ir.model.fields,help:base_conditional_image.field_conditional_image__message_unread msgid "If checked, new messages require your attention." -msgstr "" +msgstr "Si está marcado, nuevos mensajes requieren su atención." #. module: base_conditional_image #: model:ir.model.fields,help:base_conditional_image.field_conditional_image__message_has_error msgid "If checked, some messages have a delivery error." -msgstr "" +msgstr "Si se activa, algunos mensajes tienen un error de envio." #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__image_1920 msgid "Image" -msgstr "" +msgstr "Imagen" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__image_1024 #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__image_1024 msgid "Image 1024" -msgstr "" +msgstr "Imagen 1024" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__image_128 #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__image_128 msgid "Image 128" -msgstr "" +msgstr "Imagen 128" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__image_1920 msgid "Image 1920" -msgstr "" +msgstr "Imagen 1920" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__image_256 #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__image_256 msgid "Image 256" -msgstr "" +msgstr "Imagen 256" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__image_512 #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__image_512 msgid "Image 512" -msgstr "" +msgstr "Imagen 512" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_is_follower msgid "Is Follower" -msgstr "" +msgstr "Es Seguidor" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image____last_update #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__write_uid msgid "Last Updated by" -msgstr "" +msgstr "Última Actualización Realizada por" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__write_date msgid "Last Updated on" -msgstr "" +msgstr "Última Actualización el" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_main_attachment_id msgid "Main Attachment" -msgstr "" +msgstr "Archivo adjunto principal" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_has_error msgid "Message Delivery error" -msgstr "" +msgstr "Error en entrega de mensaje" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_ids msgid "Messages" -msgstr "" +msgstr "Mensajes" #. module: base_conditional_image #: model:ir.model,name:base_conditional_image.model_conditional_image_consumer_mixin msgid "Mixin for conditional images consumers" -msgstr "" +msgstr "Mezclador de consumidores de imágenes condicionales" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__model_name msgid "Model Name" -msgstr "" +msgstr "Nombre del Modelo" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__name msgid "Name" -msgstr "" +msgstr "Nombre" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_needaction_counter msgid "Number of Actions" -msgstr "" +msgstr "Número de Acciones" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_has_error_counter msgid "Number of errors" -msgstr "" +msgstr "Número de Errores" #. module: base_conditional_image #: model:ir.model.fields,help:base_conditional_image.field_conditional_image__message_needaction_counter msgid "Number of messages which requires an action" -msgstr "" +msgstr "Números de mensajes que requieren una acción" #. module: base_conditional_image #: model:ir.model.fields,help:base_conditional_image.field_conditional_image__message_has_error_counter msgid "Number of messages with delivery error" -msgstr "" +msgstr "Número de mensaje con error de entrega" #. module: base_conditional_image #: model:ir.model.fields,help:base_conditional_image.field_conditional_image__message_unread_counter msgid "Number of unread messages" -msgstr "" +msgstr "Número de mensajes sin leer" #. module: base_conditional_image #: model:ir.model.fields,help:base_conditional_image.field_conditional_image__selector @@ -244,48 +250,52 @@ msgid "" " object. The variable `object` refers to the actual record on which the " "expression will be executed. An empty expression will always return `True`." msgstr "" +"Expresión de Python utilizada como selector cuando se utilizan varias " +"imágenes para el mismo objeto. La variable `object` se refiere al registro " +"real sobre el que se ejecutará la expresión. Una expresión vacía siempre " +"devolverá `True`." #. module: base_conditional_image #: model:ir.actions.server,name:base_conditional_image.resize_conditional_images_ir_actions_server #: model:ir.cron,cron_name:base_conditional_image.resize_conditional_images #: model:ir.cron,name:base_conditional_image.resize_conditional_images msgid "Resize conditional images" -msgstr "" +msgstr "Redimensionar imágenes condicionales" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__selector #: model_terms:ir.ui.view,arch_db:base_conditional_image.view_conditional_image_form msgid "Selector" -msgstr "" +msgstr "Seleccionador" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__smart_search #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_unread msgid "Unread Messages" -msgstr "" +msgstr "Mensajes No Leídos" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_unread_counter msgid "Unread Messages Counter" -msgstr "" +msgstr "Contador de Mensajes no Leídos" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__user_can_see_changeset #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__user_can_see_changeset msgid "User Can See Changeset" -msgstr "" +msgstr "Usuario Puede ver Conjunto de Cambios" #. module: base_conditional_image #: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__website_message_ids msgid "Website Messages" -msgstr "" +msgstr "Mensajes de la Página Web" #. module: base_conditional_image #: model:ir.model.fields,help:base_conditional_image.field_conditional_image__website_message_ids msgid "Website communication history" -msgstr "" +msgstr "Historial de la comunicación en el sitio web" From 1341b0ed8eaa7198cb3caf7b6ddff79cf3cee8ef Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sun, 21 Apr 2024 20:09:26 +0000 Subject: [PATCH 068/232] Translated using Weblate (Spanish) Currently translated at 100.0% (37 of 37 strings) Translation: server-tools-14.0/server-tools-14.0-attachment_delete_restrict Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-attachment_delete_restrict/es/ --- attachment_delete_restrict/i18n/es.po | 84 ++++++++++++++++++--------- 1 file changed, 57 insertions(+), 27 deletions(-) diff --git a/attachment_delete_restrict/i18n/es.po b/attachment_delete_restrict/i18n/es.po index 815bfd395ff..d3ae0b50fb7 100644 --- a/attachment_delete_restrict/i18n/es.po +++ b/attachment_delete_restrict/i18n/es.po @@ -6,29 +6,31 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-21 22:42+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: attachment_delete_restrict #: model:ir.model,name:attachment_delete_restrict.model_res_groups msgid "Access Groups" -msgstr "" +msgstr "Grupos de Acceso" #. module: attachment_delete_restrict #: model:ir.model,name:attachment_delete_restrict.model_ir_attachment msgid "Attachment" -msgstr "" +msgstr "Archivo adjunto" #. module: attachment_delete_restrict #: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__delete_attachment_group_ids #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__global_delete_attachment_group_ids msgid "Attachment Deletion Groups" -msgstr "" +msgstr "Grupos de Borrado de Anexos" #. module: attachment_delete_restrict #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__delete_attachment_model_ids @@ -36,23 +38,23 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:attachment_delete_restrict.view_groups_form #: model_terms:ir.ui.view,arch_db:attachment_delete_restrict.view_users_form msgid "Attachment Deletion Models" -msgstr "" +msgstr "Modelos de Eliminación de Adjuntos" #. module: attachment_delete_restrict #: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__delete_attachment_user_ids #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__global_delete_attachment_user_ids msgid "Attachment Deletion Users" -msgstr "" +msgstr "Borrado de Archivos Adjuntos Usuarios" #. module: attachment_delete_restrict #: model_terms:ir.ui.view,arch_db:attachment_delete_restrict.res_config_settings_view_form msgid "Authorized Groups:" -msgstr "" +msgstr "Grupos Autorizados:" #. module: attachment_delete_restrict #: model_terms:ir.ui.view,arch_db:attachment_delete_restrict.res_config_settings_view_form msgid "Authorized Users:" -msgstr "" +msgstr "Usuarios Autorizados:" #. module: attachment_delete_restrict #: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__changeset_change_ids @@ -61,7 +63,7 @@ msgstr "" #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__changeset_change_ids #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__changeset_change_ids msgid "Changeset Changes" -msgstr "" +msgstr "Cambios en el Conjunto de Modificaciones" #. module: attachment_delete_restrict #: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__changeset_ids @@ -70,12 +72,12 @@ msgstr "" #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__changeset_ids #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__changeset_ids msgid "Changesets" -msgstr "" +msgstr "Conjuntos de Cambios" #. module: attachment_delete_restrict #: model:ir.model,name:attachment_delete_restrict.model_res_config_settings msgid "Config Settings" -msgstr "" +msgstr "Ajustes Config" #. module: attachment_delete_restrict #: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__count_pending_changeset_changes @@ -84,7 +86,7 @@ msgstr "" #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__count_pending_changeset_changes #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__count_pending_changeset_changes msgid "Count Pending Changeset Changes" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: attachment_delete_restrict #: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__count_pending_changesets @@ -93,18 +95,20 @@ msgstr "" #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__count_pending_changesets #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__count_pending_changesets msgid "Count Pending Changesets" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: attachment_delete_restrict #: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__ir_model__restrict_delete_attachment__custom #: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__res_config_settings__global_restrict_delete_attachment__custom msgid "Custom: For each model, selected groups and users can delete them" msgstr "" +"Personalizado: Para cada modelo, los grupos y usuarios seleccionados pueden " +"eliminarlos" #. module: attachment_delete_restrict #: model:ir.model.fields,help:attachment_delete_restrict.field_res_config_settings__global_restrict_delete_attachment msgid "Define a default value for Attachments Deletion" -msgstr "" +msgstr "Definir un valor por defecto para el borrado de Archivos Adjuntos" #. module: attachment_delete_restrict #: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__display_name @@ -113,7 +117,7 @@ msgstr "" #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__display_name #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: attachment_delete_restrict #: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__id @@ -122,7 +126,7 @@ msgstr "" #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__id #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__id msgid "ID" -msgstr "" +msgstr "ID (identificación)" #. module: attachment_delete_restrict #: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment____last_update @@ -131,18 +135,18 @@ msgstr "" #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups____last_update #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: attachment_delete_restrict #: model:ir.model,name:attachment_delete_restrict.model_ir_model msgid "Models" -msgstr "" +msgstr "Modelos" #. module: attachment_delete_restrict #: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__ir_model__restrict_delete_attachment__none #: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__res_config_settings__global_restrict_delete_attachment__none msgid "No restriction: All users / groups can delete them" -msgstr "" +msgstr "Sin restricciones: Todos los usuarios / grupos pueden eliminarlos" #. module: attachment_delete_restrict #: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__ir_model__restrict_delete_attachment__owner_custom @@ -151,32 +155,37 @@ msgid "" "Owner + Custom: Creator and admin can delete them + for each model, selected" " groups and users can delete them" msgstr "" +"Propietario + Personalizado: El creador y el administrador pueden " +"eliminarlos + para cada modelo, los grupos y usuarios seleccionados pueden " +"eliminarlos" #. module: attachment_delete_restrict #: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__ir_model__restrict_delete_attachment__owner #: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__res_config_settings__global_restrict_delete_attachment__owner msgid "Owner: Only creator and admin can delete them" -msgstr "" +msgstr "Propietario: Sólo el creador y el administrador pueden eliminarlos" #. module: attachment_delete_restrict #: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__restrict_delete_attachment msgid "Restrict Attachment Deletion" -msgstr "" +msgstr "Restringir la Eliminación de Archivos Adjuntos" #. module: attachment_delete_restrict #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__global_restrict_delete_attachment msgid "Restrict Delete Attachments" -msgstr "" +msgstr "Restringir la Eliminación de Archivos Adjuntos" #. module: attachment_delete_restrict #: model_terms:ir.ui.view,arch_db:attachment_delete_restrict.res_config_settings_view_form msgid "Restrict Deletion on attachment" -msgstr "" +msgstr "Restringir la eliminación de archivos adjuntos" #. module: attachment_delete_restrict #: model_terms:ir.ui.view,arch_db:attachment_delete_restrict.res_config_settings_view_form msgid "Select default level of delete restriction on attachments" msgstr "" +"Seleccione el nivel predeterminado de restricción de eliminación de archivos " +"adjuntos" #. module: attachment_delete_restrict #: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__smart_search @@ -185,7 +194,7 @@ msgstr "" #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__smart_search #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: attachment_delete_restrict #: model:ir.model.fields,help:attachment_delete_restrict.field_res_users__delete_attachment_model_ids @@ -194,11 +203,17 @@ msgid "" "general settings, 'Restrict Delete Attachment' must be set as 'custom' to " "activate this setting." msgstr "" +"El usuario puede eliminar los archivos adjuntos relacionados con los modelos " +"asignados aquí. En los ajustes generales, \"Restringir la eliminación de " +"archivos adjuntos\" debe establecerse como \"personalizado\" para activar " +"este ajuste." #. module: attachment_delete_restrict #: model:ir.model.fields,help:attachment_delete_restrict.field_res_config_settings__global_delete_attachment_group_ids msgid "The users in the groups selected here can delete all the attachments." msgstr "" +"Los usuarios de los grupos seleccionados aquí pueden eliminar todos los " +"archivos adjuntos." #. module: attachment_delete_restrict #: model:ir.model.fields,help:attachment_delete_restrict.field_ir_model__delete_attachment_group_ids @@ -206,6 +221,8 @@ msgid "" "The users in the groups selected here can delete the attachments related to " "this model." msgstr "" +"Los usuarios de los grupos seleccionados aquí pueden eliminar los archivos " +"adjuntos relacionados con este modelo." #. module: attachment_delete_restrict #: model:ir.model.fields,help:attachment_delete_restrict.field_res_groups__delete_attachment_model_ids @@ -214,22 +231,29 @@ msgid "" "assigned here. In general settings, 'Restrict Delete Attachment' must be set" " as 'custom' to activate this setting." msgstr "" +"Los usuarios del grupo pueden eliminar los archivos adjuntos relacionados " +"con los modelos asignados aquí. En los ajustes generales, \"Restringir la " +"eliminación de archivos adjuntos\" debe estar configurado como " +"\"personalizado\" para activar este ajuste." #. module: attachment_delete_restrict #: model:ir.model.fields,help:attachment_delete_restrict.field_res_config_settings__global_delete_attachment_user_ids msgid "The users selected here can delete all the attachments" msgstr "" +"Los usuarios seleccionados aquí pueden eliminar todos los archivos adjuntos" #. module: attachment_delete_restrict #: model:ir.model.fields,help:attachment_delete_restrict.field_ir_model__delete_attachment_user_ids msgid "" "The users selected here can delete the attachments related to this model." msgstr "" +"Los usuarios seleccionados aquí pueden eliminar los archivos adjuntos " +"relacionados con este modelo." #. module: attachment_delete_restrict #: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__ir_model__restrict_delete_attachment__default msgid "Use global configuration" -msgstr "" +msgstr "Utilizar la configuración global" #. module: attachment_delete_restrict #: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__user_can_see_changeset @@ -238,12 +262,12 @@ msgstr "" #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__user_can_see_changeset #: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__user_can_see_changeset msgid "User Can See Changeset" -msgstr "" +msgstr "Usuario Puede ver Conjunto de Cambios" #. module: attachment_delete_restrict #: model:ir.model,name:attachment_delete_restrict.model_res_users msgid "Users" -msgstr "" +msgstr "Usuarios" #. module: attachment_delete_restrict #: model:ir.model.fields,help:attachment_delete_restrict.field_ir_model__restrict_delete_attachment @@ -251,6 +275,8 @@ msgid "" "When selected, the deletion of the attachments related to this model is " "restricted to certain users." msgstr "" +"Cuando se selecciona esta opción, la eliminación de los archivos adjuntos " +"relacionados con este modelo queda restringida a determinados usuarios." #. module: attachment_delete_restrict #: code:addons/attachment_delete_restrict/models/ir_attachment.py:0 @@ -261,3 +287,7 @@ msgid "" "Users with the delete permission:\n" "%s" msgstr "" +"No tiene permiso para borrar este archivo adjunto.\n" +"\n" +"Usuarios con permiso para borrar:\n" +"%s" From ce9f452b248e3f03909ba80376dc58bfb2e752af Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sun, 21 Apr 2024 20:23:25 +0000 Subject: [PATCH 069/232] Translated using Weblate (Spanish) Currently translated at 100.0% (37 of 37 strings) Translation: server-tools-14.0/server-tools-14.0-module_analysis Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-module_analysis/es/ --- module_analysis/i18n/es.po | 78 +++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 38 deletions(-) diff --git a/module_analysis/i18n/es.po b/module_analysis/i18n/es.po index 4e9fcda4531..a8b8db1e53b 100644 --- a/module_analysis/i18n/es.po +++ b/module_analysis/i18n/es.po @@ -6,52 +6,54 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-21 22:42+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_base_module_update__analyse_installed_modules msgid "Analyse Installed Modules" -msgstr "" +msgstr "Analizar los módulos instalados" #. module: module_analysis #: model:ir.ui.menu,name:module_analysis.menu_module_analysis msgid "Analysis" -msgstr "" +msgstr "Análisis" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_ir_module_module__author_ids msgid "Authors" -msgstr "" +msgstr "Autores" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_ir_module_module__css_code_qty msgid "CSS Code Quantity" -msgstr "" +msgstr "Código CSS Cantidad" #. module: module_analysis #: model_terms:ir.ui.view,arch_db:module_analysis.view_ir_module_module_form msgid "Code Size" -msgstr "" +msgstr "Código Talla" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_ir_module_author__create_uid #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__create_uid #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule__create_uid msgid "Created by" -msgstr "" +msgstr "Creado por" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_ir_module_author__create_date #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__create_date #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule__create_date msgid "Created on" -msgstr "" +msgstr "Creado el" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_base_module_update__display_name @@ -60,7 +62,7 @@ msgstr "" #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__display_name #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar nombre" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_base_module_update__id @@ -69,28 +71,28 @@ msgstr "" #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__id #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule__id msgid "ID" -msgstr "" +msgstr "ID" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__installed_module_ids msgid "Installed Modules" -msgstr "" +msgstr "Módulos instalados" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_ir_module_author__installed_module_qty msgid "Installed Modules Quantity" -msgstr "" +msgstr "Cantidad de módulos instalados" #. module: module_analysis #: model:ir.actions.act_window,name:module_analysis.action_ir_module_module_by_type #: model:ir.ui.menu,name:module_analysis.menu_module_by_type msgid "Installed Modules by Types" -msgstr "" +msgstr "Módulos Instalados por Tipos" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_ir_module_module__js_code_qty msgid "JS Code Quantity" -msgstr "" +msgstr "Cantidad Código JS" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_base_module_update____last_update @@ -99,104 +101,104 @@ msgstr "" #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type____last_update #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_ir_module_author__write_uid #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__write_uid #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule__write_uid msgid "Last Updated by" -msgstr "" +msgstr "Última Actualización Realizada por" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_ir_module_author__write_date #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__write_date #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule__write_date msgid "Last Updated on" -msgstr "" +msgstr "Última Actualización el" #. module: module_analysis #: model:ir.model,name:module_analysis.model_ir_module_module msgid "Module" -msgstr "" +msgstr "Módulo" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule__module_domain msgid "Module Domain" -msgstr "" +msgstr "Dominio del módulo" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_ir_module_module__module_type_id msgid "Module Type" -msgstr "" +msgstr "Tipo de Módulo" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule__module_type_id msgid "Module type" -msgstr "" +msgstr "Tipo de módulo" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_ir_module_author__installed_module_ids msgid "Modules" -msgstr "" +msgstr "Módulos" #. module: module_analysis #: model:ir.actions.act_window,name:module_analysis.action_ir_module_author #: model:ir.model,name:module_analysis.model_ir_module_author #: model:ir.ui.menu,name:module_analysis.menu_module_authors msgid "Modules Authors" -msgstr "" +msgstr "Autores de los Módulos" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__installed_module_qty msgid "Modules Quantity" -msgstr "" +msgstr "Cantidad de Módulos" #. module: module_analysis #: model:ir.actions.act_window,name:module_analysis.action_ir_module_type #: model:ir.model,name:module_analysis.model_ir_module_type #: model:ir.ui.menu,name:module_analysis.menu_module_types msgid "Modules Types" -msgstr "" +msgstr "Tipos de Módulos" #. module: module_analysis #: model:ir.actions.act_window,name:module_analysis.action_ir_module_type_rule #: model:ir.model,name:module_analysis.model_ir_module_type_rule #: model:ir.ui.menu,name:module_analysis.menu_module_type_rules msgid "Modules Types Rules" -msgstr "" +msgstr "Reglas de Tipos de Módulos" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_ir_module_author__name #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__name msgid "Name" -msgstr "" +msgstr "Nombre" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_ir_module_module__python_code_qty msgid "Python Code Quantity" -msgstr "" +msgstr "Cantidad de Código Python" #. module: module_analysis #: model_terms:ir.ui.view,arch_db:module_analysis.view_ir_module_module_form msgid "Refresh Code Analysis" -msgstr "" +msgstr "Análisis del Código de Actualización" #. module: module_analysis #: model:ir.ui.menu,name:module_analysis.menu_module_analysis_reporting msgid "Reporting" -msgstr "" +msgstr "Informando" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__sequence #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule__sequence msgid "Sequence" -msgstr "" +msgstr "Secuencia" #. module: module_analysis #: model:ir.ui.menu,name:module_analysis.menu_module_analysis_settings msgid "Settings" -msgstr "" +msgstr "Configuraciones" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_base_module_update__smart_search @@ -205,31 +207,31 @@ msgstr "" #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__smart_search #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type_rule__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: module_analysis #: model:ir.model.constraint,message:module_analysis.constraint_ir_module_author_name_uniq msgid "The name of the modules author should be unique per database!" -msgstr "" +msgstr "¡El nombre del autor de los módulos debe ser único por base de datos!" #. module: module_analysis #: model_terms:ir.ui.view,arch_db:module_analysis.view_ir_module_module_form msgid "Type and Authors" -msgstr "" +msgstr "Tipo y Autores" #. module: module_analysis #: model:ir.model,name:module_analysis.model_base_module_update msgid "Update Module" -msgstr "" +msgstr "Módulo de actualización" #. module: module_analysis #: model:ir.actions.server,name:module_analysis.cron_module_analysis_ir_actions_server #: model:ir.cron,cron_name:module_analysis.cron_module_analysis #: model:ir.cron,name:module_analysis.cron_module_analysis msgid "Update Module Analysis" -msgstr "" +msgstr "Análisis del Módulo de Actualización" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_ir_module_module__xml_code_qty msgid "XML Code Quantity" -msgstr "" +msgstr "Cantidad Código XML" From 81b72ece31fcc397ea1eb149fd966b4162337756 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sun, 21 Apr 2024 20:33:23 +0000 Subject: [PATCH 070/232] Translated using Weblate (Spanish) Currently translated at 100.0% (36 of 36 strings) Translation: server-tools-14.0/server-tools-14.0-base_time_parameter Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_time_parameter/es/ --- base_time_parameter/i18n/es.po | 76 ++++++++++++++++++---------------- 1 file changed, 40 insertions(+), 36 deletions(-) diff --git a/base_time_parameter/i18n/es.po b/base_time_parameter/i18n/es.po index 3fde71161e0..27d2f1d3a30 100644 --- a/base_time_parameter/i18n/es.po +++ b/base_time_parameter/i18n/es.po @@ -6,135 +6,137 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-21 22:42+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: base_time_parameter #: model:ir.model.constraint,message:base_time_parameter.constraint_base_time_parameter_version__unique msgid "A parameter cannot have two versions starting the same day." -msgstr "" +msgstr "Un parámetro no puede tener dos versiones a partir del mismo día." #. module: base_time_parameter #: model:ir.model,name:base_time_parameter.model_base msgid "Base" -msgstr "" +msgstr "Base" #. module: base_time_parameter #: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__boolean msgid "Boolean (True/False)" -msgstr "" +msgstr "Booleano (Verdadero/Falso)" #. module: base_time_parameter #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__code #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__code msgid "Code" -msgstr "" +msgstr "Código" #. module: base_time_parameter #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__company_id #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__company_id msgid "Company" -msgstr "" +msgstr "Empresa" #. module: base_time_parameter #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__country_id #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__country_id msgid "Country" -msgstr "" +msgstr "País" #. module: base_time_parameter #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__create_uid #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__create_uid msgid "Created by" -msgstr "" +msgstr "Creado por" #. module: base_time_parameter #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__create_date #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__create_date msgid "Created on" -msgstr "" +msgstr "Creado en" #. module: base_time_parameter #: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__date msgid "Date" -msgstr "" +msgstr "Fecha" #. module: base_time_parameter #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__date_from msgid "Date From" -msgstr "" +msgstr "Fecha Desde" #. module: base_time_parameter #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__description #: model_terms:ir.ui.view,arch_db:base_time_parameter.base_time_parameter_view_form msgid "Description" -msgstr "" +msgstr "Descripción" #. module: base_time_parameter #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__display_name #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: base_time_parameter #: model:ir.model.fields,help:base_time_parameter.field_base_time_parameter__model_id msgid "Filter by model (e.g. hr.payslip)" -msgstr "" +msgstr "Filtrar por modelo (p. ej. hr.nómina)" #. module: base_time_parameter #: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__float msgid "Floating point number" -msgstr "" +msgstr "Número en coma flotante" #. module: base_time_parameter #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__id #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__id msgid "ID" -msgstr "" +msgstr "ID (identificación)" #. module: base_time_parameter #: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__integer msgid "Integer number" -msgstr "" +msgstr "Número entero" #. module: base_time_parameter #: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__json msgid "JSON" -msgstr "" +msgstr "JSON" #. module: base_time_parameter #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter____last_update #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: base_time_parameter #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__write_uid #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__write_uid msgid "Last Updated by" -msgstr "" +msgstr "Última Actualización realizada por" #. module: base_time_parameter #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__write_date #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__write_date msgid "Last Updated on" -msgstr "" +msgstr "Última Actualización el" #. module: base_time_parameter #: model:res.groups,name:base_time_parameter.group_time_parameter msgid "Manage Time Parameters" -msgstr "" +msgstr "Gestionar Parámetros de Tiempo" #. module: base_time_parameter #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__model_id #: model_terms:ir.ui.view,arch_db:base_time_parameter.base_time_parameter_view_search msgid "Model" -msgstr "" +msgstr "Modelo" #. module: base_time_parameter #: code:addons/base_time_parameter/models/base_time_parameter.py:0 @@ -142,75 +144,77 @@ msgstr "" msgid "" "No parameter for model '%(model_name)s', code '%(code)s', date %(date)s" msgstr "" +"Ningún parámetro para el modelo '%(model_name)s', código '%(code)s', fecha " +"%(date)s" #. module: base_time_parameter #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__name msgid "Parameter Name" -msgstr "" +msgstr "Nombre del parámetro" #. module: base_time_parameter #: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__record msgid "Record" -msgstr "" +msgstr "Registro" #. module: base_time_parameter #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__record_model msgid "Record Model" -msgstr "" +msgstr "Modelo de Registro" #. module: base_time_parameter #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__value_reference msgid "Reference Value" -msgstr "" +msgstr "Valor de Referencia" #. module: base_time_parameter #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__smart_search #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: base_time_parameter #: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__string msgid "Text" -msgstr "" +msgstr "Texto" #. module: base_time_parameter #: model:ir.model,name:base_time_parameter.model_base_time_parameter #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__parameter_id #: model_terms:ir.ui.view,arch_db:base_time_parameter.base_time_parameter_view_form msgid "Time Parameter" -msgstr "" +msgstr "Parámetro de Tiempo" #. module: base_time_parameter #: model:ir.model,name:base_time_parameter.model_base_time_parameter_version msgid "Time Parameter Version" -msgstr "" +msgstr "Tiempo Parámetro Versión" #. module: base_time_parameter #: model:ir.actions.act_window,name:base_time_parameter.base_time_parameter_action #: model:ir.ui.menu,name:base_time_parameter.base_time_parameter_menu msgid "Time Parameters" -msgstr "" +msgstr "Parámetros de Tiempo" #. module: base_time_parameter #: model:ir.model.constraint,message:base_time_parameter.constraint_base_time_parameter__unique msgid "Two time parameters cannot have the same code." -msgstr "" +msgstr "Dos parámetros temporales no pueden tener el mismo código." #. module: base_time_parameter #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__type #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__type msgid "Type" -msgstr "" +msgstr "Tipo" #. module: base_time_parameter #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__value msgid "Value" -msgstr "" +msgstr "Valor" #. module: base_time_parameter #: model:ir.actions.act_window,name:base_time_parameter.base_time_parameter_version_action #: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__version_ids #: model_terms:ir.ui.view,arch_db:base_time_parameter.base_time_parameter_view_form msgid "Versions" -msgstr "" +msgstr "Versiones" From f98b0c0d84ed7661f23b71752c06a5af1b756981 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sun, 21 Apr 2024 20:55:11 +0000 Subject: [PATCH 071/232] Translated using Weblate (Spanish) Currently translated at 100.0% (24 of 24 strings) Translation: server-tools-14.0/server-tools-14.0-base_video_link Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_video_link/es/ --- base_video_link/i18n/es.po | 52 +++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/base_video_link/i18n/es.po b/base_video_link/i18n/es.po index 5249521722d..4c40703cdb0 100644 --- a/base_video_link/i18n/es.po +++ b/base_video_link/i18n/es.po @@ -6,94 +6,96 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-21 22:42+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: base_video_link #: model:ir.model.fields,field_description:base_video_link.field_video_provider__code msgid "Code" -msgstr "" +msgstr "Código" #. module: base_video_link #: model:ir.model.fields,field_description:base_video_link.field_video_provider__create_uid #: model:ir.model.fields,field_description:base_video_link.field_video_video__create_uid msgid "Created by" -msgstr "" +msgstr "Creado por" #. module: base_video_link #: model:ir.model.fields,field_description:base_video_link.field_video_provider__create_date #: model:ir.model.fields,field_description:base_video_link.field_video_video__create_date msgid "Created on" -msgstr "" +msgstr "Creado el" #. module: base_video_link #: model:ir.model.fields,field_description:base_video_link.field_video_link_mixin__display_name #: model:ir.model.fields,field_description:base_video_link.field_video_provider__display_name #: model:ir.model.fields,field_description:base_video_link.field_video_video__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: base_video_link #: model_terms:ir.ui.view,arch_db:base_video_link.video_video_view_search msgid "Group By" -msgstr "" +msgstr "Grupo Por" #. module: base_video_link #: model:ir.model.fields,field_description:base_video_link.field_video_link_mixin__id #: model:ir.model.fields,field_description:base_video_link.field_video_provider__id #: model:ir.model.fields,field_description:base_video_link.field_video_video__id msgid "ID" -msgstr "" +msgstr "ID" #. module: base_video_link #: model:ir.model.fields,field_description:base_video_link.field_video_video__identifier msgid "Identifier" -msgstr "" +msgstr "Identificador" #. module: base_video_link #: model:ir.model.fields,field_description:base_video_link.field_video_link_mixin____last_update #: model:ir.model.fields,field_description:base_video_link.field_video_provider____last_update #: model:ir.model.fields,field_description:base_video_link.field_video_video____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: base_video_link #: model:ir.model.fields,field_description:base_video_link.field_video_provider__write_uid #: model:ir.model.fields,field_description:base_video_link.field_video_video__write_uid msgid "Last Updated by" -msgstr "" +msgstr "Última actualización por" #. module: base_video_link #: model:ir.model.fields,field_description:base_video_link.field_video_provider__write_date #: model:ir.model.fields,field_description:base_video_link.field_video_video__write_date msgid "Last Updated on" -msgstr "" +msgstr "Última Actualización el" #. module: base_video_link #: model:ir.model.fields,field_description:base_video_link.field_video_provider__name #: model:ir.model.fields,field_description:base_video_link.field_video_video__name msgid "Name" -msgstr "" +msgstr "Nombre" #. module: base_video_link #: model_terms:ir.ui.view,arch_db:base_video_link.video_video_view msgid "Open" -msgstr "" +msgstr "Abrir" #. module: base_video_link #: model:ir.model.fields,field_description:base_video_link.field_video_provider__pattern_thumbnail_url msgid "Pattern Thumbnail Url" -msgstr "" +msgstr "Url del Patrón en Miniatura" #. module: base_video_link #: model:ir.model.fields,field_description:base_video_link.field_video_provider__pattern_video_url msgid "Pattern Video Url" -msgstr "" +msgstr "Url de Vídeo del Patrón" #. module: base_video_link #: model:ir.model.fields,help:base_video_link.field_video_provider__pattern_video_url @@ -101,6 +103,8 @@ msgid "" "Pattern to generate the video's URL. `record` variable represents the video " "record." msgstr "" +"Patrón para generar la URL del vídeo. La variable `record` representa la " +"grabación del vídeo." #. module: base_video_link #: model:ir.model.fields,help:base_video_link.field_video_provider__pattern_thumbnail_url @@ -108,34 +112,36 @@ msgid "" "Pattern to generate the video's thumb URL. `record` variable represents the " "video record." msgstr "" +"Patrón para generar la URL del vídeo en miniatura. La variable `record` " +"representa la grabación del vídeo." #. module: base_video_link #: model:ir.model.fields,field_description:base_video_link.field_video_video__provider_id #: model_terms:ir.ui.view,arch_db:base_video_link.video_video_view_search msgid "Provider" -msgstr "" +msgstr "Proveedor" #. module: base_video_link #: model:ir.model.fields,field_description:base_video_link.field_video_video__sequence msgid "Sequence" -msgstr "" +msgstr "Secuencia" #. module: base_video_link #: model:ir.model.fields,field_description:base_video_link.field_video_link_mixin__smart_search #: model:ir.model.fields,field_description:base_video_link.field_video_provider__smart_search #: model:ir.model.fields,field_description:base_video_link.field_video_video__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: base_video_link #: model:ir.model.fields,field_description:base_video_link.field_video_video__thumbnail_url msgid "Thumbnail Url" -msgstr "" +msgstr "Url de la Miniatura" #. module: base_video_link #: model:ir.model.fields,field_description:base_video_link.field_video_video__url msgid "Url" -msgstr "" +msgstr "Url" #. module: base_video_link #: model:ir.actions.act_window,name:base_video_link.video_video_action @@ -146,12 +152,12 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:base_video_link.video_video_view_form #: model_terms:ir.ui.view,arch_db:base_video_link.video_video_view_search msgid "Video" -msgstr "" +msgstr "Vídeo" #. module: base_video_link #: model:ir.model,name:base_video_link.model_video_link_mixin msgid "Video Link Mixin" -msgstr "" +msgstr "Mezcla de Enlaces de Vídeo" #. module: base_video_link #: model:ir.actions.act_window,name:base_video_link.video_provider_action @@ -160,4 +166,4 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:base_video_link.video_provider_view_form #: model_terms:ir.ui.view,arch_db:base_video_link.video_provider_view_search msgid "Video Provider" -msgstr "" +msgstr "Proveedor de Vídeo" From f6b042f572ee133a361b88f6525581612be073e5 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sun, 21 Apr 2024 21:03:27 +0000 Subject: [PATCH 072/232] Translated using Weblate (Spanish) Currently translated at 100.0% (16 of 16 strings) Translation: server-tools-14.0/server-tools-14.0-rpc_helper Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-rpc_helper/es/ --- rpc_helper/i18n/es.po | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/rpc_helper/i18n/es.po b/rpc_helper/i18n/es.po index bfa2d0a2e5d..32032217e48 100644 --- a/rpc_helper/i18n/es.po +++ b/rpc_helper/i18n/es.po @@ -6,23 +6,25 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-21 22:42+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\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: rpc_helper #: model:ir.model.fields,field_description:rpc_helper.field_ir_model__changeset_change_ids msgid "Changeset Changes" -msgstr "" +msgstr "Cambios en el Conjunto de Modificaciones" #. module: rpc_helper #: model:ir.model.fields,field_description:rpc_helper.field_ir_model__changeset_ids msgid "Changesets" -msgstr "" +msgstr "Conjuntos de Cambios" #. module: rpc_helper #: model:ir.model.fields,help:rpc_helper.field_ir_model__rpc_config_edit @@ -31,70 +33,74 @@ msgid "" "wrapped by a dict with key `disable`. Eg: {'disable': ['search', " "'do_this']}To disable all methods, use `{'disable: ['all']}`" msgstr "" +"Configurar RPC vía JSON. El valor debe ser una lista de métodos a " +"deshabilitar envueltos por un dict con la clave `disable`. Ej: {'disable': [" +"'search', 'do_this']}Para deshabilitar todos los métodos, usa `{'disable: " +"['all']}`" #. module: rpc_helper #: model:ir.model.fields,field_description:rpc_helper.field_ir_model__count_pending_changeset_changes msgid "Count Pending Changeset Changes" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: rpc_helper #: model:ir.model.fields,field_description:rpc_helper.field_ir_model__count_pending_changesets msgid "Count Pending Changesets" -msgstr "" +msgstr "Recuento de Cambios Pendientes" #. module: rpc_helper #: model:ir.model.fields,field_description:rpc_helper.field_ir_model__display_name msgid "Display Name" -msgstr "" +msgstr "Nombre para Mostrar" #. module: rpc_helper #: model:ir.model.fields,field_description:rpc_helper.field_ir_model__id msgid "ID" -msgstr "" +msgstr "ID (identificación)" #. module: rpc_helper #: model:ir.model.fields,field_description:rpc_helper.field_ir_model____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: rpc_helper #: model:ir.model,name:rpc_helper.model_ir_model msgid "Models" -msgstr "" +msgstr "Modelos" #. module: rpc_helper #: code:addons/rpc_helper/patch.py:0 #, python-format msgid "Object %s doesn't exist" -msgstr "" +msgstr "El objeto %s no existe" #. module: rpc_helper #: code:addons/rpc_helper/patch.py:0 #, python-format msgid "RPC call on %s is not allowed" -msgstr "" +msgstr "La llamada RPC en %s no está permitida" #. module: rpc_helper #: model_terms:ir.ui.view,arch_db:rpc_helper.view_model_form msgid "RPC config" -msgstr "" +msgstr "Configuración RPC" #. module: rpc_helper #: model:ir.model.fields,field_description:rpc_helper.field_ir_model__rpc_config msgid "Rpc Config" -msgstr "" +msgstr "Configuración Rpc" #. module: rpc_helper #: model:ir.model.fields,field_description:rpc_helper.field_ir_model__rpc_config_edit msgid "Rpc Config Edit" -msgstr "" +msgstr "Editar configuración Rpc" #. module: rpc_helper #: model:ir.model.fields,field_description:rpc_helper.field_ir_model__smart_search msgid "Smart Search" -msgstr "" +msgstr "Búsqueda Inteligente" #. module: rpc_helper #: model:ir.model.fields,field_description:rpc_helper.field_ir_model__user_can_see_changeset msgid "User Can See Changeset" -msgstr "" +msgstr "Usuario Puede ver Conjunto de Cambios" From 84caeb7dd9fed259024ab998b7a74a01208ea0b5 Mon Sep 17 00:00:00 2001 From: oca-git-bot Date: Wed, 1 May 2024 19:06:42 +0000 Subject: [PATCH 073/232] [IMP] update dotfiles --- .copier-answers.yml | 5 ++++- .github/workflows/stale.yml | 4 ++-- .github/workflows/test.yml | 4 +++- .gitignore | 1 + .oca_hooks.cfg | 2 ++ .pre-commit-config.yaml | 7 ++++++- 6 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 .oca_hooks.cfg diff --git a/.copier-answers.yml b/.copier-answers.yml index eef832fed45..87a632e5816 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,7 +1,8 @@ # Do NOT update manually; changes here will be overwritten by Copier -_commit: v1.17.2 +_commit: v1.21.1 _src_path: gh:oca/oca-addons-repo-template ci: GitHub +convert_readme_fragments_to_markdown: false generate_requirements_txt: true github_check_license: true github_ci_extra_env: {} @@ -21,4 +22,6 @@ repo_description: This project aims to deal with modules related to manage Odoo repo_name: Tools for server environment(s) repo_slug: server-tools repo_website: https://github.com/OCA/server-tools +use_pyproject_toml: false +use_ruff: false diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 1693a1253bd..fa17fcd4e85 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Stale PRs and issues policy - uses: actions/stale@v4 + uses: actions/stale@v9 with: repo-token: ${{ secrets.GITHUB_TOKEN }} # General settings. @@ -48,7 +48,7 @@ jobs: # * Issues that are pending more information # * Except Issues marked as "no stale" - name: Needs more information stale issues policy - uses: actions/stale@v4 + uses: actions/stale@v9 with: repo-token: ${{ secrets.GITHUB_TOKEN }} ascending: true diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8decd9156ec..f1057158e3e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -75,7 +75,9 @@ jobs: run: oca_init_test_database - name: Run tests run: oca_run_tests - - uses: codecov/codecov-action@v1 + - uses: codecov/codecov-action@v4 + with: + token: ${{ secrets.CODECOV_TOKEN }} - name: Update .pot files run: oca_export_and_push_pot https://x-access-token:${{ secrets.GIT_PUSH_TOKEN }}@github.com/${{ github.repository }} if: ${{ matrix.makepot == 'true' && github.event_name == 'push' && github.repository_owner == 'OCA' }} diff --git a/.gitignore b/.gitignore index 9c283fd41f6..0090721f5d2 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ __pycache__/ *.py[cod] /.venv /.pytest_cache +/.ruff_cache # C extensions *.so diff --git a/.oca_hooks.cfg b/.oca_hooks.cfg new file mode 100644 index 00000000000..1f3e3e42674 --- /dev/null +++ b/.oca_hooks.cfg @@ -0,0 +1,2 @@ +[MESSAGES_CONTROL] +disable=xml-deprecated-data-node,xml-deprecated-tree-attribute diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f1e4cd34940..b4c29c619fd 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -14,6 +14,10 @@ exclude: | ^docs/_templates/.*\.html$| # Don't bother non-technical authors with formatting issues in docs readme/.*\.(rst|md)$| + # Ignore build and dist directories in addons + /build/|/dist/| + # Ignore test files in addons + /tests/samples/.*| # You don't usually want a bot to modify your legal texts (LICENSE.*|COPYING.*) default_language_version: @@ -35,7 +39,7 @@ repos: language: fail files: '[a-zA-Z0-9_]*/i18n/en\.po$' - repo: https://github.com/oca/maintainer-tools - rev: 969238e47c07d0c40573acff81d170f63245d738 + rev: 9a170331575a265c092ee6b24b845ec508e8ef75 hooks: # update the NOT INSTALLABLE ADDONS section above - id: oca-update-pre-commit-excluded-addons @@ -48,6 +52,7 @@ repos: - --org-name=OCA - --repo-name=server-tools - --if-source-changed + - --keep-source-digest - repo: https://github.com/OCA/odoo-pre-commit-hooks rev: v0.0.25 hooks: From 48c50619dca5ef6fd3220d842f9993ed0a790293 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20BEAU?= Date: Thu, 9 May 2024 19:27:34 +0200 Subject: [PATCH 074/232] tracking_manager! non trackable field should be not tracked --- tracking_manager/__manifest__.py | 2 +- .../14.0.1.1.0/pre-fix-none-trackable-field.py | 12 ++++++++++++ tracking_manager/models/ir_model.py | 4 ++-- tracking_manager/static/description/index.html | 1 - 4 files changed, 15 insertions(+), 4 deletions(-) create mode 100755 tracking_manager/migrations/14.0.1.1.0/pre-fix-none-trackable-field.py diff --git a/tracking_manager/__manifest__.py b/tracking_manager/__manifest__.py index af21ccdc01c..c9559178ffe 100644 --- a/tracking_manager/__manifest__.py +++ b/tracking_manager/__manifest__.py @@ -6,7 +6,7 @@ "name": "Tracking Manager", "summary": """This module tracks all fields of a model, including one2many and many2many ones.""", - "version": "14.0.1.0.2", + "version": "14.0.1.1.0", "category": "Tools", "website": "https://github.com/OCA/server-tools", "author": "Akretion, Odoo Community Association (OCA)", diff --git a/tracking_manager/migrations/14.0.1.1.0/pre-fix-none-trackable-field.py b/tracking_manager/migrations/14.0.1.1.0/pre-fix-none-trackable-field.py new file mode 100755 index 00000000000..8be153c0826 --- /dev/null +++ b/tracking_manager/migrations/14.0.1.1.0/pre-fix-none-trackable-field.py @@ -0,0 +1,12 @@ +#!/usr/bin/python3 +# pylint: disable=print-used + + +def migrate(cr, version): + cr.execute( + """ + UPDATE ir_model_fields + SET custom_tracking=False + WHERE trackable=False + """ + ) diff --git a/tracking_manager/models/ir_model.py b/tracking_manager/models/ir_model.py index 0fb0928209f..79603590002 100644 --- a/tracking_manager/models/ir_model.py +++ b/tracking_manager/models/ir_model.py @@ -162,12 +162,12 @@ class IrModelFields(models.Model): store=True, ) - @api.depends("native_tracking") + @api.depends("native_tracking", "trackable") def _compute_custom_tracking(self): for record in self: if record.model_id.automatic_custom_tracking: domain = literal_eval(record.model_id.automatic_custom_tracking_domain) - record.custom_tracking = bool(record.filtered_domain(domain)) + record.custom_tracking = record.filtered_domain(domain).trackable else: record.custom_tracking = record.native_tracking diff --git a/tracking_manager/static/description/index.html b/tracking_manager/static/description/index.html index cc9506e5d22..42b2127787e 100644 --- a/tracking_manager/static/description/index.html +++ b/tracking_manager/static/description/index.html @@ -1,4 +1,3 @@ - From e13e483f4afa368c39233c7a6e746bf44c93b742 Mon Sep 17 00:00:00 2001 From: David Date: Tue, 14 May 2024 10:01:01 +0200 Subject: [PATCH 075/232] [FIX] base_name_search_improved: deal with query objects In smart searches we're joining two _search results which normally will be a Query object. We need to resolve those queries in order to join the results. TT48444 --- base_name_search_improved/models/ir_model.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/base_name_search_improved/models/ir_model.py b/base_name_search_improved/models/ir_model.py index c45eff4d2f2..91240e3626c 100644 --- a/base_name_search_improved/models/ir_model.py +++ b/base_name_search_improved/models/ir_model.py @@ -59,8 +59,11 @@ def _extend_name_results(self, domain, results, limit, name_get_uid): result_count = len(results) if result_count < limit: domain += [("id", "not in", results)] - rec_ids = self._search( - domain, limit=limit - result_count, access_rights_uid=name_get_uid + # We resolve the Query object right on so we can join both results + rec_ids = list( + self._search( + domain, limit=limit - result_count, access_rights_uid=name_get_uid + ) ) results.extend(rec_ids) return results @@ -81,6 +84,9 @@ def _name_search( name_get_uid=name_get_uid, ) if name and _get_use_smart_name_search(self.sudo()) and operator in ALLOWED_OPS: + # _name_search.origin returns a query object. We need to resolve it + # to extend it + res = list(res) limit = limit or 0 # we add domain From 1e40f1774e16c96707f426c522800e74b43f741b Mon Sep 17 00:00:00 2001 From: Carlos Dauden Date: Mon, 20 Feb 2023 18:55:59 +0100 Subject: [PATCH 076/232] [IMP] base_view_inheritance_extension: Add new options domain_add and text_add --- base_view_inheritance_extension/README.rst | 23 +++++- .../models/ir_ui_view.py | 77 +++++++++++++++++++ .../readme/CONTRIBUTORS.rst | 6 +- .../readme/USAGE.rst | 17 ++++ .../static/description/index.html | 20 ++++- 5 files changed, 139 insertions(+), 4 deletions(-) diff --git a/base_view_inheritance_extension/README.rst b/base_view_inheritance_extension/README.rst index baed342dbf4..58d6104196f 100644 --- a/base_view_inheritance_extension/README.rst +++ b/base_view_inheritance_extension/README.rst @@ -63,6 +63,23 @@ Deprecated. This feature is now native, use ``_. +**Add text after and/or before than original** + +.. code-block:: xml + + + $text_before {old_value} $text_after + + +**Add domain with AND/OR join operator (AND if missed) allowing conditional changes** + +.. code-block:: xml + + + $domain_to_add + + Known issues / Roadmap ====================== @@ -92,7 +109,11 @@ Contributors * Holger Brunn * Ronald Portier -* Sergio Teruel +* `Tecnativa `_: + + * Sergio Teruel + * Carlos Dauden + * Iván Todorovich Maintainers diff --git a/base_view_inheritance_extension/models/ir_ui_view.py b/base_view_inheritance_extension/models/ir_ui_view.py index 09d48516f0b..f82fcad4526 100644 --- a/base_view_inheritance_extension/models/ir_ui_view.py +++ b/base_view_inheritance_extension/models/ir_ui_view.py @@ -1,9 +1,11 @@ # Copyright 2016 Therp BV # Copyright 2018 Tecnativa - Sergio Teruel # Copyright 2021 Camptocamp SA (https://www.camptocamp.com). +# Copyright 2023 Tecnativa - Carlos Dauden # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). import ast import logging +import re try: import astor @@ -14,6 +16,7 @@ from lxml import etree from odoo import api, models +from odoo.osv import expression class IrUiView(models.Model): @@ -133,3 +136,77 @@ def inheritance_handler_attributes_list_remove(self, source, specs): new_values = [x for x in old_values if x not in remove_values] node.attrib[attribute_name] = ",".join([_f for _f in new_values if _f]) return source + + @api.model + def inheritance_handler_attributes_text_add(self, source, specs): + """Implement + <$node position="attributes"> + + $text_before {old_value} $text_after + + """ + node = self.locate_node(source, specs) + for attribute_node in specs: + attribute_name = attribute_node.get("name") + old_value = node.get(attribute_name) or "" + node.attrib[attribute_name] = attribute_node.text.format( + old_value=old_value + ) + return source + + @api.model + def inheritance_handler_attributes_domain_add(self, source, specs): + """Implement + <$node position="attributes"> + + $domain_to_add + + """ + node = self.locate_node(source, specs) + for attribute_node in specs: + attribute_name = attribute_node.get("name") + condition = attribute_node.get("condition") + join_operator = attribute_node.get("join_operator") or "AND" + old_value = node.get(attribute_name) or "" + if old_value: + old_domain = ast.literal_eval( + self.var2str_domain_text(old_value.strip()) + ) + new_domain = ast.literal_eval( + self.var2str_domain_text(attribute_node.text.strip()) + ) + if join_operator == "OR": + new_value = str(expression.OR([old_domain, new_domain])) + else: + new_value = str(expression.AND([old_domain, new_domain])) + new_value = self.str2var_domain_text(new_value) + else: + new_value = attribute_node.text + if condition: + new_value = "{condition} and {new_value} or {old_value}".format( + condition=condition, + new_value=new_value, + old_value=old_value, + ) + node.attrib[attribute_name] = new_value + return source + + @api.model + def var2str_domain_text(self, domain_str): + """Replaces var names with str names to allow eval without defined vars""" + # Replace fields in 2 steps because 1 step returns "parent_sufix"."var_sufix" + regex_parent = re.compile(r"parent\.(\b\w+\b)") + domain_str = re.sub( + regex_parent, r"'parent.\1_is_a_var_to_replace'", domain_str + ) + regex = re.compile(r"(? * Ronald Portier -* Sergio Teruel +* `Tecnativa `_: + + * Sergio Teruel + * Carlos Dauden + * Iván Todorovich diff --git a/base_view_inheritance_extension/readme/USAGE.rst b/base_view_inheritance_extension/readme/USAGE.rst index 18c469b6cde..8e864a283f6 100644 --- a/base_view_inheritance_extension/readme/USAGE.rst +++ b/base_view_inheritance_extension/readme/USAGE.rst @@ -21,3 +21,20 @@ Deprecated. This feature is now native, use ``_. + +**Add text after and/or before than original** + +.. code-block:: xml + + + $text_before {old_value} $text_after + + +**Add domain with AND/OR join operator (AND if missed) allowing conditional changes** + +.. code-block:: xml + + + $domain_to_add + diff --git a/base_view_inheritance_extension/static/description/index.html b/base_view_inheritance_extension/static/description/index.html index 15eaedf091e..79a4c5b33e0 100644 --- a/base_view_inheritance_extension/static/description/index.html +++ b/base_view_inheritance_extension/static/description/index.html @@ -1,4 +1,3 @@ - @@ -402,6 +401,19 @@

Usage

Deprecated. This feature is now native, use <attribute name=”attrname” separator=”,” remove=”something” />.

Move an element in the view

This feature is now native, cf the official Odoo documentation.

+

Add text after and/or before than original

+
+<attribute name="$attribute" operation="text_add">
+    $text_before {old_value} $text_after
+</attribute>
+
+

Add domain with AND/OR join operator (AND if missed) allowing conditional changes

+
+<attribute name="$attribute" operation="domain_add"
+           condition="$field_condition" join_operator="OR">
+    $domain_to_add
+</attribute>
+

Known issues / Roadmap

@@ -431,7 +443,11 @@

Contributors

From 63838e510d188b7bb6b8542f4d6e0d391c41409a Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 14 May 2024 10:01:39 +0000 Subject: [PATCH 077/232] [BOT] post-merge updates --- README.md | 2 +- base_view_inheritance_extension/README.rst | 2 +- base_view_inheritance_extension/__manifest__.py | 2 +- base_view_inheritance_extension/static/description/index.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f449188bab6..9a90fe15151 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ addon | version | maintainers | summary [base_time_parameter](base_time_parameter/) | 14.0.3.1.1 | [![appstogrow](https://github.com/appstogrow.png?size=30px)](https://github.com/appstogrow) [![nimarosa](https://github.com/nimarosa.png?size=30px)](https://github.com/nimarosa) | Time dependent parameters Adds the feature to define parameters with time based versions. [base_time_window](base_time_window/) | 14.0.1.0.1 | | Base model to handle time windows [base_video_link](base_video_link/) | 14.0.1.1.2 | | Add the possibility to link video on record -[base_view_inheritance_extension](base_view_inheritance_extension/) | 14.0.1.1.2 | | Adds more operators for view inheritance +[base_view_inheritance_extension](base_view_inheritance_extension/) | 14.0.2.0.0 | | Adds more operators for view inheritance [bus_alt_connection](bus_alt_connection/) | 14.0.1.0.0 | | Needed when using PgBouncer as a connection pooler [configuration_helper](configuration_helper/) | 14.0.1.0.1 | | Configuration Helper [cron_daylight_saving_time_resistant](cron_daylight_saving_time_resistant/) | 14.0.1.0.0 | | Run cron on fixed hours diff --git a/base_view_inheritance_extension/README.rst b/base_view_inheritance_extension/README.rst index 58d6104196f..db911f80146 100644 --- a/base_view_inheritance_extension/README.rst +++ b/base_view_inheritance_extension/README.rst @@ -7,7 +7,7 @@ Extended view inheritance !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:4e287f032b83d2238c365d79daeaf29f6afbe15b78fe3f8f07462442b1f4c6ca + !! source digest: sha256:95d68373362a8235dd182bcc34cd17bd7dc39931785b4d3a483bd4dd19f7033a !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/base_view_inheritance_extension/__manifest__.py b/base_view_inheritance_extension/__manifest__.py index b9e2f7d0455..5ddd7b3f2de 100644 --- a/base_view_inheritance_extension/__manifest__.py +++ b/base_view_inheritance_extension/__manifest__.py @@ -3,7 +3,7 @@ # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). { "name": "Extended view inheritance", - "version": "14.0.1.1.2", + "version": "14.0.2.0.0", "author": "Therp BV,Odoo Community Association (OCA)", "license": "LGPL-3", "category": "Hidden/Dependency", diff --git a/base_view_inheritance_extension/static/description/index.html b/base_view_inheritance_extension/static/description/index.html index 79a4c5b33e0..34ac5c0fc14 100644 --- a/base_view_inheritance_extension/static/description/index.html +++ b/base_view_inheritance_extension/static/description/index.html @@ -366,7 +366,7 @@

Extended view inheritance

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:4e287f032b83d2238c365d79daeaf29f6afbe15b78fe3f8f07462442b1f4c6ca +!! source digest: sha256:95d68373362a8235dd182bcc34cd17bd7dc39931785b4d3a483bd4dd19f7033a !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: LGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

This module was written to make it simple to add custom operators for view From a976589622103d78c9da59a9bbf945443c36d056 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 14 May 2024 15:53:38 +0000 Subject: [PATCH 078/232] Translated using Weblate (Italian) Currently translated at 100.0% (85 of 85 strings) Translation: server-tools-14.0/server-tools-14.0-auditlog Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-auditlog/it/ --- auditlog/i18n/it.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/auditlog/i18n/it.po b/auditlog/i18n/it.po index 0636f868262..0b8b82d9501 100644 --- a/auditlog/i18n/it.po +++ b/auditlog/i18n/it.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: Odoo Server 9.0c\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-11-26 01:45+0000\n" -"PO-Revision-Date: 2024-04-17 14:08+0000\n" +"PO-Revision-Date: 2024-05-14 18:39+0000\n" "Last-Translator: mymage \n" "Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" "Language: it\n" @@ -301,7 +301,7 @@ msgstr "Log scritture" #: model_terms:ir.ui.view,arch_db:auditlog.view_auditlog_http_request_form #: model_terms:ir.ui.view,arch_db:auditlog.view_auditlog_log_search msgid "Logs" -msgstr "Registri" +msgstr "Log" #. module: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_log__method From 7a2579e9f29b00e826a7654c9944668d5d1c8453 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 14 May 2024 19:24:39 +0000 Subject: [PATCH 079/232] [BOT] post-merge updates --- README.md | 2 +- tracking_manager/README.rst | 2 +- tracking_manager/static/description/index.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9a90fe15151..e2a48311fbf 100644 --- a/README.md +++ b/README.md @@ -96,7 +96,7 @@ addon | version | maintainers | summary [sql_export_mail](sql_export_mail/) | 14.0.1.0.0 | | Send csv file generated by sql query by mail. [sql_request_abstract](sql_request_abstract/) | 14.0.1.3.0 | [![legalsylvain](https://github.com/legalsylvain.png?size=30px)](https://github.com/legalsylvain) | Abstract Model to manage SQL Requests [test_base_time_window](test_base_time_window/) | 14.0.1.0.1 | | Test Base model to handle time windows -[tracking_manager](tracking_manager/) | 14.0.1.0.2 | [![Kev-Roche](https://github.com/Kev-Roche.png?size=30px)](https://github.com/Kev-Roche) [![sebastienbeau](https://github.com/sebastienbeau.png?size=30px)](https://github.com/sebastienbeau) | This module tracks all fields of a model, including one2many and many2many ones. +[tracking_manager](tracking_manager/) | 14.0.1.1.0 | [![Kev-Roche](https://github.com/Kev-Roche.png?size=30px)](https://github.com/Kev-Roche) [![sebastienbeau](https://github.com/sebastienbeau.png?size=30px)](https://github.com/sebastienbeau) | This module tracks all fields of a model, including one2many and many2many ones. [upgrade_analysis](upgrade_analysis/) | 14.0.3.0.0 | | Performs a difference analysis between modules installed on two different Odoo instances [url_attachment_search_fuzzy](url_attachment_search_fuzzy/) | 14.0.1.0.1 | [![mariadforgelow](https://github.com/mariadforgelow.png?size=30px)](https://github.com/mariadforgelow) | Fuzzy Search of URL in Attachments diff --git a/tracking_manager/README.rst b/tracking_manager/README.rst index 4d1b267a531..aea0ee5ab74 100644 --- a/tracking_manager/README.rst +++ b/tracking_manager/README.rst @@ -7,7 +7,7 @@ Tracking Manager !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:6c896338ee53318978abf97b77d0ed909ea385ea96003de5630c67ecc459521b + !! source digest: sha256:a743ee0c4ecde774f7da96ac3207eec330ad451f1cbc48ed309b3d2bbe745b81 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/tracking_manager/static/description/index.html b/tracking_manager/static/description/index.html index 42b2127787e..fca2788b041 100644 --- a/tracking_manager/static/description/index.html +++ b/tracking_manager/static/description/index.html @@ -366,7 +366,7 @@

Tracking Manager

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:6c896338ee53318978abf97b77d0ed909ea385ea96003de5630c67ecc459521b +!! source digest: sha256:a743ee0c4ecde774f7da96ac3207eec330ad451f1cbc48ed309b3d2bbe745b81 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

This module allows to track all fields on every model that has a chatter, including one2many and many2many ones. This excludes the computed, readonly, related fields by default. From dc2e0a440825535d2502a0c37d75164ac118d068 Mon Sep 17 00:00:00 2001 From: Alessio Renda Date: Wed, 15 May 2024 16:53:07 +0200 Subject: [PATCH 080/232] [FIX] base_view_inheritance_extension: parse old value --- base_view_inheritance_extension/models/ir_ui_view.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/base_view_inheritance_extension/models/ir_ui_view.py b/base_view_inheritance_extension/models/ir_ui_view.py index f82fcad4526..e545b66d1ba 100644 --- a/base_view_inheritance_extension/models/ir_ui_view.py +++ b/base_view_inheritance_extension/models/ir_ui_view.py @@ -181,13 +181,16 @@ def inheritance_handler_attributes_domain_add(self, source, specs): else: new_value = str(expression.AND([old_domain, new_domain])) new_value = self.str2var_domain_text(new_value) + old_value = "".join(old_value.splitlines()) else: - new_value = attribute_node.text + # We must ensure that the domain definition has not line breaks because + # in update mode the domain cause an invalid syntax error + new_value = attribute_node.text.strip() if condition: new_value = "{condition} and {new_value} or {old_value}".format( condition=condition, new_value=new_value, - old_value=old_value, + old_value=old_value or [], ) node.attrib[attribute_name] = new_value return source From c6fb106cfe6e96e62d9433a49a9ce2a2caa7da4e Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 17 May 2024 09:07:57 +0000 Subject: [PATCH 081/232] [BOT] post-merge updates --- README.md | 2 +- base_view_inheritance_extension/README.rst | 2 +- base_view_inheritance_extension/__manifest__.py | 2 +- base_view_inheritance_extension/static/description/index.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e2a48311fbf..fae3c5a4365 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ addon | version | maintainers | summary [base_time_parameter](base_time_parameter/) | 14.0.3.1.1 | [![appstogrow](https://github.com/appstogrow.png?size=30px)](https://github.com/appstogrow) [![nimarosa](https://github.com/nimarosa.png?size=30px)](https://github.com/nimarosa) | Time dependent parameters Adds the feature to define parameters with time based versions. [base_time_window](base_time_window/) | 14.0.1.0.1 | | Base model to handle time windows [base_video_link](base_video_link/) | 14.0.1.1.2 | | Add the possibility to link video on record -[base_view_inheritance_extension](base_view_inheritance_extension/) | 14.0.2.0.0 | | Adds more operators for view inheritance +[base_view_inheritance_extension](base_view_inheritance_extension/) | 14.0.2.0.1 | | Adds more operators for view inheritance [bus_alt_connection](bus_alt_connection/) | 14.0.1.0.0 | | Needed when using PgBouncer as a connection pooler [configuration_helper](configuration_helper/) | 14.0.1.0.1 | | Configuration Helper [cron_daylight_saving_time_resistant](cron_daylight_saving_time_resistant/) | 14.0.1.0.0 | | Run cron on fixed hours diff --git a/base_view_inheritance_extension/README.rst b/base_view_inheritance_extension/README.rst index db911f80146..805c7e5ec82 100644 --- a/base_view_inheritance_extension/README.rst +++ b/base_view_inheritance_extension/README.rst @@ -7,7 +7,7 @@ Extended view inheritance !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:95d68373362a8235dd182bcc34cd17bd7dc39931785b4d3a483bd4dd19f7033a + !! source digest: sha256:5da0b8de10560a4a29829cf965cd056314935529a718fca0d2b1fea4887cb95a !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/base_view_inheritance_extension/__manifest__.py b/base_view_inheritance_extension/__manifest__.py index 5ddd7b3f2de..25a5164ccb2 100644 --- a/base_view_inheritance_extension/__manifest__.py +++ b/base_view_inheritance_extension/__manifest__.py @@ -3,7 +3,7 @@ # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). { "name": "Extended view inheritance", - "version": "14.0.2.0.0", + "version": "14.0.2.0.1", "author": "Therp BV,Odoo Community Association (OCA)", "license": "LGPL-3", "category": "Hidden/Dependency", diff --git a/base_view_inheritance_extension/static/description/index.html b/base_view_inheritance_extension/static/description/index.html index 34ac5c0fc14..a47f854df0a 100644 --- a/base_view_inheritance_extension/static/description/index.html +++ b/base_view_inheritance_extension/static/description/index.html @@ -366,7 +366,7 @@

Extended view inheritance

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:95d68373362a8235dd182bcc34cd17bd7dc39931785b4d3a483bd4dd19f7033a +!! source digest: sha256:5da0b8de10560a4a29829cf965cd056314935529a718fca0d2b1fea4887cb95a !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: LGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

This module was written to make it simple to add custom operators for view From d47c3f2451fc90c2e23a3149412a77a4ba3f8c93 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Fri, 17 May 2024 14:26:27 +0000 Subject: [PATCH 082/232] [UPD] Update base_view_full_arch.pot --- .../i18n/base_view_full_arch.pot | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 base_view_full_arch/i18n/base_view_full_arch.pot diff --git a/base_view_full_arch/i18n/base_view_full_arch.pot b/base_view_full_arch/i18n/base_view_full_arch.pot new file mode 100644 index 00000000000..dc03e5a30ef --- /dev/null +++ b/base_view_full_arch/i18n/base_view_full_arch.pot @@ -0,0 +1,86 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_view_full_arch +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.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: base_view_full_arch +#: model:ir.model.fields,field_description:base_view_full_arch.field_ir_ui_view__display_name +msgid "Display Name" +msgstr "" + +#. module: base_view_full_arch +#: model:ir.model.fields,field_description:base_view_full_arch.field_ir_ui_view__full_arch +#: model_terms:ir.ui.view,arch_db:base_view_full_arch.view_view_form_inherit +msgid "Full Arch" +msgstr "" + +#. module: base_view_full_arch +#: model:ir.model.fields,field_description:base_view_full_arch.field_ir_ui_view__id +msgid "ID" +msgstr "" + +#. module: base_view_full_arch +#: model:ir.model.fields,field_description:base_view_full_arch.field_ir_ui_view____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_view_full_arch +#: model_terms:ir.ui.view,arch_db:base_view_full_arch.test_format_doc +msgid "" +"Multi\n" +" line\n" +"\n" +" text" +msgstr "" + +#. module: base_view_full_arch +#: model_terms:ir.ui.view,arch_db:base_view_full_arch.test_format_doc +msgid "" +"Multi\n" +"line\n" +"\n" +" tail" +msgstr "" + +#. module: base_view_full_arch +#: model_terms:ir.ui.view,arch_db:base_view_full_arch.test_format_doc +msgid "Single line text" +msgstr "" + +#. module: base_view_full_arch +#: model_terms:ir.ui.view,arch_db:base_view_full_arch.test_format_doc +msgid "Single line tail" +msgstr "" + +#. module: base_view_full_arch +#: model:ir.model.fields,field_description:base_view_full_arch.field_ir_ui_view__smart_search +msgid "Smart Search" +msgstr "" + +#. module: base_view_full_arch +#: model:ir.model.fields,help:base_view_full_arch.field_ir_ui_view__full_arch +msgid "" +"Technical field to check the fully combined architecture of the view:\n" +"* for primary views, displays the full arch of the view, combined with the inheriting views' modifications\n" +"* for extension views, inherits the full arch from the inherited view\n" +msgstr "" + +#. module: base_view_full_arch +#: model:ir.model,name:base_view_full_arch.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: base_view_full_arch +#: model_terms:ir.ui.view,arch_db:base_view_full_arch.view_view_form_inherit +msgid "View Architecture" +msgstr "" From 15d735c623c3b080fead20c1f8eb03240817170c Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 17 May 2024 14:33:25 +0000 Subject: [PATCH 083/232] [BOT] post-merge updates --- README.md | 1 + base_view_full_arch/static/description/icon.png | Bin 0 -> 9455 bytes setup/_metapackage/VERSION.txt | 2 +- setup/_metapackage/setup.py | 1 + 4 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 base_view_full_arch/static/description/icon.png diff --git a/README.md b/README.md index fae3c5a4365..5f0e91f8285 100644 --- a/README.md +++ b/README.md @@ -58,6 +58,7 @@ addon | version | maintainers | summary [base_time_parameter](base_time_parameter/) | 14.0.3.1.1 | [![appstogrow](https://github.com/appstogrow.png?size=30px)](https://github.com/appstogrow) [![nimarosa](https://github.com/nimarosa.png?size=30px)](https://github.com/nimarosa) | Time dependent parameters Adds the feature to define parameters with time based versions. [base_time_window](base_time_window/) | 14.0.1.0.1 | | Base model to handle time windows [base_video_link](base_video_link/) | 14.0.1.1.2 | | Add the possibility to link video on record +[base_view_full_arch](base_view_full_arch/) | 14.0.1.0.0 | | Allows displaying the full, compiled architecture for all views [base_view_inheritance_extension](base_view_inheritance_extension/) | 14.0.2.0.1 | | Adds more operators for view inheritance [bus_alt_connection](bus_alt_connection/) | 14.0.1.0.0 | | Needed when using PgBouncer as a connection pooler [configuration_helper](configuration_helper/) | 14.0.1.0.1 | | Configuration Helper diff --git a/base_view_full_arch/static/description/icon.png b/base_view_full_arch/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 zcmW++2RxMjAAjx~&dlBk9S+%}OXg)AGE&Cb*&}d0jUxM@u(PQx^-s)697TX`ehR4?GS^qbkof1cslKgkU)h65qZ9Oc=ml_0temigYLJfnz{IDzUf>bGs4N!v3=Z3jMq&A#7%rM5eQ#dc?k~! zVpnB`o+K7|Al`Q_U;eD$B zfJtP*jH`siUq~{KE)`jP2|#TUEFGRryE2`i0**z#*^6~AI|YzIWy$Cu#CSLW3q=GA z6`?GZymC;dCPk~rBS%eCb`5OLr;RUZ;D`}um=H)BfVIq%7VhiMr)_#G0N#zrNH|__ zc+blN2UAB0=617@>_u;MPHN;P;N#YoE=)R#i$k_`UAA>WWCcEVMh~L_ zj--gtp&|K1#58Yz*AHCTMziU1Jzt_jG0I@qAOHsk$2}yTmVkBp_eHuY$A9)>P6o~I z%aQ?!(GqeQ-Y+b0I(m9pwgi(IIZZzsbMv+9w{PFtd_<_(LA~0H(xz{=FhLB@(1&qHA5EJw1>>=%q2f&^X>IQ{!GJ4e9U z&KlB)z(84HmNgm2hg2C0>WM{E(DdPr+EeU_N@57;PC2&DmGFW_9kP&%?X4}+xWi)( z;)z%wI5>D4a*5XwD)P--sPkoY(a~WBw;E~AW`Yue4kFa^LM3X`8x|}ZUeMnqr}>kH zG%WWW>3ml$Yez?i%)2pbKPI7?5o?hydokgQyZsNEr{a|mLdt;X2TX(#B1j35xPnPW z*bMSSOauW>o;*=kO8ojw91VX!qoOQb)zHJ!odWB}d+*K?#sY_jqPdg{Sm2HdYzdEx zOGVPhVRTGPtv0o}RfVP;Nd(|CB)I;*t&QO8h zFfekr30S!-LHmV_Su-W+rEwYXJ^;6&3|L$mMC8*bQptyOo9;>Qb9Q9`ySe3%V$A*9 zeKEe+b0{#KWGp$F+tga)0RtI)nhMa-K@JS}2krK~n8vJ=Ngm?R!9G<~RyuU0d?nz# z-5EK$o(!F?hmX*2Yt6+coY`6jGbb7tF#6nHA zuKk=GGJ;ZwON1iAfG$E#Y7MnZVmrY|j0eVI(DN_MNFJmyZ|;w4tf@=CCDZ#5N_0K= z$;R~bbk?}TpfDjfB&aiQ$VA}s?P}xPERJG{kxk5~R`iRS(SK5d+Xs9swCozZISbnS zk!)I0>t=A<-^z(cmSFz3=jZ23u13X><0b)P)^1T_))Kr`e!-pb#q&J*Q`p+B6la%C zuVl&0duN<;uOsB3%T9Fp8t{ED108<+W(nOZd?gDnfNBC3>M8WE61$So|P zVvqH0SNtDTcsUdzaMDpT=Ty0pDHHNL@Z0w$Y`XO z2M-_r1S+GaH%pz#Uy0*w$Vdl=X=rQXEzO}d6J^R6zjM1u&c9vYLvLp?W7w(?np9x1 zE_0JSAJCPB%i7p*Wvg)pn5T`8k3-uR?*NT|J`eS#_#54p>!p(mLDvmc-3o0mX*mp_ zN*AeS<>#^-{S%W<*mz^!X$w_2dHWpcJ6^j64qFBft-o}o_Vx80o0>}Du;>kLts;$8 zC`7q$QI(dKYG`Wa8#wl@V4jVWBRGQ@1dr-hstpQL)Tl+aqVpGpbSfN>5i&QMXfiZ> zaA?T1VGe?rpQ@;+pkrVdd{klI&jVS@I5_iz!=UMpTsa~mBga?1r}aRBm1WS;TT*s0f0lY=JBl66Upy)-k4J}lh=P^8(SXk~0xW=T9v*B|gzIhN z>qsO7dFd~mgxAy4V?&)=5ieYq?zi?ZEoj)&2o)RLy=@hbCRcfT5jigwtQGE{L*8<@Yd{zg;CsL5mvzfDY}P-wos_6PfprFVaeqNE%h zKZhLtcQld;ZD+>=nqN~>GvROfueSzJD&BE*}XfU|H&(FssBqY=hPCt`d zH?@s2>I(|;fcW&YM6#V#!kUIP8$Nkdh0A(bEVj``-AAyYgwY~jB zT|I7Bf@%;7aL7Wf4dZ%VqF$eiaC38OV6oy3Z#TER2G+fOCd9Iaoy6aLYbPTN{XRPz z;U!V|vBf%H!}52L2gH_+j;`bTcQRXB+y9onc^wLm5wi3-Be}U>k_u>2Eg$=k!(l@I zcCg+flakT2Nej3i0yn+g+}%NYb?ta;R?(g5SnwsQ49U8Wng8d|{B+lyRcEDvR3+`O{zfmrmvFrL6acVP%yG98X zo&+VBg@px@i)%o?dG(`T;n*$S5*rnyiR#=wW}}GsAcfyQpE|>a{=$Hjg=-*_K;UtD z#z-)AXwSRY?OPefw^iI+ z)AXz#PfEjlwTes|_{sB?4(O@fg0AJ^g8gP}ex9Ucf*@_^J(s_5jJV}c)s$`Myn|Kd z$6>}#q^n{4vN@+Os$m7KV+`}c%4)4pv@06af4-x5#wj!KKb%caK{A&Y#Rfs z-po?Dcb1({W=6FKIUirH&(yg=*6aLCekcKwyfK^JN5{wcA3nhO(o}SK#!CINhI`-I z1)6&n7O&ZmyFMuNwvEic#IiOAwNkR=u5it{B9n2sAJV5pNhar=j5`*N!Na;c7g!l$ z3aYBqUkqqTJ=Re-;)s!EOeij=7SQZ3Hq}ZRds%IM*PtM$wV z@;rlc*NRK7i3y5BETSKuumEN`Xu_8GP1Ri=OKQ$@I^ko8>H6)4rjiG5{VBM>B|%`&&s^)jS|-_95&yc=GqjNo{zFkw%%HHhS~e=s zD#sfS+-?*t|J!+ozP6KvtOl!R)@@-z24}`9{QaVLD^9VCSR2b`b!KC#o;Ki<+wXB6 zx3&O0LOWcg4&rv4QG0)4yb}7BFSEg~=IR5#ZRj8kg}dS7_V&^%#Do==#`u zpy6{ox?jWuR(;pg+f@mT>#HGWHAJRRDDDv~@(IDw&R>9643kK#HN`!1vBJHnC+RM&yIh8{gG2q zA%e*U3|N0XSRa~oX-3EAneep)@{h2vvd3Xvy$7og(sayr@95+e6~Xvi1tUqnIxoIH zVWo*OwYElb#uyW{Imam6f2rGbjR!Y3`#gPqkv57dB6K^wRGxc9B(t|aYDGS=m$&S!NmCtrMMaUg(c zc2qC=2Z`EEFMW-me5B)24AqF*bV5Dr-M5ig(l-WPS%CgaPzs6p_gnCIvTJ=Y<6!gT zVt@AfYCzjjsMEGi=rDQHo0yc;HqoRNnNFeWZgcm?f;cp(6CNylj36DoL(?TS7eU#+ z7&mfr#y))+CJOXQKUMZ7QIdS9@#-}7y2K1{8)cCt0~-X0O!O?Qx#E4Og+;A2SjalQ zs7r?qn0H044=sDN$SRG$arw~n=+T_DNdSrarmu)V6@|?1-ZB#hRn`uilTGPJ@fqEy zGt(f0B+^JDP&f=r{#Y_wi#AVDf-y!RIXU^0jXsFpf>=Ji*TeqSY!H~AMbJdCGLhC) zn7Rx+sXw6uYj;WRYrLd^5IZq@6JI1C^YkgnedZEYy<&4(z%Q$5yv#Boo{AH8n$a zhb4Y3PWdr269&?V%uI$xMcUrMzl=;w<_nm*qr=c3Rl@i5wWB;e-`t7D&c-mcQl7x! zZWB`UGcw=Y2=}~wzrfLx=uet<;m3~=8I~ZRuzvMQUQdr+yTV|ATf1Uuomr__nDf=X zZ3WYJtHp_ri(}SQAPjv+Y+0=fH4krOP@S&=zZ-t1jW1o@}z;xk8 z(Nz1co&El^HK^NrhVHa-_;&88vTU>_J33=%{if;BEY*J#1n59=07jrGQ#IP>@u#3A z;!q+E1Rj3ZJ+!4bq9F8PXJ@yMgZL;>&gYA0%_Kbi8?S=XGM~dnQZQ!yBSgcZhY96H zrWnU;k)qy`rX&&xlDyA%(a1Hhi5CWkmg(`Gb%m(HKi-7Z!LKGRP_B8@`7&hdDy5n= z`OIxqxiVfX@OX1p(mQu>0Ai*v_cTMiw4qRt3~NBvr9oBy0)r>w3p~V0SCm=An6@3n)>@z!|o-$HvDK z|3D2ZMJkLE5loMKl6R^ez@Zz%S$&mbeoqH5`Bb){Ei21q&VP)hWS2tjShfFtGE+$z zzCR$P#uktu+#!w)cX!lWN1XU%K-r=s{|j?)Akf@q#3b#{6cZCuJ~gCxuMXRmI$nGtnH+-h z+GEi!*X=AP<|fG`1>MBdTb?28JYc=fGvAi2I<$B(rs$;eoJCyR6_bc~p!XR@O-+sD z=eH`-ye})I5ic1eL~TDmtfJ|8`0VJ*Yr=hNCd)G1p2MMz4C3^Mj?7;!w|Ly%JqmuW zlIEW^Ft%z?*|fpXda>Jr^1noFZEwFgVV%|*XhH@acv8rdGxeEX{M$(vG{Zw+x(ei@ zmfXb22}8-?Fi`vo-YVrTH*C?a8%M=Hv9MqVH7H^J$KsD?>!SFZ;ZsvnHr_gn=7acz z#W?0eCdVhVMWN12VV^$>WlQ?f;P^{(&pYTops|btm6aj>_Uz+hqpGwB)vWp0Cf5y< zft8-je~nn?W11plq}N)4A{l8I7$!ks_x$PXW-2XaRFswX_BnF{R#6YIwMhAgd5F9X zGmwdadS6(a^fjHtXg8=l?Rc0Sm%hk6E9!5cLVloEy4eh(=FwgP`)~I^5~pBEWo+F6 zSf2ncyMurJN91#cJTy_u8Y}@%!bq1RkGC~-bV@SXRd4F{R-*V`bS+6;W5vZ(&+I<9$;-V|eNfLa5n-6% z2(}&uGRF;p92eS*sE*oR$@pexaqr*meB)VhmIg@h{uzkk$9~qh#cHhw#>O%)b@+(| z^IQgqzuj~Sk(J;swEM-3TrJAPCq9k^^^`q{IItKBRXYe}e0Tdr=Huf7da3$l4PdpwWDop%^}n;dD#K4s#DYA8SHZ z&1!riV4W4R7R#C))JH1~axJ)RYnM$$lIR%6fIVA@zV{XVyx}C+a-Dt8Y9M)^KU0+H zR4IUb2CJ{Hg>CuaXtD50jB(_Tcx=Z$^WYu2u5kubqmwp%drJ6 z?Fo40g!Qd<-l=TQxqHEOuPX0;^z7iX?Ke^a%XT<13TA^5`4Xcw6D@Ur&VT&CUe0d} z1GjOVF1^L@>O)l@?bD~$wzgf(nxX1OGD8fEV?TdJcZc2KoUe|oP1#=$$7ee|xbY)A zDZq+cuTpc(fFdj^=!;{k03C69lMQ(|>uhRfRu%+!k&YOi-3|1QKB z z?n?eq1XP>p-IM$Z^C;2L3itnbJZAip*Zo0aw2bs8@(s^~*8T9go!%dHcAz2lM;`yp zD=7&xjFV$S&5uDaiScyD?B-i1ze`+CoRtz`Wn+Zl&#s4&}MO{@N!ufrzjG$B79)Y2d3tBk&)TxUTw@QS0TEL_?njX|@vq?Uz(nBFK5Pq7*xj#u*R&i|?7+6# z+|r_n#SW&LXhtheZdah{ZVoqwyT{D>MC3nkFF#N)xLi{p7J1jXlmVeb;cP5?e(=f# zuT7fvjSbjS781v?7{)-X3*?>tq?)Yd)~|1{BDS(pqC zC}~H#WXlkUW*H5CDOo<)#x7%RY)A;ShGhI5s*#cRDA8YgqG(HeKDx+#(ZQ?386dv! zlXCO)w91~Vw4AmOcATuV653fa9R$fyK8ul%rG z-wfS zihugoZyr38Im?Zuh6@RcF~t1anQu7>#lPpb#}4cOA!EM11`%f*07RqOVkmX{p~KJ9 z^zP;K#|)$`^Rb{rnHGH{~>1(fawV0*Z#)}M`m8-?ZJV<+e}s9wE# z)l&az?w^5{)`S(%MRzxdNqrs1n*-=jS^_jqE*5XDrA0+VE`5^*p3CuM<&dZEeCjoz zR;uu_H9ZPZV|fQq`Cyw4nscrVwi!fE6ciMmX$!_hN7uF;jjKG)d2@aC4ropY)8etW=xJvni)8eHi`H$%#zn^WJ5NLc-rqk|u&&4Z6fD_m&JfSI1Bvb?b<*n&sfl0^t z=HnmRl`XrFvMKB%9}>PaA`m-fK6a0(8=qPkWS5bb4=v?XcWi&hRY?O5HdulRi4?fN zlsJ*N-0Qw+Yic@s0(2uy%F@ib;GjXt01Fmx5XbRo6+n|pP(&nodMoap^z{~q ziEeaUT@Mxe3vJSfI6?uLND(CNr=#^W<1b}jzW58bIfyWTDle$mmS(|x-0|2UlX+9k zQ^EX7Nw}?EzVoBfT(-LT|=9N@^hcn-_p&sqG z&*oVs2JSU+N4ZD`FhCAWaS;>|wH2G*Id|?pa#@>tyxX`+4HyIArWDvVrX)2WAOQff z0qyHu&-S@i^MS-+j--!pr4fPBj~_8({~e1bfcl0wI1kaoN>mJL6KUPQm5N7lB(ui1 zE-o%kq)&djzWJ}ob<-GfDlkB;F31j-VHKvQUGQ3sp`CwyGJk_i!y^sD0fqC@$9|jO zOqN!r!8-p==F@ZVP=U$qSpY(gQ0)59P1&t@y?5rvg<}E+GB}26NYPp4f2YFQrQtot5mn3wu_qprZ=>Ig-$ zbW26Ws~IgY>}^5w`vTB(G`PTZaDiGBo5o(tp)qli|NeV( z@H_=R8V39rt5J5YB2Ky?4eJJ#b`_iBe2ot~6%7mLt5t8Vwi^Jy7|jWXqa3amOIoRb zOr}WVFP--DsS`1WpN%~)t3R!arKF^Q$e12KEqU36AWwnCBICpH4XCsfnyrHr>$I$4 z!DpKX$OKLWarN7nv@!uIA+~RNO)l$$w}p(;b>mx8pwYvu;dD_unryX_NhT8*Tj>BTrTTL&!?O+%Rv;b?B??gSzdp?6Uug9{ zd@V08Z$BdI?fpoCS$)t4mg4rT8Q_I}h`0d-vYZ^|dOB*Q^S|xqTV*vIg?@fVFSmMpaw0qtTRbx} z({Pg?#{2`sc9)M5N$*N|4;^t$+QP?#mov zGVC@I*lBVrOU-%2y!7%)fAKjpEFsgQc4{amtiHb95KQEwvf<(3T<9-Zm$xIew#P22 zc2Ix|App^>v6(3L_MCU0d3W##AB0M~3D00EWoKZqsJYT(#@w$Y_H7G22M~ApVFTRHMI_3be)Lkn#0F*V8Pq zc}`Cjy$bE;FJ6H7p=0y#R>`}-m4(0F>%@P|?7fx{=R^uFdISRnZ2W_xQhD{YuR3t< z{6yxu=4~JkeA;|(J6_nv#>Nvs&FuLA&PW^he@t(UwFFE8)|a!R{`E`K`i^ZnyE4$k z;(749Ix|oi$c3QbEJ3b~D_kQsPz~fIUKym($a_7dJ?o+40*OLl^{=&oq$<#Q(yyrp z{J-FAniyAw9tPbe&IhQ|a`DqFTVQGQ&Gq3!C2==4x{6EJwiPZ8zub-iXoUtkJiG{} zPaR&}_fn8_z~(=;5lD-aPWD3z8PZS@AaUiomF!G8I}Mf>e~0g#BelA-5#`cj;O5>N Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/setup/_metapackage/VERSION.txt b/setup/_metapackage/VERSION.txt index 4f19ff39fd0..04a8703d4fb 100644 --- a/setup/_metapackage/VERSION.txt +++ b/setup/_metapackage/VERSION.txt @@ -1 +1 @@ -14.0.20240404.0 \ No newline at end of file +14.0.20240517.0 \ No newline at end of file diff --git a/setup/_metapackage/setup.py b/setup/_metapackage/setup.py index 5758cae096e..a524c398a41 100644 --- a/setup/_metapackage/setup.py +++ b/setup/_metapackage/setup.py @@ -45,6 +45,7 @@ 'odoo14-addon-base_time_parameter', 'odoo14-addon-base_time_window', 'odoo14-addon-base_video_link', + 'odoo14-addon-base_view_full_arch', 'odoo14-addon-base_view_inheritance_extension', 'odoo14-addon-bus_alt_connection', 'odoo14-addon-configuration_helper', From 90257a8d872fa8c2b39ab0f85ad53530b92e1334 Mon Sep 17 00:00:00 2001 From: Rodrigo Macedo Date: Mon, 20 May 2024 17:23:05 +0000 Subject: [PATCH 084/232] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (25 of 25 strings) Translation: server-tools-14.0/server-tools-14.0-sql_request_abstract Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-sql_request_abstract/pt_BR/ --- sql_request_abstract/i18n/pt_BR.po | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/sql_request_abstract/i18n/pt_BR.po b/sql_request_abstract/i18n/pt_BR.po index 0568b5eec58..6855be44cb4 100644 --- a/sql_request_abstract/i18n/pt_BR.po +++ b/sql_request_abstract/i18n/pt_BR.po @@ -9,16 +9,17 @@ msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-01 02:11+0000\n" -"PO-Revision-Date: 2022-02-01 20:33+0000\n" -"Last-Translator: Rodrigo Macedo \n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/" -"teams/23907/pt_BR/)\n" +"PO-Revision-Date: 2024-05-20 19:38+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.3.2\n" +"X-Generator: Weblate 4.17\n" #. module: sql_request_abstract #: model:ir.model.fields,field_description:sql_request_abstract.field_sql_request_mixin__group_ids @@ -52,6 +53,8 @@ msgid "" "If filled, the query will be executed against an external database, " "configured in Odoo main configuration file. " msgstr "" +"Se preenchido, a consulta será executada em um banco de dados externo, " +"configurado no arquivo de configuração principal do Odoo. " #. module: sql_request_abstract #: code:addons/sql_request_abstract/models/sql_request_mixin.py:0 @@ -123,8 +126,8 @@ msgid "" " * 'SQL Valid': SQL Request has been checked and is valid" msgstr "" "Estado da solicitação:\n" -" * 'Rascunho': não testado\n" -" * 'SQL Valid': a solicitação SQL foi verificada e é válida" +" * 'Rascunho': não testado\n" +" * 'SQL Valid': a solicitação SQL foi verificada e é válida" #. module: sql_request_abstract #: code:addons/sql_request_abstract/models/sql_request_mixin.py:0 @@ -136,7 +139,7 @@ msgid "" msgstr "" "A consulta SQL não é válida:\n" "\n" -" %s" +" %s" #. module: sql_request_abstract #: code:addons/sql_request_abstract/models/sql_request_mixin.py:0 @@ -153,7 +156,7 @@ msgstr "Modo não implementado: '%s'" #. module: sql_request_abstract #: model:ir.model.fields,field_description:sql_request_abstract.field_sql_request_mixin__use_external_database msgid "Use External Database" -msgstr "" +msgstr "Usar banco de dados externo" #. module: sql_request_abstract #: model:res.groups,name:sql_request_abstract.group_sql_request_user @@ -167,6 +170,9 @@ msgid "" "You can't use an external database as there are no such configuration about " "this. Please contact your Odoo administrator to solve this issue." msgstr "" +"Você não pode usar um banco de dados externo, pois não existe tal " +"configuração sobre isso. Entre em contato com o administrador do Odoo para " +"resolver esse problema." #. module: sql_request_abstract #: model:ir.model.fields,help:sql_request_abstract.field_sql_request_mixin__query From 6a8f28959cec13e1c2705923079d2e32359a45a7 Mon Sep 17 00:00:00 2001 From: Sylvain LE GAL Date: Tue, 1 Jun 2021 23:56:35 +0200 Subject: [PATCH 085/232] [IMP] database_cleanup : delete also obsolete SQL views Co-authored-by: Pedro M. Baeza --- database_cleanup/models/purge_tables.py | 35 ++++++++++++++++++++----- database_cleanup/views/purge_tables.xml | 4 ++- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/database_cleanup/models/purge_tables.py b/database_cleanup/models/purge_tables.py index cde69fd8799..81003674e1a 100644 --- a/database_cleanup/models/purge_tables.py +++ b/database_cleanup/models/purge_tables.py @@ -2,11 +2,18 @@ # Copyright 2021 Camptocamp # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). # pylint: disable=consider-merging-classes-inherited +from psycopg2.extensions import AsIs + from odoo import _, api, fields, models from odoo.exceptions import UserError from ..identifier_adapter import IdentifierAdapter +_TABLE_TYPE_SELECTION = [ + ("base", "SQL Table"), + ("view", "SQL View"), +] + class CleanupPurgeLineTable(models.TransientModel): _inherit = "cleanup.purge.line" @@ -16,6 +23,7 @@ class CleanupPurgeLineTable(models.TransientModel): wizard_id = fields.Many2one( "cleanup.purge.wizard.table", "Purge Wizard", readonly=True ) + table_type = fields.Selection(string="Table Type", selection=_TABLE_TYPE_SELECTION) def purge(self): """ @@ -71,8 +79,14 @@ def purge(self): ), ) - self.logger.info("Dropping table %s", line.name) - self.env.cr.execute("DROP TABLE %s", (IdentifierAdapter(line.name),)) + if line.table_type == "base": + _sql_type = "TABLE" + elif line.table_type == "view": + _sql_type = "VIEW" + self.logger.info("Dropping %s %s", (_sql_type, line.name)) + self.env.cr.execute( + "DROP %s %s", (AsIs(_sql_type), IdentifierAdapter(line.name)) + ) line.write({"purged": True}) return True @@ -85,8 +99,7 @@ class CleanupPurgeWizardTable(models.TransientModel): @api.model def find(self): """ - Search for tables that cannot be instantiated. - Ignore views for now. + Search for tables and views that cannot be instantiated. """ known_tables = [] for model in self.env["ir.model"].search([]): @@ -104,13 +117,21 @@ def find(self): self.env.cr.execute( """ - SELECT table_name FROM information_schema.tables - WHERE table_schema = 'public' AND table_type = 'BASE TABLE' + SELECT table_name, table_type FROM information_schema.tables + WHERE table_schema = 'public' + AND table_type in ('BASE TABLE', 'VIEW') AND table_name NOT IN %s""", (tuple(known_tables),), ) - res = [(0, 0, {"name": row[0]}) for row in self.env.cr.fetchall()] + res = [ + ( + 0, + 0, + {"name": row[0], "table_type": "view" if row[1] == "VIEW" else "base"}, + ) + for row in self.env.cr.fetchall() + ] if not res: raise UserError(_("No orphaned tables found")) return res diff --git a/database_cleanup/views/purge_tables.xml b/database_cleanup/views/purge_tables.xml index f8f3d0d140b..6d3c034bc95 100644 --- a/database_cleanup/views/purge_tables.xml +++ b/database_cleanup/views/purge_tables.xml @@ -27,7 +27,9 @@ primary - + + + From 1b869b5b97de0a8971c017197ebb78f3a0cbbf61 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Thu, 23 May 2024 19:25:52 +0000 Subject: [PATCH 086/232] [UPD] Update database_cleanup.pot --- database_cleanup/i18n/database_cleanup.pot | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/database_cleanup/i18n/database_cleanup.pot b/database_cleanup/i18n/database_cleanup.pot index 16e08c09e57..d203d18abb0 100644 --- a/database_cleanup/i18n/database_cleanup.pot +++ b/database_cleanup/i18n/database_cleanup.pot @@ -526,6 +526,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -567,6 +577,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" From 6fcf78316bdee6a9280ed049d1974b50edcd0ff3 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 23 May 2024 19:32:35 +0000 Subject: [PATCH 087/232] [BOT] post-merge updates --- README.md | 2 +- database_cleanup/README.rst | 2 +- database_cleanup/__manifest__.py | 2 +- database_cleanup/static/description/index.html | 3 +-- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 5f0e91f8285..27d2cbc8928 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ addon | version | maintainers | summary [bus_alt_connection](bus_alt_connection/) | 14.0.1.0.0 | | Needed when using PgBouncer as a connection pooler [configuration_helper](configuration_helper/) | 14.0.1.0.1 | | Configuration Helper [cron_daylight_saving_time_resistant](cron_daylight_saving_time_resistant/) | 14.0.1.0.0 | | Run cron on fixed hours -[database_cleanup](database_cleanup/) | 14.0.1.0.3 | | Database cleanup +[database_cleanup](database_cleanup/) | 14.0.1.1.0 | | Database cleanup [datetime_formatter](datetime_formatter/) | 14.0.1.0.0 | | Helper functions to give correct format to date[time] fields [dbfilter_from_header](dbfilter_from_header/) | 14.0.1.0.1 | | Filter databases with HTTP headers [excel_import_export](excel_import_export/) | 14.0.1.1.2 | [![kittiu](https://github.com/kittiu.png?size=30px)](https://github.com/kittiu) | Base module for developing Excel import/export/report diff --git a/database_cleanup/README.rst b/database_cleanup/README.rst index 5aedbec2936..5e1bd3530b8 100644 --- a/database_cleanup/README.rst +++ b/database_cleanup/README.rst @@ -7,7 +7,7 @@ Database cleanup !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:c5f5a0183f05eacecce6f9876b0299dd33bc6f800a0a81f26dc2dd4f419def11 + !! source digest: sha256:ef72c0eb321184874b81dc72099c766f1ddecd998d7b5a638d6bb02db9aa9f52 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/database_cleanup/__manifest__.py b/database_cleanup/__manifest__.py index 4ceb31120ac..f07c89b3886 100644 --- a/database_cleanup/__manifest__.py +++ b/database_cleanup/__manifest__.py @@ -3,7 +3,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { "name": "Database cleanup", - "version": "14.0.1.0.3", + "version": "14.0.1.1.0", "author": "Therp BV,Odoo Community Association (OCA)", "website": "https://github.com/OCA/server-tools", "depends": ["base"], diff --git a/database_cleanup/static/description/index.html b/database_cleanup/static/description/index.html index 2e39286ecf2..f9d1f4ab400 100644 --- a/database_cleanup/static/description/index.html +++ b/database_cleanup/static/description/index.html @@ -1,4 +1,3 @@ - @@ -367,7 +366,7 @@

Database cleanup

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:c5f5a0183f05eacecce6f9876b0299dd33bc6f800a0a81f26dc2dd4f419def11 +!! source digest: sha256:ef72c0eb321184874b81dc72099c766f1ddecd998d7b5a638d6bb02db9aa9f52 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

Clean your Odoo database from remnants of modules, models, columns and From e5c099b315f06914eff45af71802a936e47fbe2e Mon Sep 17 00:00:00 2001 From: Weblate Date: Thu, 23 May 2024 19:33:17 +0000 Subject: [PATCH 088/232] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: server-tools-14.0/server-tools-14.0-database_cleanup Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-database_cleanup/ --- database_cleanup/i18n/am.po | 15 +++++++++++++++ database_cleanup/i18n/ar.po | 15 +++++++++++++++ database_cleanup/i18n/bg.po | 15 +++++++++++++++ database_cleanup/i18n/bs.po | 15 +++++++++++++++ database_cleanup/i18n/ca.po | 15 +++++++++++++++ database_cleanup/i18n/cs.po | 15 +++++++++++++++ database_cleanup/i18n/cs_CZ.po | 15 +++++++++++++++ database_cleanup/i18n/da.po | 15 +++++++++++++++ database_cleanup/i18n/de.po | 15 +++++++++++++++ database_cleanup/i18n/el_GR.po | 15 +++++++++++++++ database_cleanup/i18n/en_GB.po | 15 +++++++++++++++ database_cleanup/i18n/es.po | 15 +++++++++++++++ database_cleanup/i18n/es_AR.po | 15 +++++++++++++++ database_cleanup/i18n/es_CL.po | 15 +++++++++++++++ database_cleanup/i18n/es_CO.po | 15 +++++++++++++++ database_cleanup/i18n/es_CR.po | 15 +++++++++++++++ database_cleanup/i18n/es_DO.po | 15 +++++++++++++++ database_cleanup/i18n/es_EC.po | 15 +++++++++++++++ database_cleanup/i18n/es_ES.po | 15 +++++++++++++++ database_cleanup/i18n/es_MX.po | 15 +++++++++++++++ database_cleanup/i18n/es_PE.po | 15 +++++++++++++++ database_cleanup/i18n/es_PY.po | 15 +++++++++++++++ database_cleanup/i18n/es_VE.po | 15 +++++++++++++++ database_cleanup/i18n/et.po | 15 +++++++++++++++ database_cleanup/i18n/eu.po | 15 +++++++++++++++ database_cleanup/i18n/fa.po | 15 +++++++++++++++ database_cleanup/i18n/fi.po | 15 +++++++++++++++ database_cleanup/i18n/fr.po | 15 +++++++++++++++ database_cleanup/i18n/fr_CA.po | 15 +++++++++++++++ database_cleanup/i18n/fr_CH.po | 15 +++++++++++++++ database_cleanup/i18n/gl.po | 15 +++++++++++++++ database_cleanup/i18n/gl_ES.po | 15 +++++++++++++++ database_cleanup/i18n/he.po | 15 +++++++++++++++ database_cleanup/i18n/hr.po | 15 +++++++++++++++ database_cleanup/i18n/hr_HR.po | 15 +++++++++++++++ database_cleanup/i18n/hu.po | 15 +++++++++++++++ database_cleanup/i18n/id.po | 15 +++++++++++++++ database_cleanup/i18n/it.po | 15 +++++++++++++++ database_cleanup/i18n/ja.po | 15 +++++++++++++++ database_cleanup/i18n/ko.po | 15 +++++++++++++++ database_cleanup/i18n/lt.po | 15 +++++++++++++++ database_cleanup/i18n/lt_LT.po | 15 +++++++++++++++ database_cleanup/i18n/lv.po | 15 +++++++++++++++ database_cleanup/i18n/mk.po | 15 +++++++++++++++ database_cleanup/i18n/mn.po | 15 +++++++++++++++ database_cleanup/i18n/nb.po | 15 +++++++++++++++ database_cleanup/i18n/nb_NO.po | 15 +++++++++++++++ database_cleanup/i18n/nl.po | 15 +++++++++++++++ database_cleanup/i18n/nl_BE.po | 15 +++++++++++++++ database_cleanup/i18n/nl_NL.po | 15 +++++++++++++++ database_cleanup/i18n/pl.po | 15 +++++++++++++++ database_cleanup/i18n/pt.po | 15 +++++++++++++++ database_cleanup/i18n/pt_BR.po | 15 +++++++++++++++ database_cleanup/i18n/pt_PT.po | 15 +++++++++++++++ database_cleanup/i18n/ro.po | 15 +++++++++++++++ database_cleanup/i18n/ru.po | 15 +++++++++++++++ database_cleanup/i18n/sk.po | 15 +++++++++++++++ database_cleanup/i18n/sl.po | 15 +++++++++++++++ database_cleanup/i18n/sr.po | 15 +++++++++++++++ database_cleanup/i18n/sr@latin.po | 15 +++++++++++++++ database_cleanup/i18n/sv.po | 15 +++++++++++++++ database_cleanup/i18n/th.po | 15 +++++++++++++++ database_cleanup/i18n/tr.po | 15 +++++++++++++++ database_cleanup/i18n/tr_TR.po | 15 +++++++++++++++ database_cleanup/i18n/uk.po | 15 +++++++++++++++ database_cleanup/i18n/vi.po | 15 +++++++++++++++ database_cleanup/i18n/vi_VN.po | 15 +++++++++++++++ database_cleanup/i18n/zh_CN.po | 15 +++++++++++++++ database_cleanup/i18n/zh_TW.po | 15 +++++++++++++++ 69 files changed, 1035 insertions(+) diff --git a/database_cleanup/i18n/am.po b/database_cleanup/i18n/am.po index 9775a61ea63..1fb76cde9fb 100644 --- a/database_cleanup/i18n/am.po +++ b/database_cleanup/i18n/am.po @@ -531,6 +531,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -572,6 +582,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/ar.po b/database_cleanup/i18n/ar.po index 409a73e2cd8..164b13a0d76 100644 --- a/database_cleanup/i18n/ar.po +++ b/database_cleanup/i18n/ar.po @@ -533,6 +533,16 @@ msgstr "" msgid "Reason" msgstr "السبب" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -574,6 +584,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/bg.po b/database_cleanup/i18n/bg.po index 6e95a766e75..1e99606bff3 100644 --- a/database_cleanup/i18n/bg.po +++ b/database_cleanup/i18n/bg.po @@ -531,6 +531,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -572,6 +582,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/bs.po b/database_cleanup/i18n/bs.po index 77c685b424a..4a82de72517 100644 --- a/database_cleanup/i18n/bs.po +++ b/database_cleanup/i18n/bs.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "Razlog" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/ca.po b/database_cleanup/i18n/ca.po index 84965f3b6d1..af941506868 100644 --- a/database_cleanup/i18n/ca.po +++ b/database_cleanup/i18n/ca.po @@ -533,6 +533,16 @@ msgstr "Purgat" msgid "Reason" msgstr "Raó" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -574,6 +584,11 @@ msgstr "Seleccionar línies a purgar" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/cs.po b/database_cleanup/i18n/cs.po index b93b6e85c47..6d59856ea1b 100644 --- a/database_cleanup/i18n/cs.po +++ b/database_cleanup/i18n/cs.po @@ -531,6 +531,16 @@ msgstr "" msgid "Reason" msgstr "Důvod" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -572,6 +582,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/cs_CZ.po b/database_cleanup/i18n/cs_CZ.po index 6bdb0cad656..69c25167c40 100644 --- a/database_cleanup/i18n/cs_CZ.po +++ b/database_cleanup/i18n/cs_CZ.po @@ -534,6 +534,16 @@ msgstr "Očištěný" msgid "Reason" msgstr "Důvod" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -575,6 +585,11 @@ msgstr "Vyberte řádky, které chcete vyčistit" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/da.po b/database_cleanup/i18n/da.po index 3aa95654c3c..c9a6e68c737 100644 --- a/database_cleanup/i18n/da.po +++ b/database_cleanup/i18n/da.po @@ -531,6 +531,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -572,6 +582,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/de.po b/database_cleanup/i18n/de.po index b83275cca12..575e7e31f8c 100644 --- a/database_cleanup/i18n/de.po +++ b/database_cleanup/i18n/de.po @@ -533,6 +533,16 @@ msgstr "Gelöscht" msgid "Reason" msgstr "Grund" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -574,6 +584,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/el_GR.po b/database_cleanup/i18n/el_GR.po index d7f8b383dc2..d5b86893aee 100644 --- a/database_cleanup/i18n/el_GR.po +++ b/database_cleanup/i18n/el_GR.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/en_GB.po b/database_cleanup/i18n/en_GB.po index 557640fd0cd..d019477669b 100644 --- a/database_cleanup/i18n/en_GB.po +++ b/database_cleanup/i18n/en_GB.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "Reason" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/es.po b/database_cleanup/i18n/es.po index f5fa2584a18..3e245cb5e0f 100644 --- a/database_cleanup/i18n/es.po +++ b/database_cleanup/i18n/es.po @@ -534,6 +534,16 @@ msgstr "Limpiado" msgid "Reason" msgstr "Razón" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -575,6 +585,11 @@ msgstr "Seleccione líneas a limpiar" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/es_AR.po b/database_cleanup/i18n/es_AR.po index 96a18b70abc..b890b7d098a 100644 --- a/database_cleanup/i18n/es_AR.po +++ b/database_cleanup/i18n/es_AR.po @@ -533,6 +533,16 @@ msgstr "Limpiado" msgid "Reason" msgstr "Razón" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -574,6 +584,11 @@ msgstr "Seleccionar líneas a limpiar" msgid "Smart Search" msgstr "Búsqueda Inteligente" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/es_CL.po b/database_cleanup/i18n/es_CL.po index 7d1953671ce..e0b0b91a71f 100644 --- a/database_cleanup/i18n/es_CL.po +++ b/database_cleanup/i18n/es_CL.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/es_CO.po b/database_cleanup/i18n/es_CO.po index 424110c543b..7936b2b484e 100644 --- a/database_cleanup/i18n/es_CO.po +++ b/database_cleanup/i18n/es_CO.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/es_CR.po b/database_cleanup/i18n/es_CR.po index aee2566d682..478ff19e051 100644 --- a/database_cleanup/i18n/es_CR.po +++ b/database_cleanup/i18n/es_CR.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "Razón" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/es_DO.po b/database_cleanup/i18n/es_DO.po index 992b00aaff4..98d2a68bed5 100644 --- a/database_cleanup/i18n/es_DO.po +++ b/database_cleanup/i18n/es_DO.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/es_EC.po b/database_cleanup/i18n/es_EC.po index 6988d8a531a..ad750c564a7 100644 --- a/database_cleanup/i18n/es_EC.po +++ b/database_cleanup/i18n/es_EC.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "Motivo" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/es_ES.po b/database_cleanup/i18n/es_ES.po index 001a1d4e3d5..373b7c8e0e1 100644 --- a/database_cleanup/i18n/es_ES.po +++ b/database_cleanup/i18n/es_ES.po @@ -533,6 +533,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -574,6 +584,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/es_MX.po b/database_cleanup/i18n/es_MX.po index 8c73bd5d3e2..ad8e1dec659 100644 --- a/database_cleanup/i18n/es_MX.po +++ b/database_cleanup/i18n/es_MX.po @@ -533,6 +533,16 @@ msgstr "" msgid "Reason" msgstr "Razón" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -574,6 +584,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/es_PE.po b/database_cleanup/i18n/es_PE.po index 67119eca346..df19f34fdca 100644 --- a/database_cleanup/i18n/es_PE.po +++ b/database_cleanup/i18n/es_PE.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/es_PY.po b/database_cleanup/i18n/es_PY.po index 76da8d47618..c0ba99b558c 100644 --- a/database_cleanup/i18n/es_PY.po +++ b/database_cleanup/i18n/es_PY.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/es_VE.po b/database_cleanup/i18n/es_VE.po index d416e1afa3b..6c28e1e5485 100644 --- a/database_cleanup/i18n/es_VE.po +++ b/database_cleanup/i18n/es_VE.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "Razón" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/et.po b/database_cleanup/i18n/et.po index 5407c3ae225..2da7c6677de 100644 --- a/database_cleanup/i18n/et.po +++ b/database_cleanup/i18n/et.po @@ -531,6 +531,16 @@ msgstr "" msgid "Reason" msgstr "Põhjus" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -572,6 +582,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/eu.po b/database_cleanup/i18n/eu.po index 54f35ca61ef..92a1f910ab6 100644 --- a/database_cleanup/i18n/eu.po +++ b/database_cleanup/i18n/eu.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/fa.po b/database_cleanup/i18n/fa.po index 64b884e1cff..44bb9a8964f 100644 --- a/database_cleanup/i18n/fa.po +++ b/database_cleanup/i18n/fa.po @@ -531,6 +531,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -572,6 +582,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/fi.po b/database_cleanup/i18n/fi.po index e765fa46a5c..5c0e268e1ab 100644 --- a/database_cleanup/i18n/fi.po +++ b/database_cleanup/i18n/fi.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "Syy" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/fr.po b/database_cleanup/i18n/fr.po index dbb2108dc12..86a2a9809fd 100644 --- a/database_cleanup/i18n/fr.po +++ b/database_cleanup/i18n/fr.po @@ -533,6 +533,16 @@ msgstr "" msgid "Reason" msgstr "Motif" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -574,6 +584,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/fr_CA.po b/database_cleanup/i18n/fr_CA.po index cae7fc11132..efe2d1e4748 100644 --- a/database_cleanup/i18n/fr_CA.po +++ b/database_cleanup/i18n/fr_CA.po @@ -534,6 +534,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -575,6 +585,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/fr_CH.po b/database_cleanup/i18n/fr_CH.po index ef8a4f77a99..272c868ab76 100644 --- a/database_cleanup/i18n/fr_CH.po +++ b/database_cleanup/i18n/fr_CH.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/gl.po b/database_cleanup/i18n/gl.po index 4f918891bc2..488c776bcc2 100644 --- a/database_cleanup/i18n/gl.po +++ b/database_cleanup/i18n/gl.po @@ -531,6 +531,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -572,6 +582,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/gl_ES.po b/database_cleanup/i18n/gl_ES.po index 4d7ab9726ed..27c3dc01418 100644 --- a/database_cleanup/i18n/gl_ES.po +++ b/database_cleanup/i18n/gl_ES.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/he.po b/database_cleanup/i18n/he.po index 7efd438f348..e3cfdaaee25 100644 --- a/database_cleanup/i18n/he.po +++ b/database_cleanup/i18n/he.po @@ -531,6 +531,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -572,6 +582,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/hr.po b/database_cleanup/i18n/hr.po index dd153494e92..c49060af339 100644 --- a/database_cleanup/i18n/hr.po +++ b/database_cleanup/i18n/hr.po @@ -533,6 +533,16 @@ msgstr "" msgid "Reason" msgstr "Razlog" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -574,6 +584,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/hr_HR.po b/database_cleanup/i18n/hr_HR.po index f8bfdbeaaeb..a1bcbd3ad90 100644 --- a/database_cleanup/i18n/hr_HR.po +++ b/database_cleanup/i18n/hr_HR.po @@ -534,6 +534,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -575,6 +585,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/hu.po b/database_cleanup/i18n/hu.po index 7e713e2eac5..8c89cba8434 100644 --- a/database_cleanup/i18n/hu.po +++ b/database_cleanup/i18n/hu.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "Indoklás" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/id.po b/database_cleanup/i18n/id.po index 1d06c959852..f3e872f0a0d 100644 --- a/database_cleanup/i18n/id.po +++ b/database_cleanup/i18n/id.po @@ -531,6 +531,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -572,6 +582,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/it.po b/database_cleanup/i18n/it.po index ebf9d620ec0..292277c31ef 100644 --- a/database_cleanup/i18n/it.po +++ b/database_cleanup/i18n/it.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "Motivo" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "Selezione righe da pulire" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/ja.po b/database_cleanup/i18n/ja.po index 046a4dfe8e3..a0539e0a4f5 100644 --- a/database_cleanup/i18n/ja.po +++ b/database_cleanup/i18n/ja.po @@ -531,6 +531,16 @@ msgstr "" msgid "Reason" msgstr "理由" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -572,6 +582,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/ko.po b/database_cleanup/i18n/ko.po index 22f708a4131..4d6f763c882 100644 --- a/database_cleanup/i18n/ko.po +++ b/database_cleanup/i18n/ko.po @@ -531,6 +531,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -572,6 +582,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/lt.po b/database_cleanup/i18n/lt.po index c53fe738edd..52984c2403d 100644 --- a/database_cleanup/i18n/lt.po +++ b/database_cleanup/i18n/lt.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "Priežastis" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/lt_LT.po b/database_cleanup/i18n/lt_LT.po index cf39b7bb009..d38a9d6b63b 100644 --- a/database_cleanup/i18n/lt_LT.po +++ b/database_cleanup/i18n/lt_LT.po @@ -533,6 +533,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -574,6 +584,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/lv.po b/database_cleanup/i18n/lv.po index d83508fdc6d..b8c04e66663 100644 --- a/database_cleanup/i18n/lv.po +++ b/database_cleanup/i18n/lv.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/mk.po b/database_cleanup/i18n/mk.po index 2ac9dec142c..525e203a6dd 100644 --- a/database_cleanup/i18n/mk.po +++ b/database_cleanup/i18n/mk.po @@ -531,6 +531,16 @@ msgstr "" msgid "Reason" msgstr "Причина" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -572,6 +582,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/mn.po b/database_cleanup/i18n/mn.po index cbbabdc2ba1..6ffbe94b6cd 100644 --- a/database_cleanup/i18n/mn.po +++ b/database_cleanup/i18n/mn.po @@ -531,6 +531,16 @@ msgstr "" msgid "Reason" msgstr "Шалтгаан" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -572,6 +582,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/nb.po b/database_cleanup/i18n/nb.po index b7bfb89ced6..290450bdd0c 100644 --- a/database_cleanup/i18n/nb.po +++ b/database_cleanup/i18n/nb.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "Grunn" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/nb_NO.po b/database_cleanup/i18n/nb_NO.po index 2e9b9bcb56e..37f3b8d112f 100644 --- a/database_cleanup/i18n/nb_NO.po +++ b/database_cleanup/i18n/nb_NO.po @@ -533,6 +533,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -574,6 +584,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/nl.po b/database_cleanup/i18n/nl.po index 92982187b19..969400adaf4 100644 --- a/database_cleanup/i18n/nl.po +++ b/database_cleanup/i18n/nl.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "Oorzaak" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/nl_BE.po b/database_cleanup/i18n/nl_BE.po index 1478cb6f9d0..504310cc140 100644 --- a/database_cleanup/i18n/nl_BE.po +++ b/database_cleanup/i18n/nl_BE.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "Reden" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/nl_NL.po b/database_cleanup/i18n/nl_NL.po index 4ecefa95d45..ef4f8ec8f1d 100644 --- a/database_cleanup/i18n/nl_NL.po +++ b/database_cleanup/i18n/nl_NL.po @@ -533,6 +533,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -574,6 +584,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/pl.po b/database_cleanup/i18n/pl.po index fc61630abbc..6641763fa94 100644 --- a/database_cleanup/i18n/pl.po +++ b/database_cleanup/i18n/pl.po @@ -533,6 +533,16 @@ msgstr "" msgid "Reason" msgstr "Przyczyna" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -574,6 +584,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/pt.po b/database_cleanup/i18n/pt.po index aeca52d755a..af260243313 100644 --- a/database_cleanup/i18n/pt.po +++ b/database_cleanup/i18n/pt.po @@ -533,6 +533,16 @@ msgstr "" msgid "Reason" msgstr "Motivo" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -574,6 +584,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/pt_BR.po b/database_cleanup/i18n/pt_BR.po index 35f0c5630df..1decf38de1f 100644 --- a/database_cleanup/i18n/pt_BR.po +++ b/database_cleanup/i18n/pt_BR.po @@ -533,6 +533,16 @@ msgstr "Excluído" msgid "Reason" msgstr "Razão" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -574,6 +584,11 @@ msgstr "Selecionar linhas para excluir" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/pt_PT.po b/database_cleanup/i18n/pt_PT.po index 9c8d34331d1..18c0a16b175 100644 --- a/database_cleanup/i18n/pt_PT.po +++ b/database_cleanup/i18n/pt_PT.po @@ -535,6 +535,16 @@ msgstr "" msgid "Reason" msgstr "Motivo" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -576,6 +586,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/ro.po b/database_cleanup/i18n/ro.po index ec0bcbdac74..aca690cb353 100644 --- a/database_cleanup/i18n/ro.po +++ b/database_cleanup/i18n/ro.po @@ -533,6 +533,16 @@ msgstr "" msgid "Reason" msgstr "Motivul" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -574,6 +584,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/ru.po b/database_cleanup/i18n/ru.po index 7056ee12553..9645883bb64 100644 --- a/database_cleanup/i18n/ru.po +++ b/database_cleanup/i18n/ru.po @@ -534,6 +534,16 @@ msgstr "" msgid "Reason" msgstr "Причина" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -575,6 +585,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/sk.po b/database_cleanup/i18n/sk.po index 04a03cb4d12..15dc1c3e6bf 100644 --- a/database_cleanup/i18n/sk.po +++ b/database_cleanup/i18n/sk.po @@ -531,6 +531,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -572,6 +582,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/sl.po b/database_cleanup/i18n/sl.po index b564b99abfd..d5d54f0f09c 100644 --- a/database_cleanup/i18n/sl.po +++ b/database_cleanup/i18n/sl.po @@ -535,6 +535,16 @@ msgstr "Očiščeno" msgid "Reason" msgstr "Razlog" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -576,6 +586,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/sr.po b/database_cleanup/i18n/sr.po index 7d445a736ef..c1a4440af43 100644 --- a/database_cleanup/i18n/sr.po +++ b/database_cleanup/i18n/sr.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/sr@latin.po b/database_cleanup/i18n/sr@latin.po index f769b0e8fe7..35da28693c5 100644 --- a/database_cleanup/i18n/sr@latin.po +++ b/database_cleanup/i18n/sr@latin.po @@ -533,6 +533,16 @@ msgstr "" msgid "Reason" msgstr "Razlog" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -574,6 +584,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/sv.po b/database_cleanup/i18n/sv.po index 3d9158f79df..5e6487db5e8 100644 --- a/database_cleanup/i18n/sv.po +++ b/database_cleanup/i18n/sv.po @@ -531,6 +531,16 @@ msgstr "" msgid "Reason" msgstr "Orsak" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -572,6 +582,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/th.po b/database_cleanup/i18n/th.po index 5af679f571e..cf0f5385547 100644 --- a/database_cleanup/i18n/th.po +++ b/database_cleanup/i18n/th.po @@ -531,6 +531,16 @@ msgstr "" msgid "Reason" msgstr "เหตุผล" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -572,6 +582,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/tr.po b/database_cleanup/i18n/tr.po index 6c9bf091cac..5a76efb7dda 100644 --- a/database_cleanup/i18n/tr.po +++ b/database_cleanup/i18n/tr.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "Sebep" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/tr_TR.po b/database_cleanup/i18n/tr_TR.po index 88aecabfdad..735d30c9d02 100644 --- a/database_cleanup/i18n/tr_TR.po +++ b/database_cleanup/i18n/tr_TR.po @@ -533,6 +533,16 @@ msgstr "" msgid "Reason" msgstr "Neden" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -574,6 +584,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/uk.po b/database_cleanup/i18n/uk.po index cd34988bd27..4635d3df76b 100644 --- a/database_cleanup/i18n/uk.po +++ b/database_cleanup/i18n/uk.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/vi.po b/database_cleanup/i18n/vi.po index ac3569710e3..6fb0e3ddc68 100644 --- a/database_cleanup/i18n/vi.po +++ b/database_cleanup/i18n/vi.po @@ -531,6 +531,16 @@ msgstr "" msgid "Reason" msgstr "Lý do" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -572,6 +582,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/vi_VN.po b/database_cleanup/i18n/vi_VN.po index aa98b0cf6c1..f782361cefe 100644 --- a/database_cleanup/i18n/vi_VN.po +++ b/database_cleanup/i18n/vi_VN.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/zh_CN.po b/database_cleanup/i18n/zh_CN.po index df4bdeecee7..a30811a239f 100644 --- a/database_cleanup/i18n/zh_CN.po +++ b/database_cleanup/i18n/zh_CN.po @@ -533,6 +533,16 @@ msgstr "已清除" msgid "Reason" msgstr "理由" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -574,6 +584,11 @@ msgstr "选择要清除的行" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" diff --git a/database_cleanup/i18n/zh_TW.po b/database_cleanup/i18n/zh_TW.po index b44ca8777ea..96a684d89ad 100644 --- a/database_cleanup/i18n/zh_TW.po +++ b/database_cleanup/i18n/zh_TW.po @@ -532,6 +532,16 @@ msgstr "" msgid "Reason" msgstr "原因" +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__base +msgid "SQL Table" +msgstr "" + +#. module: database_cleanup +#: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_table__table_type__view +msgid "SQL View" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields.selection,name:database_cleanup.selection__cleanup_purge_line_property__reason__reason_default msgid "Same value as default" @@ -573,6 +583,11 @@ msgstr "" msgid "Smart Search" msgstr "" +#. module: database_cleanup +#: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_line_table__table_type +msgid "Table Type" +msgstr "" + #. module: database_cleanup #: model:ir.model.fields,field_description:database_cleanup.field_cleanup_purge_wizard_table__purge_line_ids msgid "Tables to purge" From 149000f9e278ec92563ae97cd7f0a0a37bf608a6 Mon Sep 17 00:00:00 2001 From: mymage Date: Fri, 24 May 2024 10:05:50 +0000 Subject: [PATCH 089/232] Translated using Weblate (Italian) Currently translated at 100.0% (37 of 37 strings) Translation: server-tools-14.0/server-tools-14.0-module_analysis Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-module_analysis/it/ --- module_analysis/i18n/it.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/module_analysis/i18n/it.po b/module_analysis/i18n/it.po index 3e59e790720..d84c41af7ac 100644 --- a/module_analysis/i18n/it.po +++ b/module_analysis/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 13.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-02-05 09:36+0000\n" +"PO-Revision-Date: 2024-05-24 12:34+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -152,7 +152,7 @@ msgstr "Autori Moduli" #. module: module_analysis #: model:ir.model.fields,field_description:module_analysis.field_ir_module_type__installed_module_qty msgid "Modules Quantity" -msgstr "Quantità Moduli" +msgstr "Quantità moduli" #. module: module_analysis #: model:ir.actions.act_window,name:module_analysis.action_ir_module_type From 32cbee7add50e77241a5a2277abca2ebe9ede6df Mon Sep 17 00:00:00 2001 From: SilvioC2C Date: Mon, 20 May 2024 17:52:09 +0200 Subject: [PATCH 090/232] [16.0][ADD] base_force_record_noupdate --- base_force_record_noupdate/README.rst | 71 +++ base_force_record_noupdate/__init__.py | 22 + base_force_record_noupdate/__manifest__.py | 16 + .../i18n/base_force_record_noupdate.pot | 34 ++ base_force_record_noupdate/models/__init__.py | 2 + base_force_record_noupdate/models/ir_model.py | 53 +++ .../models/ir_model_data.py | 18 + .../readme/CONTRIBUTORS.rst | 2 + .../readme/DESCRIPTION.rst | 6 + base_force_record_noupdate/readme/USAGE.rst | 1 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 425 ++++++++++++++++++ base_force_record_noupdate/tests/__init__.py | 1 + .../tests/test_base_force_record_noupdate.py | 75 ++++ base_force_record_noupdate/views/ir_model.xml | 25 ++ 15 files changed, 751 insertions(+) create mode 100644 base_force_record_noupdate/README.rst create mode 100644 base_force_record_noupdate/__init__.py create mode 100644 base_force_record_noupdate/__manifest__.py create mode 100644 base_force_record_noupdate/i18n/base_force_record_noupdate.pot create mode 100644 base_force_record_noupdate/models/__init__.py create mode 100644 base_force_record_noupdate/models/ir_model.py create mode 100644 base_force_record_noupdate/models/ir_model_data.py create mode 100644 base_force_record_noupdate/readme/CONTRIBUTORS.rst create mode 100644 base_force_record_noupdate/readme/DESCRIPTION.rst create mode 100644 base_force_record_noupdate/readme/USAGE.rst create mode 100644 base_force_record_noupdate/static/description/icon.png create mode 100644 base_force_record_noupdate/static/description/index.html create mode 100644 base_force_record_noupdate/tests/__init__.py create mode 100644 base_force_record_noupdate/tests/test_base_force_record_noupdate.py create mode 100644 base_force_record_noupdate/views/ir_model.xml diff --git a/base_force_record_noupdate/README.rst b/base_force_record_noupdate/README.rst new file mode 100644 index 00000000000..f5266153b62 --- /dev/null +++ b/base_force_record_noupdate/README.rst @@ -0,0 +1,71 @@ +====================== +Force Record No-update +====================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:da312318da6a5b90118144f6d5b265f86380b4c6d6c26eb129b5a534839bdc0e + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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-SilvioC2C%2Fserver--tools-lightgray.png?logo=github + :target: https://github.com/SilvioC2C/server-tools/tree/16.0-new-base_force_record_noupdate/base_force_record_noupdate + :alt: SilvioC2C/server-tools + +|badge1| |badge2| |badge3| + +This module adds a boolean field on models form view, allowing to force +``noupdate=True`` to data linked to those models. + +Upon setting the field to ``True`` on a given model, ``noupdate=True`` will be set upon +existing data linked to it. When creating new data linked to that model, they will +always have ``noupdate=True`` (unless the field is reset on the model itself). + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +To use this module, you need to open the models' form view and check field "Force No-Update" + +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 +~~~~~~~ + +* Camtocamp + +Contributors +~~~~~~~~~~~~ + +* Italo Lopes +* Silvio Gregorini + +Maintainers +~~~~~~~~~~~ + +This module is part of the `SilvioC2C/server-tools `_ project on GitHub. + +You are welcome to contribute. diff --git a/base_force_record_noupdate/__init__.py b/base_force_record_noupdate/__init__.py new file mode 100644 index 00000000000..88bdfee2c65 --- /dev/null +++ b/base_force_record_noupdate/__init__.py @@ -0,0 +1,22 @@ +from . import models + + +def post_init_hook(cr, registry): + """Configure a list of models having ``force_noupdate`` set by default""" + from odoo import SUPERUSER_ID, api + + env = api.Environment(cr, SUPERUSER_ID, {}) + mods = env["ir.model"].sudo() + for model_name in [ + "res.lang", + "ir.rule", + "ir.model.access", + "res.groups", + "mail.template", + "res.users.role", # Don't care if the module providing this is installed + ]: + mod = env["ir.model"]._get(model_name) + if mod and mod.exists(): + mods |= mod + if mods: + mods.write({"force_noupdate": True}) diff --git a/base_force_record_noupdate/__manifest__.py b/base_force_record_noupdate/__manifest__.py new file mode 100644 index 00000000000..dc6ed7dcca1 --- /dev/null +++ b/base_force_record_noupdate/__manifest__.py @@ -0,0 +1,16 @@ +# Copyright 2024 Camptocamp (https://www.camptocamp.com). +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html) + +{ + "name": "Force Record No-update", + "summary": "Manually force noupdate=True on models", + "author": "Camtocamp, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/server-tools", + "category": "Hidden", + "version": "16.0.1.0.0", + "license": "AGPL-3", + "depends": ["base"], + "data": ["views/ir_model.xml"], + "installable": True, + "post_init_hook": "post_init_hook", +} diff --git a/base_force_record_noupdate/i18n/base_force_record_noupdate.pot b/base_force_record_noupdate/i18n/base_force_record_noupdate.pot new file mode 100644 index 00000000000..68525fb9e5b --- /dev/null +++ b/base_force_record_noupdate/i18n/base_force_record_noupdate.pot @@ -0,0 +1,34 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_force_record_noupdate +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: base_force_record_noupdate +#: model:ir.model.fields,field_description:base_force_record_noupdate.field_ir_model__force_noupdate +msgid "Force No-Update" +msgstr "" + +#. module: base_force_record_noupdate +#: model:ir.model,name:base_force_record_noupdate.model_ir_model_data +msgid "Model Data" +msgstr "" + +#. module: base_force_record_noupdate +#: model:ir.model,name:base_force_record_noupdate.model_ir_model +msgid "Models" +msgstr "" + +#. module: base_force_record_noupdate +#: model:ir.actions.server,name:base_force_record_noupdate.action_run_ir_action_todo +msgid "Toggle Force Noupdate" +msgstr "" diff --git a/base_force_record_noupdate/models/__init__.py b/base_force_record_noupdate/models/__init__.py new file mode 100644 index 00000000000..11b44d76dae --- /dev/null +++ b/base_force_record_noupdate/models/__init__.py @@ -0,0 +1,2 @@ +from . import ir_model +from . import ir_model_data diff --git a/base_force_record_noupdate/models/ir_model.py b/base_force_record_noupdate/models/ir_model.py new file mode 100644 index 00000000000..44dd1302b34 --- /dev/null +++ b/base_force_record_noupdate/models/ir_model.py @@ -0,0 +1,53 @@ +# Copyright 2024 Camptocamp (https://www.camptocamp.com). +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html) + +from odoo import api, fields, models +from odoo.tools.cache import ormcache + + +class Model(models.Model): + _inherit = "ir.model" + + force_noupdate = fields.Boolean("Force No-Update") + + @api.model_create_multi + def create(self, vals_list): + mods = super().create(vals_list) + type(self)._get_noupdate_model_ids.clear_cache(self.browse()) + self._propagate_noupdate_to_model_data() + return mods + + def write(self, vals): + res = super().write(vals) + if "force_noupdate" in vals: + type(self)._get_noupdate_model_ids.clear_cache(self.browse()) + self._propagate_noupdate_to_model_data() + return res + + def unlink(self): + res = super().unlink() + type(self)._get_noupdate_model_ids.clear_cache(self.browse()) + return res + + def _get_noupdate_models(self): + return self.browse(self._get_noupdate_model_ids()) + + @ormcache() + def _get_noupdate_model_ids(self): + return self.search([("force_noupdate", "=", True)]).ids + + @api.model + def _propagate_noupdate_to_model_data(self): + noupdate = self._get_noupdate_models().mapped("model") + imd = self.env["ir.model.data"].sudo() + model_data = imd.search([("model", "in", noupdate), ("noupdate", "=", False)]) + if model_data: + model_data.write({"noupdate": True}) + + def toggle_force_noupdate(self): + true_to_false = self.filtered("force_noupdate") + if true_to_false: + true_to_false.write({"force_noupdate": False}) + false_to_true = self - true_to_false + if false_to_true: + false_to_true.write({"force_noupdate": True}) diff --git a/base_force_record_noupdate/models/ir_model_data.py b/base_force_record_noupdate/models/ir_model_data.py new file mode 100644 index 00000000000..cb18f166b32 --- /dev/null +++ b/base_force_record_noupdate/models/ir_model_data.py @@ -0,0 +1,18 @@ +# Copyright 2024 Camptocamp (https://www.camptocamp.com). +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html) + +from odoo import api, models + + +class IrModelData(models.Model): + _inherit = "ir.model.data" + + @api.model_create_multi + def create(self, vals_list): + noupdate_models = self.env["ir.model"].sudo()._get_noupdate_models() + if noupdate_models: + noupdate_model_names = set(noupdate_models.mapped("model")) + for vals in vals_list: + if vals.get("model") in noupdate_model_names: + vals["noupdate"] = True + return super().create(vals_list) diff --git a/base_force_record_noupdate/readme/CONTRIBUTORS.rst b/base_force_record_noupdate/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000000..5a20d7cc198 --- /dev/null +++ b/base_force_record_noupdate/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* Italo Lopes +* Silvio Gregorini diff --git a/base_force_record_noupdate/readme/DESCRIPTION.rst b/base_force_record_noupdate/readme/DESCRIPTION.rst new file mode 100644 index 00000000000..8312bf94aab --- /dev/null +++ b/base_force_record_noupdate/readme/DESCRIPTION.rst @@ -0,0 +1,6 @@ +This module adds a boolean field on models form view, allowing to force +``noupdate=True`` to data linked to those models. + +Upon setting the field to ``True`` on a given model, ``noupdate=True`` will be set upon +existing data linked to it. When creating new data linked to that model, they will +always have ``noupdate=True`` (unless the field is reset on the model itself). diff --git a/base_force_record_noupdate/readme/USAGE.rst b/base_force_record_noupdate/readme/USAGE.rst new file mode 100644 index 00000000000..ff19b776fc0 --- /dev/null +++ b/base_force_record_noupdate/readme/USAGE.rst @@ -0,0 +1 @@ +To use this module, you need to open the models' form view and check field "Force No-Update" diff --git a/base_force_record_noupdate/static/description/icon.png b/base_force_record_noupdate/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 zcmW++2RxMjAAjx~&dlBk9S+%}OXg)AGE&Cb*&}d0jUxM@u(PQx^-s)697TX`ehR4?GS^qbkof1cslKgkU)h65qZ9Oc=ml_0temigYLJfnz{IDzUf>bGs4N!v3=Z3jMq&A#7%rM5eQ#dc?k~! zVpnB`o+K7|Al`Q_U;eD$B zfJtP*jH`siUq~{KE)`jP2|#TUEFGRryE2`i0**z#*^6~AI|YzIWy$Cu#CSLW3q=GA z6`?GZymC;dCPk~rBS%eCb`5OLr;RUZ;D`}um=H)BfVIq%7VhiMr)_#G0N#zrNH|__ zc+blN2UAB0=617@>_u;MPHN;P;N#YoE=)R#i$k_`UAA>WWCcEVMh~L_ zj--gtp&|K1#58Yz*AHCTMziU1Jzt_jG0I@qAOHsk$2}yTmVkBp_eHuY$A9)>P6o~I z%aQ?!(GqeQ-Y+b0I(m9pwgi(IIZZzsbMv+9w{PFtd_<_(LA~0H(xz{=FhLB@(1&qHA5EJw1>>=%q2f&^X>IQ{!GJ4e9U z&KlB)z(84HmNgm2hg2C0>WM{E(DdPr+EeU_N@57;PC2&DmGFW_9kP&%?X4}+xWi)( z;)z%wI5>D4a*5XwD)P--sPkoY(a~WBw;E~AW`Yue4kFa^LM3X`8x|}ZUeMnqr}>kH zG%WWW>3ml$Yez?i%)2pbKPI7?5o?hydokgQyZsNEr{a|mLdt;X2TX(#B1j35xPnPW z*bMSSOauW>o;*=kO8ojw91VX!qoOQb)zHJ!odWB}d+*K?#sY_jqPdg{Sm2HdYzdEx zOGVPhVRTGPtv0o}RfVP;Nd(|CB)I;*t&QO8h zFfekr30S!-LHmV_Su-W+rEwYXJ^;6&3|L$mMC8*bQptyOo9;>Qb9Q9`ySe3%V$A*9 zeKEe+b0{#KWGp$F+tga)0RtI)nhMa-K@JS}2krK~n8vJ=Ngm?R!9G<~RyuU0d?nz# z-5EK$o(!F?hmX*2Yt6+coY`6jGbb7tF#6nHA zuKk=GGJ;ZwON1iAfG$E#Y7MnZVmrY|j0eVI(DN_MNFJmyZ|;w4tf@=CCDZ#5N_0K= z$;R~bbk?}TpfDjfB&aiQ$VA}s?P}xPERJG{kxk5~R`iRS(SK5d+Xs9swCozZISbnS zk!)I0>t=A<-^z(cmSFz3=jZ23u13X><0b)P)^1T_))Kr`e!-pb#q&J*Q`p+B6la%C zuVl&0duN<;uOsB3%T9Fp8t{ED108<+W(nOZd?gDnfNBC3>M8WE61$So|P zVvqH0SNtDTcsUdzaMDpT=Ty0pDHHNL@Z0w$Y`XO z2M-_r1S+GaH%pz#Uy0*w$Vdl=X=rQXEzO}d6J^R6zjM1u&c9vYLvLp?W7w(?np9x1 zE_0JSAJCPB%i7p*Wvg)pn5T`8k3-uR?*NT|J`eS#_#54p>!p(mLDvmc-3o0mX*mp_ zN*AeS<>#^-{S%W<*mz^!X$w_2dHWpcJ6^j64qFBft-o}o_Vx80o0>}Du;>kLts;$8 zC`7q$QI(dKYG`Wa8#wl@V4jVWBRGQ@1dr-hstpQL)Tl+aqVpGpbSfN>5i&QMXfiZ> zaA?T1VGe?rpQ@;+pkrVdd{klI&jVS@I5_iz!=UMpTsa~mBga?1r}aRBm1WS;TT*s0f0lY=JBl66Upy)-k4J}lh=P^8(SXk~0xW=T9v*B|gzIhN z>qsO7dFd~mgxAy4V?&)=5ieYq?zi?ZEoj)&2o)RLy=@hbCRcfT5jigwtQGE{L*8<@Yd{zg;CsL5mvzfDY}P-wos_6PfprFVaeqNE%h zKZhLtcQld;ZD+>=nqN~>GvROfueSzJD&BE*}XfU|H&(FssBqY=hPCt`d zH?@s2>I(|;fcW&YM6#V#!kUIP8$Nkdh0A(bEVj``-AAyYgwY~jB zT|I7Bf@%;7aL7Wf4dZ%VqF$eiaC38OV6oy3Z#TER2G+fOCd9Iaoy6aLYbPTN{XRPz z;U!V|vBf%H!}52L2gH_+j;`bTcQRXB+y9onc^wLm5wi3-Be}U>k_u>2Eg$=k!(l@I zcCg+flakT2Nej3i0yn+g+}%NYb?ta;R?(g5SnwsQ49U8Wng8d|{B+lyRcEDvR3+`O{zfmrmvFrL6acVP%yG98X zo&+VBg@px@i)%o?dG(`T;n*$S5*rnyiR#=wW}}GsAcfyQpE|>a{=$Hjg=-*_K;UtD z#z-)AXwSRY?OPefw^iI+ z)AXz#PfEjlwTes|_{sB?4(O@fg0AJ^g8gP}ex9Ucf*@_^J(s_5jJV}c)s$`Myn|Kd z$6>}#q^n{4vN@+Os$m7KV+`}c%4)4pv@06af4-x5#wj!KKb%caK{A&Y#Rfs z-po?Dcb1({W=6FKIUirH&(yg=*6aLCekcKwyfK^JN5{wcA3nhO(o}SK#!CINhI`-I z1)6&n7O&ZmyFMuNwvEic#IiOAwNkR=u5it{B9n2sAJV5pNhar=j5`*N!Na;c7g!l$ z3aYBqUkqqTJ=Re-;)s!EOeij=7SQZ3Hq}ZRds%IM*PtM$wV z@;rlc*NRK7i3y5BETSKuumEN`Xu_8GP1Ri=OKQ$@I^ko8>H6)4rjiG5{VBM>B|%`&&s^)jS|-_95&yc=GqjNo{zFkw%%HHhS~e=s zD#sfS+-?*t|J!+ozP6KvtOl!R)@@-z24}`9{QaVLD^9VCSR2b`b!KC#o;Ki<+wXB6 zx3&O0LOWcg4&rv4QG0)4yb}7BFSEg~=IR5#ZRj8kg}dS7_V&^%#Do==#`u zpy6{ox?jWuR(;pg+f@mT>#HGWHAJRRDDDv~@(IDw&R>9643kK#HN`!1vBJHnC+RM&yIh8{gG2q zA%e*U3|N0XSRa~oX-3EAneep)@{h2vvd3Xvy$7og(sayr@95+e6~Xvi1tUqnIxoIH zVWo*OwYElb#uyW{Imam6f2rGbjR!Y3`#gPqkv57dB6K^wRGxc9B(t|aYDGS=m$&S!NmCtrMMaUg(c zc2qC=2Z`EEFMW-me5B)24AqF*bV5Dr-M5ig(l-WPS%CgaPzs6p_gnCIvTJ=Y<6!gT zVt@AfYCzjjsMEGi=rDQHo0yc;HqoRNnNFeWZgcm?f;cp(6CNylj36DoL(?TS7eU#+ z7&mfr#y))+CJOXQKUMZ7QIdS9@#-}7y2K1{8)cCt0~-X0O!O?Qx#E4Og+;A2SjalQ zs7r?qn0H044=sDN$SRG$arw~n=+T_DNdSrarmu)V6@|?1-ZB#hRn`uilTGPJ@fqEy zGt(f0B+^JDP&f=r{#Y_wi#AVDf-y!RIXU^0jXsFpf>=Ji*TeqSY!H~AMbJdCGLhC) zn7Rx+sXw6uYj;WRYrLd^5IZq@6JI1C^YkgnedZEYy<&4(z%Q$5yv#Boo{AH8n$a zhb4Y3PWdr269&?V%uI$xMcUrMzl=;w<_nm*qr=c3Rl@i5wWB;e-`t7D&c-mcQl7x! zZWB`UGcw=Y2=}~wzrfLx=uet<;m3~=8I~ZRuzvMQUQdr+yTV|ATf1Uuomr__nDf=X zZ3WYJtHp_ri(}SQAPjv+Y+0=fH4krOP@S&=zZ-t1jW1o@}z;xk8 z(Nz1co&El^HK^NrhVHa-_;&88vTU>_J33=%{if;BEY*J#1n59=07jrGQ#IP>@u#3A z;!q+E1Rj3ZJ+!4bq9F8PXJ@yMgZL;>&gYA0%_Kbi8?S=XGM~dnQZQ!yBSgcZhY96H zrWnU;k)qy`rX&&xlDyA%(a1Hhi5CWkmg(`Gb%m(HKi-7Z!LKGRP_B8@`7&hdDy5n= z`OIxqxiVfX@OX1p(mQu>0Ai*v_cTMiw4qRt3~NBvr9oBy0)r>w3p~V0SCm=An6@3n)>@z!|o-$HvDK z|3D2ZMJkLE5loMKl6R^ez@Zz%S$&mbeoqH5`Bb){Ei21q&VP)hWS2tjShfFtGE+$z zzCR$P#uktu+#!w)cX!lWN1XU%K-r=s{|j?)Akf@q#3b#{6cZCuJ~gCxuMXRmI$nGtnH+-h z+GEi!*X=AP<|fG`1>MBdTb?28JYc=fGvAi2I<$B(rs$;eoJCyR6_bc~p!XR@O-+sD z=eH`-ye})I5ic1eL~TDmtfJ|8`0VJ*Yr=hNCd)G1p2MMz4C3^Mj?7;!w|Ly%JqmuW zlIEW^Ft%z?*|fpXda>Jr^1noFZEwFgVV%|*XhH@acv8rdGxeEX{M$(vG{Zw+x(ei@ zmfXb22}8-?Fi`vo-YVrTH*C?a8%M=Hv9MqVH7H^J$KsD?>!SFZ;ZsvnHr_gn=7acz z#W?0eCdVhVMWN12VV^$>WlQ?f;P^{(&pYTops|btm6aj>_Uz+hqpGwB)vWp0Cf5y< zft8-je~nn?W11plq}N)4A{l8I7$!ks_x$PXW-2XaRFswX_BnF{R#6YIwMhAgd5F9X zGmwdadS6(a^fjHtXg8=l?Rc0Sm%hk6E9!5cLVloEy4eh(=FwgP`)~I^5~pBEWo+F6 zSf2ncyMurJN91#cJTy_u8Y}@%!bq1RkGC~-bV@SXRd4F{R-*V`bS+6;W5vZ(&+I<9$;-V|eNfLa5n-6% z2(}&uGRF;p92eS*sE*oR$@pexaqr*meB)VhmIg@h{uzkk$9~qh#cHhw#>O%)b@+(| z^IQgqzuj~Sk(J;swEM-3TrJAPCq9k^^^`q{IItKBRXYe}e0Tdr=Huf7da3$l4PdpwWDop%^}n;dD#K4s#DYA8SHZ z&1!riV4W4R7R#C))JH1~axJ)RYnM$$lIR%6fIVA@zV{XVyx}C+a-Dt8Y9M)^KU0+H zR4IUb2CJ{Hg>CuaXtD50jB(_Tcx=Z$^WYu2u5kubqmwp%drJ6 z?Fo40g!Qd<-l=TQxqHEOuPX0;^z7iX?Ke^a%XT<13TA^5`4Xcw6D@Ur&VT&CUe0d} z1GjOVF1^L@>O)l@?bD~$wzgf(nxX1OGD8fEV?TdJcZc2KoUe|oP1#=$$7ee|xbY)A zDZq+cuTpc(fFdj^=!;{k03C69lMQ(|>uhRfRu%+!k&YOi-3|1QKB z z?n?eq1XP>p-IM$Z^C;2L3itnbJZAip*Zo0aw2bs8@(s^~*8T9go!%dHcAz2lM;`yp zD=7&xjFV$S&5uDaiScyD?B-i1ze`+CoRtz`Wn+Zl&#s4&}MO{@N!ufrzjG$B79)Y2d3tBk&)TxUTw@QS0TEL_?njX|@vq?Uz(nBFK5Pq7*xj#u*R&i|?7+6# z+|r_n#SW&LXhtheZdah{ZVoqwyT{D>MC3nkFF#N)xLi{p7J1jXlmVeb;cP5?e(=f# zuT7fvjSbjS781v?7{)-X3*?>tq?)Yd)~|1{BDS(pqC zC}~H#WXlkUW*H5CDOo<)#x7%RY)A;ShGhI5s*#cRDA8YgqG(HeKDx+#(ZQ?386dv! zlXCO)w91~Vw4AmOcATuV653fa9R$fyK8ul%rG z-wfS zihugoZyr38Im?Zuh6@RcF~t1anQu7>#lPpb#}4cOA!EM11`%f*07RqOVkmX{p~KJ9 z^zP;K#|)$`^Rb{rnHGH{~>1(fawV0*Z#)}M`m8-?ZJV<+e}s9wE# z)l&az?w^5{)`S(%MRzxdNqrs1n*-=jS^_jqE*5XDrA0+VE`5^*p3CuM<&dZEeCjoz zR;uu_H9ZPZV|fQq`Cyw4nscrVwi!fE6ciMmX$!_hN7uF;jjKG)d2@aC4ropY)8etW=xJvni)8eHi`H$%#zn^WJ5NLc-rqk|u&&4Z6fD_m&JfSI1Bvb?b<*n&sfl0^t z=HnmRl`XrFvMKB%9}>PaA`m-fK6a0(8=qPkWS5bb4=v?XcWi&hRY?O5HdulRi4?fN zlsJ*N-0Qw+Yic@s0(2uy%F@ib;GjXt01Fmx5XbRo6+n|pP(&nodMoap^z{~q ziEeaUT@Mxe3vJSfI6?uLND(CNr=#^W<1b}jzW58bIfyWTDle$mmS(|x-0|2UlX+9k zQ^EX7Nw}?EzVoBfT(-LT|=9N@^hcn-_p&sqG z&*oVs2JSU+N4ZD`FhCAWaS;>|wH2G*Id|?pa#@>tyxX`+4HyIArWDvVrX)2WAOQff z0qyHu&-S@i^MS-+j--!pr4fPBj~_8({~e1bfcl0wI1kaoN>mJL6KUPQm5N7lB(ui1 zE-o%kq)&djzWJ}ob<-GfDlkB;F31j-VHKvQUGQ3sp`CwyGJk_i!y^sD0fqC@$9|jO zOqN!r!8-p==F@ZVP=U$qSpY(gQ0)59P1&t@y?5rvg<}E+GB}26NYPp4f2YFQrQtot5mn3wu_qprZ=>Ig-$ zbW26Ws~IgY>}^5w`vTB(G`PTZaDiGBo5o(tp)qli|NeV( z@H_=R8V39rt5J5YB2Ky?4eJJ#b`_iBe2ot~6%7mLt5t8Vwi^Jy7|jWXqa3amOIoRb zOr}WVFP--DsS`1WpN%~)t3R!arKF^Q$e12KEqU36AWwnCBICpH4XCsfnyrHr>$I$4 z!DpKX$OKLWarN7nv@!uIA+~RNO)l$$w}p(;b>mx8pwYvu;dD_unryX_NhT8*Tj>BTrTTL&!?O+%Rv;b?B??gSzdp?6Uug9{ zd@V08Z$BdI?fpoCS$)t4mg4rT8Q_I}h`0d-vYZ^|dOB*Q^S|xqTV*vIg?@fVFSmMpaw0qtTRbx} z({Pg?#{2`sc9)M5N$*N|4;^t$+QP?#mov zGVC@I*lBVrOU-%2y!7%)fAKjpEFsgQc4{amtiHb95KQEwvf<(3T<9-Zm$xIew#P22 zc2Ix|App^>v6(3L_MCU0d3W##AB0M~3D00EWoKZqsJYT(#@w$Y_H7G22M~ApVFTRHMI_3be)Lkn#0F*V8Pq zc}`Cjy$bE;FJ6H7p=0y#R>`}-m4(0F>%@P|?7fx{=R^uFdISRnZ2W_xQhD{YuR3t< z{6yxu=4~JkeA;|(J6_nv#>Nvs&FuLA&PW^he@t(UwFFE8)|a!R{`E`K`i^ZnyE4$k z;(749Ix|oi$c3QbEJ3b~D_kQsPz~fIUKym($a_7dJ?o+40*OLl^{=&oq$<#Q(yyrp z{J-FAniyAw9tPbe&IhQ|a`DqFTVQGQ&Gq3!C2==4x{6EJwiPZ8zub-iXoUtkJiG{} zPaR&}_fn8_z~(=;5lD-aPWD3z8PZS@AaUiomF!G8I}Mf>e~0g#BelA-5#`cj;O5>N Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/base_force_record_noupdate/static/description/index.html b/base_force_record_noupdate/static/description/index.html new file mode 100644 index 00000000000..cea66deef54 --- /dev/null +++ b/base_force_record_noupdate/static/description/index.html @@ -0,0 +1,425 @@ + + + + + +Force Record No-update + + + +

+

Force Record No-update

+ + +

Beta License: AGPL-3 SilvioC2C/server-tools

+

This module adds a boolean field on models form view, allowing to force +noupdate=True to data linked to those models.

+

Upon setting the field to True on a given model, noupdate=True will be set upon +existing data linked to it. When creating new data linked to that model, they will +always have noupdate=True (unless the field is reset on the model itself).

+

Table of contents

+ +
+

Usage

+

To use this module, you need to open the models’ form view and check field “Force No-Update”

+
+
+

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

+
    +
  • Camtocamp
  • +
+
+ +
+

Maintainers

+

This module is part of the SilvioC2C/server-tools project on GitHub.

+

You are welcome to contribute.

+
+
+
+ + diff --git a/base_force_record_noupdate/tests/__init__.py b/base_force_record_noupdate/tests/__init__.py new file mode 100644 index 00000000000..106e3eed2d1 --- /dev/null +++ b/base_force_record_noupdate/tests/__init__.py @@ -0,0 +1 @@ +from . import test_base_force_record_noupdate diff --git a/base_force_record_noupdate/tests/test_base_force_record_noupdate.py b/base_force_record_noupdate/tests/test_base_force_record_noupdate.py new file mode 100644 index 00000000000..aaba308b695 --- /dev/null +++ b/base_force_record_noupdate/tests/test_base_force_record_noupdate.py @@ -0,0 +1,75 @@ +# Copyright 2024 Camptocamp (https://www.camptocamp.com). +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html) + +from odoo.tests import TransactionCase + +MODULE = "base_force_record_noupdate" + + +class TestBaseForceRecordNoupdate(TransactionCase): + def test_00_test_model_create_noupdate_propagation(self): + # NB: we're only testing models created through UI, the feature is not + # supported yet for models created by the code itself + imd = self.env["ir.model.data"].create( + { + "module": MODULE, + "name": "test_ir_model_data_record", + "model": "x_my.model.test.00", + "noupdate": False, + } + ) + self.env["ir.model"].create( + { + "name": "My Model Test 00", + "state": "manual", + "model": "x_my.model.test.00", + "force_noupdate": True, + } + ) + self.assertTrue(imd.noupdate) + + def test_01_test_model_write_noupdate_propagation(self): + my_model = self.env["ir.model"].create( + { + "name": "My Model Test 01", + "state": "manual", + "model": "x_my.model.test.01", + "force_noupdate": False, + } + ) + imd = self.env["ir.model.data"].create( + { + "module": MODULE, + "name": "test_ir_model_data_record", + "model": "x_my.model.test.01", + "noupdate": False, + } + ) + my_model.force_noupdate = True + self.assertTrue(imd.noupdate) + + def test_02_test_model_data_create_noupdate(self): + self.env["ir.model"].create( + [ + { + "name": f"My Model Test 02.{n}", + "state": "manual", + "model": f"x_my.model.test.02.{n}", + "force_noupdate": force_noupdate, + } + for n, force_noupdate in [(1, True), (2, False)] + ] + ) + imd1, imd2 = self.env["ir.model.data"].create( + [ + { + "module": MODULE, + "name": f"test_ir_model_data_record_{n}", + "model": f"x_my.model.test.02.{n}", + "noupdate": False, + } + for n in (1, 2) + ] + ) + self.assertTrue(imd1.noupdate) + self.assertFalse(imd2.noupdate) diff --git a/base_force_record_noupdate/views/ir_model.xml b/base_force_record_noupdate/views/ir_model.xml new file mode 100644 index 00000000000..2540b0309eb --- /dev/null +++ b/base_force_record_noupdate/views/ir_model.xml @@ -0,0 +1,25 @@ + + + + + ir.model + + + + + + + + + + Toggle Force Noupdate + ir.actions.server + + code + +if records: + records.toggle_force_noupdate() + + + + From 40253cd2398852567bf48f084f5dbba4d55b935f Mon Sep 17 00:00:00 2001 From: Vincent Van Rossem Date: Fri, 24 May 2024 11:37:55 +0200 Subject: [PATCH 091/232] [IMP] base_force_record_noupdate: black, isort, prettier --- .../odoo/addons/base_force_record_noupdate | 1 + setup/base_force_record_noupdate/setup.py | 6 ++++++ 2 files changed, 7 insertions(+) create mode 120000 setup/base_force_record_noupdate/odoo/addons/base_force_record_noupdate create mode 100644 setup/base_force_record_noupdate/setup.py diff --git a/setup/base_force_record_noupdate/odoo/addons/base_force_record_noupdate b/setup/base_force_record_noupdate/odoo/addons/base_force_record_noupdate new file mode 120000 index 00000000000..991c951d33e --- /dev/null +++ b/setup/base_force_record_noupdate/odoo/addons/base_force_record_noupdate @@ -0,0 +1 @@ +../../../../base_force_record_noupdate \ No newline at end of file diff --git a/setup/base_force_record_noupdate/setup.py b/setup/base_force_record_noupdate/setup.py new file mode 100644 index 00000000000..28c57bb6403 --- /dev/null +++ b/setup/base_force_record_noupdate/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From c92f9ed693234054b045a5c6516349b95e393d60 Mon Sep 17 00:00:00 2001 From: Vincent Van Rossem Date: Fri, 24 May 2024 11:44:28 +0200 Subject: [PATCH 092/232] [MIG] base_force_record_noupdate: Backport to 14.0 --- base_force_record_noupdate/README.rst | 34 ++++++++++++++----- base_force_record_noupdate/__manifest__.py | 2 +- base_force_record_noupdate/models/ir_model.py | 4 +-- .../static/description/index.html | 24 ++++++++----- 4 files changed, 44 insertions(+), 20 deletions(-) diff --git a/base_force_record_noupdate/README.rst b/base_force_record_noupdate/README.rst index f5266153b62..4033a074fe5 100644 --- a/base_force_record_noupdate/README.rst +++ b/base_force_record_noupdate/README.rst @@ -16,11 +16,17 @@ Force Record No-update .. |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-SilvioC2C%2Fserver--tools-lightgray.png?logo=github - :target: https://github.com/SilvioC2C/server-tools/tree/16.0-new-base_force_record_noupdate/base_force_record_noupdate - :alt: SilvioC2C/server-tools - -|badge1| |badge2| |badge3| +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github + :target: https://github.com/OCA/server-tools/tree/14.0/base_force_record_noupdate + :alt: OCA/server-tools +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_force_record_noupdate + :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/server-tools&target_branch=14.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| This module adds a boolean field on models form view, allowing to force ``noupdate=True`` to data linked to those models. @@ -42,10 +48,10 @@ To use this module, you need to open the models' form view and check field "Forc Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. +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 `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -66,6 +72,16 @@ Contributors Maintainers ~~~~~~~~~~~ -This module is part of the `SilvioC2C/server-tools `_ project on GitHub. +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/server-tools `_ project on GitHub. -You are welcome to contribute. +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/base_force_record_noupdate/__manifest__.py b/base_force_record_noupdate/__manifest__.py index dc6ed7dcca1..bb1e1376aaa 100644 --- a/base_force_record_noupdate/__manifest__.py +++ b/base_force_record_noupdate/__manifest__.py @@ -7,7 +7,7 @@ "author": "Camtocamp, Odoo Community Association (OCA)", "website": "https://github.com/OCA/server-tools", "category": "Hidden", - "version": "16.0.1.0.0", + "version": "14.0.1.0.0", "license": "AGPL-3", "depends": ["base"], "data": ["views/ir_model.xml"], diff --git a/base_force_record_noupdate/models/ir_model.py b/base_force_record_noupdate/models/ir_model.py index 44dd1302b34..934281e0cb1 100644 --- a/base_force_record_noupdate/models/ir_model.py +++ b/base_force_record_noupdate/models/ir_model.py @@ -11,8 +11,8 @@ class Model(models.Model): force_noupdate = fields.Boolean("Force No-Update") @api.model_create_multi - def create(self, vals_list): - mods = super().create(vals_list) + def create(self, vals): + mods = super().create(vals) type(self)._get_noupdate_model_ids.clear_cache(self.browse()) self._propagate_noupdate_to_model_data() return mods diff --git a/base_force_record_noupdate/static/description/index.html b/base_force_record_noupdate/static/description/index.html index cea66deef54..d1d9bdd6f1a 100644 --- a/base_force_record_noupdate/static/description/index.html +++ b/base_force_record_noupdate/static/description/index.html @@ -8,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -274,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -300,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -368,7 +369,7 @@

Force Record No-update

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:da312318da6a5b90118144f6d5b265f86380b4c6d6c26eb129b5a534839bdc0e !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 SilvioC2C/server-tools

+

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

This module adds a boolean field on models form view, allowing to force noupdate=True to data linked to those models.

Upon setting the field to True on a given model, noupdate=True will be set upon @@ -393,10 +394,10 @@

Usage

Bug Tracker

-

Bugs are tracked on GitHub Issues. +

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.

+feedback.

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

@@ -416,8 +417,15 @@

Contributors

Maintainers

-

This module is part of the SilvioC2C/server-tools project on GitHub.

-

You are welcome to contribute.

+

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/server-tools project on GitHub.

+

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

From 31faccdb83199852d62fe5f878da19759df99777 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 18 Jun 2024 16:12:29 +0000 Subject: [PATCH 093/232] Translated using Weblate (Italian) Currently translated at 27.6% (18 of 65 strings) Translation: server-tools-14.0/server-tools-14.0-base_import_odoo Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_import_odoo/it/ --- base_import_odoo/i18n/it.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/base_import_odoo/i18n/it.po b/base_import_odoo/i18n/it.po index 07f470d2e53..3018f49d01c 100644 --- a/base_import_odoo/i18n/it.po +++ b/base_import_odoo/i18n/it.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: Odoo Server 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-10-26 03:03+0000\n" -"PO-Revision-Date: 2024-03-15 15:39+0000\n" +"PO-Revision-Date: 2024-06-18 18:37+0000\n" "Last-Translator: mymage \n" "Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" "Language: it\n" @@ -366,7 +366,7 @@ msgstr "" #. module: base_import_odoo #: model:ir.model.fields,field_description:base_import_odoo.field_import_odoo_database_url msgid "Url" -msgstr "Url" +msgstr "URL" #. module: base_import_odoo #: model:ir.model.fields,field_description:base_import_odoo.field_import_odoo_database_user From 94548574723875636db981a4f8b4dd016996442d Mon Sep 17 00:00:00 2001 From: Christopher Rogos Date: Fri, 19 Jan 2024 12:23:30 +0000 Subject: [PATCH 094/232] [IMP] tracking_manager: allow tracking readonly fields --- tracking_manager/__manifest__.py | 2 +- .../migrations/14.0.1.1.1/post-migration.py | 21 +++++++++++++++++++ tracking_manager/models/ir_model.py | 18 +++++++++------- 3 files changed, 32 insertions(+), 9 deletions(-) create mode 100644 tracking_manager/migrations/14.0.1.1.1/post-migration.py diff --git a/tracking_manager/__manifest__.py b/tracking_manager/__manifest__.py index c9559178ffe..19ba0995dba 100644 --- a/tracking_manager/__manifest__.py +++ b/tracking_manager/__manifest__.py @@ -6,7 +6,7 @@ "name": "Tracking Manager", "summary": """This module tracks all fields of a model, including one2many and many2many ones.""", - "version": "14.0.1.1.0", + "version": "14.0.1.1.1", "category": "Tools", "website": "https://github.com/OCA/server-tools", "author": "Akretion, Odoo Community Association (OCA)", diff --git a/tracking_manager/migrations/14.0.1.1.1/post-migration.py b/tracking_manager/migrations/14.0.1.1.1/post-migration.py new file mode 100644 index 00000000000..7ebab64d1e9 --- /dev/null +++ b/tracking_manager/migrations/14.0.1.1.1/post-migration.py @@ -0,0 +1,21 @@ +from openupgradelib import openupgrade + + +@openupgrade.migrate() +def migrate(env, version): + + openupgrade.logged_query( + env.cr, + """ + UPDATE ir_model_fields SET trackable = false; + UPDATE ir_model_fields SET trackable = true + WHERE name NOT IN ( + 'activity_ids', + 'message_ids', + 'message_last_post', + 'message_main_attachment', + 'message_main_attachement_id' + ) + AND store AND related IS NULL; + """, + ) diff --git a/tracking_manager/models/ir_model.py b/tracking_manager/models/ir_model.py index 79603590002..0b9f787c0a8 100644 --- a/tracking_manager/models/ir_model.py +++ b/tracking_manager/models/ir_model.py @@ -100,21 +100,27 @@ def _compute_automatic_custom_tracking(self): def _default_automatic_custom_tracking_domain_rules(self): return { "product.product": [ + ("readonly", "=", False), "|", ("ttype", "!=", "one2many"), ("name", "in", ["barcode_ids"]), ], "sale.order": [ + ("readonly", "=", False), "|", ("ttype", "!=", "one2many"), ("name", "in", ["order_line"]), ], "account.move": [ + ("readonly", "=", False), "|", ("ttype", "!=", "one2many"), ("name", "in", ["invoice_line_ids"]), ], - "default_automatic_rule": [("ttype", "!=", "one2many")], + "default_automatic_rule": [ + ("ttype", "!=", "one2many"), + ("readonly", "=", False), + ], } @api.depends("automatic_custom_tracking") @@ -176,7 +182,7 @@ def _compute_native_tracking(self): for record in self: record.native_tracking = bool(record.tracking) - @api.depends("readonly", "related", "store") + @api.depends("related", "store") def _compute_trackable(self): blacklists = [ "activity_ids", @@ -185,13 +191,9 @@ def _compute_trackable(self): "message_main_attachment", "message_main_attachement_id", ] + for rec in self: - rec.trackable = ( - rec.name not in blacklists - and rec.store - and not rec.readonly - and not rec.related - ) + rec.trackable = rec.name not in blacklists and rec.store and not rec.related def write(self, vals): custom_tracking = None From c902531e01fd60f40ff06bfa358862605f37dc82 Mon Sep 17 00:00:00 2001 From: Akim Juillerat Date: Mon, 6 May 2024 20:11:31 +0200 Subject: [PATCH 095/232] [IMP] tracking_manager: Fix trackable conditions The condition on stored field does not allow to track changes on property fields as they are not stored on the model itself, although Odoo allows to track such fields. Use a blacklist of mixins to make sure all the fields from these models are blacklisted and use a function to allow custom redefinition. --- tracking_manager/models/ir_model.py | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/tracking_manager/models/ir_model.py b/tracking_manager/models/ir_model.py index 0b9f787c0a8..226b8924a59 100644 --- a/tracking_manager/models/ir_model.py +++ b/tracking_manager/models/ir_model.py @@ -182,18 +182,24 @@ def _compute_native_tracking(self): for record in self: record.native_tracking = bool(record.tracking) - @api.depends("related", "store") - def _compute_trackable(self): - blacklists = [ - "activity_ids", - "message_ids", - "message_last_post", - "message_main_attachment", - "message_main_attachement_id", + def _get_trackable_blacklist_models(self): + return [ + "mail.activity.mixin", + "mail.alias.mixin", + "mail.render.mixin", + "mail.thread", + "mail.thread.blacklist", + "mail.thread.cc", ] + @api.depends("related") + def _compute_trackable(self): + blacklisted_models = self._get_trackable_blacklist_models() + blacklisted_fields = [ + fname for model in blacklisted_models for fname in self.env[model]._fields + ] for rec in self: - rec.trackable = rec.name not in blacklists and rec.store and not rec.related + rec.trackable = rec.name not in blacklisted_fields and not rec.related def write(self, vals): custom_tracking = None From ab9ec755398cb9b20098f9e7451d7b15453ae1e8 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 24 Jun 2024 14:41:33 +0000 Subject: [PATCH 096/232] [BOT] post-merge updates --- README.md | 2 +- tracking_manager/README.rst | 2 +- tracking_manager/__manifest__.py | 2 +- tracking_manager/static/description/index.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 27d2cbc8928..51791a94796 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ addon | version | maintainers | summary [sql_export_mail](sql_export_mail/) | 14.0.1.0.0 | | Send csv file generated by sql query by mail. [sql_request_abstract](sql_request_abstract/) | 14.0.1.3.0 | [![legalsylvain](https://github.com/legalsylvain.png?size=30px)](https://github.com/legalsylvain) | Abstract Model to manage SQL Requests [test_base_time_window](test_base_time_window/) | 14.0.1.0.1 | | Test Base model to handle time windows -[tracking_manager](tracking_manager/) | 14.0.1.1.0 | [![Kev-Roche](https://github.com/Kev-Roche.png?size=30px)](https://github.com/Kev-Roche) [![sebastienbeau](https://github.com/sebastienbeau.png?size=30px)](https://github.com/sebastienbeau) | This module tracks all fields of a model, including one2many and many2many ones. +[tracking_manager](tracking_manager/) | 14.0.1.2.0 | [![Kev-Roche](https://github.com/Kev-Roche.png?size=30px)](https://github.com/Kev-Roche) [![sebastienbeau](https://github.com/sebastienbeau.png?size=30px)](https://github.com/sebastienbeau) | This module tracks all fields of a model, including one2many and many2many ones. [upgrade_analysis](upgrade_analysis/) | 14.0.3.0.0 | | Performs a difference analysis between modules installed on two different Odoo instances [url_attachment_search_fuzzy](url_attachment_search_fuzzy/) | 14.0.1.0.1 | [![mariadforgelow](https://github.com/mariadforgelow.png?size=30px)](https://github.com/mariadforgelow) | Fuzzy Search of URL in Attachments diff --git a/tracking_manager/README.rst b/tracking_manager/README.rst index aea0ee5ab74..ee8edfe9580 100644 --- a/tracking_manager/README.rst +++ b/tracking_manager/README.rst @@ -7,7 +7,7 @@ Tracking Manager !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:a743ee0c4ecde774f7da96ac3207eec330ad451f1cbc48ed309b3d2bbe745b81 + !! source digest: sha256:998f99ea506d63d49fb8455d59faf92004ab2fb1032e53171cdcc6515e8a7676 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/tracking_manager/__manifest__.py b/tracking_manager/__manifest__.py index 19ba0995dba..8c884224be8 100644 --- a/tracking_manager/__manifest__.py +++ b/tracking_manager/__manifest__.py @@ -6,7 +6,7 @@ "name": "Tracking Manager", "summary": """This module tracks all fields of a model, including one2many and many2many ones.""", - "version": "14.0.1.1.1", + "version": "14.0.1.2.0", "category": "Tools", "website": "https://github.com/OCA/server-tools", "author": "Akretion, Odoo Community Association (OCA)", diff --git a/tracking_manager/static/description/index.html b/tracking_manager/static/description/index.html index fca2788b041..50f4c013daf 100644 --- a/tracking_manager/static/description/index.html +++ b/tracking_manager/static/description/index.html @@ -366,7 +366,7 @@

Tracking Manager

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:a743ee0c4ecde774f7da96ac3207eec330ad451f1cbc48ed309b3d2bbe745b81 +!! source digest: sha256:998f99ea506d63d49fb8455d59faf92004ab2fb1032e53171cdcc6515e8a7676 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

This module allows to track all fields on every model that has a chatter, including one2many and many2many ones. This excludes the computed, readonly, related fields by default. From 5eba3560073730109c6b22d668bf7a3a690b091f Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 1 Jul 2024 15:34:52 +0000 Subject: [PATCH 097/232] [BOT] post-merge updates --- README.md | 2 +- base_name_search_improved/README.rst | 2 +- base_name_search_improved/__manifest__.py | 2 +- base_name_search_improved/static/description/index.html | 3 +-- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 51791a94796..02996374e29 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ addon | version | maintainers | summary [base_m2m_custom_field](base_m2m_custom_field/) | 14.0.1.1.0 | | Customizations of Many2many [base_model_restrict_update](base_model_restrict_update/) | 14.0.1.1.0 | | Update Restrict Model [base_multi_image](base_multi_image/) | 14.0.1.0.1 | | Allow multiple images for database objects -[base_name_search_improved](base_name_search_improved/) | 14.0.1.1.1 | | Friendlier search when typing in relation fields +[base_name_search_improved](base_name_search_improved/) | 14.0.1.1.2 | | Friendlier search when typing in relation fields [base_name_search_multi_lang](base_name_search_multi_lang/) | 14.0.1.0.0 | [![kittiu](https://github.com/kittiu.png?size=30px)](https://github.com/kittiu) | Name search by multiple active language [base_order_by_related](base_order_by_related/) | 14.0.1.0.0 | [![thomaspaulb](https://github.com/thomaspaulb.png?size=30px)](https://github.com/thomaspaulb) | Order by non-stored related fields [base_remote](base_remote/) | 14.0.1.0.1 | | Remote Base diff --git a/base_name_search_improved/README.rst b/base_name_search_improved/README.rst index e47359b4618..aba65fe4c82 100644 --- a/base_name_search_improved/README.rst +++ b/base_name_search_improved/README.rst @@ -7,7 +7,7 @@ Improved Name Search !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:5d50320af8a2d5421d7ebeb1163ebe35f90087e4aedcea51408d038f16b9b396 + !! source digest: sha256:168cdc16a2071f55b7f9181c300ee342f581616be0f6f2df80c5d8735ac5b64b !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/base_name_search_improved/__manifest__.py b/base_name_search_improved/__manifest__.py index 2202cee6082..8f4d855817f 100644 --- a/base_name_search_improved/__manifest__.py +++ b/base_name_search_improved/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Improved Name Search", "summary": "Friendlier search when typing in relation fields", - "version": "14.0.1.1.1", + "version": "14.0.1.1.2", "category": "Uncategorized", "website": "https://github.com/OCA/server-tools", "author": "Daniel Reis, Odoo Community Association (OCA), ADHOC SA", diff --git a/base_name_search_improved/static/description/index.html b/base_name_search_improved/static/description/index.html index ad0311e3eeb..713b9ec0595 100644 --- a/base_name_search_improved/static/description/index.html +++ b/base_name_search_improved/static/description/index.html @@ -1,4 +1,3 @@ - @@ -367,7 +366,7 @@

Improved Name Search

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:5d50320af8a2d5421d7ebeb1163ebe35f90087e4aedcea51408d038f16b9b396 +!! source digest: sha256:168cdc16a2071f55b7f9181c300ee342f581616be0f6f2df80c5d8735ac5b64b !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

Extends the name search feature to use additional, more relaxed From de819794d5e325a233e3ede3eaab5b7e358b4ef9 Mon Sep 17 00:00:00 2001 From: Tom Blauwendraat Date: Fri, 2 Feb 2024 20:07:08 +0100 Subject: [PATCH 098/232] [FIX] database_cleanup: fix logging error introduced by #2098 --- database_cleanup/models/purge_tables.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/database_cleanup/models/purge_tables.py b/database_cleanup/models/purge_tables.py index 81003674e1a..63fa2171a3b 100644 --- a/database_cleanup/models/purge_tables.py +++ b/database_cleanup/models/purge_tables.py @@ -83,7 +83,7 @@ def purge(self): _sql_type = "TABLE" elif line.table_type == "view": _sql_type = "VIEW" - self.logger.info("Dropping %s %s", (_sql_type, line.name)) + self.logger.info("Dropping %s %s", _sql_type, line.name) self.env.cr.execute( "DROP %s %s", (AsIs(_sql_type), IdentifierAdapter(line.name)) ) From 236a059b39d341498d8a0baac0a4f49875845d43 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 8 Jul 2024 16:03:50 +0000 Subject: [PATCH 099/232] [BOT] post-merge updates --- README.md | 2 +- database_cleanup/README.rst | 2 +- database_cleanup/__manifest__.py | 2 +- database_cleanup/static/description/index.html | 17 +++++++++++------ 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 02996374e29..594515c82cc 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ addon | version | maintainers | summary [bus_alt_connection](bus_alt_connection/) | 14.0.1.0.0 | | Needed when using PgBouncer as a connection pooler [configuration_helper](configuration_helper/) | 14.0.1.0.1 | | Configuration Helper [cron_daylight_saving_time_resistant](cron_daylight_saving_time_resistant/) | 14.0.1.0.0 | | Run cron on fixed hours -[database_cleanup](database_cleanup/) | 14.0.1.1.0 | | Database cleanup +[database_cleanup](database_cleanup/) | 14.0.1.1.1 | | Database cleanup [datetime_formatter](datetime_formatter/) | 14.0.1.0.0 | | Helper functions to give correct format to date[time] fields [dbfilter_from_header](dbfilter_from_header/) | 14.0.1.0.1 | | Filter databases with HTTP headers [excel_import_export](excel_import_export/) | 14.0.1.1.2 | [![kittiu](https://github.com/kittiu.png?size=30px)](https://github.com/kittiu) | Base module for developing Excel import/export/report diff --git a/database_cleanup/README.rst b/database_cleanup/README.rst index 5e1bd3530b8..236ac509e4b 100644 --- a/database_cleanup/README.rst +++ b/database_cleanup/README.rst @@ -7,7 +7,7 @@ Database cleanup !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:ef72c0eb321184874b81dc72099c766f1ddecd998d7b5a638d6bb02db9aa9f52 + !! source digest: sha256:1b27b6cfdfdc853b7f0fa8e1202079aad7a29f05b3f807bf232506e7ed058dab !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/database_cleanup/__manifest__.py b/database_cleanup/__manifest__.py index f07c89b3886..b7d83a3d4e6 100644 --- a/database_cleanup/__manifest__.py +++ b/database_cleanup/__manifest__.py @@ -3,7 +3,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { "name": "Database cleanup", - "version": "14.0.1.1.0", + "version": "14.0.1.1.1", "author": "Therp BV,Odoo Community Association (OCA)", "website": "https://github.com/OCA/server-tools", "depends": ["base"], diff --git a/database_cleanup/static/description/index.html b/database_cleanup/static/description/index.html index f9d1f4ab400..20f22fda5ac 100644 --- a/database_cleanup/static/description/index.html +++ b/database_cleanup/static/description/index.html @@ -8,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -274,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -300,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -366,7 +367,7 @@

Database cleanup

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:ef72c0eb321184874b81dc72099c766f1ddecd998d7b5a638d6bb02db9aa9f52 +!! source digest: sha256:1b27b6cfdfdc853b7f0fa8e1202079aad7a29f05b3f807bf232506e7ed058dab !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

Clean your Odoo database from remnants of modules, models, columns and @@ -398,7 +399,9 @@

Usage

entries under this menu (in that order) and find out if there is orphaned data in your database. You can either delete entries by line, or sweep all entries in one big step (if you are really confident).

-Try me on Runbot + +Try me on Runbot +

Bug Tracker

@@ -427,7 +430,9 @@

Contributors

Maintainers

This module is maintained by the OCA.

-Odoo Community Association + +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.

From 98f31298d521842aa774ca767be127cf58e2abd8 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 9 Jul 2024 07:42:28 +0000 Subject: [PATCH 100/232] Translated using Weblate (Italian) Currently translated at 82.5% (165 of 200 strings) Translation: server-tools-14.0/server-tools-14.0-excel_import_export Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-excel_import_export/it/ --- excel_import_export/i18n/it.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/excel_import_export/i18n/it.po b/excel_import_export/i18n/it.po index 97d88a7835a..40fa767ecd1 100644 --- a/excel_import_export/i18n/it.po +++ b/excel_import_export/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-02-12 10:46+0000\n" +"PO-Revision-Date: 2024-07-09 09:58+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -14,7 +14,7 @@ msgstr "" "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" +"X-Generator: Weblate 5.6.2\n" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -1305,7 +1305,7 @@ msgstr "Il modello %s sul modello %s non è unico!" #: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__fname #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__name msgid "Template Name" -msgstr "Nome Modello" +msgstr "Nome modello" #. module: excel_import_export #: code:addons/excel_import_export/models/common.py:0 From c76d843734155f0774b2329824aeca2dd98aa808 Mon Sep 17 00:00:00 2001 From: Mark Schuit Date: Tue, 20 Feb 2024 13:59:55 +0800 Subject: [PATCH 101/232] Prevent deletion of columns added in the init method of the model. See issue https://github.com/OCA/server-tools/issues/2851. --- database_cleanup/models/purge_columns.py | 3 ++- database_cleanup/readme/CONTRIBUTORS.rst | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/database_cleanup/models/purge_columns.py b/database_cleanup/models/purge_columns.py index 8ccb0cf1530..31f8a78c269 100644 --- a/database_cleanup/models/purge_columns.py +++ b/database_cleanup/models/purge_columns.py @@ -68,7 +68,8 @@ class CleanupPurgeWizardColumn(models.TransientModel): # Format: {table: [fields]} blacklist = { "wkf_instance": ["uid"], # lp:1277899 - "res_users": ["password", "password_crypt"], + "res_users": ["password", "password_crypt", "totp_secret"], + "res_partner": ["signup_token"], } @api.model diff --git a/database_cleanup/readme/CONTRIBUTORS.rst b/database_cleanup/readme/CONTRIBUTORS.rst index 347fe7519e1..78e9d62929a 100644 --- a/database_cleanup/readme/CONTRIBUTORS.rst +++ b/database_cleanup/readme/CONTRIBUTORS.rst @@ -1,3 +1,4 @@ * Stefan Rijnhart * Holger Brunn * Stéphane Mangin +* Mark Schuit From 002bdfc13da1d4b9066e9deeecabbc94308c4409 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 19 Jul 2024 23:34:29 +0000 Subject: [PATCH 102/232] [BOT] post-merge updates --- README.md | 2 +- database_cleanup/README.rst | 3 ++- database_cleanup/__manifest__.py | 2 +- database_cleanup/static/description/index.html | 3 ++- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 594515c82cc..5a8f1e54797 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ addon | version | maintainers | summary [bus_alt_connection](bus_alt_connection/) | 14.0.1.0.0 | | Needed when using PgBouncer as a connection pooler [configuration_helper](configuration_helper/) | 14.0.1.0.1 | | Configuration Helper [cron_daylight_saving_time_resistant](cron_daylight_saving_time_resistant/) | 14.0.1.0.0 | | Run cron on fixed hours -[database_cleanup](database_cleanup/) | 14.0.1.1.1 | | Database cleanup +[database_cleanup](database_cleanup/) | 14.0.1.1.2 | | Database cleanup [datetime_formatter](datetime_formatter/) | 14.0.1.0.0 | | Helper functions to give correct format to date[time] fields [dbfilter_from_header](dbfilter_from_header/) | 14.0.1.0.1 | | Filter databases with HTTP headers [excel_import_export](excel_import_export/) | 14.0.1.1.2 | [![kittiu](https://github.com/kittiu.png?size=30px)](https://github.com/kittiu) | Base module for developing Excel import/export/report diff --git a/database_cleanup/README.rst b/database_cleanup/README.rst index 236ac509e4b..cb0ddde4b78 100644 --- a/database_cleanup/README.rst +++ b/database_cleanup/README.rst @@ -7,7 +7,7 @@ Database cleanup !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:1b27b6cfdfdc853b7f0fa8e1202079aad7a29f05b3f807bf232506e7ed058dab + !! source digest: sha256:5f3357362da836a03f1b14632af0033558b6137aec460e815aa5e9b0f6f9cd48 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png @@ -81,6 +81,7 @@ Contributors * Stefan Rijnhart * Holger Brunn * Stéphane Mangin +* Mark Schuit Maintainers ~~~~~~~~~~~ diff --git a/database_cleanup/__manifest__.py b/database_cleanup/__manifest__.py index b7d83a3d4e6..c5fd0645d9c 100644 --- a/database_cleanup/__manifest__.py +++ b/database_cleanup/__manifest__.py @@ -3,7 +3,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { "name": "Database cleanup", - "version": "14.0.1.1.1", + "version": "14.0.1.1.2", "author": "Therp BV,Odoo Community Association (OCA)", "website": "https://github.com/OCA/server-tools", "depends": ["base"], diff --git a/database_cleanup/static/description/index.html b/database_cleanup/static/description/index.html index 20f22fda5ac..65e8ba2ed18 100644 --- a/database_cleanup/static/description/index.html +++ b/database_cleanup/static/description/index.html @@ -367,7 +367,7 @@

Database cleanup

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:1b27b6cfdfdc853b7f0fa8e1202079aad7a29f05b3f807bf232506e7ed058dab +!! source digest: sha256:5f3357362da836a03f1b14632af0033558b6137aec460e815aa5e9b0f6f9cd48 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

Clean your Odoo database from remnants of modules, models, columns and @@ -425,6 +425,7 @@

Contributors

  • Stefan Rijnhart <stefan@opener.amsterdam>
  • Holger Brunn <hbrunn@therp.nl>
  • Stéphane Mangin <stephane.mangin@camptocamp.com>
  • +
  • Mark Schuit <mark@gig.solutions>
  • From c3ef9051721a343a6096a566b0ff6f331649fc36 Mon Sep 17 00:00:00 2001 From: Mmequignon Date: Tue, 23 Jul 2024 17:55:50 +0200 Subject: [PATCH 103/232] tracking_manager: Fix tools.formatm2m --- tracking_manager/tools.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tracking_manager/tools.py b/tracking_manager/tools.py index 1e1794d8061..a475f35269a 100644 --- a/tracking_manager/tools.py +++ b/tracking_manager/tools.py @@ -4,4 +4,11 @@ def format_m2m(records): - return "; ".join(records.mapped("display_name")) + # In some cases (I.E. account_asset/models/account_asset.py), _message_track + # is called with a dict of None values as initial_values. + # As a result, create_tracking_values would be called with None as initial_value + # and this format_m2m would be called with None as an argument. + # In such case, return "None" + if records: + return "; ".join(records.mapped("display_name")) + return "" From 989863f9b5de32154a0c6ed72c8b27835c17dea1 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 24 Jul 2024 15:36:03 +0000 Subject: [PATCH 104/232] [BOT] post-merge updates --- README.md | 2 +- tracking_manager/README.rst | 2 +- tracking_manager/__manifest__.py | 2 +- tracking_manager/static/description/index.html | 13 ++++++++----- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 5a8f1e54797..cfa02e5dd2d 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ addon | version | maintainers | summary [sql_export_mail](sql_export_mail/) | 14.0.1.0.0 | | Send csv file generated by sql query by mail. [sql_request_abstract](sql_request_abstract/) | 14.0.1.3.0 | [![legalsylvain](https://github.com/legalsylvain.png?size=30px)](https://github.com/legalsylvain) | Abstract Model to manage SQL Requests [test_base_time_window](test_base_time_window/) | 14.0.1.0.1 | | Test Base model to handle time windows -[tracking_manager](tracking_manager/) | 14.0.1.2.0 | [![Kev-Roche](https://github.com/Kev-Roche.png?size=30px)](https://github.com/Kev-Roche) [![sebastienbeau](https://github.com/sebastienbeau.png?size=30px)](https://github.com/sebastienbeau) | This module tracks all fields of a model, including one2many and many2many ones. +[tracking_manager](tracking_manager/) | 14.0.1.2.1 | [![Kev-Roche](https://github.com/Kev-Roche.png?size=30px)](https://github.com/Kev-Roche) [![sebastienbeau](https://github.com/sebastienbeau.png?size=30px)](https://github.com/sebastienbeau) | This module tracks all fields of a model, including one2many and many2many ones. [upgrade_analysis](upgrade_analysis/) | 14.0.3.0.0 | | Performs a difference analysis between modules installed on two different Odoo instances [url_attachment_search_fuzzy](url_attachment_search_fuzzy/) | 14.0.1.0.1 | [![mariadforgelow](https://github.com/mariadforgelow.png?size=30px)](https://github.com/mariadforgelow) | Fuzzy Search of URL in Attachments diff --git a/tracking_manager/README.rst b/tracking_manager/README.rst index ee8edfe9580..80f589ca313 100644 --- a/tracking_manager/README.rst +++ b/tracking_manager/README.rst @@ -7,7 +7,7 @@ Tracking Manager !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:998f99ea506d63d49fb8455d59faf92004ab2fb1032e53171cdcc6515e8a7676 + !! source digest: sha256:1b6253512299ab00c6e437726189c0e7cc561ab9aa9d1b601999aeee369dba18 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/tracking_manager/__manifest__.py b/tracking_manager/__manifest__.py index 8c884224be8..90bb65a57db 100644 --- a/tracking_manager/__manifest__.py +++ b/tracking_manager/__manifest__.py @@ -6,7 +6,7 @@ "name": "Tracking Manager", "summary": """This module tracks all fields of a model, including one2many and many2many ones.""", - "version": "14.0.1.2.0", + "version": "14.0.1.2.1", "category": "Tools", "website": "https://github.com/OCA/server-tools", "author": "Akretion, Odoo Community Association (OCA)", diff --git a/tracking_manager/static/description/index.html b/tracking_manager/static/description/index.html index 50f4c013daf..1ac17331fd2 100644 --- a/tracking_manager/static/description/index.html +++ b/tracking_manager/static/description/index.html @@ -8,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -274,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -300,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -366,7 +367,7 @@

    Tracking Manager

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:998f99ea506d63d49fb8455d59faf92004ab2fb1032e53171cdcc6515e8a7676 +!! source digest: sha256:1b6253512299ab00c6e437726189c0e7cc561ab9aa9d1b601999aeee369dba18 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    This module allows to track all fields on every model that has a chatter, including one2many and many2many ones. This excludes the computed, readonly, related fields by default. @@ -428,7 +429,9 @@

    Contributors

    Maintainers

    This module is maintained by the OCA.

    -Odoo Community Association + +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.

    From fed86c0d8367f0a616441cf946d379d17e0a3388 Mon Sep 17 00:00:00 2001 From: Simone Orsi Date: Tue, 20 Aug 2024 08:00:17 +0200 Subject: [PATCH 105/232] jsonifier: fix field validation An invalid field must be skipped in any case if not in strict mode. Error message has been downgraded to warning since is not really broken till you use string mode. Log tests reworked. --- jsonifier/models/models.py | 16 ++++++++-------- jsonifier/tests/test_get_parser.py | 20 ++++++++++---------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/jsonifier/models/models.py b/jsonifier/models/models.py index 635d768a9ab..e802d936b3b 100644 --- a/jsonifier/models/models.py +++ b/jsonifier/models/models.py @@ -121,15 +121,15 @@ def _jsonify_record_validate_field(self, rec, field_dict, strict): if strict: # let it fail rec._fields[field_name] # pylint: disable=pointless-statement - if not tools.config["test_enable"]: - # If running live, log proper error - # so that techies can track it down - _logger.error( - "%(model)s.%(fname)s not available", - {"model": self._name, "fname": field_name}, - ) + else: + if not tools.config["test_enable"]: + # If running live, log proper error + # so that techies can track it down + _logger.warning( + "%(model)s.%(fname)s not available", + {"model": self._name, "fname": field_name}, + ) raise SwallableException() - return True def _jsonify_record_handle_function(self, rec, field_dict, strict): diff --git a/jsonifier/tests/test_get_parser.py b/jsonifier/tests/test_get_parser.py index 43bd3ce9e60..34a1dcdad0e 100644 --- a/jsonifier/tests/test_get_parser.py +++ b/jsonifier/tests/test_get_parser.py @@ -3,7 +3,6 @@ # Simone Orsi # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). -import mock from odoo import fields, tools from odoo.exceptions import UserError @@ -394,24 +393,25 @@ def test_bad_parsers_strict(self): def test_bad_parsers_fail_gracefully(self): rec = self.category - logger_patch_path = "odoo.addons.jsonifier.models.models._logger.error" - - # logging is disabled when testing as it's useless and makes build fail. + # logging is disabled when testing as it makes too much noise tools.config["test_enable"] = False + logger_name = "odoo.addons.jsonifier.models.models" bad_field_name = ["Name"] - with mock.patch(logger_patch_path) as mocked_logger: + with self.assertLogs(logger=logger_name, level="WARNING") as capt: rec.jsonify(bad_field_name, one=True) - mocked_logger.assert_called() + self.assertIn("res.partner.category.Name not availabl", capt.output[0]) bad_function_name = {"fields": [{"name": "name", "function": "notafunction"}]} - with mock.patch(logger_patch_path) as mocked_logger: + with self.assertLogs(logger=logger_name, level="WARNING") as capt: rec.jsonify(bad_function_name, one=True) - mocked_logger.assert_called() + self.assertIn( + "res.partner.category.notafunction not available", capt.output[0] + ) bad_subparser = {"fields": [({"name": "name"}, [{"name": "subparser_name"}])]} - with mock.patch(logger_patch_path) as mocked_logger: + with self.assertLogs(logger=logger_name, level="WARNING") as capt: rec.jsonify(bad_subparser, one=True) - mocked_logger.assert_called() + self.assertIn("res.partner.category.name not relational", capt.output[0]) tools.config["test_enable"] = True From 1f045add592e7f885aec549d493d32270165a109 Mon Sep 17 00:00:00 2001 From: Anna Janiszewska Date: Tue, 20 Aug 2024 10:23:07 +0200 Subject: [PATCH 106/232] [FIX] tracking_manager: custom_tracking compute fix When automatic configuration is applied on the model, it computes fields which can be tracked based on applied domain. But when automatic_custom_tracking is set from True to False it does not recompute tracked fields back. --- tracking_manager/models/ir_model.py | 2 +- tracking_manager/tests/test_tracking_manager.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/tracking_manager/models/ir_model.py b/tracking_manager/models/ir_model.py index 226b8924a59..b5a54e0334a 100644 --- a/tracking_manager/models/ir_model.py +++ b/tracking_manager/models/ir_model.py @@ -168,7 +168,7 @@ class IrModelFields(models.Model): store=True, ) - @api.depends("native_tracking", "trackable") + @api.depends("native_tracking", "trackable", "model_id.automatic_custom_tracking") def _compute_custom_tracking(self): for record in self: if record.model_id.automatic_custom_tracking: diff --git a/tracking_manager/tests/test_tracking_manager.py b/tracking_manager/tests/test_tracking_manager.py index a208b2b84d3..95d5d2fe3b5 100644 --- a/tracking_manager/tests/test_tracking_manager.py +++ b/tracking_manager/tests/test_tracking_manager.py @@ -36,6 +36,10 @@ def setUpClass(cls): ) cls.partner_model = cls.env.ref("base.model_res_partner") cls._active_tracking(["bank_ids", "category_id"]) + bank_ids_field = cls.partner_model.field_id.filtered( + lambda x: x.name == "bank_ids" + ) + bank_ids_field.custom_tracking = True cls.flush_tracking() cls.partner.message_ids.unlink() From ad6719a0106644c3de986019a4f390f206971126 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 13 Sep 2024 18:34:10 +0000 Subject: [PATCH 107/232] [BOT] post-merge updates --- README.md | 2 +- sentry/README.rst | 2 +- sentry/__manifest__.py | 2 +- sentry/static/description/index.html | 18 +++++++++++------- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index cfa02e5dd2d..e1c28e4148d 100644 --- a/README.md +++ b/README.md @@ -88,7 +88,7 @@ addon | version | maintainers | summary [profiler](profiler/) | 14.0.1.0.0 | [![thomaspaulb](https://github.com/thomaspaulb.png?size=30px)](https://github.com/thomaspaulb) | profiler [rpc_helper](rpc_helper/) | 14.0.1.2.0 | [![simahawk](https://github.com/simahawk.png?size=30px)](https://github.com/simahawk) | Helpers for disabling RPC calls [scheduler_error_mailer](scheduler_error_mailer/) | 14.0.1.2.1 | | Scheduler Error Mailer -[sentry](sentry/) | 14.0.3.0.1 | [![barsi](https://github.com/barsi.png?size=30px)](https://github.com/barsi) [![naglis](https://github.com/naglis.png?size=30px)](https://github.com/naglis) [![versada](https://github.com/versada.png?size=30px)](https://github.com/versada) [![moylop260](https://github.com/moylop260.png?size=30px)](https://github.com/moylop260) [![fernandahf](https://github.com/fernandahf.png?size=30px)](https://github.com/fernandahf) | Report Odoo errors to Sentry +[sentry](sentry/) | 14.0.3.0.2 | [![barsi](https://github.com/barsi.png?size=30px)](https://github.com/barsi) [![naglis](https://github.com/naglis.png?size=30px)](https://github.com/naglis) [![versada](https://github.com/versada.png?size=30px)](https://github.com/versada) [![moylop260](https://github.com/moylop260.png?size=30px)](https://github.com/moylop260) [![fernandahf](https://github.com/fernandahf.png?size=30px)](https://github.com/fernandahf) | Report Odoo errors to Sentry [sequence_python](sequence_python/) | 14.0.1.0.0 | | Calculate a sequence number from a Python expression [session_db](session_db/) | 14.0.1.0.2 | [![sbidoul](https://github.com/sbidoul.png?size=30px)](https://github.com/sbidoul) | Store sessions in DB [slow_statement_logger](slow_statement_logger/) | 14.0.1.0.1 | | Log slow SQL statements diff --git a/sentry/README.rst b/sentry/README.rst index c2b63b10f52..c646407fdf2 100644 --- a/sentry/README.rst +++ b/sentry/README.rst @@ -7,7 +7,7 @@ Sentry !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:dcf6d25d8934b9042df99a8f00972942db4a196619d67868984e1c569c2955da + !! source digest: sha256:1e5547518252ba61191feb6a0eebdb0cce22aacc555bd61c620b59c4118fb725 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/sentry/__manifest__.py b/sentry/__manifest__.py index 95778460fd3..2ae976f3dae 100644 --- a/sentry/__manifest__.py +++ b/sentry/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Sentry", "summary": "Report Odoo errors to Sentry", - "version": "14.0.3.0.1", + "version": "14.0.3.0.2", "category": "Extra Tools", "website": "https://github.com/OCA/server-tools", "author": "Mohammed Barsi," diff --git a/sentry/static/description/index.html b/sentry/static/description/index.html index 51564148483..c719d48af9c 100644 --- a/sentry/static/description/index.html +++ b/sentry/static/description/index.html @@ -1,4 +1,3 @@ - @@ -9,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -275,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -301,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -367,7 +367,7 @@

    Sentry

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:dcf6d25d8934b9042df99a8f00972942db4a196619d67868984e1c569c2955da +!! source digest: sha256:1e5547518252ba61191feb6a0eebdb0cce22aacc555bd61c620b59c4118fb725 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    This module allows painless Sentry integration with @@ -522,7 +522,9 @@

    Example Odoo configurationUsage

    Once configured and installed, the module will report any logging event at and above the configured Sentry logging level, no additional actions are necessary.

    -Try me on Runbot + +Try me on Runbot +

    Known issues / Roadmap

    @@ -577,7 +579,9 @@

    Other credits

    Maintainers

    This module is maintained by the OCA.

    -Odoo Community Association + +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.

    From 70e199c619516bca8e44592052c1dfe79b9e86e5 Mon Sep 17 00:00:00 2001 From: mymage Date: Thu, 3 Oct 2024 07:39:41 +0000 Subject: [PATCH 108/232] Translated using Weblate (Italian) Currently translated at 82.5% (165 of 200 strings) Translation: server-tools-14.0/server-tools-14.0-excel_import_export Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-excel_import_export/it/ --- excel_import_export/i18n/it.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/excel_import_export/i18n/it.po b/excel_import_export/i18n/it.po index 40fa767ecd1..d53e653e8c6 100644 --- a/excel_import_export/i18n/it.po +++ b/excel_import_export/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-07-09 09:58+0000\n" +"PO-Revision-Date: 2024-10-03 10:06+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -720,7 +720,7 @@ msgstr "Il file \"%s\" non trovato nel modello, %s." #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_xlsx_template__datas msgid "File Content" -msgstr "Contenuto File" +msgstr "Contenuto file" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__name From e77ee5cd023bc9230fd304f5c469f168d1c08bd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florent=20Cayr=C3=A9?= Date: Thu, 3 Oct 2024 10:33:26 +0200 Subject: [PATCH 109/232] [14.0][FIX] module_analysis: interpret exclude_directories as relative to module's folder Backport of PR #3045. --- module_analysis/models/ir_module_module.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module_analysis/models/ir_module_module.py b/module_analysis/models/ir_module_module.py index e61db7cc987..fbc70d3b45e 100644 --- a/module_analysis/models/ir_module_module.py +++ b/module_analysis/models/ir_module_module.py @@ -166,7 +166,7 @@ def _get_files_to_analyse( if not path: return res for root, _, files in os.walk(path, followlinks=True): - if set(Path(root).parts) & set(exclude_directories): + if set(Path(root).relative_to(path).parts) & set(exclude_directories): continue for name in files: if name in exclude_files: From af23d9602ab3df2c3ba3a7b20d6e821ef2f59781 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 16 Oct 2024 21:12:48 +0000 Subject: [PATCH 110/232] [BOT] post-merge updates --- README.md | 2 +- module_analysis/README.rst | 2 +- module_analysis/__manifest__.py | 2 +- module_analysis/static/description/index.html | 14 ++++++++------ 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index e1c28e4148d..ab3ec9bcf0a 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ addon | version | maintainers | summary [letsencrypt](letsencrypt/) | 14.0.1.0.2 | | Request SSL certificates from letsencrypt.org [mail_cleanup](mail_cleanup/) | 14.0.1.0.0 | | Mark as read or delete mails after a set time [model_read_only](model_read_only/) | 14.0.3.0.1 | [![ilyasProgrammer](https://github.com/ilyasProgrammer.png?size=30px)](https://github.com/ilyasProgrammer) | Model Read Only -[module_analysis](module_analysis/) | 14.0.1.0.1 | | Add analysis tools regarding installed modules to know which installed modules comes from Odoo Core, OCA, or are custom modules +[module_analysis](module_analysis/) | 14.0.1.0.2 | | Add analysis tools regarding installed modules to know which installed modules comes from Odoo Core, OCA, or are custom modules [module_auto_update](module_auto_update/) | 14.0.1.1.1 | | Automatically update Odoo modules [module_change_auto_install](module_change_auto_install/) | 14.0.1.0.3 | [![legalsylvain](https://github.com/legalsylvain.png?size=30px)](https://github.com/legalsylvain) | Customize auto installables modules by configuration [module_prototyper](module_prototyper/) | 14.0.1.0.1 | | Prototype your module. diff --git a/module_analysis/README.rst b/module_analysis/README.rst index fed270e58a7..03778e6a476 100644 --- a/module_analysis/README.rst +++ b/module_analysis/README.rst @@ -7,7 +7,7 @@ Module Analysis !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:05ae71f04fc9364612e2692481925084dcc9147678692ee8c8b309a7d8e52228 + !! source digest: sha256:6066302e1718fcf380e5b4321ce8a06e12233a165fb7dc5b7416d199d9fd45f4 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/module_analysis/__manifest__.py b/module_analysis/__manifest__.py index 85a8b627dc1..90fa624f803 100644 --- a/module_analysis/__manifest__.py +++ b/module_analysis/__manifest__.py @@ -9,7 +9,7 @@ " custom modules", "author": "GRAP, Odoo Community Association (OCA)", "website": "https://github.com/OCA/server-tools", - "version": "14.0.1.0.1", + "version": "14.0.1.0.2", "license": "AGPL-3", "depends": ["base"], "data": [ diff --git a/module_analysis/static/description/index.html b/module_analysis/static/description/index.html index 5b6b11b6c42..aaa21575bb3 100644 --- a/module_analysis/static/description/index.html +++ b/module_analysis/static/description/index.html @@ -1,4 +1,3 @@ - @@ -9,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -275,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -301,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -367,7 +367,7 @@

    Module Analysis

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:05ae71f04fc9364612e2692481925084dcc9147678692ee8c8b309a7d8e52228 +!! source digest: sha256:6066302e1718fcf380e5b4321ce8a06e12233a165fb7dc5b7416d199d9fd45f4 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    This module allows you to know ‘how much code’ is running on your Odoo @@ -517,7 +517,9 @@

    Contributors

    Maintainers

    This module is maintained by the OCA.

    -Odoo Community Association + +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.

    From 57d7ef2fb165b823c4a7996fa571e3d3f0946334 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 18 Nov 2024 10:43:55 +0000 Subject: [PATCH 111/232] [BOT] post-merge updates --- README.md | 2 +- jsonifier/README.rst | 2 +- jsonifier/__manifest__.py | 2 +- jsonifier/static/description/index.html | 14 ++++++++------ 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index ab3ec9bcf0a..d0021040306 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ addon | version | maintainers | summary [html_image_url_extractor](html_image_url_extractor/) | 14.0.1.0.1 | | Extract images found in any HTML field [html_text](html_text/) | 14.0.1.0.1 | | Generate excerpts from any HTML field [iap_alternative_provider](iap_alternative_provider/) | 14.0.1.0.0 | [![sebastienbeau](https://github.com/sebastienbeau.png?size=30px)](https://github.com/sebastienbeau) | Base module for providing alternative provider for iap apps -[jsonifier](jsonifier/) | 14.0.1.2.0 | | JSON-ify data for all models +[jsonifier](jsonifier/) | 14.0.1.2.1 | | JSON-ify data for all models [jsonifier_stored](jsonifier_stored/) | 14.0.1.0.0 | [![simahawk](https://github.com/simahawk.png?size=30px)](https://github.com/simahawk) [![mmequignon](https://github.com/mmequignon.png?size=30px)](https://github.com/mmequignon) | Pre-compute and store JSON data on any model [letsencrypt](letsencrypt/) | 14.0.1.0.2 | | Request SSL certificates from letsencrypt.org [mail_cleanup](mail_cleanup/) | 14.0.1.0.0 | | Mark as read or delete mails after a set time diff --git a/jsonifier/README.rst b/jsonifier/README.rst index 6680ff2c5a4..095dbc8750b 100644 --- a/jsonifier/README.rst +++ b/jsonifier/README.rst @@ -7,7 +7,7 @@ JSONifier !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:51951d9ec373383c021c251d42eef97c05a6b3fc9b67f5497a518d217298a9ab + !! source digest: sha256:c3e2140034f1cd0c528dff2a6dfc2eeee656e85a95fa3b1b358c9641328911e2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/jsonifier/__manifest__.py b/jsonifier/__manifest__.py index e8dccc43b48..d341dbd0701 100644 --- a/jsonifier/__manifest__.py +++ b/jsonifier/__manifest__.py @@ -6,7 +6,7 @@ { "name": "JSONifier", "summary": "JSON-ify data for all models", - "version": "14.0.1.2.0", + "version": "14.0.1.2.1", "category": "Uncategorized", "website": "https://github.com/OCA/server-tools", "author": "Akretion, ACSONE, Camptocamp, Odoo Community Association (OCA)", diff --git a/jsonifier/static/description/index.html b/jsonifier/static/description/index.html index 2823aa6c5af..9f2511df2a3 100644 --- a/jsonifier/static/description/index.html +++ b/jsonifier/static/description/index.html @@ -1,4 +1,3 @@ - @@ -9,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -275,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -301,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -367,7 +367,7 @@

    JSONifier

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:51951d9ec373383c021c251d42eef97c05a6b3fc9b67f5497a518d217298a9ab +!! source digest: sha256:c3e2140034f1cd0c528dff2a6dfc2eeee656e85a95fa3b1b358c9641328911e2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    Beta License: LGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    This module adds a ‘jsonify’ method to every model of the ORM. @@ -575,7 +575,9 @@

    Contributors

    Maintainers

    This module is maintained by the OCA.

    -Odoo Community Association + +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.

    From 677fbe7f5319de8bfb70d234dad13333b0c0da7d Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 2 Dec 2024 15:30:26 +0000 Subject: [PATCH 112/232] Added translation using Weblate (Italian) --- jsonifier_stored/i18n/it.po | 92 +++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 jsonifier_stored/i18n/it.po diff --git a/jsonifier_stored/i18n/it.po b/jsonifier_stored/i18n/it.po new file mode 100644 index 00000000000..1b9f6ee854f --- /dev/null +++ b/jsonifier_stored/i18n/it.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * jsonifier_stored +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__display_name +msgid "Display Name" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__id +msgid "ID" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__ir_export_id +msgid "Ir Export" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model,name:jsonifier_stored.model_jsonifier_stored_mixin +msgid "JSONifier stored mixin" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.actions.server,name:jsonifier_stored.cron_recompute_all_ir_actions_server +#: model:ir.cron,cron_name:jsonifier_stored.cron_recompute_all +#: model:ir.cron,name:jsonifier_stored.cron_recompute_all +msgid "JSONify stored - Recompute data for all models" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__jsonified_data +msgid "Jsonified Data" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__jsonified_display +msgid "Jsonified Display" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin____last_update +msgid "Last Modified on" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__smart_search +msgid "Smart Search" +msgstr "" + +#. module: jsonifier_stored +#: model:ir.model.fields,field_description:jsonifier_stored.field_jsonifier_stored_mixin__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" From 8f52a7dcd8fdb6765d8b0fb60454939c704ac777 Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 2 Dec 2024 15:30:31 +0000 Subject: [PATCH 113/232] Added translation using Weblate (Italian) --- base_model_restrict_update/i18n/it.po | 105 ++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 base_model_restrict_update/i18n/it.po diff --git a/base_model_restrict_update/i18n/it.po b/base_model_restrict_update/i18n/it.po new file mode 100644 index 00000000000..694aad599fe --- /dev/null +++ b/base_model_restrict_update/i18n/it.po @@ -0,0 +1,105 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_model_restrict_update +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: base_model_restrict_update +#: model_terms:ir.ui.view,arch_db:base_model_restrict_update.view_users_form +msgid "Read-only" +msgstr "" + +#. module: base_model_restrict_update +#: model_terms:ir.ui.view,arch_db:base_model_restrict_update.view_users_form +msgid "Unrestrict Update" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model__display_name +#: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model_access__display_name +#: model:ir.model.fields,field_description:base_model_restrict_update.field_res_users__display_name +msgid "Display Name" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model__id +#: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model_access__id +#: model:ir.model.fields,field_description:base_model_restrict_update.field_res_users__id +msgid "ID" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model____last_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model_access____last_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_res_users____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model,name:base_model_restrict_update.model_ir_model_access +msgid "Model Access" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model,name:base_model_restrict_update.model_ir_model +msgid "Models" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_res_users__is_readonly_user +msgid "Ready User" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,help:base_model_restrict_update.field_res_users__is_readonly_user +msgid "Set to true and the user are readonly user on all models" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,help:base_model_restrict_update.field_res_users__unrestrict_model_update +msgid "Set to true and the user can update restricted model." +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_res_users__unrestrict_model_update +msgid "Unrestrict Model Update" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model__restrict_update +msgid "Update Restrict Model" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model,name:base_model_restrict_update.model_res_users +msgid "Users" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,help:base_model_restrict_update.field_ir_model__restrict_update +msgid "" +"When selected, the model is restricted to read-only unless the user has the " +"special permission." +msgstr "" + +#. module: base_model_restrict_update +#: code:addons/base_model_restrict_update/models/ir_model_access.py:0 +#, python-format +msgid "You are only allowed to read this record. (%s - %s)" +msgstr "" + +#. module: base_model_restrict_update +#: code:addons/base_model_restrict_update/models/res_users.py:0 +#, python-format +msgid "You cannot set admin user as a readonly user." +msgstr "" From b6fae9e24573661b569e1492461f666b29815211 Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 2 Dec 2024 15:45:12 +0000 Subject: [PATCH 114/232] Added translation using Weblate (Italian) --- fetchmail_notify_error_to_sender_test/i18n/it.po | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 fetchmail_notify_error_to_sender_test/i18n/it.po diff --git a/fetchmail_notify_error_to_sender_test/i18n/it.po b/fetchmail_notify_error_to_sender_test/i18n/it.po new file mode 100644 index 00000000000..9ce4346f63e --- /dev/null +++ b/fetchmail_notify_error_to_sender_test/i18n/it.po @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" From 0d25dd39f29dd3cd1e80a2133f1ed5f79a44ff66 Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 2 Dec 2024 15:45:20 +0000 Subject: [PATCH 115/232] Added translation using Weblate (Italian) --- base_deterministic_session_gc/i18n/it.po | 77 ++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 base_deterministic_session_gc/i18n/it.po diff --git a/base_deterministic_session_gc/i18n/it.po b/base_deterministic_session_gc/i18n/it.po new file mode 100644 index 00000000000..efe0c7a735b --- /dev/null +++ b/base_deterministic_session_gc/i18n/it.po @@ -0,0 +1,77 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_deterministic_session_gc +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: base_deterministic_session_gc +#: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.model,name:base_deterministic_session_gc.model_ir_autovacuum +msgid "Automatic Vacuum" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__display_name +msgid "Display Name" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.actions.server,name:base_deterministic_session_gc.deterministic_session_gc_ir_actions_server +#: model:ir.cron,cron_name:base_deterministic_session_gc.deterministic_session_gc +#: model:ir.cron,name:base_deterministic_session_gc.deterministic_session_gc +msgid "Garbage collection of expired sessions" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__id +msgid "ID" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__smart_search +msgid "Smart Search" +msgstr "" + +#. module: base_deterministic_session_gc +#: model:ir.model.fields,field_description:base_deterministic_session_gc.field_ir_autovacuum__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" From 085b3c771029608f357487cdc20df8c965cc045c Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 2 Dec 2024 16:01:13 +0000 Subject: [PATCH 116/232] Added translation using Weblate (Italian) --- module_change_auto_install/i18n/it.po | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 module_change_auto_install/i18n/it.po diff --git a/module_change_auto_install/i18n/it.po b/module_change_auto_install/i18n/it.po new file mode 100644 index 00000000000..9ce4346f63e --- /dev/null +++ b/module_change_auto_install/i18n/it.po @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" From 0bf589b13b41753fc6042ed56daf2f4806711803 Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 2 Dec 2024 16:01:18 +0000 Subject: [PATCH 117/232] Added translation using Weblate (Italian) --- iap_alternative_provider/i18n/it.po | 95 +++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 iap_alternative_provider/i18n/it.po diff --git a/iap_alternative_provider/i18n/it.po b/iap_alternative_provider/i18n/it.po new file mode 100644 index 00000000000..b42eb8be2c4 --- /dev/null +++ b/iap_alternative_provider/i18n/it.po @@ -0,0 +1,95 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * iap_alternative_provider +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: iap_alternative_provider +#: model:ir.model.fields,field_description:iap_alternative_provider.field_iap_account__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: iap_alternative_provider +#: model:ir.model.fields,field_description:iap_alternative_provider.field_iap_account__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: iap_alternative_provider +#: model:ir.model.fields,field_description:iap_alternative_provider.field_iap_account__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: iap_alternative_provider +#: model:ir.model.fields,field_description:iap_alternative_provider.field_iap_account__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: iap_alternative_provider +#: model:ir.model.fields,field_description:iap_alternative_provider.field_iap_account__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: iap_alternative_provider +#: model:ir.model.fields,field_description:iap_alternative_provider.field_iap_account__display_name +msgid "Display Name" +msgstr "" + +#. module: iap_alternative_provider +#: model:ir.model,name:iap_alternative_provider.model_iap_account +msgid "IAP Account" +msgstr "" + +#. module: iap_alternative_provider +#: model:ir.model.fields,field_description:iap_alternative_provider.field_iap_account__id +msgid "ID" +msgstr "" + +#. module: iap_alternative_provider +#: model_terms:ir.ui.view,arch_db:iap_alternative_provider.iap_account_view_form +msgid "Info" +msgstr "" + +#. module: iap_alternative_provider +#: model:ir.model.fields,field_description:iap_alternative_provider.field_iap_account____last_update +msgid "Last Modified on" +msgstr "" + +#. module: iap_alternative_provider +#: model:ir.model.fields,field_description:iap_alternative_provider.field_iap_account__name +msgid "Name" +msgstr "" + +#. module: iap_alternative_provider +#: model:ir.model.fields.selection,name:iap_alternative_provider.selection__iap_account__provider__odoo +msgid "Odoo IAP" +msgstr "" + +#. module: iap_alternative_provider +#: model:ir.model.fields,field_description:iap_alternative_provider.field_iap_account__provider +msgid "Provider" +msgstr "" + +#. module: iap_alternative_provider +#: model:ir.model.fields,field_description:iap_alternative_provider.field_iap_account__server_env_defaults +msgid "Server Env Defaults" +msgstr "" + +#. module: iap_alternative_provider +#: model:ir.model.fields,field_description:iap_alternative_provider.field_iap_account__smart_search +msgid "Smart Search" +msgstr "" + +#. module: iap_alternative_provider +#: model:ir.model.fields,field_description:iap_alternative_provider.field_iap_account__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" From 5cd4f58299093fac060c9c88b37b5ec88aa4c2ff Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 3 Dec 2024 07:27:21 +0000 Subject: [PATCH 118/232] Added translation using Weblate (Italian) --- sequence_python/i18n/it.po | 129 +++++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 sequence_python/i18n/it.po diff --git a/sequence_python/i18n/it.po b/sequence_python/i18n/it.po new file mode 100644 index 00000000000..6f6f5e3552d --- /dev/null +++ b/sequence_python/i18n/it.po @@ -0,0 +1,129 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sequence_python +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "number: The next number of the sequence (integer)" +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "" +"number_padded: Padded string of the next number of the sequence" +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "" +"random: The Python random module, eg. to use " +"random.randint(0, 9)" +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "sequence: Odoo record of the sequence being used" +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "" +"string: The Python string module, eg. to use " +"random.choices(string.ascii_letters + string.digits, k=4)" +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "" +"uuid: The Python uuid module, eg. to use " +"uuid.uuid4()" +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "Aside from this, you may use several" +msgstr "" + +#. module: sequence_python +#: model:ir.model.fields,field_description:sequence_python.field_ir_sequence__display_name +msgid "Display Name" +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "Help with Python expressions" +msgstr "" + +#. module: sequence_python +#: model:ir.model.fields,field_description:sequence_python.field_ir_sequence__id +msgid "ID" +msgstr "" + +#. module: sequence_python +#: model:ir.model.fields,field_description:sequence_python.field_ir_sequence____last_update +msgid "Last Modified on" +msgstr "" + +#. module: sequence_python +#: model:ir.model.fields,field_description:sequence_python.field_ir_sequence__python_code_preview +msgid "Preview" +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "Python Code" +msgstr "" + +#. module: sequence_python +#: model:ir.model.fields,field_description:sequence_python.field_ir_sequence__python_code +msgid "Python expression" +msgstr "" + +#. module: sequence_python +#: model:ir.model,name:sequence_python.model_ir_sequence +msgid "Sequence" +msgstr "" + +#. module: sequence_python +#: model:ir.model.fields,field_description:sequence_python.field_ir_sequence__smart_search +msgid "Smart Search" +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "" +"The expression you type here will be evaluated as the next number. The " +"following variables can be used:" +msgstr "" + +#. module: sequence_python +#: model:ir.model.fields,field_description:sequence_python.field_ir_sequence__use_python_code +msgid "Use Python" +msgstr "" + +#. module: sequence_python +#: model:ir.model.fields,help:sequence_python.field_ir_sequence__python_code +msgid "Write Python code that generates the sequence body." +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "builtin Python functions" +msgstr "" + +#. module: sequence_python +#: model_terms:ir.ui.view,arch_db:sequence_python.sequence_view +msgid "number" +msgstr "" From 652a3994fcf3983239d80a29da9051b075435507 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 3 Dec 2024 07:27:26 +0000 Subject: [PATCH 119/232] Added translation using Weblate (Italian) --- profiler/i18n/it.po | 404 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 404 insertions(+) create mode 100644 profiler/i18n/it.po diff --git a/profiler/i18n/it.po b/profiler/i18n/it.po new file mode 100644 index 00000000000..a3b5527b117 --- /dev/null +++ b/profiler/i18n/it.po @@ -0,0 +1,404 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * profiler +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: profiler +#: model:ir.model.fields.selection,name:profiler.selection__profiler_profile__python_method__full +msgid "All activity" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: profiler +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "Attachments" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__cprof_ctpercall +msgid "CT per call" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__cprof_ncalls +msgid "Calls" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__changeset_change_ids +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__changeset_change_ids +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__changeset_ids +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__changeset_ids +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: profiler +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "Clear" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__user_context +msgid "Context" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__count_pending_changeset_changes +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__count_pending_changeset_changes +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__count_pending_changesets +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__count_pending_changesets +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__create_uid +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__create_uid +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__create_uid +msgid "Created by" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__create_date +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__create_date +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__create_date +msgid "Created on" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__cprof_cumtime +msgid "Cumulative time" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__date_finished +msgid "Date Finished" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__date_started +msgid "Date Started" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__description +msgid "Description" +msgstr "" + +#. module: profiler +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "Disable" +msgstr "" + +#. module: profiler +#: model:ir.model.fields.selection,name:profiler.selection__profiler_profile__state__disabled +msgid "Disabled" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__display_name +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__display_name +msgid "Display Name" +msgstr "" + +#. module: profiler +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "Enable" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__enable_postgresql +msgid "Enable Postgresql" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__enable_python +msgid "Enable Python" +msgstr "" + +#. module: profiler +#: model:ir.model.fields.selection,name:profiler.selection__profiler_profile__state__enabled +msgid "Enabled" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__cprof_fname +msgid "Filename:lineno(method)" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,help:profiler.field_profiler_profile__pg_log_path +msgid "Getting the path to the logger" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__py_request_lines +msgid "HTTP requests" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__id +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__id +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__id +msgid "ID" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,help:profiler.field_profiler_profile__use_py_index +msgid "" +"Index human-readable cProfile attachment.\n" +"To access this report, you must open the cprofile attachment view using debug mode.\n" +"Warning: Uses more resources." +msgstr "" + +#. module: profiler +#: model:ir.model.fields,help:profiler.field_profiler_profile__enable_postgresql +msgid "It requires postgresql server logs seudo-enabled" +msgstr "" + +#. module: profiler +#: code:addons/profiler/models/profiler_profile.py:0 +#, python-format +msgid "" +"It's not possible change parameter.\n" +"%s\n" +"Please, disable postgresql or re-enable it in order to read the instructions" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile____last_update +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line____last_update +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__write_uid +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__write_uid +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__write_date +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__write_date +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__write_date +msgid "Last Updated on" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__name +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__display_name +msgid "Name" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__py_stats_lines +msgid "PY Stats Lines" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__name +msgid "Path" +msgstr "" + +#. module: profiler +#: model:ir.model.fields.selection,name:profiler.selection__profiler_profile__python_method__request +msgid "Per HTTP request" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__pg_log_path +msgid "Pg Log Path" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__pg_remote +msgid "Pg Remote" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__pg_stats_most_frequent_html +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "PostgreSQL Stats - Most Frequent" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__pg_stats_slowest_html +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "PostgreSQL Stats - Slowest" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__pg_stats_time_consuming_html +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "PostgreSQL Stats - Time Consuming" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__profile_id +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__profile_id +#: model:ir.ui.menu,name:profiler.menu_profile +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "Profile" +msgstr "" + +#. module: profiler +#: model:ir.actions.act_window,name:profiler.profile_action_window +#: model:ir.ui.menu,name:profiler.menu_profiler +#: model:ir.ui.menu,name:profiler.menu_profiler_root +msgid "Profiler" +msgstr "" + +#. module: profiler +#: model:ir.model,name:profiler.model_profiler_profile_request_line +msgid "Profiler HTTP request Line to save cProfiling results" +msgstr "" + +#. module: profiler +#: model:ir.model,name:profiler.model_profiler_profile +msgid "Profiler Profile" +msgstr "" + +#. module: profiler +#: model:ir.model,name:profiler.model_profiler_profile_python_line +msgid "Profiler Python Line to save cProfiling results" +msgstr "" + +#. module: profiler +#: model:ir.actions.act_window,name:profiler.action_view_profiling_lines +msgid "Profiling lines" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__python_method +msgid "Python Method" +msgstr "" + +#. module: profiler +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "Python Stats - Profiling Lines" +msgstr "" + +#. module: profiler +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "Python Stats - Requests" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__cprof_nrcalls +msgid "Recursive Calls" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__root_url +msgid "Root URL" +msgstr "" + +#. module: profiler +#: model_terms:ir.ui.view,arch_db:profiler.view_profiling_lines_search +msgid "Search Profiling lines" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__session +msgid "Session" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__smart_search +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__smart_search +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__smart_search +msgid "Smart Search" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__state +msgid "State" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__total_time +msgid "Time in ms" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__cprof_ttpercall +msgid "Time per call" +msgstr "" + +#. module: profiler +#: code:addons/profiler/models/profiler_profile.py:0 +#, python-format +msgid "" +"To profile all activity, start the odoo server using the parameter '--" +"workers=0'" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__cprof_tottime +msgid "Total time" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__use_py_index +msgid "Use Py Index" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__user_id +msgid "User" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile__user_can_see_changeset +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_python_line__user_can_see_changeset +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" + +#. module: profiler +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "View attachment" +msgstr "" + +#. module: profiler +#: model_terms:ir.ui.view,arch_db:profiler.view_profile_form +msgid "View profiling lines" +msgstr "" + +#. module: profiler +#: model:ir.model.fields.selection,name:profiler.selection__profiler_profile_request_line__attachment_id__ir_attachment +msgid "ir.attachment" +msgstr "" + +#. module: profiler +#: model:ir.model.fields,field_description:profiler.field_profiler_profile_request_line__attachment_id +msgid "pStats file" +msgstr "" From 4eadf322dc86dabe69339b98439e09ff492410a6 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 3 Dec 2024 08:34:05 +0000 Subject: [PATCH 120/232] Added translation using Weblate (Italian) --- nsca_client/i18n/it.po | 596 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 596 insertions(+) create mode 100644 nsca_client/i18n/it.po diff --git a/nsca_client/i18n/it.po b/nsca_client/i18n/it.po new file mode 100644 index 00000000000..4449afdf526 --- /dev/null +++ b/nsca_client/i18n/it.po @@ -0,0 +1,596 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * nsca_client +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: nsca_client +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form +msgid "0: OK" +msgstr "" + +#. module: nsca_client +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form +msgid "1: WARNING" +msgstr "" + +#. module: nsca_client +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form +msgid "2: CRITICAL" +msgstr "" + +#. module: nsca_client +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form +msgid "3: UNKNOWN" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__help +msgid "Action Description" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__name +msgid "Action Name" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__state +msgid "Action To Do" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__type +msgid "Action Type" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__active +msgid "Active" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_type_id +msgid "Activity" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_type +msgid "Activity User Type" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__channel_ids +msgid "Add Channels" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__partner_ids +msgid "Add Followers" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__daylight_saving_time_resistant +msgid "" +"Adjust interval to run at the same hour after and beforedaylight saving time" +" change. It's used twice a year" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__allow_void_result +msgid "Allow void result" +msgstr "" + +#. module: nsca_client +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form +msgid "" +"Any other RC value will be treated as\n" +" CRITICAL." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_args +msgid "Arguments" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_model_id +msgid "Binding Model" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_type +msgid "Binding Type" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_view_types +msgid "Binding View Types" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__allow_void_result +msgid "" +"By default, a CRITICAL message is sent if the method does not return.\n" +"If checked, no message will be sent in such a case." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__check_count +msgid "Check Count" +msgstr "" + +#. module: nsca_client +#: model:ir.actions.act_window,name:nsca_client.action_nsca_check_tree +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__check_ids +#: model:ir.ui.menu,name:nsca_client.menu_action_nsca_check_tree +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form +msgid "Checks" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__child_ids +msgid "Child Actions" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__child_ids +msgid "" +"Child server actions that will be executed. Note that the last return " +"returned action value will be used as global return value." +msgstr "" + +#. module: nsca_client +#: code:addons/nsca_client/models/nsca_server.py:0 +#, python-format +msgid "" +"Command '%s' not found. Please install the NSCA client.\n" +"On Debian/Ubuntu: apt-get install nsca-client" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__config_dir_path +msgid "Configuration directory" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__config_file_path +msgid "Configuration file" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__create_uid +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__create_uid +msgid "Created by" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__create_date +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__create_date +msgid "Created on" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__cron_id +msgid "Cron" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__daylight_saving_time_resistant +msgid "Daylight Saving Time Resistant" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__display_name +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__display_name +msgid "Display Name" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_date_deadline_range +msgid "Due Date In" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_date_deadline_range_type +msgid "Due type" +msgstr "" + +#. module: nsca_client +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form +msgid "" +"E.g.\n" +" (1, u\"3 mails not sent\")" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__template_id +msgid "Email Template" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__encryption_method +msgid "Encryption method" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__xml_id +msgid "External ID" +msgstr "" + +#. module: nsca_client +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form +msgid "Frequency" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__groups_id +msgid "Groups" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__name +msgid "Hostname" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__node_hostname +msgid "Hostname of this node" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__numbercall +msgid "" +"How many times the method is called,\n" +"a negative number indicates no limit." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__id +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__id +msgid "ID" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__interval_number +msgid "Interval Number" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__interval_type +msgid "Interval Unit" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__lastcall +msgid "Last Execution Date" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check____last_update +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server____last_update +msgid "Last Modified on" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__write_uid +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__write_date +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__write_date +msgid "Last Updated on" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__link_field_id +msgid "Link Field" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_function +msgid "Method" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__model_id +msgid "Model" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__model_name +msgid "Model Name" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__crud_model_id +msgid "" +"Model for record creation / update. Set this field only to specify a " +"different model than the base model." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__mutually_exclusive_cron_ids +msgid "Mutually Exclusive Scheduled Actions" +msgstr "" + +#. module: nsca_client +#: code:addons/nsca_client/models/nsca_check.py:0 +#: model:ir.model,name:nsca_client.model_nsca_check +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form +#, python-format +msgid "NSCA Check" +msgstr "" + +#. module: nsca_client +#: model:ir.cron,cron_name:nsca_client.demo_nsca_check_mails_ir_cron +#: model:ir.cron,name:nsca_client.demo_nsca_check_mails_ir_cron +#: model:nsca.check,cron_name:nsca_client.demo_nsca_check_mails +#: model:nsca.check,name:nsca_client.demo_nsca_check_mails +msgid "NSCA Check - Odoo Mail Queue" +msgstr "" + +#. module: nsca_client +#: model:ir.ui.menu,name:nsca_client.menu_nsca_client +msgid "NSCA Client" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_model +msgid "NSCA Model" +msgstr "" + +#. module: nsca_client +#: model:ir.model,name:nsca_client.model_nsca_server +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form +msgid "NSCA Server" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__cron_name +msgid "Name" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nextcall +msgid "Next Execution Date" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__nextcall +msgid "Next planned execution date for this job." +msgstr "" + +#. module: nsca_client +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form +msgid "Node identity" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_note +msgid "Note" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__numbercall +msgid "Number of Calls" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__help +msgid "" +"Optional help text for the users with a description of the target view, such" +" as its usage and purpose." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__password +msgid "Password" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__port +msgid "Port" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__lastcall +msgid "" +"Previous time the cron ran successfully, provided to the job through the " +"context on the `lastcall` key" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__priority +msgid "Priority" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__link_field_id +msgid "" +"Provide the field used to link the newly created record on the record used " +"by the server action." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__code +msgid "Python Code" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__doall +msgid "Repeat Missed" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__interval_number +msgid "Repeat every x." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_id +msgid "Responsible" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__user_id +msgid "Scheduler User" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__sequence +msgid "Sequence" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__server_id +msgid "Server" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__ir_actions_server_id +msgid "Server action" +msgstr "" + +#. module: nsca_client +#: model:ir.actions.act_window,name:nsca_client.action_nsca_server_tree +#: model:ir.ui.menu,name:nsca_client.menu_action_nsca_server_tree +msgid "Servers" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__service +msgid "Service" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__binding_model_id +msgid "" +"Setting a value makes this action available in the sidebar for the given " +"model." +msgstr "" + +#. module: nsca_client +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form +msgid "Settings" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__smart_search +#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__smart_search +msgid "Smart Search" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__doall +msgid "" +"Specify if missed occurrences should be executed when the server restarts." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_summary +msgid "Summary" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__crud_model_id +msgid "Target Model" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__crud_model_name +msgid "Target Model Name" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__activity_user_field_name +msgid "Technical name of the user on the record" +msgstr "" + +#. module: nsca_client +#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form +msgid "" +"The method must return a tuple (RC,\n" +" MESSAGE) where RC is an integer:" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__priority +msgid "" +"The priority of the job, as an integer: 0 means higher priority, 10 means " +"lower priority." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_server__node_hostname +msgid "" +"This is the hostname of the current Odoo node declared in the monitoring " +"server." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Execute Python Code': a block of python code that will be executed\n" +"- 'Create': create a new record with new values\n" +"- 'Update a Record': update the values of a record\n" +"- 'Execute several actions': define an action that triggers several other server actions\n" +"- 'Send Email': automatically send an email (Discuss)\n" +"- 'Add Followers': add followers to a record (Discuss)\n" +"- 'Create Next Activity': create an activity (Discuss)" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__usage +msgid "Usage" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__activity_user_type +msgid "" +"Use 'Specific User' to always assign the same user on the next activity. Use" +" 'Generic User From Record' to specify the field name of the user to choose " +"on the record." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_field_name +msgid "User field name" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__fields_lines +msgid "Value Mapping" +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__sequence +msgid "" +"When dealing with multiple actions, the execution order is based on the " +"sequence. Low number means high priority." +msgstr "" + +#. module: nsca_client +#: model:ir.model.fields,help:nsca_client.field_nsca_check__code +msgid "" +"Write Python code that the action will execute. Some variables are available" +" for use; help about python expression is given in the help tab." +msgstr "" From 5d14eb253683dcf9967cd6e3d3f8fa294c7951b2 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 3 Dec 2024 08:34:12 +0000 Subject: [PATCH 121/232] Added translation using Weblate (Italian) --- slow_statement_logger/i18n/it.po | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 slow_statement_logger/i18n/it.po diff --git a/slow_statement_logger/i18n/it.po b/slow_statement_logger/i18n/it.po new file mode 100644 index 00000000000..9ce4346f63e --- /dev/null +++ b/slow_statement_logger/i18n/it.po @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" From 428317d0abd7893ffbaf2e1bdb6c231233944ee0 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 3 Dec 2024 09:00:16 +0000 Subject: [PATCH 122/232] Added translation using Weblate (Italian) --- url_attachment_search_fuzzy/i18n/it.po | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 url_attachment_search_fuzzy/i18n/it.po diff --git a/url_attachment_search_fuzzy/i18n/it.po b/url_attachment_search_fuzzy/i18n/it.po new file mode 100644 index 00000000000..9ce4346f63e --- /dev/null +++ b/url_attachment_search_fuzzy/i18n/it.po @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" From 1abb97a4645bc724a8269237641d5daa8cead7ae Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 3 Dec 2024 09:00:22 +0000 Subject: [PATCH 123/232] Added translation using Weblate (Italian) --- onchange_helper/i18n/it.po | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 onchange_helper/i18n/it.po diff --git a/onchange_helper/i18n/it.po b/onchange_helper/i18n/it.po new file mode 100644 index 00000000000..81bca65d237 --- /dev/null +++ b/onchange_helper/i18n/it.po @@ -0,0 +1,20 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * onchange_helper +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: onchange_helper +#: model:ir.model,name:onchange_helper.model_base +msgid "Base" +msgstr "" From 4e0c20e7aec9b8ea0a040a0973b37891600032e4 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 3 Dec 2024 09:42:16 +0000 Subject: [PATCH 124/232] Added translation using Weblate (Italian) --- sentry/i18n/it.po | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 sentry/i18n/it.po diff --git a/sentry/i18n/it.po b/sentry/i18n/it.po new file mode 100644 index 00000000000..9ce4346f63e --- /dev/null +++ b/sentry/i18n/it.po @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" From 9cca4bf17c1dfa58b26b685486903335fa29ab68 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 3 Dec 2024 09:42:23 +0000 Subject: [PATCH 125/232] Added translation using Weblate (Italian) --- base_order_by_related/i18n/it.po | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 base_order_by_related/i18n/it.po diff --git a/base_order_by_related/i18n/it.po b/base_order_by_related/i18n/it.po new file mode 100644 index 00000000000..cd13a9a0da2 --- /dev/null +++ b/base_order_by_related/i18n/it.po @@ -0,0 +1,20 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_order_by_related +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: base_order_by_related +#: model:ir.model,name:base_order_by_related.model_base +msgid "Base" +msgstr "" From a6710c22015100037792d4ccf59df774846924af Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 3 Dec 2024 10:22:42 +0000 Subject: [PATCH 126/232] Added translation using Weblate (Italian) --- attachment_delete_restrict/i18n/it.po | 263 ++++++++++++++++++++++++++ 1 file changed, 263 insertions(+) create mode 100644 attachment_delete_restrict/i18n/it.po diff --git a/attachment_delete_restrict/i18n/it.po b/attachment_delete_restrict/i18n/it.po new file mode 100644 index 00000000000..15be889e46f --- /dev/null +++ b/attachment_delete_restrict/i18n/it.po @@ -0,0 +1,263 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * attachment_delete_restrict +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: attachment_delete_restrict +#: model:ir.model,name:attachment_delete_restrict.model_res_groups +msgid "Access Groups" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model,name:attachment_delete_restrict.model_ir_attachment +msgid "Attachment" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__delete_attachment_group_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__global_delete_attachment_group_ids +msgid "Attachment Deletion Groups" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__delete_attachment_model_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__delete_attachment_model_ids +#: model_terms:ir.ui.view,arch_db:attachment_delete_restrict.view_groups_form +#: model_terms:ir.ui.view,arch_db:attachment_delete_restrict.view_users_form +msgid "Attachment Deletion Models" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__delete_attachment_user_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__global_delete_attachment_user_ids +msgid "Attachment Deletion Users" +msgstr "" + +#. module: attachment_delete_restrict +#: model_terms:ir.ui.view,arch_db:attachment_delete_restrict.res_config_settings_view_form +msgid "Authorized Groups:" +msgstr "" + +#. module: attachment_delete_restrict +#: model_terms:ir.ui.view,arch_db:attachment_delete_restrict.res_config_settings_view_form +msgid "Authorized Users:" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__changeset_change_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__changeset_change_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__changeset_change_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__changeset_change_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__changeset_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__changeset_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__changeset_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__changeset_ids +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model,name:attachment_delete_restrict.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__count_pending_changeset_changes +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__count_pending_changeset_changes +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__count_pending_changeset_changes +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__count_pending_changeset_changes +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__count_pending_changesets +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__count_pending_changesets +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__count_pending_changesets +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__count_pending_changesets +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__ir_model__restrict_delete_attachment__custom +#: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__res_config_settings__global_restrict_delete_attachment__custom +msgid "Custom: For each model, selected groups and users can delete them" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,help:attachment_delete_restrict.field_res_config_settings__global_restrict_delete_attachment +msgid "Define a default value for Attachments Deletion" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__display_name +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__display_name +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__display_name +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__display_name +msgid "Display Name" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__id +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__id +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__id +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__id +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__id +msgid "ID" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment____last_update +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model____last_update +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups____last_update +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users____last_update +msgid "Last Modified on" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model,name:attachment_delete_restrict.model_ir_model +msgid "Models" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__ir_model__restrict_delete_attachment__none +#: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__res_config_settings__global_restrict_delete_attachment__none +msgid "No restriction: All users / groups can delete them" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__ir_model__restrict_delete_attachment__owner_custom +#: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__res_config_settings__global_restrict_delete_attachment__owner_custom +msgid "" +"Owner + Custom: Creator and admin can delete them + for each model, selected" +" groups and users can delete them" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__ir_model__restrict_delete_attachment__owner +#: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__res_config_settings__global_restrict_delete_attachment__owner +msgid "Owner: Only creator and admin can delete them" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__restrict_delete_attachment +msgid "Restrict Attachment Deletion" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__global_restrict_delete_attachment +msgid "Restrict Delete Attachments" +msgstr "" + +#. module: attachment_delete_restrict +#: model_terms:ir.ui.view,arch_db:attachment_delete_restrict.res_config_settings_view_form +msgid "Restrict Deletion on attachment" +msgstr "" + +#. module: attachment_delete_restrict +#: model_terms:ir.ui.view,arch_db:attachment_delete_restrict.res_config_settings_view_form +msgid "Select default level of delete restriction on attachments" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__smart_search +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__smart_search +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__smart_search +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__smart_search +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__smart_search +msgid "Smart Search" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,help:attachment_delete_restrict.field_res_users__delete_attachment_model_ids +msgid "" +"The user can delete the attachments related to the models assigned here. In " +"general settings, 'Restrict Delete Attachment' must be set as 'custom' to " +"activate this setting." +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,help:attachment_delete_restrict.field_res_config_settings__global_delete_attachment_group_ids +msgid "The users in the groups selected here can delete all the attachments." +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,help:attachment_delete_restrict.field_ir_model__delete_attachment_group_ids +msgid "" +"The users in the groups selected here can delete the attachments related to " +"this model." +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,help:attachment_delete_restrict.field_res_groups__delete_attachment_model_ids +msgid "" +"The users of the group can delete the attachments related to the models " +"assigned here. In general settings, 'Restrict Delete Attachment' must be set" +" as 'custom' to activate this setting." +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,help:attachment_delete_restrict.field_res_config_settings__global_delete_attachment_user_ids +msgid "The users selected here can delete all the attachments" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,help:attachment_delete_restrict.field_ir_model__delete_attachment_user_ids +msgid "" +"The users selected here can delete the attachments related to this model." +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields.selection,name:attachment_delete_restrict.selection__ir_model__restrict_delete_attachment__default +msgid "Use global configuration" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_attachment__user_can_see_changeset +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_ir_model__user_can_see_changeset +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_config_settings__user_can_see_changeset +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_groups__user_can_see_changeset +#: model:ir.model.fields,field_description:attachment_delete_restrict.field_res_users__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model,name:attachment_delete_restrict.model_res_users +msgid "Users" +msgstr "" + +#. module: attachment_delete_restrict +#: model:ir.model.fields,help:attachment_delete_restrict.field_ir_model__restrict_delete_attachment +msgid "" +"When selected, the deletion of the attachments related to this model is " +"restricted to certain users." +msgstr "" + +#. module: attachment_delete_restrict +#: code:addons/attachment_delete_restrict/models/ir_attachment.py:0 +#, python-format +msgid "" +"You are not allowed to delete this attachment.\n" +"\n" +"Users with the delete permission:\n" +"%s" +msgstr "" From 8c5e90a44d394f848584f6ee5a3c39734f1f1198 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 3 Dec 2024 10:22:47 +0000 Subject: [PATCH 127/232] Added translation using Weblate (Italian) --- tracking_manager/i18n/it.po | 226 ++++++++++++++++++++++++++++++++++++ 1 file changed, 226 insertions(+) create mode 100644 tracking_manager/i18n/it.po diff --git a/tracking_manager/i18n/it.po b/tracking_manager/i18n/it.po new file mode 100644 index 00000000000..171e2964e69 --- /dev/null +++ b/tracking_manager/i18n/it.po @@ -0,0 +1,226 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * tracking_manager +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.track_o2m_m2m_template +msgid "Change :" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.track_o2m_m2m_template +msgid "Delete :" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.track_o2m_m2m_template +msgid "New :" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form +msgid "Active" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__active_custom_tracking +msgid "Active Custom Tracking" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__assigned_attachment_ids +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__assigned_attachment_ids +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__assigned_attachment_ids +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__automatic_custom_tracking +msgid "Automatic Custom Tracking" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__automatic_custom_tracking_domain +msgid "Automatic Custom Tracking Domain" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form +msgid "Automatic configuration" +msgstr "" + +#. module: tracking_manager +#: model:ir.model,name:tracking_manager.model_base +msgid "Base" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.track_o2m_m2m_template +msgid "Changed" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__changeset_change_ids +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__changeset_change_ids +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__changeset_change_ids +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__changeset_ids +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__changeset_ids +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__changeset_ids +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__count_pending_changeset_changes +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__count_pending_changeset_changes +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__count_pending_changeset_changes +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__count_pending_changesets +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__count_pending_changesets +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__count_pending_changesets +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__custom_tracking +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form +msgid "Custom Tracking" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_track_fields_search +msgid "Custom Tracking OFF" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_track_fields_search +msgid "Custom Tracking ON" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__display_name +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__display_name +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__display_name +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__display_name +msgid "Display Name" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form +msgid "Domain" +msgstr "" + +#. module: tracking_manager +#: model:ir.model,name:tracking_manager.model_mail_thread +msgid "Email Thread" +msgstr "" + +#. module: tracking_manager +#: model:ir.model,name:tracking_manager.model_ir_model_fields +msgid "Fields" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__id +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__id +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__id +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__id +msgid "ID" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,help:tracking_manager.field_ir_model__automatic_custom_tracking +msgid "If tick new field will be automatically tracked if the domain match" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model____last_update +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields____last_update +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread____last_update +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value____last_update +msgid "Last Modified on" +msgstr "" + +#. module: tracking_manager +#: model:ir.model,name:tracking_manager.model_mail_tracking_value +msgid "Mail Tracking Value" +msgstr "" + +#. module: tracking_manager +#: model:ir.model,name:tracking_manager.model_ir_model +msgid "Models" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__native_tracking +msgid "Native Tracking" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__smart_search +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__smart_search +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__smart_search +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__smart_search +msgid "Smart Search" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__trackable +msgid "Trackable" +msgstr "" + +#. module: tracking_manager +#: model:ir.actions.act_window,name:tracking_manager.ir_model_fields_action +msgid "Trackable Fields" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__tracked_field_count +msgid "Tracked Field Count" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form +msgid "Tracked Fields" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form +msgid "Update" +msgstr "" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form +msgid "Update fields configuration" +msgstr "" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__user_can_see_changeset +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__user_can_see_changeset +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__user_can_see_changeset +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" From d4073b1312261186590ae65f64b502597651341f Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 3 Dec 2024 10:32:06 +0000 Subject: [PATCH 128/232] Added translation using Weblate (Italian) --- session_db/i18n/it.po | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 session_db/i18n/it.po diff --git a/session_db/i18n/it.po b/session_db/i18n/it.po new file mode 100644 index 00000000000..9ce4346f63e --- /dev/null +++ b/session_db/i18n/it.po @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" From f9d6b7887d7fc19597479fedf27aefc5780d5760 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 3 Dec 2024 10:32:11 +0000 Subject: [PATCH 129/232] Added translation using Weblate (Italian) --- base_sequence_default/i18n/it.po | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 base_sequence_default/i18n/it.po diff --git a/base_sequence_default/i18n/it.po b/base_sequence_default/i18n/it.po new file mode 100644 index 00000000000..a20f49b3c93 --- /dev/null +++ b/base_sequence_default/i18n/it.po @@ -0,0 +1,20 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_sequence_default +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: base_sequence_default +#: model:ir.model,name:base_sequence_default.model_base +msgid "Base" +msgstr "" From 4bb12daa62866e951749d29b77b474793386bc5d Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 3 Dec 2024 11:58:18 +0000 Subject: [PATCH 130/232] Added translation using Weblate (Italian) --- base_m2m_custom_field/i18n/it.po | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 base_m2m_custom_field/i18n/it.po diff --git a/base_m2m_custom_field/i18n/it.po b/base_m2m_custom_field/i18n/it.po new file mode 100644 index 00000000000..9ce4346f63e --- /dev/null +++ b/base_m2m_custom_field/i18n/it.po @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" From 43c78ce091dd8981832804f7d83d302eb19d1eaa Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 3 Dec 2024 11:58:22 +0000 Subject: [PATCH 131/232] Added translation using Weblate (Italian) --- base_view_full_arch/i18n/it.po | 87 ++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 base_view_full_arch/i18n/it.po diff --git a/base_view_full_arch/i18n/it.po b/base_view_full_arch/i18n/it.po new file mode 100644 index 00000000000..a56e32a9b85 --- /dev/null +++ b/base_view_full_arch/i18n/it.po @@ -0,0 +1,87 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_view_full_arch +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: base_view_full_arch +#: model:ir.model.fields,field_description:base_view_full_arch.field_ir_ui_view__display_name +msgid "Display Name" +msgstr "" + +#. module: base_view_full_arch +#: model:ir.model.fields,field_description:base_view_full_arch.field_ir_ui_view__full_arch +#: model_terms:ir.ui.view,arch_db:base_view_full_arch.view_view_form_inherit +msgid "Full Arch" +msgstr "" + +#. module: base_view_full_arch +#: model:ir.model.fields,field_description:base_view_full_arch.field_ir_ui_view__id +msgid "ID" +msgstr "" + +#. module: base_view_full_arch +#: model:ir.model.fields,field_description:base_view_full_arch.field_ir_ui_view____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_view_full_arch +#: model_terms:ir.ui.view,arch_db:base_view_full_arch.test_format_doc +msgid "" +"Multi\n" +" line\n" +"\n" +" text" +msgstr "" + +#. module: base_view_full_arch +#: model_terms:ir.ui.view,arch_db:base_view_full_arch.test_format_doc +msgid "" +"Multi\n" +"line\n" +"\n" +" tail" +msgstr "" + +#. module: base_view_full_arch +#: model_terms:ir.ui.view,arch_db:base_view_full_arch.test_format_doc +msgid "Single line text" +msgstr "" + +#. module: base_view_full_arch +#: model_terms:ir.ui.view,arch_db:base_view_full_arch.test_format_doc +msgid "Single line tail" +msgstr "" + +#. module: base_view_full_arch +#: model:ir.model.fields,field_description:base_view_full_arch.field_ir_ui_view__smart_search +msgid "Smart Search" +msgstr "" + +#. module: base_view_full_arch +#: model:ir.model.fields,help:base_view_full_arch.field_ir_ui_view__full_arch +msgid "" +"Technical field to check the fully combined architecture of the view:\n" +"* for primary views, displays the full arch of the view, combined with the inheriting views' modifications\n" +"* for extension views, inherits the full arch from the inherited view\n" +msgstr "" + +#. module: base_view_full_arch +#: model:ir.model,name:base_view_full_arch.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: base_view_full_arch +#: model_terms:ir.ui.view,arch_db:base_view_full_arch.view_view_form_inherit +msgid "View Architecture" +msgstr "" From 8c7c4a388883788aa8e04bc34d5dad69f6e5d4e5 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 3 Dec 2024 12:40:53 +0000 Subject: [PATCH 132/232] Added translation using Weblate (Italian) --- sql_export_excel/i18n/it.po | 155 ++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 sql_export_excel/i18n/it.po diff --git a/sql_export_excel/i18n/it.po b/sql_export_excel/i18n/it.po new file mode 100644 index 00000000000..4ccc4f617da --- /dev/null +++ b/sql_export_excel/i18n/it.po @@ -0,0 +1,155 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sql_export_excel +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__col_position +msgid "Column Position" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__display_name +msgid "Display Name" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields.selection,name:sql_export_excel.selection__sql_export__file_format__excel +msgid "Excel" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__attachment_id +msgid "Excel Template" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__file_format +msgid "File Format" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__header +msgid "Header" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__id +msgid "ID" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,help:sql_export_excel.field_sql_export__attachment_id +msgid "" +"If you configure an excel file (in xlsx format) here, the result of the query will be injected in it.\n" +"It is usefull to feed data in a excel file pre-configured with calculation" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,help:sql_export_excel.field_sql_export__col_position +msgid "Indicate from which column the result of the query should be injected." +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,help:sql_export_excel.field_sql_export__row_position +msgid "Indicate from which row the result of the query should be injected." +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,help:sql_export_excel.field_sql_export__header +msgid "Indicate if the header should be exported to the file." +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,help:sql_export_excel.field_sql_export__sheet_position +msgid "" +"Indicate the sheet's position of the excel template where the result of the " +"sql query should be injected." +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export____last_update +msgid "Last Modified on" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__row_position +msgid "Row Position" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model,name:sql_export_excel.model_sql_export +msgid "SQL export" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__sheet_position +msgid "Sheet Position" +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__smart_search +msgid "Smart Search" +msgstr "" + +#. module: sql_export_excel +#: code:addons/sql_export_excel/models/sql_export.py:0 +#, python-format +msgid "" +"The Excel Template file contains less than %s sheets Please, adjust the " +"Sheet Position parameter." +msgstr "" + +#. module: sql_export_excel +#: code:addons/sql_export_excel/models/sql_export.py:0 +#, python-format +msgid "The column position can't be less than 1." +msgstr "" + +#. module: sql_export_excel +#: code:addons/sql_export_excel/models/sql_export.py:0 +#, python-format +msgid "The row position can't be less than 1." +msgstr "" + +#. module: sql_export_excel +#: code:addons/sql_export_excel/models/sql_export.py:0 +#, python-format +msgid "The sheet position can't be less than 1." +msgstr "" + +#. module: sql_export_excel +#: model:ir.model.fields,field_description:sql_export_excel.field_sql_export__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" From 17dc3572115cf8de3c9080d9c1e4d2710452859a Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 3 Dec 2024 12:40:58 +0000 Subject: [PATCH 133/232] Added translation using Weblate (Italian) --- attachment_queue/i18n/it.po | 481 ++++++++++++++++++++++++++++++++++++ 1 file changed, 481 insertions(+) create mode 100644 attachment_queue/i18n/it.po diff --git a/attachment_queue/i18n/it.po b/attachment_queue/i18n/it.po new file mode 100644 index 00000000000..578923c2b97 --- /dev/null +++ b/attachment_queue/i18n/it.po @@ -0,0 +1,481 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * attachment_queue +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: attachment_queue +#: model:mail.template,body_html:attachment_queue.attachment_failure_notification +msgid "" +"\n" +"

    Hello,

    \n" +"

    The attachment ${object.name} has failed with the following error message :
    ${object.state_message}

    \n" +"

    Regards,

    \n" +" " +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__access_token +msgid "Access Token" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__attachment_id +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Attachment" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: attachment_queue +#: model:ir.model,name:attachment_queue.model_attachment_queue +msgid "Attachment Queue" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__local_url +msgid "Attachment URL" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Attachments" +msgstr "" + +#. module: attachment_queue +#: model:ir.actions.act_window,name:attachment_queue.action_attachment_queue +#: model:ir.ui.menu,name:attachment_queue.menu_attachment_queue +msgid "Attachments Queue" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Binary" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__checksum +msgid "Checksum/SHA1" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__failure_emails +msgid "" +"Comma-separated list of email addresses to be notified in case offailure" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__company_id +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Company" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__create_uid +msgid "Created by" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__create_date +msgid "Created on" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Creation Month" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__db_datas +msgid "Database Data" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__date_done +msgid "Date Done" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__description +msgid "Description" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__display_name +msgid "Display Name" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields.selection,name:attachment_queue.selection__attachment_queue__state__done +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Done" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_form +msgid "Error" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields.selection,name:attachment_queue.selection__attachment_queue__state__failed +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Failed" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__failure_emails +msgid "Failure Emails" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__datas +msgid "File Content (base64)" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__raw +msgid "File Content (raw)" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__file_size +msgid "File Size" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__file_type +msgid "File Type" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "File type" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Filter on my documents" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_channel_ids +msgid "Followers (Channels)" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Group By" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__id +msgid "ID" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__message_needaction +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__message_unread +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__image_height +msgid "Image Height" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__image_src +msgid "Image Src" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__image_width +msgid "Image Width" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__index_content +msgid "Indexed Content" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__public +msgid "Is public document" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue____last_update +msgid "Last Modified on" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__write_date +msgid "Last Updated on" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__attachment_id +msgid "Link to ir.attachment model " +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_ids +msgid "Messages" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__mimetype +msgid "Mime Type" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "My Document(s)" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__name +msgid "Name" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__original_id +msgid "Original (unoptimized, unresized) attachment" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Owner" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields.selection,name:attachment_queue.selection__attachment_queue__state__pending +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Pending" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__res_field +msgid "Resource Field" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__res_id +msgid "Resource ID" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__res_model +msgid "Resource Model" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__res_name +msgid "Resource Name" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_form +msgid "Run" +msgstr "" + +#. module: attachment_queue +#: model:ir.actions.server,name:attachment_queue.cronjob_run_attachment_queue_ir_actions_server +#: model:ir.cron,cron_name:attachment_queue.cronjob_run_attachment_queue +#: model:ir.cron,name:attachment_queue.cronjob_run_attachment_queue +msgid "Run Attachments Queue" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_form +msgid "Set to Done" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__smart_search +msgid "Smart Search" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__state +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "State" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__state_message +msgid "State Message" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__store_fname +msgid "Stored Filename" +msgstr "" + +#. module: attachment_queue +#: model:mail.template,subject:attachment_queue.attachment_failure_notification +msgid "The attachment ${object.name} has failed" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__res_model +msgid "The database object this attachment will be attached to." +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__file_type +msgid "" +"The file type determines an import method to be used to parse and transform " +"data before their import in ERP or an export" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__res_id +msgid "The record id this is attached to." +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__type +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "Type" +msgstr "" + +#. module: attachment_queue +#: model_terms:ir.ui.view,arch_db:attachment_queue.view_attachment_queue_search +msgid "URL" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__url +msgid "Url" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,field_description:attachment_queue.field_attachment_queue__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: attachment_queue +#: model:ir.model.fields,help:attachment_queue.field_attachment_queue__type +msgid "" +"You can either upload a file from your computer or copy/paste an internet " +"link to your file." +msgstr "" From b89374df8135877c58fd76a467b3c46254e2f4e2 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 3 Dec 2024 15:22:33 +0000 Subject: [PATCH 134/232] Added translation using Weblate (Italian) --- excel_import_export_demo/i18n/it.po | 267 ++++++++++++++++++++++++++++ 1 file changed, 267 insertions(+) create mode 100644 excel_import_export_demo/i18n/it.po diff --git a/excel_import_export_demo/i18n/it.po b/excel_import_export_demo/i18n/it.po new file mode 100644 index 00000000000..772e5edc623 --- /dev/null +++ b/excel_import_export_demo/i18n/it.po @@ -0,0 +1,267 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * excel_import_export_demo +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: excel_import_export_demo +#: model:ir.actions.report,print_report_name:excel_import_export_demo.action_report_saleorder_excel +msgid "" +"(object.state in ('draft', 'sent') and 'Quotation - %s' % (object.name)) or " +"'Order - %s' % (object.name)" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,help:excel_import_export_demo.field_report_crm_lead__state +#: model:ir.model.fields,help:excel_import_export_demo.field_report_sale_order__state +msgid "" +"* Choose: wizard show in user selection mode\n" +"* Get: wizard show results from user action" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__choose_template +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_sale_order__choose_template +msgid "Allow Choose Template" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__assigned_attachment_ids +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_partner_list__assigned_attachment_ids +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_sale_order__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: excel_import_export_demo +#: model_terms:ir.ui.view,arch_db:excel_import_export_demo.partner_list_wizard +msgid "Cancel" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__changeset_change_ids +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_partner_list__changeset_change_ids +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_sale_order__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__changeset_ids +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_partner_list__changeset_ids +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_sale_order__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__count_pending_changeset_changes +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_partner_list__count_pending_changeset_changes +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_sale_order__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__count_pending_changesets +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_partner_list__count_pending_changesets +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_sale_order__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__create_uid +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_partner_list__create_uid +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_sale_order__create_uid +msgid "Created by" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__create_date +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_partner_list__create_date +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_sale_order__create_date +msgid "Created on" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__display_name +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_partner_list__display_name +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_sale_order__display_name +msgid "Display Name" +msgstr "" + +#. module: excel_import_export_demo +#: model_terms:ir.ui.view,arch_db:excel_import_export_demo.partner_list_wizard +msgid "Execute" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.actions.act_window,name:excel_import_export_demo.action_purchase_order_export_xlsx +#: model:ir.actions.act_window,name:excel_import_export_demo.action_sale_oder_export_xlsx +msgid "Export Excel" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__data +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_sale_order__data +msgid "File" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__name +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_sale_order__name +msgid "File Name" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__id +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_partner_list__id +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_sale_order__id +msgid "ID" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.actions.act_window,name:excel_import_export_demo.action_purchase_order_import_xlsx +#: model:ir.actions.act_window,name:excel_import_export_demo.action_sale_oder_import_xlsx +msgid "Import Excel" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead____last_update +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_partner_list____last_update +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_sale_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__write_uid +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_partner_list__write_uid +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_sale_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__write_date +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_partner_list__write_date +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_sale_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_partner_list__partner_ids +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_sale_order__partner_id +msgid "Partner" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.actions.report,name:excel_import_export_demo.action_report_partner_excel +msgid "Partner List (.xlsx)" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.actions.act_window,name:excel_import_export_demo.action_report_partner_list +#: model:ir.ui.menu,name:excel_import_export_demo.menu_report_partner_list +msgid "Partner List Report" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.actions.report,name:excel_import_export_demo.action_report_saleorder_excel +msgid "Quotation / Order (.xlsx)" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__results +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_partner_list__results +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_sale_order__results +msgid "Results" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__revenue_by_country +msgid "Revenue By Country" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__revenue_by_team +msgid "Revenue By Team" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__team_id +msgid "Sales Team" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.actions.act_window,name:excel_import_export_demo.action_import_sale_order +#: model:ir.ui.menu,name:excel_import_export_demo.menu_import_sale_order +msgid "Sample Import Sale Order" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.actions.act_window,name:excel_import_export_demo.action_report_crm_lead +#: model:ir.ui.menu,name:excel_import_export_demo.menu_report_crm_lead +msgid "Sample Lead Report" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.actions.act_window,name:excel_import_export_demo.action_report_sale_order +#: model:ir.ui.menu,name:excel_import_export_demo.menu_report_sale_order +msgid "Sample Sales Report" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__smart_search +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_partner_list__smart_search +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_sale_order__smart_search +msgid "Smart Search" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__state +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_sale_order__state +msgid "State" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__template_id +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_sale_order__template_id +msgid "Template" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,help:excel_import_export_demo.field_report_partner_list__results +msgid "Use compute fields, so there is nothing store in database" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,help:excel_import_export_demo.field_report_sale_order__results +msgid "Use compute fields, so there is nothing stored in database" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_crm_lead__user_can_see_changeset +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_partner_list__user_can_see_changeset +#: model:ir.model.fields,field_description:excel_import_export_demo.field_report_sale_order__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model,name:excel_import_export_demo.model_report_crm_lead +msgid "Wizard for report.crm.lead" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model,name:excel_import_export_demo.model_report_partner_list +msgid "Wizard for report.partner.list" +msgstr "" + +#. module: excel_import_export_demo +#: model:ir.model,name:excel_import_export_demo.model_report_sale_order +msgid "Wizard for report.sale.order" +msgstr "" From 81006a354c51f9a3319baf88d372300eddd758b4 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 3 Dec 2024 15:22:38 +0000 Subject: [PATCH 135/232] Added translation using Weblate (Italian) --- autovacuum_message_attachment/i18n/it.po | 769 +++++++++++++++++++++++ 1 file changed, 769 insertions(+) create mode 100644 autovacuum_message_attachment/i18n/it.po diff --git a/autovacuum_message_attachment/i18n/it.po b/autovacuum_message_attachment/i18n/it.po new file mode 100644 index 00000000000..af3d46f7ce9 --- /dev/null +++ b/autovacuum_message_attachment/i18n/it.po @@ -0,0 +1,769 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * autovacuum_message_attachment +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__active +msgid "Active" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields.selection,name:autovacuum_message_attachment.selection__vacuum_rule__message_type__all +msgid "All" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field__unknown__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_abstract_config_settings__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_account__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_account_tag__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_account_template__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_account_type__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_analytic_account__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_analytic_default__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_analytic_distribution__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_analytic_group__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_analytic_line__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_analytic_tag__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_automatic_entry_wizard__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_bank_statement__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_bank_statement_cashbox__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_bank_statement_closebalance__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_bank_statement_line__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_cash_rounding__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_cashbox_line__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_chart_template__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_common_journal_report__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_common_report__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_edi_common__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_edi_document__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_edi_format__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_edi_xml_cii__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_edi_xml_ubl_20__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_edi_xml_ubl_21__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_edi_xml_ubl_bis3__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_edi_xml_ubl_de__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_edi_xml_ubl_efff__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_financial_year_op__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_fiscal_position__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_fiscal_position_account__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_fiscal_position_account_template__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_fiscal_position_tax__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_fiscal_position_tax_template__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_fiscal_position_template__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_full_reconcile__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_group__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_group_template__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_incoterms__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_invoice_report__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_invoice_send__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_journal__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_journal_group__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_move__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_move_line__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_move_reversal__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_partial_reconcile__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_payment__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_payment_method__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_payment_register__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_payment_term__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_payment_term_line__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_print_journal__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_reconcile_model__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_reconcile_model_line__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_reconcile_model_line_template__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_reconcile_model_partner_mapping__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_reconcile_model_template__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_resequence_wizard__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_root__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_setup_bank_manual_config__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_tax__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_tax_group__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_tax_repartition_line__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_tax_repartition_line_template__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_tax_report__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_tax_report_line__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_tax_template__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_tour_upload_bill__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_tour_upload_bill_email_confirm__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_account_unreconcile__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_attachment_queue__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_auditlog_autovacuum__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_auditlog_http_request__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_auditlog_http_session__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_auditlog_log__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_auditlog_log_line__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_auditlog_log_line_view__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_auditlog_rule__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_auth_totp_wizard__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_autovacuum_mixin__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_document_layout__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_exception__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_exception_method__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_import__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_mapping__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_char__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_char_noreadonly__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_char_readonly__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_char_required__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_char_states__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_char_stillreadonly__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_complex__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_float__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_m2o__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_m2o_related__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_m2o_required__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_m2o_required_related__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_o2m__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_o2m_child__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_import_tests_models_preview__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_kanban_abstract__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_kanban_stage__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_language_export__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_language_import__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_language_install__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_module_uninstall__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_module_update__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_module_upgrade__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_multi_image_image__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_multi_image_owner__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_partner_merge_automatic_wizard__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_partner_merge_line__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_time_parameter__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_time_parameter_version__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_base_update_translations__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_bus_bus__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_bus_presence__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_calendar_alarm__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_calendar_alarm_manager__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_calendar_attendee__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_calendar_contacts__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_calendar_event__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_calendar_event_type__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_calendar_recurrence__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cash_box_out__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_change_password_user__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_change_password_wizard__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_changeset_field_rule__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cleanup_create_indexes_line__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cleanup_create_indexes_wizard__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cleanup_purge_line__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cleanup_purge_line_column__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cleanup_purge_line_data__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cleanup_purge_line_menu__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cleanup_purge_line_model__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cleanup_purge_line_module__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cleanup_purge_line_property__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cleanup_purge_line_table__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cleanup_purge_wizard__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cleanup_purge_wizard_column__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cleanup_purge_wizard_data__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cleanup_purge_wizard_menu__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cleanup_purge_wizard_model__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cleanup_purge_wizard_module__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cleanup_purge_wizard_property__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_cleanup_purge_wizard_table__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_collection_base__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_component_builder__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_crm_activity_report__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_crm_iap_lead_helpers__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_crm_iap_lead_industry__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_crm_iap_lead_mining_request__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_crm_iap_lead_role__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_crm_iap_lead_seniority__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_crm_lead2opportunity_partner__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_crm_lead2opportunity_partner_mass__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_crm_lead__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_crm_lead_lost__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_crm_lead_scoring_frequency__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_crm_lead_scoring_frequency_field__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_crm_lost_reason__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_crm_merge_opportunity__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_crm_quotation_partner__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_crm_recurring_plan__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_crm_stage__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_crm_tag__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_crm_team__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_custom_info__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_custom_info_category__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_custom_info_option__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_custom_info_property__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_custom_info_template__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_custom_info_value__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_db_backup__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_decimal_precision__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_digest_digest__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_digest_tip__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_exception_rule__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_exception_rule_confirm__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_fetchmail_server__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_format_address_mixin__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_iap_account__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_iap_enrich_api__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_image_mixin__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_act_url__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_act_window__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_act_window_close__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_act_window_view__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_actions__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_client__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_report__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_report_duplicate__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_server__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_actions_todo__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_attachment__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_autovacuum__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_config_parameter__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_cron__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_default__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_demo__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_demo_failure__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_demo_failure_wizard__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_exports__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_exports_line__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_exports_resolver__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_fields_converter__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_filters__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_http__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_logging__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_mail_server__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_model__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_model_access__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_model_constraint__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_model_data__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_model_fields__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_model_fields_selection__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_model_relation__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_module_author__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_module_category__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_module_module__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_module_module_dependency__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_module_module_exclusion__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_module_type__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_module_type_rule__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_property__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_barcode__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_contact__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_date__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_datetime__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_duration__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_float__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_float_time__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_html__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_image__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_image_url__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_integer__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_many2many__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_many2one__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_monetary__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_qweb__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_relative__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_selection__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_qweb_field_text__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_rule__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_sequence__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_sequence_date_range__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_sequence_option__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_sequence_option_line__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_server_object_lines__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_translation__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_ui_menu__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_ui_view__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_ui_view_custom__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_letsencrypt__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_activity__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_activity_mixin__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_activity_type__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_alias__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_alias_mixin__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_blacklist__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_blacklist_remove__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_bot__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_channel__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_channel_partner__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_compose_message__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_followers__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_mail__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_message__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_message_subtype__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_moderation__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_notification__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_render_mixin__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_resend_cancel__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_resend_message__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_resend_partner__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_shortcode__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_template__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_template_preview__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_thread__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_thread_blacklist__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_thread_cc__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_thread_phone__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_tracking_value__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_wizard_invite__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_model_readonly_restriction__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_module_auto_update__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_module_prototyper__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_module_prototyper_api_version__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_module_prototyper_module_export__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_nsca_check__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_nsca_server__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_payment_acquirer__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_payment_acquirer_onboarding_wizard__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_payment_icon__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_payment_link_wizard__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_payment_token__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_payment_transaction__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_phone_blacklist__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_phone_blacklist_remove__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_phone_validation_mixin__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_portal_mixin__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_portal_share__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_portal_wizard__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_portal_wizard_user__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_print_prenumbered_checks__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_attribute__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_attribute_custom_value__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_attribute_value__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_category__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_packaging__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_pricelist__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_pricelist_item__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_product__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_supplierinfo__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_template__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_template_attribute_exclusion__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_template_attribute_line__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_product_template_attribute_value__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_profiler_profile__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_profiler_profile_python_line__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_profiler_profile_request_line__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_publisher_warranty_contract__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_purchase_bill_union__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_purchase_order__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_purchase_order_line__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_purchase_report__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_queue_job__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_queue_job_channel__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_queue_job_function__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_queue_jobs_to_cancelled__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_queue_jobs_to_done__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_queue_requeue_job__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_record_changeset__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_record_changeset_change__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_account_report_hash_integrity__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_account_report_invoice__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_account_report_invoice_with_payments__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_account_report_journal__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_all_channels_sales__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_base_report_irmodulereference__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_layout__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_paperformat__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_product_report_pricelist__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_report_sale_report_saleproforma__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_bank__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_company__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_config__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_config_installer__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_config_settings__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_country__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_country_group__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_country_state__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_currency__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_currency_rate__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_groups__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_lang__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_partner__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_partner_bank__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_partner_category__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_partner_industry__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_partner_title__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_remote__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_users__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_users_apikeys__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_users_apikeys_description__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_users_apikeys_show__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_users_identitycheck__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_res_users_log__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_reset_view_arch_wizard__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_resource_calendar__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_resource_calendar_attendance__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_resource_calendar_leaves__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_resource_mixin__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_resource_resource__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_resource_test__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_advance_payment_inv__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_order__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_order_cancel__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_order_line__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_order_option__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_order_template__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_order_template_line__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_order_template_option__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_payment_acquirer_onboarding_wizard__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sale_report__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sequence_mixin__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_server_config__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_server_env_mixin__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_server_env_techname_mixin__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sparse_fields_test__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sql_export__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sql_file_wizard__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_sql_request_mixin__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_storage_backend__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_tax_adjustments_wizard__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_test_partner_time_window__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_time_weekday__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_time_window_mixin__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_trgm_index__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_uom_category__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_uom_uom__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_upgrade_analysis__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_upgrade_attribute__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_upgrade_comparison_config__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_upgrade_generate_record_wizard__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_upgrade_install_wizard__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_upgrade_record__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_utm_campaign__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_utm_medium__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_utm_mixin__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_utm_source__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_utm_stage__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_utm_tag__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_validate_account_move__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_video_link_mixin__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_video_provider__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_video_video__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_web_editor_assets__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_web_editor_converter_test_sub__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_web_tour_tour__assigned_attachment_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_wizard_ir_model_menu_create__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model,name:autovacuum_message_attachment.model_ir_attachment +#: model:ir.model.fields.selection,name:autovacuum_message_attachment.selection__vacuum_rule__ttype__attachment +msgid "Attachment" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.actions.server,name:autovacuum_message_attachment.ir_cron_vacuum_attachment_ir_actions_server +#: model:ir.cron,cron_name:autovacuum_message_attachment.ir_cron_vacuum_attachment +#: model:ir.cron,name:autovacuum_message_attachment.ir_cron_vacuum_attachment +msgid "AutoVacuum Attachments" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.actions.server,name:autovacuum_message_attachment.ir_cron_vacuum_message_ir_actions_server +#: model:ir.cron,cron_name:autovacuum_message_attachment.ir_cron_vacuum_message +#: model:ir.cron,name:autovacuum_message_attachment.ir_cron_vacuum_message +msgid "AutoVacuum Mails and Messages" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model,name:autovacuum_message_attachment.model_base +msgid "Base" +msgstr "" + +#. module: autovacuum_message_attachment +#: code:addons/autovacuum_message_attachment/models/vacuum_rule.py:0 +#, python-format +msgid "Cannot find relation to ir.attachment on model %s" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_autovacuum_mixin__changeset_change_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_attachment__changeset_change_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_message__changeset_change_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_autovacuum_mixin__changeset_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_attachment__changeset_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_message__changeset_ids +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields.selection,name:autovacuum_message_attachment.selection__vacuum_rule__message_type__comment +msgid "Comment" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__company_id +msgid "Company" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_autovacuum_mixin__count_pending_changeset_changes +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_attachment__count_pending_changeset_changes +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_message__count_pending_changeset_changes +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_autovacuum_mixin__count_pending_changesets +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_attachment__count_pending_changesets +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_message__count_pending_changesets +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__create_uid +msgid "Created by" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__create_date +msgid "Created on" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__description +#: model_terms:ir.ui.view,arch_db:autovacuum_message_attachment.vacuum_rule_form_view +msgid "Description" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_autovacuum_mixin__display_name +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_attachment__display_name +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_message__display_name +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__display_name +msgid "Display Name" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields.selection,name:autovacuum_message_attachment.selection__vacuum_rule__message_type__email +msgid "Email" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__empty_subtype +msgid "Empty Subtype" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__filename_pattern +msgid "Filename Pattern" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_autovacuum_mixin__id +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_attachment__id +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_message__id +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__id +msgid "ID" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,help:autovacuum_message_attachment.field_vacuum_rule__filename_pattern +msgid "If set, only attachments containing this pattern will be deleted." +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,help:autovacuum_message_attachment.field_vacuum_rule__inheriting_model +msgid "" +"If set, this model will be searched and only related attachments will be deleted.\n" +"\n" +"N.B: model must implement _inherits to link ir.attachment" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__inheriting_model +msgid "Inheriting Model" +msgstr "" + +#. module: autovacuum_message_attachment +#: code:addons/autovacuum_message_attachment/models/vacuum_rule.py:0 +#, python-format +msgid "Inheriting model cannot be used on rule where type is not attachment" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_autovacuum_mixin____last_update +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_attachment____last_update +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_message____last_update +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule____last_update +msgid "Last Modified on" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__write_date +msgid "Last Updated on" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model,name:autovacuum_message_attachment.model_mail_message +#: model:ir.model.fields.selection,name:autovacuum_message_attachment.selection__vacuum_rule__ttype__message +msgid "Message" +msgstr "" + +#. module: autovacuum_message_attachment +#: model_terms:ir.ui.view,arch_db:autovacuum_message_attachment.vacuum_rule_form_view +msgid "Message Models" +msgstr "" + +#. module: autovacuum_message_attachment +#: model_terms:ir.ui.view,arch_db:autovacuum_message_attachment.vacuum_rule_form_view +msgid "Message Subtypes" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__message_type +msgid "Message Type" +msgstr "" + +#. module: autovacuum_message_attachment +#: model_terms:ir.ui.view,arch_db:autovacuum_message_attachment.vacuum_rule_form_view +msgid "Message Vacuum Rule" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.actions.act_window,name:autovacuum_message_attachment.action_vacuum_rule +#: model:ir.ui.menu,name:autovacuum_message_attachment.menu_action_vacuum_rule +msgid "Message and Attachment Vacuum Rule" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,help:autovacuum_message_attachment.field_vacuum_rule__message_subtype_ids +msgid "" +"Message subtypes concerned by the rule. If left empty, the system won't take" +" the subtype into account to find the messages to delete" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model,name:autovacuum_message_attachment.model_autovacuum_mixin +msgid "Mixin used to delete messages or attachments" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__model_id +msgid "Model" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__model_filter_domain +msgid "Model Filter Domain" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__model +msgid "Model code" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__model_ids +msgid "Models" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,help:autovacuum_message_attachment.field_vacuum_rule__model_ids +msgid "" +"Models concerned by the rule. If left empty, it will take all models into " +"account" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__name +msgid "Name" +msgstr "" + +#. module: autovacuum_message_attachment +#: code:addons/autovacuum_message_attachment/models/vacuum_rule.py:0 +#, python-format +msgid "No inheritance of ir.attachment was found on model %s" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,help:autovacuum_message_attachment.field_vacuum_rule__retention_time +msgid "" +"Number of days the messages concerned by this rule will be keeped in the " +"database after creation. Once the delay is passed, they will be " +"automatically deleted." +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__retention_time +msgid "Retention Time" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model,name:autovacuum_message_attachment.model_vacuum_rule +msgid "Rules Used to delete message historic" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_autovacuum_mixin__smart_search +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_attachment__smart_search +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_message__smart_search +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__smart_search +msgid "Smart Search" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__message_subtype_ids +msgid "Subtypes" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields.selection,name:autovacuum_message_attachment.selection__vacuum_rule__message_type__notification +msgid "System notification" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,help:autovacuum_message_attachment.field_vacuum_rule__empty_subtype +msgid "Take also into account messages with no subtypes" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,help:autovacuum_message_attachment.field_vacuum_rule__model_id +msgid "" +"Technical field used to set attributes (invisible/required, domain, " +"etc...for other fields, like the domain filter" +msgstr "" + +#. module: autovacuum_message_attachment +#: code:addons/autovacuum_message_attachment/models/vacuum_rule.py:0 +#, python-format +msgid "The Retention Time can't be 0 days" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__ttype +msgid "Type" +msgstr "" + +#. module: autovacuum_message_attachment +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_autovacuum_mixin__user_can_see_changeset +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_ir_attachment__user_can_see_changeset +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_mail_message__user_can_see_changeset +#: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" From 1fc7345c4ba1e2ca3cce7353c309f30566c8f8ba Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 3 Dec 2024 16:11:52 +0000 Subject: [PATCH 136/232] Added translation using Weblate (Italian) --- rpc_helper/i18n/it.po | 100 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 rpc_helper/i18n/it.po diff --git a/rpc_helper/i18n/it.po b/rpc_helper/i18n/it.po new file mode 100644 index 00000000000..32aaa6973c5 --- /dev/null +++ b/rpc_helper/i18n/it.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * rpc_helper +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,help:rpc_helper.field_ir_model__rpc_config_edit +msgid "" +"Configure RPC config via JSON. Value must be a list of methods to disable " +"wrapped by a dict with key `disable`. Eg: {'disable': ['search', " +"'do_this']}To disable all methods, use `{'disable: ['all']}`" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model__display_name +msgid "Display Name" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model__id +msgid "ID" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model____last_update +msgid "Last Modified on" +msgstr "" + +#. module: rpc_helper +#: model:ir.model,name:rpc_helper.model_ir_model +msgid "Models" +msgstr "" + +#. module: rpc_helper +#: code:addons/rpc_helper/patch.py:0 +#, python-format +msgid "Object %s doesn't exist" +msgstr "" + +#. module: rpc_helper +#: code:addons/rpc_helper/patch.py:0 +#, python-format +msgid "RPC call on %s is not allowed" +msgstr "" + +#. module: rpc_helper +#: model_terms:ir.ui.view,arch_db:rpc_helper.view_model_form +msgid "RPC config" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model__rpc_config +msgid "Rpc Config" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model__rpc_config_edit +msgid "Rpc Config Edit" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model__smart_search +msgid "Smart Search" +msgstr "" + +#. module: rpc_helper +#: model:ir.model.fields,field_description:rpc_helper.field_ir_model__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" From 160259c00f79516c60f1b9875baa594cfd3f8084 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 3 Dec 2024 16:11:58 +0000 Subject: [PATCH 137/232] Added translation using Weblate (Italian) --- base_cron_exclusion/i18n/it.po | 47 ++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 base_cron_exclusion/i18n/it.po diff --git a/base_cron_exclusion/i18n/it.po b/base_cron_exclusion/i18n/it.po new file mode 100644 index 00000000000..022218e2c9d --- /dev/null +++ b/base_cron_exclusion/i18n/it.po @@ -0,0 +1,47 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_cron_exclusion +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: base_cron_exclusion +#: model:ir.model.fields,field_description:base_cron_exclusion.field_ir_cron__display_name +msgid "Display Name" +msgstr "" + +#. module: base_cron_exclusion +#: model:ir.model.fields,field_description:base_cron_exclusion.field_ir_cron__id +msgid "ID" +msgstr "" + +#. module: base_cron_exclusion +#: model:ir.model.fields,field_description:base_cron_exclusion.field_ir_cron____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_cron_exclusion +#: model:ir.model.fields,field_description:base_cron_exclusion.field_ir_cron__mutually_exclusive_cron_ids +#: model_terms:ir.ui.view,arch_db:base_cron_exclusion.ir_cron_view_form +msgid "Mutually Exclusive Scheduled Actions" +msgstr "" + +#. module: base_cron_exclusion +#: model:ir.model,name:base_cron_exclusion.model_ir_cron +msgid "Scheduled Actions" +msgstr "" + +#. module: base_cron_exclusion +#: code:addons/base_cron_exclusion/models/ir_cron.py:0 +#, python-format +msgid "You can not mutually exclude a scheduled actions with itself." +msgstr "" From 95af98aa33bd48fc31f5f972e3eae918b7f9f524 Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Dec 2024 08:36:52 +0000 Subject: [PATCH 138/232] Added translation using Weblate (Italian) --- jsonifier/i18n/it.po | 243 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 243 insertions(+) create mode 100644 jsonifier/i18n/it.po diff --git a/jsonifier/i18n/it.po b/jsonifier/i18n/it.po new file mode 100644 index 00000000000..58a294e001f --- /dev/null +++ b/jsonifier/i18n/it.po @@ -0,0 +1,243 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * jsonifier +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: jsonifier +#: model:ir.model.fields,help:jsonifier.field_ir_exports_line__instance_method_name +msgid "A method defined on the model that takes a record and a field_name" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__active +msgid "Active" +msgstr "" + +#. module: jsonifier +#: model:ir.model,name:jsonifier.model_base +msgid "Base" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,help:jsonifier.field_ir_exports_resolver__python_code +msgid "" +"Compute the result from 'value' by setting the variable 'result'.\n" +"\n" +"For fields resolvers:\n" +":param record: the record\n" +":param name: name of the field\n" +":param value: value of the field\n" +":param field_type: type of the field\n" +"\n" +"For global resolvers:\n" +":param value: JSON dict\n" +":param record: the record\n" +"\n" +"In both types, you can override the final json key.\n" +"To achieve this, simply return a dict like: \n" +"{'result': {'_value': $value, '_json_key': $new_json_key}}" +msgstr "" + +#. module: jsonifier +#: model_terms:ir.ui.view,arch_db:jsonifier.view_ir_exports +msgid "Configuration" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__create_uid +msgid "Created by" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__create_date +msgid "Created on" +msgstr "" + +#. module: jsonifier +#: model:ir.actions.act_window,name:jsonifier.act_ui_exports_resolver_view +#: model:ir.ui.menu,name:jsonifier.ui_exports_resolvers +msgid "Custom Export Resolvers" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports__global_resolver_id +msgid "Custom global resolver" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__resolver_id +msgid "Custom resolver" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports__display_name +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__display_name +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__display_name +msgid "Display Name" +msgstr "" + +#. module: jsonifier +#: code:addons/jsonifier/models/ir_exports_line.py:0 +#, python-format +msgid "Either set a function or a resolver, not both." +msgstr "" + +#. module: jsonifier +#: model:ir.actions.act_window,name:jsonifier.act_ui_exports_view +#: model:ir.ui.menu,name:jsonifier.ui_exports +msgid "Export Fields" +msgstr "" + +#. module: jsonifier +#: model:ir.model,name:jsonifier.model_ir_exports_resolver +msgid "Export Resolver" +msgstr "" + +#. module: jsonifier +#: model:ir.model,name:jsonifier.model_ir_exports +msgid "Exports" +msgstr "" + +#. module: jsonifier +#: model:ir.model,name:jsonifier.model_ir_exports_line +msgid "Exports Line" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields.selection,name:jsonifier.selection__ir_exports_resolver__type__field +msgid "Field" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__instance_method_name +msgid "Function" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields.selection,name:jsonifier.selection__ir_exports_resolver__type__global +msgid "Global" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports__id +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__id +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__id +msgid "ID" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,help:jsonifier.field_ir_exports_line__lang_id +msgid "If set, the language in which the field is exported" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,help:jsonifier.field_ir_exports__global_resolver_id +msgid "If set, will apply the global resolver to the result" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,help:jsonifier.field_ir_exports_line__resolver_id +msgid "If set, will apply the resolver on the field value" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,help:jsonifier.field_ir_exports__language_agnostic +msgid "" +"If set, will set the lang to False when exporting lines without lang, " +"otherwise it uses the lang in the given context to export these fields" +msgstr "" + +#. module: jsonifier +#: model_terms:ir.ui.view,arch_db:jsonifier.view_ir_exports +msgid "Index" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__lang_id +msgid "Language" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports__language_agnostic +msgid "Language Agnostic" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports____last_update +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line____last_update +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver____last_update +msgid "Last Modified on" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__write_date +msgid "Last Updated on" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__name +msgid "Name" +msgstr "" + +#. module: jsonifier +#: code:addons/jsonifier/models/ir_exports_line.py:0 +#, python-format +msgid "Name and Target must have the same hierarchy depth" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__python_code +msgid "Python Code" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports__smart_search +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__smart_search +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__smart_search +msgid "Smart Search" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_line__target +msgid "Target" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,help:jsonifier.field_ir_exports_line__target +msgid "" +"The complete path to the field where you can specify a target on the step as" +" field:target" +msgstr "" + +#. module: jsonifier +#: code:addons/jsonifier/models/ir_exports_line.py:0 +#, python-format +msgid "The target must reference the same field as in name '%s' not in '%s'" +msgstr "" + +#. module: jsonifier +#: model:ir.model.fields,field_description:jsonifier.field_ir_exports_resolver__type +msgid "Type" +msgstr "" + +#. module: jsonifier +#: code:addons/jsonifier/models/models.py:0 +#, python-format +msgid "Wrong parser configuration for field: `%s`" +msgstr "" From 81ad6c0270107a0779ff01d0c9e87c41cc13b2eb Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Dec 2024 08:36:57 +0000 Subject: [PATCH 139/232] Added translation using Weblate (Italian) --- dbfilter_from_header/i18n/it.po | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 dbfilter_from_header/i18n/it.po diff --git a/dbfilter_from_header/i18n/it.po b/dbfilter_from_header/i18n/it.po new file mode 100644 index 00000000000..9ce4346f63e --- /dev/null +++ b/dbfilter_from_header/i18n/it.po @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" From 3c00dfda4f9607efbe9b0743a347504f63de0a27 Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Dec 2024 08:57:18 +0000 Subject: [PATCH 140/232] Added translation using Weblate (Italian) --- upgrade_analysis/i18n/it.po | 532 ++++++++++++++++++++++++++++++++++++ 1 file changed, 532 insertions(+) create mode 100644 upgrade_analysis/i18n/it.po diff --git a/upgrade_analysis/i18n/it.po b/upgrade_analysis/i18n/it.po new file mode 100644 index 00000000000..d0fa4a80f8a --- /dev/null +++ b/upgrade_analysis/i18n/it.po @@ -0,0 +1,532 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * upgrade_analysis +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form +msgid "All Modules" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form +msgid "All OCA Modules" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form +msgid "All Odoo SA Modules" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form +msgid "All Other Modules" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__analysis_ids +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_comparison_config_form +msgid "Analyses" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__analysis_date +msgid "Analysis Date" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__analysis_qty +msgid "Analysis Qty" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__attribute_ids +msgid "Attribute" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_record_form +msgid "Attributes" +msgstr "" + +#. module: upgrade_analysis +#: code:addons/upgrade_analysis/wizards/upgrade_generate_record_wizard.py:0 +#, python-format +msgid "Cannot seem to install or upgrade modules %s" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form +msgid "Clear the list" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_generate_record_wizard_form +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form +msgid "Close" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__config_id +msgid "Comparison Config" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.ui.menu,name:upgrade_analysis.menu_upgrade_comparison_config +msgid "Comparison Configurations" +msgstr "" + +#. module: upgrade_analysis +#: code:addons/upgrade_analysis/models/upgrade_comparison_config.py:0 +#, python-format +msgid "" +"Connection failed.\n" +"\n" +"DETAIL: %s" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_generate_record_wizard_form +msgid "Continue" +msgstr "" + +#. module: upgrade_analysis +#: code:addons/upgrade_analysis/models/upgrade_comparison_config.py:0 +#, python-format +msgid "Could not connect the Odoo server at %s:%s" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_record__mode__create +msgid "Create" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_record_search +msgid "Create Mode" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__create_uid +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__create_uid +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__create_uid +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_generate_record_wizard__create_uid +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__create_uid +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__create_uid +msgid "Created by" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__create_date +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__create_date +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__create_date +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_generate_record_wizard__create_date +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__create_date +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__create_date +msgid "Created on" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__database +msgid "Database" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__definition +msgid "Definition" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_ir_module_module__display_name +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__display_name +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__display_name +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__display_name +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_generate_record_wizard__display_name +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__display_name +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__display_name +msgid "Display Name" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__domain +msgid "Domain" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_analysis__state__done +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_generate_record_wizard__state__done +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_install_wizard__state__done +msgid "Done" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_generate_record_wizard__state__draft +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_install_wizard__state__draft +msgid "Draft" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__field +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_record__type__field +msgid "Field" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.actions.act_window,name:upgrade_analysis.action_upgrade_generate_record_wizard +#: model:ir.ui.menu,name:upgrade_analysis.menu_upgrade_generate_record +msgid "Generate Records Wizard" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_ir_module_module__id +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__id +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__id +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__id +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_generate_record_wizard__id +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__id +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__id +msgid "ID" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form +msgid "Install Modules" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.actions.act_window,name:upgrade_analysis.action_upgrade_install_wizard +#: model:ir.ui.menu,name:upgrade_analysis.menu_upgrade_install +msgid "Install Modules Wizard" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_ir_module_module__is_oca_module +msgid "Is Oca Module" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_ir_module_module__is_odoo_module +msgid "Is Odoo Module" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_ir_module_module____last_update +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis____last_update +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute____last_update +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config____last_update +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_generate_record_wizard____last_update +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard____last_update +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record____last_update +msgid "Last Modified on" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__write_uid +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__write_uid +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__write_uid +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_generate_record_wizard__write_uid +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__write_uid +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__write_date +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__write_date +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__write_date +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_generate_record_wizard__write_date +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__write_date +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__write_date +msgid "Last Updated on" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__log +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_analysis_form +msgid "Log" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__mode +msgid "Mode" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__model +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_record__type__model +msgid "Model" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__model_original_module +msgid "Model Original Module" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__model_type +msgid "Model Type" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_record__mode__modify +msgid "Modify" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_record_search +msgid "Modify Mode" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model,name:upgrade_analysis.model_ir_module_module +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__module_ids +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__module +msgid "Module" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__module_qty +msgid "Modules Quantity" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_generate_record_wizard_form +msgid "Modules initialized and record created" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__name +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__name +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__name +msgid "Name" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_comparison_config_form +msgid "New Analysis" +msgstr "" + +#. module: upgrade_analysis +#: code:addons/upgrade_analysis/models/upgrade_record.py:0 +#, python-format +msgid "No manifest found in %s" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__noupdate +msgid "Noupdate" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__password +msgid "Password" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_analysis_form +msgid "Perform Analysis" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__port +msgid "Port" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__prefix +msgid "Prefix" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__record_id +msgid "Record" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.ui.menu,name:upgrade_analysis.menu_upgrade_records +msgid "Records" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__server +msgid "Server" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,help:upgrade_analysis.field_upgrade_record__mode +msgid "" +"Set to Create if a field is newly created in this module. If this module " +"modifies an attribute of an existing field, set to Modify." +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_ir_module_module__smart_search +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__smart_search +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__smart_search +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__smart_search +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_generate_record_wizard__smart_search +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__smart_search +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__smart_search +msgid "Smart Search" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__state +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_generate_record_wizard__state +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_install_wizard__state +msgid "State" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__suffix +msgid "Suffix" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_comparison_config_form +msgid "Test Connection" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,help:upgrade_analysis.field_upgrade_analysis__upgrade_path +msgid "" +"The base file path to save the analyse files of Odoo modules. Taken from " +"Odoo's --upgrade-path command line option or the 'scripts' subdirectory in " +"the openupgrade_scripts addon." +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form +msgid "The modules have been installed successfuly" +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_install_wizard_form +msgid "" +"This will install the selected modules on the database. Do not continue if " +"you use this database in production." +msgstr "" + +#. module: upgrade_analysis +#: model_terms:ir.ui.view,arch_db:upgrade_analysis.view_upgrade_generate_record_wizard_form +msgid "" +"This will reinitialize all the modules installed on this database. Do not " +"continue if you use this database in production." +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_record__type +msgid "Type" +msgstr "" + +#. module: upgrade_analysis +#: code:addons/upgrade_analysis/models/upgrade_analysis.py:0 +#, python-format +msgid "Unexpected root Element: %s in file: %s" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.actions.act_window,name:upgrade_analysis.action_upgrade_analysis_tree +#: model:ir.model,name:upgrade_analysis.model_upgrade_analysis +#: model:ir.ui.menu,name:upgrade_analysis.menu_upgrade_analysis +msgid "Upgrade Analyses" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.ui.menu,name:upgrade_analysis.menu_upgrade +msgid "Upgrade Analysis" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model,name:upgrade_analysis.model_upgrade_attribute +msgid "Upgrade Attribute" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model,name:upgrade_analysis.model_upgrade_comparison_config +msgid "Upgrade Comparison Configuration" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model,name:upgrade_analysis.model_upgrade_generate_record_wizard +msgid "Upgrade Generate Record Wizard" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model,name:upgrade_analysis.model_upgrade_install_wizard +msgid "Upgrade Install Wizard" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__upgrade_path +msgid "Upgrade Path" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model,name:upgrade_analysis.model_upgrade_record +msgid "Upgrade Record" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__username +msgid "Username" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_attribute__value +msgid "Value" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_comparison_config__version +msgid "Version" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,field_description:upgrade_analysis.field_upgrade_analysis__write_files +msgid "Write Files" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields,help:upgrade_analysis.field_upgrade_analysis__write_files +msgid "Write analysis files to the module directories" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_record__type__xmlid +msgid "XML ID" +msgstr "" + +#. module: upgrade_analysis +#: code:addons/upgrade_analysis/models/upgrade_comparison_config.py:0 +#, python-format +msgid "" +"You are correctly connected to the server %(server)s (version %(version)s) " +"with the user %(user_name)s" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.model.fields.selection,name:upgrade_analysis.selection__upgrade_analysis__state__draft +msgid "draft" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.actions.act_window,name:upgrade_analysis.action_upgrade_comparison_config_tree +msgid "upgrade Comparison Configs" +msgstr "" + +#. module: upgrade_analysis +#: model:ir.actions.act_window,name:upgrade_analysis.action_upgrade_record_tree +msgid "upgrade Records" +msgstr "" From 7634e610612d6e08df95083b927b7eec5713e32b Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Dec 2024 10:13:21 +0000 Subject: [PATCH 141/232] Added translation using Weblate (Italian) --- base_generate_code/i18n/it.po | 182 ++++++++++++++++++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 base_generate_code/i18n/it.po diff --git a/base_generate_code/i18n/it.po b/base_generate_code/i18n/it.po new file mode 100644 index 00000000000..c0cead71971 --- /dev/null +++ b/base_generate_code/i18n/it.po @@ -0,0 +1,182 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_generate_code +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__code +msgid "Code" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: base_generate_code +#: model:ir.model,name:base_generate_code.model_code_format_mixin +msgid "Customizable code format Mixin" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__display_name +msgid "Display Name" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_channel_ids +msgid "Followers (Channels)" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__id +msgid "ID" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,help:base_generate_code.field_code_format_mixin__message_needaction +#: model:ir.model.fields,help:base_generate_code.field_code_format_mixin__message_unread +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,help:base_generate_code.field_code_format_mixin__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_ids +msgid "Messages" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,help:base_generate_code.field_code_format_mixin__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,help:base_generate_code.field_code_format_mixin__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,help:base_generate_code.field_code_format_mixin__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__smart_search +msgid "Smart Search" +msgstr "" + +#. module: base_generate_code +#: code:addons/base_generate_code/models/code_format_mixin.py:0 +#, python-format +msgid "Unable to generate a non existing random code." +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,field_description:base_generate_code.field_code_format_mixin__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: base_generate_code +#: model:ir.model.fields,help:base_generate_code.field_code_format_mixin__website_message_ids +msgid "Website communication history" +msgstr "" From dcd50abbc80561d9945b395bb2e45fa4b69399bc Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Dec 2024 10:13:26 +0000 Subject: [PATCH 142/232] Added translation using Weblate (Italian) --- bus_alt_connection/i18n/it.po | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 bus_alt_connection/i18n/it.po diff --git a/bus_alt_connection/i18n/it.po b/bus_alt_connection/i18n/it.po new file mode 100644 index 00000000000..9ce4346f63e --- /dev/null +++ b/bus_alt_connection/i18n/it.po @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" From 1042a100146402c9553ac9b3711a6836306dc58b Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Dec 2024 10:28:23 +0000 Subject: [PATCH 143/232] Added translation using Weblate (Italian) --- base_contextvars/i18n/it.po | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 base_contextvars/i18n/it.po diff --git a/base_contextvars/i18n/it.po b/base_contextvars/i18n/it.po new file mode 100644 index 00000000000..9ce4346f63e --- /dev/null +++ b/base_contextvars/i18n/it.po @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" From 06194ca994b835625a008973f5a2333447c98ae8 Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Dec 2024 10:28:27 +0000 Subject: [PATCH 144/232] Added translation using Weblate (Italian) --- base_conditional_image/i18n/it.po | 291 ++++++++++++++++++++++++++++++ 1 file changed, 291 insertions(+) create mode 100644 base_conditional_image/i18n/it.po diff --git a/base_conditional_image/i18n/it.po b/base_conditional_image/i18n/it.po new file mode 100644 index 00000000000..0d6049a59d9 --- /dev/null +++ b/base_conditional_image/i18n/it.po @@ -0,0 +1,291 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_conditional_image +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__assigned_attachment_ids +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__changeset_change_ids +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__changeset_ids +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__company_id +msgid "Company" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,help:base_conditional_image.field_conditional_image__company_id +msgid "" +"Company related check. If inherited object does not have a `company_id` " +"field, it will be ignored. The check will first take the records with a " +"company then, if no match is found, the ones without a company." +msgstr "" + +#. module: base_conditional_image +#: model:ir.model,name:base_conditional_image.model_conditional_image +#: model_terms:ir.ui.view,arch_db:base_conditional_image.view_conditional_image_form +msgid "Conditional Image" +msgstr "" + +#. module: base_conditional_image +#: model:ir.actions.act_window,name:base_conditional_image.conditional_image_action +#: model:ir.ui.menu,name:base_conditional_image.conditional_image_menu +msgid "Conditional Images" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__count_pending_changeset_changes +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__count_pending_changesets +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__create_uid +msgid "Created by" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__create_date +msgid "Created on" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__display_name +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__display_name +msgid "Display Name" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_channel_ids +msgid "Followers (Channels)" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__id +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__id +msgid "ID" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,help:base_conditional_image.field_conditional_image__message_needaction +#: model:ir.model.fields,help:base_conditional_image.field_conditional_image__message_unread +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,help:base_conditional_image.field_conditional_image__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__image_1920 +msgid "Image" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__image_1024 +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__image_1024 +msgid "Image 1024" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__image_128 +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__image_128 +msgid "Image 128" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__image_1920 +msgid "Image 1920" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__image_256 +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__image_256 +msgid "Image 256" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__image_512 +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__image_512 +msgid "Image 512" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image____last_update +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__write_date +msgid "Last Updated on" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_ids +msgid "Messages" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model,name:base_conditional_image.model_conditional_image_consumer_mixin +msgid "Mixin for conditional images consumers" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__model_name +msgid "Model Name" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__name +msgid "Name" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,help:base_conditional_image.field_conditional_image__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,help:base_conditional_image.field_conditional_image__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,help:base_conditional_image.field_conditional_image__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,help:base_conditional_image.field_conditional_image__selector +msgid "" +"Python expression used as selector when multiple images are usedfor the same" +" object. The variable `object` refers to the actual record on which the " +"expression will be executed. An empty expression will always return `True`." +msgstr "" + +#. module: base_conditional_image +#: model:ir.actions.server,name:base_conditional_image.resize_conditional_images_ir_actions_server +#: model:ir.cron,cron_name:base_conditional_image.resize_conditional_images +#: model:ir.cron,name:base_conditional_image.resize_conditional_images +msgid "Resize conditional images" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__selector +#: model_terms:ir.ui.view,arch_db:base_conditional_image.view_conditional_image_form +msgid "Selector" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__smart_search +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__smart_search +msgid "Smart Search" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__user_can_see_changeset +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image_consumer_mixin__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,field_description:base_conditional_image.field_conditional_image__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: base_conditional_image +#: model:ir.model.fields,help:base_conditional_image.field_conditional_image__website_message_ids +msgid "Website communication history" +msgstr "" From d82cdfc3164084809796f2dca4fa948c145b9322 Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Dec 2024 11:26:14 +0000 Subject: [PATCH 145/232] Added translation using Weblate (Italian) --- base_future_response/i18n/it.po | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 base_future_response/i18n/it.po diff --git a/base_future_response/i18n/it.po b/base_future_response/i18n/it.po new file mode 100644 index 00000000000..9ce4346f63e --- /dev/null +++ b/base_future_response/i18n/it.po @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" From 7c0af4629408b6a4705ead96816cafc5189fae3e Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Dec 2024 11:26:19 +0000 Subject: [PATCH 146/232] Added translation using Weblate (Italian) --- base_remote/i18n/it.po | 136 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 base_remote/i18n/it.po diff --git a/base_remote/i18n/it.po b/base_remote/i18n/it.po new file mode 100644 index 00000000000..8b38a1a4f66 --- /dev/null +++ b/base_remote/i18n/it.po @@ -0,0 +1,136 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_remote +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: base_remote +#: model:ir.model,name:base_remote.model_base +msgid "Base" +msgstr "" + +#. module: base_remote +#: model:ir.model.fields,field_description:base_remote.field_res_remote__changeset_change_ids +#: model:ir.model.fields,field_description:base_remote.field_res_users__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: base_remote +#: model:ir.model.fields,field_description:base_remote.field_res_remote__changeset_ids +#: model:ir.model.fields,field_description:base_remote.field_res_users__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: base_remote +#: model:ir.model.fields,field_description:base_remote.field_res_remote__count_pending_changeset_changes +#: model:ir.model.fields,field_description:base_remote.field_res_users__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: base_remote +#: model:ir.model.fields,field_description:base_remote.field_res_remote__count_pending_changesets +#: model:ir.model.fields,field_description:base_remote.field_res_users__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: base_remote +#: model:ir.model.fields,field_description:base_remote.field_res_remote__create_uid +msgid "Created by" +msgstr "" + +#. module: base_remote +#: model:ir.model.fields,field_description:base_remote.field_res_remote__create_date +msgid "Created on" +msgstr "" + +#. module: base_remote +#: model:ir.model.fields,field_description:base_remote.field_res_remote__display_name +#: model:ir.model.fields,field_description:base_remote.field_res_users__display_name +msgid "Display Name" +msgstr "" + +#. module: base_remote +#: model:ir.model.fields,field_description:base_remote.field_res_remote__name +msgid "Hostname" +msgstr "" + +#. module: base_remote +#: model:ir.model.constraint,message:base_remote.constraint_res_remote_name_unique +msgid "Hostname must be unique" +msgstr "" + +#. module: base_remote +#: model:ir.model.fields,field_description:base_remote.field_res_remote__id +#: model:ir.model.fields,field_description:base_remote.field_res_users__id +msgid "ID" +msgstr "" + +#. module: base_remote +#: model:ir.model.fields,field_description:base_remote.field_res_remote__in_network +msgid "In Network" +msgstr "" + +#. module: base_remote +#: model:ir.model.fields,field_description:base_remote.field_res_remote__ip +msgid "Ip" +msgstr "" + +#. module: base_remote +#: model:ir.model.fields,field_description:base_remote.field_res_remote____last_update +#: model:ir.model.fields,field_description:base_remote.field_res_users____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_remote +#: model:ir.model.fields,field_description:base_remote.field_res_remote__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: base_remote +#: model:ir.model.fields,field_description:base_remote.field_res_remote__write_date +msgid "Last Updated on" +msgstr "" + +#. module: base_remote +#: model_terms:ir.ui.view,arch_db:base_remote.res_remote_form +msgid "Remote" +msgstr "" + +#. module: base_remote +#: model:ir.actions.act_window,name:base_remote.res_remote_action +#: model:ir.model,name:base_remote.model_res_remote +#: model:ir.ui.menu,name:base_remote.res_remote_menu +msgid "Remotes" +msgstr "" + +#. module: base_remote +#: model:ir.model.fields,help:base_remote.field_res_remote__in_network +msgid "Shows if the remote can be found through the socket" +msgstr "" + +#. module: base_remote +#: model:ir.model.fields,field_description:base_remote.field_res_remote__smart_search +#: model:ir.model.fields,field_description:base_remote.field_res_users__smart_search +msgid "Smart Search" +msgstr "" + +#. module: base_remote +#: model:ir.model.fields,field_description:base_remote.field_res_remote__user_can_see_changeset +#: model:ir.model.fields,field_description:base_remote.field_res_users__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" + +#. module: base_remote +#: model:ir.model,name:base_remote.model_res_users +msgid "Users" +msgstr "" From 5240bb1db538cb0c94fc8e2059424ad140690572 Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Dec 2024 13:55:48 +0000 Subject: [PATCH 147/232] Added translation using Weblate (Italian) --- base_sparse_field_list_support/i18n/it.po | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 base_sparse_field_list_support/i18n/it.po diff --git a/base_sparse_field_list_support/i18n/it.po b/base_sparse_field_list_support/i18n/it.po new file mode 100644 index 00000000000..9ce4346f63e --- /dev/null +++ b/base_sparse_field_list_support/i18n/it.po @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" From 82021623c8a9e002e7ce54972ce5c1640c445c93 Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Dec 2024 13:55:52 +0000 Subject: [PATCH 148/232] Added translation using Weblate (Italian) --- .../i18n/it.po | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 cron_daylight_saving_time_resistant/i18n/it.po diff --git a/cron_daylight_saving_time_resistant/i18n/it.po b/cron_daylight_saving_time_resistant/i18n/it.po new file mode 100644 index 00000000000..d4787f4c638 --- /dev/null +++ b/cron_daylight_saving_time_resistant/i18n/it.po @@ -0,0 +1,52 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * cron_daylight_saving_time_resistant +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: cron_daylight_saving_time_resistant +#: model:ir.model.fields,help:cron_daylight_saving_time_resistant.field_ir_cron__daylight_saving_time_resistant +msgid "" +"Adjust interval to run at the same hour after and beforedaylight saving time" +" change. It's used twice a year" +msgstr "" + +#. module: cron_daylight_saving_time_resistant +#: model:ir.model.fields,field_description:cron_daylight_saving_time_resistant.field_ir_cron__daylight_saving_time_resistant +msgid "Daylight Saving Time Resistant" +msgstr "" + +#. module: cron_daylight_saving_time_resistant +#: model:ir.model.fields,field_description:cron_daylight_saving_time_resistant.field_ir_cron__display_name +msgid "Display Name" +msgstr "" + +#. module: cron_daylight_saving_time_resistant +#: model:ir.model.fields,field_description:cron_daylight_saving_time_resistant.field_ir_cron__id +msgid "ID" +msgstr "" + +#. module: cron_daylight_saving_time_resistant +#: model:ir.model.fields,field_description:cron_daylight_saving_time_resistant.field_ir_cron____last_update +msgid "Last Modified on" +msgstr "" + +#. module: cron_daylight_saving_time_resistant +#: model:ir.model,name:cron_daylight_saving_time_resistant.model_ir_cron +msgid "Scheduled Actions" +msgstr "" + +#. module: cron_daylight_saving_time_resistant +#: model:ir.model.fields,field_description:cron_daylight_saving_time_resistant.field_ir_cron__smart_search +msgid "Smart Search" +msgstr "" From e3d4d84e27a7c59e2b1be9ad2d158cd37425a235 Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Dec 2024 14:21:45 +0000 Subject: [PATCH 149/232] Added translation using Weblate (Italian) --- base_video_link/i18n/it.po | 163 +++++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 base_video_link/i18n/it.po diff --git a/base_video_link/i18n/it.po b/base_video_link/i18n/it.po new file mode 100644 index 00000000000..0261bd7ed45 --- /dev/null +++ b/base_video_link/i18n/it.po @@ -0,0 +1,163 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_video_link +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__code +msgid "Code" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__create_uid +#: model:ir.model.fields,field_description:base_video_link.field_video_video__create_uid +msgid "Created by" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__create_date +#: model:ir.model.fields,field_description:base_video_link.field_video_video__create_date +msgid "Created on" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_link_mixin__display_name +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__display_name +#: model:ir.model.fields,field_description:base_video_link.field_video_video__display_name +msgid "Display Name" +msgstr "" + +#. module: base_video_link +#: model_terms:ir.ui.view,arch_db:base_video_link.video_video_view_search +msgid "Group By" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_link_mixin__id +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__id +#: model:ir.model.fields,field_description:base_video_link.field_video_video__id +msgid "ID" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_video__identifier +msgid "Identifier" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_link_mixin____last_update +#: model:ir.model.fields,field_description:base_video_link.field_video_provider____last_update +#: model:ir.model.fields,field_description:base_video_link.field_video_video____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__write_uid +#: model:ir.model.fields,field_description:base_video_link.field_video_video__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__write_date +#: model:ir.model.fields,field_description:base_video_link.field_video_video__write_date +msgid "Last Updated on" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__name +#: model:ir.model.fields,field_description:base_video_link.field_video_video__name +msgid "Name" +msgstr "" + +#. module: base_video_link +#: model_terms:ir.ui.view,arch_db:base_video_link.video_video_view +msgid "Open" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__pattern_thumbnail_url +msgid "Pattern Thumbnail Url" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__pattern_video_url +msgid "Pattern Video Url" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,help:base_video_link.field_video_provider__pattern_video_url +msgid "" +"Pattern to generate the video's URL. `record` variable represents the video " +"record." +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,help:base_video_link.field_video_provider__pattern_thumbnail_url +msgid "" +"Pattern to generate the video's thumb URL. `record` variable represents the " +"video record." +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_video__provider_id +#: model_terms:ir.ui.view,arch_db:base_video_link.video_video_view_search +msgid "Provider" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_video__sequence +msgid "Sequence" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_link_mixin__smart_search +#: model:ir.model.fields,field_description:base_video_link.field_video_provider__smart_search +#: model:ir.model.fields,field_description:base_video_link.field_video_video__smart_search +msgid "Smart Search" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_video__thumbnail_url +msgid "Thumbnail Url" +msgstr "" + +#. module: base_video_link +#: model:ir.model.fields,field_description:base_video_link.field_video_video__url +msgid "Url" +msgstr "" + +#. module: base_video_link +#: model:ir.actions.act_window,name:base_video_link.video_video_action +#: model:ir.model,name:base_video_link.model_video_video +#: model:ir.model.fields,field_description:base_video_link.field_video_link_mixin__video_ids +#: model:ir.ui.menu,name:base_video_link.video_root_menu +#: model:ir.ui.menu,name:base_video_link.video_video_menu +#: model_terms:ir.ui.view,arch_db:base_video_link.video_video_view_form +#: model_terms:ir.ui.view,arch_db:base_video_link.video_video_view_search +msgid "Video" +msgstr "" + +#. module: base_video_link +#: model:ir.model,name:base_video_link.model_video_link_mixin +msgid "Video Link Mixin" +msgstr "" + +#. module: base_video_link +#: model:ir.actions.act_window,name:base_video_link.video_provider_action +#: model:ir.model,name:base_video_link.model_video_provider +#: model:ir.ui.menu,name:base_video_link.video_provider_menu +#: model_terms:ir.ui.view,arch_db:base_video_link.video_provider_view_form +#: model_terms:ir.ui.view,arch_db:base_video_link.video_provider_view_search +msgid "Video Provider" +msgstr "" From 45ecc03cf632cf28f019486828ae83b6117c7ae9 Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Dec 2024 14:21:51 +0000 Subject: [PATCH 150/232] Added translation using Weblate (Italian) --- test_base_time_window/i18n/it.po | 125 +++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 test_base_time_window/i18n/it.po diff --git a/test_base_time_window/i18n/it.po b/test_base_time_window/i18n/it.po new file mode 100644 index 00000000000..f7c820cf84d --- /dev/null +++ b/test_base_time_window/i18n/it.po @@ -0,0 +1,125 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * test_base_time_window +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: test_base_time_window +#: model:ir.model.fields,field_description:test_base_time_window.field_res_partner__changeset_change_ids +#: model:ir.model.fields,field_description:test_base_time_window.field_test_partner_time_window__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: test_base_time_window +#: model:ir.model.fields,field_description:test_base_time_window.field_res_partner__changeset_ids +#: model:ir.model.fields,field_description:test_base_time_window.field_test_partner_time_window__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: test_base_time_window +#: model:ir.model,name:test_base_time_window.model_res_partner +msgid "Contact" +msgstr "" + +#. module: test_base_time_window +#: model:ir.model.fields,field_description:test_base_time_window.field_res_partner__count_pending_changeset_changes +#: model:ir.model.fields,field_description:test_base_time_window.field_test_partner_time_window__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: test_base_time_window +#: model:ir.model.fields,field_description:test_base_time_window.field_res_partner__count_pending_changesets +#: model:ir.model.fields,field_description:test_base_time_window.field_test_partner_time_window__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: test_base_time_window +#: model:ir.model.fields,field_description:test_base_time_window.field_test_partner_time_window__create_uid +msgid "Created by" +msgstr "" + +#. module: test_base_time_window +#: model:ir.model.fields,field_description:test_base_time_window.field_test_partner_time_window__create_date +msgid "Created on" +msgstr "" + +#. module: test_base_time_window +#: model:ir.model.fields,field_description:test_base_time_window.field_res_partner__display_name +#: model:ir.model.fields,field_description:test_base_time_window.field_test_partner_time_window__display_name +msgid "Display Name" +msgstr "" + +#. module: test_base_time_window +#: model:ir.model.fields,field_description:test_base_time_window.field_test_partner_time_window__time_window_start +msgid "From" +msgstr "" + +#. module: test_base_time_window +#: model:ir.model.fields,field_description:test_base_time_window.field_res_partner__id +#: model:ir.model.fields,field_description:test_base_time_window.field_test_partner_time_window__id +msgid "ID" +msgstr "" + +#. module: test_base_time_window +#: model:ir.model.fields,field_description:test_base_time_window.field_res_partner____last_update +#: model:ir.model.fields,field_description:test_base_time_window.field_test_partner_time_window____last_update +msgid "Last Modified on" +msgstr "" + +#. module: test_base_time_window +#: model:ir.model.fields,field_description:test_base_time_window.field_test_partner_time_window__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: test_base_time_window +#: model:ir.model.fields,field_description:test_base_time_window.field_test_partner_time_window__write_date +msgid "Last Updated on" +msgstr "" + +#. module: test_base_time_window +#: model:ir.model.fields,field_description:test_base_time_window.field_test_partner_time_window__partner_id +msgid "Partner" +msgstr "" + +#. module: test_base_time_window +#: model:ir.model.fields,field_description:test_base_time_window.field_res_partner__smart_search +#: model:ir.model.fields,field_description:test_base_time_window.field_test_partner_time_window__smart_search +msgid "Smart Search" +msgstr "" + +#. module: test_base_time_window +#: model:ir.model,name:test_base_time_window.model_test_partner_time_window +msgid "Test partner time Window" +msgstr "" + +#. module: test_base_time_window +#: model:ir.model.fields,field_description:test_base_time_window.field_test_partner_time_window__time_window_weekday_ids +msgid "Time Window Weekday" +msgstr "" + +#. module: test_base_time_window +#: model:ir.model.fields,field_description:test_base_time_window.field_res_partner__time_window_ids +#: model:ir.model.fields,field_description:test_base_time_window.field_res_users__time_window_ids +msgid "Time windows" +msgstr "" + +#. module: test_base_time_window +#: model:ir.model.fields,field_description:test_base_time_window.field_test_partner_time_window__time_window_end +msgid "To" +msgstr "" + +#. module: test_base_time_window +#: model:ir.model.fields,field_description:test_base_time_window.field_res_partner__user_can_see_changeset +#: model:ir.model.fields,field_description:test_base_time_window.field_test_partner_time_window__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" From 5d891fcaeeb43b59e3daf18f12399bf7a4a97d63 Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Dec 2024 14:28:30 +0000 Subject: [PATCH 151/232] Added translation using Weblate (Italian) --- base_jsonify/i18n/it.po | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 base_jsonify/i18n/it.po diff --git a/base_jsonify/i18n/it.po b/base_jsonify/i18n/it.po new file mode 100644 index 00000000000..9ce4346f63e --- /dev/null +++ b/base_jsonify/i18n/it.po @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" From 351b5b7edceec09f77ac6fc7d97e0b1933f27886 Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Dec 2024 14:28:35 +0000 Subject: [PATCH 152/232] Added translation using Weblate (Italian) --- sql_export_mail/i18n/it.po | 139 +++++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 sql_export_mail/i18n/it.po diff --git a/sql_export_mail/i18n/it.po b/sql_export_mail/i18n/it.po new file mode 100644 index 00000000000..3692d1d9e84 --- /dev/null +++ b/sql_export_mail/i18n/it.po @@ -0,0 +1,139 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sql_export_mail +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: sql_export_mail +#: model:mail.template,body_html:sql_export_mail.sql_export_mailer +msgid "" +"\n" +"
    \n" +"\n" +"

    You will find the report ${object.name or ''} as an attachment of the mail.

    \n" +"\n" +"
    \n" +" " +msgstr "" + +#. module: sql_export_mail +#: model:mail.template,subject:sql_export_mail.sql_export_mailer +msgid "${object.name or ''}" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,help:sql_export_mail.field_sql_export__mail_user_ids +msgid "" +"Add the users who want to receive the report by e-mail. You need to link the" +" sql query with a cron to send mail automatically" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: sql_export_mail +#: model_terms:ir.ui.view,arch_db:sql_export_mail.sql_export_mail_view_form +msgid "Create Cron" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__cron_ids +#: model_terms:ir.ui.view,arch_db:sql_export_mail.sql_export_mail_view_form +msgid "Crons" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__display_name +msgid "Display Name" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields.selection,name:sql_export_mail.selection__sql_export__mail_condition__not_empty +msgid "File Not Empty" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__id +msgid "ID" +msgstr "" + +#. module: sql_export_mail +#: code:addons/sql_export_mail/models/sql_export.py:0 +#, python-format +msgid "" +"It is not possible to execute and send a query automatically by mail if " +"there are parameters to fill" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export____last_update +msgid "Last Modified on" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__mail_condition +msgid "Mail Condition" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model,name:sql_export_mail.model_sql_export +msgid "SQL export" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__smart_search +msgid "Smart Search" +msgstr "" + +#. module: sql_export_mail +#: code:addons/sql_export_mail/models/sql_export.py:0 +#, python-format +msgid "The user does not have any e-mail address." +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" + +#. module: sql_export_mail +#: model:ir.model.fields,field_description:sql_export_mail.field_sql_export__mail_user_ids +msgid "User to notify" +msgstr "" + +#. module: sql_export_mail +#: model_terms:ir.ui.view,arch_db:sql_export_mail.sql_export_mail_view_form +msgid "Users Notified by e-mail" +msgstr "" From ab5d994368fa6dd76bf213eea4e5284ca15b0f7a Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Dec 2024 15:02:28 +0000 Subject: [PATCH 153/232] Added translation using Weblate (Italian) --- attachment_unindex_content/i18n/it.po | 35 +++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 attachment_unindex_content/i18n/it.po diff --git a/attachment_unindex_content/i18n/it.po b/attachment_unindex_content/i18n/it.po new file mode 100644 index 00000000000..baf3257cd06 --- /dev/null +++ b/attachment_unindex_content/i18n/it.po @@ -0,0 +1,35 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * attachment_unindex_content +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: attachment_unindex_content +#: model:ir.model,name:attachment_unindex_content.model_ir_attachment +msgid "Attachment" +msgstr "" + +#. module: attachment_unindex_content +#: model:ir.model.fields,field_description:attachment_unindex_content.field_ir_attachment__display_name +msgid "Display Name" +msgstr "" + +#. module: attachment_unindex_content +#: model:ir.model.fields,field_description:attachment_unindex_content.field_ir_attachment__id +msgid "ID" +msgstr "" + +#. module: attachment_unindex_content +#: model:ir.model.fields,field_description:attachment_unindex_content.field_ir_attachment____last_update +msgid "Last Modified on" +msgstr "" From a76a7d2c1a04a274225fe5720ecdec5eca83fcf6 Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Dec 2024 15:02:32 +0000 Subject: [PATCH 154/232] Added translation using Weblate (Italian) --- base_name_search_multi_lang/i18n/it.po | 50 ++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 base_name_search_multi_lang/i18n/it.po diff --git a/base_name_search_multi_lang/i18n/it.po b/base_name_search_multi_lang/i18n/it.po new file mode 100644 index 00000000000..630b8448ef4 --- /dev/null +++ b/base_name_search_multi_lang/i18n/it.po @@ -0,0 +1,50 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_name_search_multi_lang +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: base_name_search_multi_lang +#: model:ir.model.fields,field_description:base_name_search_multi_lang.field_ir_model__display_name +msgid "Display Name" +msgstr "" + +#. module: base_name_search_multi_lang +#: model:ir.model.fields,field_description:base_name_search_multi_lang.field_ir_model__id +msgid "ID" +msgstr "" + +#. module: base_name_search_multi_lang +#: model:ir.model.fields,field_description:base_name_search_multi_lang.field_ir_model____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_name_search_multi_lang +#: model:ir.model,name:base_name_search_multi_lang.model_ir_model +msgid "Models" +msgstr "" + +#. module: base_name_search_multi_lang +#: model:ir.model.fields,help:base_name_search_multi_lang.field_ir_model__name_search_multi_lang +msgid "Name search this model from all translated languages" +msgstr "" + +#. module: base_name_search_multi_lang +#: model:ir.model.fields,field_description:base_name_search_multi_lang.field_ir_model__name_search_multi_lang +msgid "Search Translated Name" +msgstr "" + +#. module: base_name_search_multi_lang +#: model:ir.model.fields,field_description:base_name_search_multi_lang.field_ir_model__smart_search +msgid "Smart Search" +msgstr "" From cb6d44ef25246a1ac5b0a1ac13fea712e0de1820 Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Dec 2024 15:47:06 +0000 Subject: [PATCH 155/232] Added translation using Weblate (Italian) --- base_time_window/i18n/it.po | 161 ++++++++++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 base_time_window/i18n/it.po diff --git a/base_time_window/i18n/it.po b/base_time_window/i18n/it.po new file mode 100644 index 00000000000..f80d2dfc0e0 --- /dev/null +++ b/base_time_window/i18n/it.po @@ -0,0 +1,161 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_time_window +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: base_time_window +#: code:addons/base_time_window/models/time_window_mixin.py:0 +#, python-format +msgid "%s must be > %s" +msgstr "" + +#. module: base_time_window +#: code:addons/base_time_window/models/time_window_mixin.py:0 +#, python-format +msgid "%s overlaps %s" +msgstr "" + +#. module: base_time_window +#: code:addons/base_time_window/models/time_window_mixin.py:0 +#, python-format +msgid "At least one time.weekday is required" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_weekday__create_uid +msgid "Created by" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_weekday__create_date +msgid "Created on" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_weekday__display_name +#: model:ir.model.fields,field_description:base_time_window.field_time_window_mixin__display_name +msgid "Display Name" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields.selection,name:base_time_window.selection__time_weekday__name__4 +msgid "Friday" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_window_mixin__time_window_start +msgid "From" +msgstr "" + +#. module: base_time_window +#: code:addons/base_time_window/models/time_window_mixin.py:0 +#, python-format +msgid "Hour should be between 00 and 23" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_weekday__id +#: model:ir.model.fields,field_description:base_time_window.field_time_window_mixin__id +msgid "ID" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_weekday____last_update +#: model:ir.model.fields,field_description:base_time_window.field_time_window_mixin____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_weekday__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_weekday__write_date +msgid "Last Updated on" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields.selection,name:base_time_window.selection__time_weekday__name__0 +msgid "Monday" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_weekday__name +msgid "Name" +msgstr "" + +#. module: base_time_window +#: code:addons/base_time_window/models/time_weekday.py:0 +#: model:ir.model.constraint,message:base_time_window.constraint_time_weekday_name_uniq +#, python-format +msgid "Name must be unique" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields.selection,name:base_time_window.selection__time_weekday__name__5 +msgid "Saturday" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_weekday__smart_search +#: model:ir.model.fields,field_description:base_time_window.field_time_window_mixin__smart_search +msgid "Smart Search" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields.selection,name:base_time_window.selection__time_weekday__name__6 +msgid "Sunday" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields.selection,name:base_time_window.selection__time_weekday__name__3 +msgid "Thursday" +msgstr "" + +#. module: base_time_window +#: model:ir.model,name:base_time_window.model_time_weekday +msgid "Time Week Day" +msgstr "" + +#. module: base_time_window +#: model:ir.model,name:base_time_window.model_time_window_mixin +msgid "Time Window" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_window_mixin__time_window_weekday_ids +msgid "Time Window Weekday" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields,field_description:base_time_window.field_time_window_mixin__time_window_end +msgid "To" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields.selection,name:base_time_window.selection__time_weekday__name__1 +msgid "Tuesday" +msgstr "" + +#. module: base_time_window +#: model:ir.model.fields.selection,name:base_time_window.selection__time_weekday__name__2 +msgid "Wednesday" +msgstr "" + +#. module: base_time_window +#: code:addons/base_time_window/models/time_window_mixin.py:0 +#, python-format +msgid "{days}: From {start} to {end}" +msgstr "" From 091f822e24fb3bd999c8cb99663a588e76e305c5 Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Dec 2024 15:47:13 +0000 Subject: [PATCH 156/232] Added translation using Weblate (Italian) --- attachment_synchronize/i18n/it.po | 393 ++++++++++++++++++++++++++++++ 1 file changed, 393 insertions(+) create mode 100644 attachment_synchronize/i18n/it.po diff --git a/attachment_synchronize/i18n/it.po b/attachment_synchronize/i18n/it.po new file mode 100644 index 00000000000..797eadf8b61 --- /dev/null +++ b/attachment_synchronize/i18n/it.po @@ -0,0 +1,393 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * attachment_synchronize +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: attachment_synchronize +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form +msgid "Fail" +msgstr "" + +#. module: attachment_synchronize +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form +msgid "Pending" +msgstr "" + +#. module: attachment_synchronize +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form +msgid "Success" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__after_import +msgid "Action after import a file" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__after_import +msgid "After Import" +msgstr "" + +#. module: attachment_synchronize +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form +msgid "Archived" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__assigned_attachment_ids +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__assigned_attachment_ids +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__attachment_ids +msgid "Attachment" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model,name:attachment_synchronize.model_attachment_queue +msgid "Attachment Queue" +msgstr "" + +#. module: attachment_synchronize +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_search +msgid "Attachment Task" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model,name:attachment_synchronize.model_attachment_synchronize_task +msgid "Attachment synchronize task" +msgstr "" + +#. module: attachment_synchronize +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_search +msgid "Attachments" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.actions.act_window,name:attachment_synchronize.action_attachment_export_task +#: model:ir.ui.menu,name:attachment_synchronize.menu_attachment_export_task +msgid "Attachments Export Tasks" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.actions.act_window,name:attachment_synchronize.action_attachment_import_task +#: model:ir.ui.menu,name:attachment_synchronize.menu_attachment_import_task +msgid "Attachments Import Tasks" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.actions.act_window,name:attachment_synchronize.action_attachment_queue_related +msgid "Attachments Queue" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__avoid_duplicated_files +msgid "Avoid importing duplicated files" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__backend_id +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_search +msgid "Backend" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__changeset_change_ids +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__changeset_change_ids +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__changeset_ids +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__changeset_ids +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__count_attachment_done +msgid "Count Attachment Done" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__count_attachment_failed +msgid "Count Attachment Failed" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__count_attachment_pending +msgid "Count Attachment Pending" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__count_pending_changeset_changes +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__count_pending_changeset_changes +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__count_pending_changesets +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__count_pending_changesets +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__create_uid +msgid "Created by" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__create_date +msgid "Created on" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields.selection,name:attachment_synchronize.selection__attachment_synchronize_task__after_import__delete +msgid "Delete" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__display_name +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__display_name +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__display_name +msgid "Display Name" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__active +msgid "Enabled" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields.selection,name:attachment_synchronize.selection__attachment_queue__file_type__export +msgid "Export File (External location)" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields.selection,name:attachment_synchronize.selection__attachment_synchronize_task__method_type__export +msgid "Export Task" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__export_task_count +msgid "Export Tasks" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__failure_emails +msgid "Failure Emails" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__filepath +msgid "File Path" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__file_type +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__file_type +msgid "File Type" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__id +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__id +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__id +msgid "ID" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__avoid_duplicated_files +msgid "" +"If checked, a file will not be imported if an Attachment Queue with the same" +" name already exists." +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields.selection,name:attachment_synchronize.selection__attachment_synchronize_task__method_type__import +msgid "Import Task" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__import_task_count +msgid "Import Tasks" +msgstr "" + +#. module: attachment_synchronize +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form +msgid "Importation" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__move_path +msgid "Imported File will be moved to this path" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__new_name +msgid "" +"Imported File will be renamed to this name.\n" +"New Name can use 'mako' template where 'obj' is the original file's name.\n" +"For instance : ${obj.name}-${obj.create_date}.csv" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue____last_update +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task____last_update +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend____last_update +msgid "Last Modified on" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__write_date +msgid "Last Updated on" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__method_type +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__method_type +msgid "Method Type" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields.selection,name:attachment_synchronize.selection__attachment_synchronize_task__after_import__move +msgid "Move" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields.selection,name:attachment_synchronize.selection__attachment_synchronize_task__after_import__move_rename +msgid "Move & Rename" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__move_path +msgid "Move Path" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__name +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form +msgid "Name" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__new_name +msgid "New Name" +msgstr "" + +#. module: attachment_synchronize +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form +msgid "Notification" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__filepath +msgid "Path to imported/exported files in the Backend" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__pattern +msgid "" +"Pattern used to select the files to be imported following the 'fnmatch' special characters (e.g. '*.txt' to catch all the text files).\n" +"If empty, import all the files found in 'File Path'." +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields.selection,name:attachment_synchronize.selection__attachment_synchronize_task__after_import__rename +msgid "Rename" +msgstr "" + +#. module: attachment_synchronize +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_tree +msgid "Run" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.actions.server,name:attachment_synchronize.cronjob_run_attachment_synchronize_task_import_ir_actions_server +#: model:ir.cron,cron_name:attachment_synchronize.cronjob_run_attachment_synchronize_task_import +#: model:ir.cron,name:attachment_synchronize.cronjob_run_attachment_synchronize_task_import +msgid "Run attachment tasks import" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__pattern +msgid "Selection Pattern" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__smart_search +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__smart_search +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__smart_search +msgid "Smart Search" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model,name:attachment_synchronize.model_storage_backend +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__storage_backend_id +msgid "Storage Backend" +msgstr "" + +#. module: attachment_synchronize +#: model_terms:ir.ui.view,arch_db:attachment_synchronize.view_attachment_task_form +msgid "Storage Location" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__task_id +msgid "Task" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__synchronize_task_ids +msgid "Tasks" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,help:attachment_synchronize.field_attachment_queue__file_type +msgid "" +"The file type determines an import method to be used to parse and transform " +"data before their import in ERP or an export" +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__failure_emails +msgid "" +"Used to fill the 'Failure Emails' field in the 'Attachments Queues' related to this task.\n" +"An alert will be sent to these emails if any operation on these Attachment Queue's file type fails." +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,help:attachment_synchronize.field_attachment_synchronize_task__file_type +msgid "" +"Used to fill the 'File Type' field in the imported 'Attachments Queues'.\n" +"Further operations will be realized on these Attachments Queues depending on their 'File Type' value." +msgstr "" + +#. module: attachment_synchronize +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_queue__user_can_see_changeset +#: model:ir.model.fields,field_description:attachment_synchronize.field_attachment_synchronize_task__user_can_see_changeset +#: model:ir.model.fields,field_description:attachment_synchronize.field_storage_backend__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" From 181651fa0cb9c6802f1d0c53d5f6f6fc627cb00d Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Dec 2024 15:54:37 +0000 Subject: [PATCH 157/232] Added translation using Weblate (Italian) --- base_time_parameter/i18n/it.po | 216 +++++++++++++++++++++++++++++++++ 1 file changed, 216 insertions(+) create mode 100644 base_time_parameter/i18n/it.po diff --git a/base_time_parameter/i18n/it.po b/base_time_parameter/i18n/it.po new file mode 100644 index 00000000000..b601a0444e2 --- /dev/null +++ b/base_time_parameter/i18n/it.po @@ -0,0 +1,216 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_time_parameter +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: base_time_parameter +#: model:ir.model.constraint,message:base_time_parameter.constraint_base_time_parameter_version__unique +msgid "A parameter cannot have two versions starting the same day." +msgstr "" + +#. module: base_time_parameter +#: model:ir.model,name:base_time_parameter.model_base +msgid "Base" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__boolean +msgid "Boolean (True/False)" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__code +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__code +msgid "Code" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__company_id +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__company_id +msgid "Company" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__country_id +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__country_id +msgid "Country" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__create_uid +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__create_uid +msgid "Created by" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__create_date +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__create_date +msgid "Created on" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__date +msgid "Date" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__date_from +msgid "Date From" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__description +#: model_terms:ir.ui.view,arch_db:base_time_parameter.base_time_parameter_view_form +msgid "Description" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__display_name +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__display_name +msgid "Display Name" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,help:base_time_parameter.field_base_time_parameter__model_id +msgid "Filter by model (e.g. hr.payslip)" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__float +msgid "Floating point number" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__id +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__id +msgid "ID" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__integer +msgid "Integer number" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__json +msgid "JSON" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter____last_update +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__write_uid +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__write_date +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__write_date +msgid "Last Updated on" +msgstr "" + +#. module: base_time_parameter +#: model:res.groups,name:base_time_parameter.group_time_parameter +msgid "Manage Time Parameters" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__model_id +#: model_terms:ir.ui.view,arch_db:base_time_parameter.base_time_parameter_view_search +msgid "Model" +msgstr "" + +#. module: base_time_parameter +#: code:addons/base_time_parameter/models/base_time_parameter.py:0 +#, python-format +msgid "" +"No parameter for model '%(model_name)s', code '%(code)s', date %(date)s" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__name +msgid "Parameter Name" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__record +msgid "Record" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__record_model +msgid "Record Model" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__value_reference +msgid "Reference Value" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__smart_search +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__smart_search +msgid "Smart Search" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__string +msgid "Text" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model,name:base_time_parameter.model_base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__parameter_id +#: model_terms:ir.ui.view,arch_db:base_time_parameter.base_time_parameter_view_form +msgid "Time Parameter" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model,name:base_time_parameter.model_base_time_parameter_version +msgid "Time Parameter Version" +msgstr "" + +#. module: base_time_parameter +#: model:ir.actions.act_window,name:base_time_parameter.base_time_parameter_action +#: model:ir.ui.menu,name:base_time_parameter.base_time_parameter_menu +msgid "Time Parameters" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.constraint,message:base_time_parameter.constraint_base_time_parameter__unique +msgid "Two time parameters cannot have the same code." +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__type +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__type +msgid "Type" +msgstr "" + +#. module: base_time_parameter +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter_version__value +msgid "Value" +msgstr "" + +#. module: base_time_parameter +#: model:ir.actions.act_window,name:base_time_parameter.base_time_parameter_version_action +#: model:ir.model.fields,field_description:base_time_parameter.field_base_time_parameter__version_ids +#: model_terms:ir.ui.view,arch_db:base_time_parameter.base_time_parameter_view_form +msgid "Versions" +msgstr "" From bfad01bc0c6c29497db326f15d088f63d15550c0 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 27 Dec 2024 09:28:38 +0000 Subject: [PATCH 158/232] [BOT] post-merge updates --- README.md | 2 +- tracking_manager/README.rst | 2 +- tracking_manager/__manifest__.py | 2 +- tracking_manager/static/description/index.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d0021040306..0a4aa8081f6 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ addon | version | maintainers | summary [sql_export_mail](sql_export_mail/) | 14.0.1.0.0 | | Send csv file generated by sql query by mail. [sql_request_abstract](sql_request_abstract/) | 14.0.1.3.0 | [![legalsylvain](https://github.com/legalsylvain.png?size=30px)](https://github.com/legalsylvain) | Abstract Model to manage SQL Requests [test_base_time_window](test_base_time_window/) | 14.0.1.0.1 | | Test Base model to handle time windows -[tracking_manager](tracking_manager/) | 14.0.1.2.1 | [![Kev-Roche](https://github.com/Kev-Roche.png?size=30px)](https://github.com/Kev-Roche) [![sebastienbeau](https://github.com/sebastienbeau.png?size=30px)](https://github.com/sebastienbeau) | This module tracks all fields of a model, including one2many and many2many ones. +[tracking_manager](tracking_manager/) | 14.0.1.3.0 | [![Kev-Roche](https://github.com/Kev-Roche.png?size=30px)](https://github.com/Kev-Roche) [![sebastienbeau](https://github.com/sebastienbeau.png?size=30px)](https://github.com/sebastienbeau) | This module tracks all fields of a model, including one2many and many2many ones. [upgrade_analysis](upgrade_analysis/) | 14.0.3.0.0 | | Performs a difference analysis between modules installed on two different Odoo instances [url_attachment_search_fuzzy](url_attachment_search_fuzzy/) | 14.0.1.0.1 | [![mariadforgelow](https://github.com/mariadforgelow.png?size=30px)](https://github.com/mariadforgelow) | Fuzzy Search of URL in Attachments diff --git a/tracking_manager/README.rst b/tracking_manager/README.rst index 80f589ca313..761de014a81 100644 --- a/tracking_manager/README.rst +++ b/tracking_manager/README.rst @@ -7,7 +7,7 @@ Tracking Manager !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:1b6253512299ab00c6e437726189c0e7cc561ab9aa9d1b601999aeee369dba18 + !! source digest: sha256:21c9f7146785f3f48b472fed05f2ebd5e6d330b421bbb454300c3dfde16b0359 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/tracking_manager/__manifest__.py b/tracking_manager/__manifest__.py index 90bb65a57db..114ad5d0cc0 100644 --- a/tracking_manager/__manifest__.py +++ b/tracking_manager/__manifest__.py @@ -6,7 +6,7 @@ "name": "Tracking Manager", "summary": """This module tracks all fields of a model, including one2many and many2many ones.""", - "version": "14.0.1.2.1", + "version": "14.0.1.3.0", "category": "Tools", "website": "https://github.com/OCA/server-tools", "author": "Akretion, Odoo Community Association (OCA)", diff --git a/tracking_manager/static/description/index.html b/tracking_manager/static/description/index.html index 1ac17331fd2..06b08b5d2c8 100644 --- a/tracking_manager/static/description/index.html +++ b/tracking_manager/static/description/index.html @@ -367,7 +367,7 @@

    Tracking Manager

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:1b6253512299ab00c6e437726189c0e7cc561ab9aa9d1b601999aeee369dba18 +!! source digest: sha256:21c9f7146785f3f48b472fed05f2ebd5e6d330b421bbb454300c3dfde16b0359 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    This module allows to track all fields on every model that has a chatter, including one2many and many2many ones. This excludes the computed, readonly, related fields by default. From 8bbf3b6b6ab9a4e5c05f3c797b4033f4dcf000ed Mon Sep 17 00:00:00 2001 From: mymage Date: Thu, 16 Jan 2025 13:11:24 +0000 Subject: [PATCH 159/232] Translated using Weblate (Italian) Currently translated at 100.0% (1 of 1 strings) Translation: server-tools-14.0/server-tools-14.0-base_order_by_related Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_order_by_related/it/ --- base_order_by_related/i18n/it.po | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/base_order_by_related/i18n/it.po b/base_order_by_related/i18n/it.po index cd13a9a0da2..3fd17b1b01a 100644 --- a/base_order_by_related/i18n/it.po +++ b/base_order_by_related/i18n/it.po @@ -6,15 +6,17 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2025-01-16 16: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.6.2\n" #. module: base_order_by_related #: model:ir.model,name:base_order_by_related.model_base msgid "Base" -msgstr "" +msgstr "Base" From 4992ccbe1515eff3344531650946a83bcd28b658 Mon Sep 17 00:00:00 2001 From: mymage Date: Thu, 16 Jan 2025 13:10:07 +0000 Subject: [PATCH 160/232] Translated using Weblate (Italian) Currently translated at 100.0% (6 of 6 strings) Translation: server-tools-14.0/server-tools-14.0-datetime_formatter Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-datetime_formatter/it/ --- datetime_formatter/i18n/it.po | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/datetime_formatter/i18n/it.po b/datetime_formatter/i18n/it.po index 8709bb85846..1b97e95e842 100644 --- a/datetime_formatter/i18n/it.po +++ b/datetime_formatter/i18n/it.po @@ -9,31 +9,32 @@ msgstr "" "Project-Id-Version: server-tools (8.0)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-03-17 15:37+0000\n" -"PO-Revision-Date: 2016-03-13 09:34+0000\n" -"Last-Translator: Paolo Valier\n" +"PO-Revision-Date: 2025-01-16 16:06+0000\n" +"Last-Translator: mymage \n" "Language-Team: Italian (http://www.transifex.com/oca/OCA-server-tools-8-0/" "language/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" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" #. module: datetime_formatter #: code:addons/datetime_formatter/models/res_lang.py:0 #, python-format msgid "Best matched language (%s) not found." -msgstr "" +msgstr "Lingua più corrispondente (%s) non trovata." #. module: datetime_formatter #: model:ir.model.fields,field_description:datetime_formatter.field_res_lang__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: datetime_formatter #: model:ir.model.fields,field_description:datetime_formatter.field_res_lang__id msgid "ID" -msgstr "" +msgstr "ID" #. module: datetime_formatter #: model:ir.model,name:datetime_formatter.model_res_lang @@ -43,9 +44,9 @@ msgstr "Lingue" #. module: datetime_formatter #: model:ir.model.fields,field_description:datetime_formatter.field_res_lang____last_update msgid "Last Modified on" -msgstr "" +msgstr "Ultima modifica il" #. module: datetime_formatter #: model:ir.model.fields,field_description:datetime_formatter.field_res_lang__smart_search msgid "Smart Search" -msgstr "" +msgstr "Ricerca intelligente" From 1ce3719a56ab0360957b76dc0919c0b477dc3ff0 Mon Sep 17 00:00:00 2001 From: mymage Date: Thu, 16 Jan 2025 13:11:50 +0000 Subject: [PATCH 161/232] Translated using Weblate (Italian) Currently translated at 100.0% (11 of 11 strings) Translation: server-tools-14.0/server-tools-14.0-base_technical_user Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_technical_user/it/ --- base_technical_user/i18n/it.po | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/base_technical_user/i18n/it.po b/base_technical_user/i18n/it.po index f5199ccafa3..6b11440a8fd 100644 --- a/base_technical_user/i18n/it.po +++ b/base_technical_user/i18n/it.po @@ -9,19 +9,20 @@ msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-01-06 02:25+0000\n" -"PO-Revision-Date: 2018-01-06 02:25+0000\n" -"Last-Translator: Paolo Valier , 2017\n" +"PO-Revision-Date: 2025-01-16 16: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" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" #. module: base_technical_user #: model:ir.model,name:base_technical_user.model_base msgid "Base" -msgstr "" +msgstr "Base" #. module: base_technical_user #: model:ir.model,name:base_technical_user.model_res_company @@ -36,22 +37,22 @@ msgstr "Configurazione" #. module: base_technical_user #: model:ir.model.fields,field_description:base_technical_user.field_res_company__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: base_technical_user #: model:ir.model.fields,field_description:base_technical_user.field_res_company__id msgid "ID" -msgstr "" +msgstr "ID" #. module: base_technical_user #: model:ir.model.fields,field_description:base_technical_user.field_res_company____last_update msgid "Last Modified on" -msgstr "" +msgstr "Ultima modifica il" #. module: base_technical_user #: model:ir.model.fields,field_description:base_technical_user.field_res_company__smart_search msgid "Smart Search" -msgstr "" +msgstr "Ricerca intelligente" #. module: base_technical_user #: model_terms:ir.ui.view,arch_db:base_technical_user.res_company_view_form_inherit_base_technical_user @@ -61,15 +62,15 @@ msgstr "Parametri Tecnici" #. module: base_technical_user #: model:ir.model.fields,field_description:base_technical_user.field_res_company__user_tech_id msgid "Technical User" -msgstr "" +msgstr "Utente tecnico" #. module: base_technical_user #: code:addons/base_technical_user/models/models.py:0 #, python-format msgid "The technical user is missing in the company {}" -msgstr "" +msgstr "Manca l'utente tecnico nell'azienda {}" #. module: base_technical_user #: model:ir.model.fields,help:base_technical_user.field_res_company__user_tech_id msgid "This user can be used by process for technical purpose" -msgstr "" +msgstr "Questo utente può essere usato dai processi per motvi tecnici" From 5b8dd6fca5d82ef48d022d0ede489fb896f04371 Mon Sep 17 00:00:00 2001 From: mymage Date: Thu, 16 Jan 2025 13:08:06 +0000 Subject: [PATCH 162/232] Translated using Weblate (Italian) Currently translated at 100.0% (85 of 85 strings) Translation: server-tools-14.0/server-tools-14.0-auto_backup Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-auto_backup/it/ --- auto_backup/i18n/it.po | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/auto_backup/i18n/it.po b/auto_backup/i18n/it.po index de8c7dcca25..a0c89d2d513 100644 --- a/auto_backup/i18n/it.po +++ b/auto_backup/i18n/it.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-03 10:08+0000\n" -"PO-Revision-Date: 2024-01-03 15:35+0000\n" +"PO-Revision-Date: 2025-01-16 16:06+0000\n" "Last-Translator: mymage \n" "Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" "Language: it\n" @@ -17,7 +17,7 @@ msgstr "" "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" +"X-Generator: Weblate 5.6.2\n" #. module: auto_backup #: model_terms:ir.ui.view,arch_db:auto_backup.view_backup_conf_form @@ -94,12 +94,12 @@ msgstr "Impossibile duplicare una configurazione." #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__changeset_change_ids msgid "Changeset Changes" -msgstr "" +msgstr "Modifiche dell'insieme di modifiche" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__changeset_ids msgid "Changesets" -msgstr "" +msgstr "Insiemi di modifiche" #. module: auto_backup #: model:ir.model.fields,help:auto_backup.field_db_backup__backup_format @@ -132,12 +132,12 @@ msgstr "Test connessione avvenuto con successo!" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__count_pending_changeset_changes msgid "Count Pending Changeset Changes" -msgstr "" +msgstr "Conteggio modifiche dell'insieme di modifiche in attesa" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__count_pending_changesets msgid "Count Pending Changesets" -msgstr "" +msgstr "Conteggio insieme di modifiche in attesa" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__create_uid @@ -443,7 +443,7 @@ msgstr "" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__user_can_see_changeset msgid "User Can See Changeset" -msgstr "" +msgstr "L'utente può vedere l'insieme delle modifiche" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__sftp_user From 907b75350b1aafa7e475d9367036a832a0f674bb Mon Sep 17 00:00:00 2001 From: mymage Date: Thu, 16 Jan 2025 13:11:02 +0000 Subject: [PATCH 163/232] Translated using Weblate (Italian) Currently translated at 100.0% (1 of 1 strings) Translation: server-tools-14.0/server-tools-14.0-onchange_helper Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-onchange_helper/it/ --- onchange_helper/i18n/it.po | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/onchange_helper/i18n/it.po b/onchange_helper/i18n/it.po index 81bca65d237..08b746e7f32 100644 --- a/onchange_helper/i18n/it.po +++ b/onchange_helper/i18n/it.po @@ -6,15 +6,17 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2025-01-16 16: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.6.2\n" #. module: onchange_helper #: model:ir.model,name:onchange_helper.model_base msgid "Base" -msgstr "" +msgstr "Base" From f33ad6cdabe123185fff51202b37624e0e06429f Mon Sep 17 00:00:00 2001 From: mymage Date: Thu, 16 Jan 2025 13:11:17 +0000 Subject: [PATCH 164/232] Translated using Weblate (Italian) Currently translated at 100.0% (1 of 1 strings) Translation: server-tools-14.0/server-tools-14.0-base_sequence_default Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_sequence_default/it/ --- base_sequence_default/i18n/it.po | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/base_sequence_default/i18n/it.po b/base_sequence_default/i18n/it.po index a20f49b3c93..3b0a45af338 100644 --- a/base_sequence_default/i18n/it.po +++ b/base_sequence_default/i18n/it.po @@ -6,15 +6,17 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2025-01-16 16: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.6.2\n" #. module: base_sequence_default #: model:ir.model,name:base_sequence_default.model_base msgid "Base" -msgstr "" +msgstr "Base" From bd0d8613215bef0f7a25735ff1f31981194eb812 Mon Sep 17 00:00:00 2001 From: mymage Date: Thu, 16 Jan 2025 13:10:44 +0000 Subject: [PATCH 165/232] Translated using Weblate (Italian) Currently translated at 100.0% (7 of 7 strings) Translation: server-tools-14.0/server-tools-14.0-base_view_inheritance_extension Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_view_inheritance_extension/it/ --- base_view_inheritance_extension/i18n/it.po | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/base_view_inheritance_extension/i18n/it.po b/base_view_inheritance_extension/i18n/it.po index f9996cc89d4..1d85640df4a 100644 --- a/base_view_inheritance_extension/i18n/it.po +++ b/base_view_inheritance_extension/i18n/it.po @@ -9,29 +9,30 @@ msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-01-06 02:25+0000\n" -"PO-Revision-Date: 2018-01-06 02:25+0000\n" -"Last-Translator: Paolo Valier , 2018\n" +"PO-Revision-Date: 2025-01-16 16: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" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" #. module: base_view_inheritance_extension #: model:ir.model.fields,field_description:base_view_inheritance_extension.field_ir_ui_view__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: base_view_inheritance_extension #: model:ir.model.fields,field_description:base_view_inheritance_extension.field_ir_ui_view__id msgid "ID" -msgstr "" +msgstr "ID" #. module: base_view_inheritance_extension #: model:ir.model.fields,field_description:base_view_inheritance_extension.field_ir_ui_view____last_update msgid "Last Modified on" -msgstr "" +msgstr "Ultima modifica il" #. module: base_view_inheritance_extension #: model_terms:ir.ui.view,arch_db:base_view_inheritance_extension.view_partner_simple_form @@ -46,12 +47,12 @@ msgstr "Numeri di telefono" #. module: base_view_inheritance_extension #: model:ir.model.fields,field_description:base_view_inheritance_extension.field_ir_ui_view__smart_search msgid "Smart Search" -msgstr "" +msgstr "Ricerca intelligente" #. module: base_view_inheritance_extension #: model:ir.model,name:base_view_inheritance_extension.model_ir_ui_view msgid "View" -msgstr "" +msgstr "Vista" #~ msgid "ir.ui.view" #~ msgstr "ir.ui.view" From a62ad4c0eaaccd94d5e1f93ee2502e00e707c521 Mon Sep 17 00:00:00 2001 From: mymage Date: Thu, 16 Jan 2025 13:14:07 +0000 Subject: [PATCH 166/232] Translated using Weblate (Italian) Currently translated at 100.0% (19 of 19 strings) Translation: server-tools-14.0/server-tools-14.0-base_report_auto_create_qweb Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_report_auto_create_qweb/it/ --- base_report_auto_create_qweb/i18n/it.po | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/base_report_auto_create_qweb/i18n/it.po b/base_report_auto_create_qweb/i18n/it.po index bb0bd75044d..faccb85cce6 100644 --- a/base_report_auto_create_qweb/i18n/it.po +++ b/base_report_auto_create_qweb/i18n/it.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-01-06 02:24+0000\n" -"PO-Revision-Date: 2023-04-10 16:35+0000\n" +"PO-Revision-Date: 2025-01-16 16:06+0000\n" "Last-Translator: mymage \n" "Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" "Language: it\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.14.1\n" +"X-Generator: Weblate 5.6.2\n" #. module: base_report_auto_create_qweb #: model_terms:ir.ui.view,arch_db:base_report_auto_create_qweb.report_duplicate_form_view @@ -49,17 +49,17 @@ msgstr "Nome visualizzato" #. module: base_report_auto_create_qweb #: model_terms:ir.ui.view,arch_db:base_report_auto_create_qweb.report_duplicate_form_view msgid "Duplicate" -msgstr "" +msgstr "Duplica" #. module: base_report_auto_create_qweb #: model:ir.model,name:base_report_auto_create_qweb.model_ir_actions_report_duplicate msgid "Duplicate Qweb report" -msgstr "" +msgstr "Duplica resoconto Qweb" #. module: base_report_auto_create_qweb #: model_terms:ir.ui.view,arch_db:base_report_auto_create_qweb.report_form_view msgid "Duplicate Report" -msgstr "" +msgstr "Duplica resoconto" #. module: base_report_auto_create_qweb #: model:ir.model.fields,field_description:base_report_auto_create_qweb.field_ir_actions_report__id @@ -86,35 +86,35 @@ msgstr "Ultimo aggiornamento il" #. module: base_report_auto_create_qweb #: model:ir.model,name:base_report_auto_create_qweb.model_ir_actions_report msgid "Report Action" -msgstr "" +msgstr "Azione resoconto" #. module: base_report_auto_create_qweb #: model:ir.actions.act_window,name:base_report_auto_create_qweb.report_duplicate_action #: model_terms:ir.ui.view,arch_db:base_report_auto_create_qweb.report_duplicate_form_view msgid "Report duplication" -msgstr "" +msgstr "Duplicazione resoconto" #. module: base_report_auto_create_qweb #: model:ir.model.fields,field_description:base_report_auto_create_qweb.field_ir_actions_report__smart_search #: model:ir.model.fields,field_description:base_report_auto_create_qweb.field_ir_actions_report_duplicate__smart_search msgid "Smart Search" -msgstr "" +msgstr "Ricerca intelligente" #. module: base_report_auto_create_qweb #: model:ir.model.fields,field_description:base_report_auto_create_qweb.field_ir_actions_report_duplicate__suffix msgid "Suffix" -msgstr "" +msgstr "Suffisso" #. module: base_report_auto_create_qweb #: code:addons/base_report_auto_create_qweb/models/report_xml.py:0 #, python-format msgid "Template Name must contain at least a dot in it's name" -msgstr "" +msgstr "Il nome del modello deve contenere almeno un punto nel nome" #. module: base_report_auto_create_qweb #: model:ir.model.fields,help:base_report_auto_create_qweb.field_ir_actions_report_duplicate__suffix msgid "This suffix will be added to the report" -msgstr "" +msgstr "Questo suffisso verrà aggiunto al resoconto" #. module: base_report_auto_create_qweb #: model_terms:ir.ui.view,arch_db:base_report_auto_create_qweb.report_duplicate_form_view From 7e91f68a1332eb1fbca882721199daf7b3a87a67 Mon Sep 17 00:00:00 2001 From: Francesco Foresti Date: Wed, 5 Feb 2025 10:23:17 +0000 Subject: [PATCH 167/232] Translated using Weblate (Italian) Currently translated at 100.0% (36 of 36 strings) Translation: server-tools-14.0/server-tools-14.0-tracking_manager Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-tracking_manager/it/ --- tracking_manager/i18n/it.po | 76 +++++++++++++++++++------------------ 1 file changed, 40 insertions(+), 36 deletions(-) diff --git a/tracking_manager/i18n/it.po b/tracking_manager/i18n/it.po index 171e2964e69..761b80bc2f1 100644 --- a/tracking_manager/i18n/it.po +++ b/tracking_manager/i18n/it.po @@ -6,38 +6,40 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2025-02-05 13:06+0000\n" +"Last-Translator: Francesco Foresti \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.6.2\n" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.track_o2m_m2m_template msgid "Change :" -msgstr "" +msgstr "Modifica:" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.track_o2m_m2m_template msgid "Delete :" -msgstr "" +msgstr "Cancella:" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.track_o2m_m2m_template msgid "New :" -msgstr "" +msgstr "Nuovo:" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form msgid "Active" -msgstr "" +msgstr "Attivo" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__active_custom_tracking msgid "Active Custom Tracking" -msgstr "" +msgstr "Attiva tracciamento personalizzato" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__assigned_attachment_ids @@ -45,32 +47,32 @@ msgstr "" #: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__assigned_attachment_ids #: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__assigned_attachment_ids msgid "Assigned Attachments" -msgstr "" +msgstr "Allegati assegnati" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__automatic_custom_tracking msgid "Automatic Custom Tracking" -msgstr "" +msgstr "Tracciamento personalizzato automatico" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__automatic_custom_tracking_domain msgid "Automatic Custom Tracking Domain" -msgstr "" +msgstr "Dominio tracciamento personalizzato automatico" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form msgid "Automatic configuration" -msgstr "" +msgstr "Configurazione automatica" #. module: tracking_manager #: model:ir.model,name:tracking_manager.model_base msgid "Base" -msgstr "" +msgstr "Base" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.track_o2m_m2m_template msgid "Changed" -msgstr "" +msgstr "Modificato" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__changeset_change_ids @@ -78,7 +80,7 @@ msgstr "" #: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__changeset_change_ids #: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__changeset_change_ids msgid "Changeset Changes" -msgstr "" +msgstr "Modifiche dell'insieme di modifiche" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__changeset_ids @@ -86,7 +88,7 @@ msgstr "" #: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__changeset_ids #: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__changeset_ids msgid "Changesets" -msgstr "" +msgstr "Insiemi di modifiche" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__count_pending_changeset_changes @@ -94,7 +96,7 @@ msgstr "" #: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__count_pending_changeset_changes #: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__count_pending_changeset_changes msgid "Count Pending Changeset Changes" -msgstr "" +msgstr "Conteggio modifiche dell'insieme di modifiche in attesa" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__count_pending_changesets @@ -102,23 +104,23 @@ msgstr "" #: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__count_pending_changesets #: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__count_pending_changesets msgid "Count Pending Changesets" -msgstr "" +msgstr "Conta insiemi di modifiche in attesa" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__custom_tracking #: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form msgid "Custom Tracking" -msgstr "" +msgstr "Tracciamento personalizzato" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_track_fields_search msgid "Custom Tracking OFF" -msgstr "" +msgstr "Tracciamento personalizzato spento" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_track_fields_search msgid "Custom Tracking ON" -msgstr "" +msgstr "Tracciamento personalizzato acceso" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__display_name @@ -126,22 +128,22 @@ msgstr "" #: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__display_name #: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form msgid "Domain" -msgstr "" +msgstr "Dominio" #. module: tracking_manager #: model:ir.model,name:tracking_manager.model_mail_thread msgid "Email Thread" -msgstr "" +msgstr "Discussione e-mail" #. module: tracking_manager #: model:ir.model,name:tracking_manager.model_ir_model_fields msgid "Fields" -msgstr "" +msgstr "Campi" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__id @@ -149,12 +151,14 @@ msgstr "" #: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__id #: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__id msgid "ID" -msgstr "" +msgstr "ID" #. module: tracking_manager #: model:ir.model.fields,help:tracking_manager.field_ir_model__automatic_custom_tracking msgid "If tick new field will be automatically tracked if the domain match" msgstr "" +"Se abilitato un nuovo campo verrà tracciato automaticamente se il dominio " +"corrisponde" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model____last_update @@ -162,22 +166,22 @@ msgstr "" #: model:ir.model.fields,field_description:tracking_manager.field_mail_thread____last_update #: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value____last_update msgid "Last Modified on" -msgstr "" +msgstr "Ultima modifica il" #. module: tracking_manager #: model:ir.model,name:tracking_manager.model_mail_tracking_value msgid "Mail Tracking Value" -msgstr "" +msgstr "Valore tracciamento e-mail" #. module: tracking_manager #: model:ir.model,name:tracking_manager.model_ir_model msgid "Models" -msgstr "" +msgstr "Modelli" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__native_tracking msgid "Native Tracking" -msgstr "" +msgstr "Tracciamento nativo" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__smart_search @@ -185,37 +189,37 @@ msgstr "" #: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__smart_search #: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__smart_search msgid "Smart Search" -msgstr "" +msgstr "Ricerca intelligente" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__trackable msgid "Trackable" -msgstr "" +msgstr "Tracciabile" #. module: tracking_manager #: model:ir.actions.act_window,name:tracking_manager.ir_model_fields_action msgid "Trackable Fields" -msgstr "" +msgstr "Campi tracciabili" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__tracked_field_count msgid "Tracked Field Count" -msgstr "" +msgstr "Conteggio campi tracciati" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form msgid "Tracked Fields" -msgstr "" +msgstr "Campi tracciati" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form msgid "Update" -msgstr "" +msgstr "Aggiorna" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form msgid "Update fields configuration" -msgstr "" +msgstr "Aggiorna configurazione campi" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model__user_can_see_changeset @@ -223,4 +227,4 @@ msgstr "" #: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__user_can_see_changeset #: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__user_can_see_changeset msgid "User Can See Changeset" -msgstr "" +msgstr "L'utente può vedere l'insieme delle modifiche" From cac2b074fec3dc0e936b8fab88ec1fd73e5dff05 Mon Sep 17 00:00:00 2001 From: oca-git-bot Date: Sun, 9 Feb 2025 18:39:40 +0000 Subject: [PATCH 168/232] [IMP] update dotfiles --- .copier-answers.yml | 3 ++- .github/workflows/pre-commit.yml | 6 +++--- .github/workflows/test.yml | 4 ++-- .gitignore | 13 ++++++++++++ .pre-commit-config.yaml | 36 +++++++++++++++++++++----------- 5 files changed, 44 insertions(+), 18 deletions(-) diff --git a/.copier-answers.yml b/.copier-answers.yml index 87a632e5816..2d0a3c2a14a 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,8 +1,9 @@ # Do NOT update manually; changes here will be overwritten by Copier -_commit: v1.21.1 +_commit: v1.29 _src_path: gh:oca/oca-addons-repo-template ci: GitHub convert_readme_fragments_to_markdown: false +enable_checklog_odoo: false generate_requirements_txt: true github_check_license: true github_ci_extra_env: {} diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 602ecbca24d..10b8acad596 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -13,13 +13,13 @@ jobs: pre-commit: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v2 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 with: python-version: "3.11" - name: Get python version run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV - - uses: actions/cache@v1 + - uses: actions/cache@v4 with: path: ~/.cache/pre-commit key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f1057158e3e..1cccfe74dcf 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest name: Detect unreleased dependencies steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - run: | for reqfile in requirements.txt test-requirements.txt ; do if [ -f ${reqfile} ] ; then @@ -62,7 +62,7 @@ jobs: INCLUDE: "${{ matrix.include }}" EXCLUDE: "${{ matrix.exclude }}" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: persist-credentials: false - name: Install addons and dependencies diff --git a/.gitignore b/.gitignore index 0090721f5d2..6ec07a054bd 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,19 @@ var/ *.egg *.eggs +# Windows installers +*.msi + +# Debian packages +*.deb + +# Redhat packages +*.rpm + +# MacOS packages +*.dmg +*.pkg + # Installer logs pip-log.txt pip-delete-this-directory.txt diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b4c29c619fd..be647db74f8 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -5,7 +5,7 @@ exclude: | # Files and folders generated by bots, to avoid loops ^setup/|/static/description/index\.html$| # We don't want to mess with tool-generated files - .svg$|/tests/([^/]+/)?cassettes/|^.copier-answers.yml$|^.github/| + .svg$|/tests/([^/]+/)?cassettes/|^.copier-answers.yml$|^.github/|^eslint.config.cjs|^prettier.config.cjs| # Maybe reactivate this when all README files include prettier ignore tags? ^README\.md$| # Library files can have extraneous formatting (even minimized) @@ -39,7 +39,7 @@ repos: language: fail files: '[a-zA-Z0-9_]*/i18n/en\.po$' - repo: https://github.com/oca/maintainer-tools - rev: 9a170331575a265c092ee6b24b845ec508e8ef75 + rev: d5fab7ee87fceee858a3d01048c78a548974d935 hooks: # update the NOT INSTALLABLE ADDONS section above - id: oca-update-pre-commit-excluded-addons @@ -58,8 +58,10 @@ repos: hooks: - id: oca-checks-odoo-module - id: oca-checks-po + args: + - --disable=po-pretty-format - repo: https://github.com/myint/autoflake - rev: v1.4 + rev: v1.5.3 hooks: - id: autoflake args: @@ -73,25 +75,35 @@ repos: rev: 22.3.0 hooks: - id: black - - repo: https://github.com/pre-commit/mirrors-prettier - rev: v2.1.2 + - repo: local hooks: - id: prettier name: prettier (with plugin-xml) + entry: prettier + args: + - --write + - --list-different + - --ignore-unknown + types: [text] + files: \.(css|htm|html|js|json|jsx|less|md|scss|toml|ts|xml|yaml|yml)$ + language: node additional_dependencies: - "prettier@2.1.2" - "@prettier/plugin-xml@0.12.0" - args: - - --plugin=@prettier/plugin-xml - files: \.(css|htm|html|js|json|jsx|less|md|scss|toml|ts|xml|yaml|yml)$ - - repo: https://github.com/pre-commit/mirrors-eslint - rev: v7.8.1 + - repo: local hooks: - id: eslint - verbose: true + name: eslint + entry: eslint args: - --color - --fix + verbose: true + types: [javascript] + language: node + additional_dependencies: + - "eslint@7.8.1" + - "eslint-plugin-jsdoc@" - repo: https://github.com/pre-commit/pre-commit-hooks rev: v3.2.0 hooks: @@ -138,7 +150,7 @@ repos: - --header - "# generated from manifests external_dependencies" - repo: https://github.com/PyCQA/flake8 - rev: 3.8.3 + rev: 5.0.0 hooks: - id: flake8 name: flake8 From dcedd3ac09025bdea92d54516808222aa5e0e0cb Mon Sep 17 00:00:00 2001 From: Simone Orsi Date: Thu, 20 Feb 2025 18:05:37 +0100 Subject: [PATCH 169/232] jsonifier: fix get_json_parser caching The resolver was returned as a full recordset, hence its cursor could diverge from the original one and get closed while the other was still active. --- jsonifier/models/ir_exports.py | 5 +++-- jsonifier/models/models.py | 7 ++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/jsonifier/models/ir_exports.py b/jsonifier/models/ir_exports.py index 362f3cd10d2..37c70cc2531 100644 --- a/jsonifier/models/ir_exports.py +++ b/jsonifier/models/ir_exports.py @@ -110,7 +110,8 @@ def get_json_parser(self): if line.target: names = line.target.split("/") function = line.instance_method_name - options = {"resolver": line.resolver_id, "function": function} + # resolver must be passed as ID to avoid cache issues + options = {"resolver": line.resolver_id.id, "function": function} update_dict(dict_parser, names, options) lang_parsers[lang] = convert_dict(dict_parser) if list(lang_parsers.keys()) == [False]: @@ -118,7 +119,7 @@ def get_json_parser(self): else: parser["langs"] = lang_parsers if self.global_resolver_id: - parser["resolver"] = self.global_resolver_id + parser["resolver"] = self.global_resolver_id.id if self.language_agnostic: parser["language_agnostic"] = self.language_agnostic return parser diff --git a/jsonifier/models/models.py b/jsonifier/models/models.py index e802d936b3b..8e93871b29e 100644 --- a/jsonifier/models/models.py +++ b/jsonifier/models/models.py @@ -102,6 +102,9 @@ def _jsonify_record(self, parser, rec, root): value = rec._jsonify_value(field, rec[field.name]) resolver = field_dict.get("resolver") if resolver: + if isinstance(resolver, int): + # cached versions of the parser are stored as integer + resolver = self.env["ir.exports.resolver"].browse(resolver) value, json_key = self._jsonify_record_handle_resolver( rec, field, resolver, json_key ) @@ -208,7 +211,9 @@ def jsonify(self, parser, one=False, with_fieldname=False): if isinstance(parser, list): parser = convert_simple_to_full_parser(parser) resolver = parser.get("resolver") - + if isinstance(resolver, int): + # cached versions of the parser are stored as integer + resolver = self.env["ir.exports.resolver"].browse(resolver) results = [{} for record in self] parsers = {False: parser["fields"]} if "fields" in parser else parser["langs"] records = self From 63ada095f8a7ff674c957c9afeba9f739adc08b7 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 21 Feb 2025 08:05:43 +0000 Subject: [PATCH 170/232] [BOT] post-merge updates --- README.md | 2 +- jsonifier/README.rst | 2 +- jsonifier/__manifest__.py | 2 +- jsonifier/static/description/index.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 0a4aa8081f6..a99fc47e253 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ addon | version | maintainers | summary [html_image_url_extractor](html_image_url_extractor/) | 14.0.1.0.1 | | Extract images found in any HTML field [html_text](html_text/) | 14.0.1.0.1 | | Generate excerpts from any HTML field [iap_alternative_provider](iap_alternative_provider/) | 14.0.1.0.0 | [![sebastienbeau](https://github.com/sebastienbeau.png?size=30px)](https://github.com/sebastienbeau) | Base module for providing alternative provider for iap apps -[jsonifier](jsonifier/) | 14.0.1.2.1 | | JSON-ify data for all models +[jsonifier](jsonifier/) | 14.0.1.2.2 | | JSON-ify data for all models [jsonifier_stored](jsonifier_stored/) | 14.0.1.0.0 | [![simahawk](https://github.com/simahawk.png?size=30px)](https://github.com/simahawk) [![mmequignon](https://github.com/mmequignon.png?size=30px)](https://github.com/mmequignon) | Pre-compute and store JSON data on any model [letsencrypt](letsencrypt/) | 14.0.1.0.2 | | Request SSL certificates from letsencrypt.org [mail_cleanup](mail_cleanup/) | 14.0.1.0.0 | | Mark as read or delete mails after a set time diff --git a/jsonifier/README.rst b/jsonifier/README.rst index 095dbc8750b..53583d608d4 100644 --- a/jsonifier/README.rst +++ b/jsonifier/README.rst @@ -7,7 +7,7 @@ JSONifier !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:c3e2140034f1cd0c528dff2a6dfc2eeee656e85a95fa3b1b358c9641328911e2 + !! source digest: sha256:b05c7a67ddc666a8f0b2006cd8a5e6ea05c482c05ee7cf71e59167884d5d147e !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/jsonifier/__manifest__.py b/jsonifier/__manifest__.py index d341dbd0701..380da6a0cc0 100644 --- a/jsonifier/__manifest__.py +++ b/jsonifier/__manifest__.py @@ -6,7 +6,7 @@ { "name": "JSONifier", "summary": "JSON-ify data for all models", - "version": "14.0.1.2.1", + "version": "14.0.1.2.2", "category": "Uncategorized", "website": "https://github.com/OCA/server-tools", "author": "Akretion, ACSONE, Camptocamp, Odoo Community Association (OCA)", diff --git a/jsonifier/static/description/index.html b/jsonifier/static/description/index.html index 9f2511df2a3..c8250b1c3d8 100644 --- a/jsonifier/static/description/index.html +++ b/jsonifier/static/description/index.html @@ -367,7 +367,7 @@

    JSONifier

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:c3e2140034f1cd0c528dff2a6dfc2eeee656e85a95fa3b1b358c9641328911e2 +!! source digest: sha256:b05c7a67ddc666a8f0b2006cd8a5e6ea05c482c05ee7cf71e59167884d5d147e !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    Beta License: LGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    This module adds a ‘jsonify’ method to every model of the ORM. From bd8ead82b03b5aab5f4d2c85a75a5983ca17a1c6 Mon Sep 17 00:00:00 2001 From: Simone Orsi Date: Fri, 21 Feb 2025 09:13:52 +0100 Subject: [PATCH 171/232] oca-port: blacklist PR(s) 2762 for jsonifier --- .oca/oca-port/blacklist/jsonifier.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .oca/oca-port/blacklist/jsonifier.json diff --git a/.oca/oca-port/blacklist/jsonifier.json b/.oca/oca-port/blacklist/jsonifier.json new file mode 100644 index 00000000000..5b673e5d439 --- /dev/null +++ b/.oca/oca-port/blacklist/jsonifier.json @@ -0,0 +1,5 @@ +{ + "pull_requests": { + "OCA/server-tools#2762": "Already in 14.0 but adapted" + } +} From 3758ff238caf0d569de0954b38adb6d8974aaa95 Mon Sep 17 00:00:00 2001 From: "Laurent Mignon (ACSONE)" Date: Sat, 18 Nov 2023 14:51:04 +0100 Subject: [PATCH 172/232] [FIX] jsonifier: Call callable for unknown field If a field name into the parser definition doesn't exist into the model but is resolved by a callable, call the method. Prior to this change, it was o more possible to define computed json value for custome keys --- jsonifier/models/models.py | 13 +++++++++---- jsonifier/tests/test_get_parser.py | 2 ++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/jsonifier/models/models.py b/jsonifier/models/models.py index 8e93871b29e..f4c0682244b 100644 --- a/jsonifier/models/models.py +++ b/jsonifier/models/models.py @@ -76,14 +76,19 @@ def _add_json_key(self, values, json_key, value): def _jsonify_record(self, parser, rec, root): """JSONify one record (rec). Private function called by jsonify.""" strict = self.env.context.get("jsonify_record_strict", False) - for field in parser: - field_dict, subparser = rec.__parse_field(field) + for field_key in parser: + field_dict, subparser = rec.__parse_field(field_key) + function = field_dict.get("function") try: self._jsonify_record_validate_field(rec, field_dict, strict) except SwallableException: - continue + if not function: + # If we have a function we can use it to get the value + # even if the field is not available. + # If not, well there's nothing we can do. + continue json_key = field_dict.get("target", field_dict["name"]) - if field_dict.get("function"): + if function: try: value = self._jsonify_record_handle_function( rec, field_dict, strict diff --git a/jsonifier/tests/test_get_parser.py b/jsonifier/tests/test_get_parser.py index 34a1dcdad0e..7751ead2112 100644 --- a/jsonifier/tests/test_get_parser.py +++ b/jsonifier/tests/test_get_parser.py @@ -267,10 +267,12 @@ def test_json_export_callable_parser(self): # callable subparser ("name", lambda rec, fname: rec[fname] + " rocks!"), ("name:custom", "jsonify_custom"), + ("unknown_field", lambda rec, fname: "yeah again!"), ] expected_json = { "name": "Akretion rocks!", "custom": "yeah!", + "unknown_field": "yeah again!", } json_partner = self.partner.jsonify(parser) self.assertDictEqual(json_partner[0], expected_json) From 47bb44d166d9819c3b001c2a7599676a25941fd0 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 21 Feb 2025 08:44:49 +0000 Subject: [PATCH 173/232] [BOT] post-merge updates --- README.md | 2 +- jsonifier/README.rst | 2 +- jsonifier/__manifest__.py | 2 +- jsonifier/static/description/index.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a99fc47e253..ef187651791 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ addon | version | maintainers | summary [html_image_url_extractor](html_image_url_extractor/) | 14.0.1.0.1 | | Extract images found in any HTML field [html_text](html_text/) | 14.0.1.0.1 | | Generate excerpts from any HTML field [iap_alternative_provider](iap_alternative_provider/) | 14.0.1.0.0 | [![sebastienbeau](https://github.com/sebastienbeau.png?size=30px)](https://github.com/sebastienbeau) | Base module for providing alternative provider for iap apps -[jsonifier](jsonifier/) | 14.0.1.2.2 | | JSON-ify data for all models +[jsonifier](jsonifier/) | 14.0.1.2.3 | | JSON-ify data for all models [jsonifier_stored](jsonifier_stored/) | 14.0.1.0.0 | [![simahawk](https://github.com/simahawk.png?size=30px)](https://github.com/simahawk) [![mmequignon](https://github.com/mmequignon.png?size=30px)](https://github.com/mmequignon) | Pre-compute and store JSON data on any model [letsencrypt](letsencrypt/) | 14.0.1.0.2 | | Request SSL certificates from letsencrypt.org [mail_cleanup](mail_cleanup/) | 14.0.1.0.0 | | Mark as read or delete mails after a set time diff --git a/jsonifier/README.rst b/jsonifier/README.rst index 53583d608d4..b4761382e4a 100644 --- a/jsonifier/README.rst +++ b/jsonifier/README.rst @@ -7,7 +7,7 @@ JSONifier !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:b05c7a67ddc666a8f0b2006cd8a5e6ea05c482c05ee7cf71e59167884d5d147e + !! source digest: sha256:7c24aa8bcd0a3e5ed2c6a0366a1c0b06dac4eaad7f4c3be7fbba74bebaa819a5 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/jsonifier/__manifest__.py b/jsonifier/__manifest__.py index 380da6a0cc0..6abf633d10d 100644 --- a/jsonifier/__manifest__.py +++ b/jsonifier/__manifest__.py @@ -6,7 +6,7 @@ { "name": "JSONifier", "summary": "JSON-ify data for all models", - "version": "14.0.1.2.2", + "version": "14.0.1.2.3", "category": "Uncategorized", "website": "https://github.com/OCA/server-tools", "author": "Akretion, ACSONE, Camptocamp, Odoo Community Association (OCA)", diff --git a/jsonifier/static/description/index.html b/jsonifier/static/description/index.html index c8250b1c3d8..a1836789c66 100644 --- a/jsonifier/static/description/index.html +++ b/jsonifier/static/description/index.html @@ -367,7 +367,7 @@

    JSONifier

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:b05c7a67ddc666a8f0b2006cd8a5e6ea05c482c05ee7cf71e59167884d5d147e +!! source digest: sha256:7c24aa8bcd0a3e5ed2c6a0366a1c0b06dac4eaad7f4c3be7fbba74bebaa819a5 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    Beta License: LGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    This module adds a ‘jsonify’ method to every model of the ORM. From f0b2425da5645292a8b23f623ae1bd47bf2d9bbf Mon Sep 17 00:00:00 2001 From: mymage Date: Fri, 14 Mar 2025 12:14:04 +0000 Subject: [PATCH 174/232] Translated using Weblate (Italian) Currently translated at 16.6% (1 of 6 strings) Translation: server-tools-14.0/server-tools-14.0-base_cron_exclusion Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_cron_exclusion/it/ --- base_cron_exclusion/i18n/it.po | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/base_cron_exclusion/i18n/it.po b/base_cron_exclusion/i18n/it.po index 022218e2c9d..bb3a3d2d8f4 100644 --- a/base_cron_exclusion/i18n/it.po +++ b/base_cron_exclusion/i18n/it.po @@ -6,18 +6,20 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2025-03-14 15: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: base_cron_exclusion #: model:ir.model.fields,field_description:base_cron_exclusion.field_ir_cron__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: base_cron_exclusion #: model:ir.model.fields,field_description:base_cron_exclusion.field_ir_cron__id From 7a2a15f6d35f3254cf4c2b8fec597a4341f8c6c0 Mon Sep 17 00:00:00 2001 From: mymage Date: Fri, 14 Mar 2025 12:10:03 +0000 Subject: [PATCH 175/232] Translated using Weblate (Italian) Currently translated at 20.0% (1 of 5 strings) Translation: server-tools-14.0/server-tools-14.0-html_text Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-html_text/it/ --- html_text/i18n/it.po | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/html_text/i18n/it.po b/html_text/i18n/it.po index 1c4d41231bd..b19fc3bd1fd 100644 --- a/html_text/i18n/it.po +++ b/html_text/i18n/it.po @@ -9,19 +9,20 @@ msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-01-06 02:25+0000\n" -"PO-Revision-Date: 2018-01-06 02:25+0000\n" -"Last-Translator: Paolo Valier , 2018\n" +"PO-Revision-Date: 2025-03-14 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" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.10.2\n" #. module: html_text #: model:ir.model.fields,field_description:html_text.field_ir_fields_converter__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: html_text #: model:ir.model,name:html_text.model_ir_fields_converter From 8e66f8afcebe06907b289c7d68a296ffe6f26ea7 Mon Sep 17 00:00:00 2001 From: mymage Date: Fri, 14 Mar 2025 12:14:05 +0000 Subject: [PATCH 176/232] Translated using Weblate (Italian) Currently translated at 14.2% (1 of 7 strings) Translation: server-tools-14.0/server-tools-14.0-base_name_search_multi_lang Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_name_search_multi_lang/it/ --- base_name_search_multi_lang/i18n/it.po | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/base_name_search_multi_lang/i18n/it.po b/base_name_search_multi_lang/i18n/it.po index 630b8448ef4..ea1afce0bbf 100644 --- a/base_name_search_multi_lang/i18n/it.po +++ b/base_name_search_multi_lang/i18n/it.po @@ -6,18 +6,20 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2025-03-14 15: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: base_name_search_multi_lang #: model:ir.model.fields,field_description:base_name_search_multi_lang.field_ir_model__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: base_name_search_multi_lang #: model:ir.model.fields,field_description:base_name_search_multi_lang.field_ir_model__id From 8e1e213905b9a75bbb8bd8f869c00e416837364d Mon Sep 17 00:00:00 2001 From: mymage Date: Fri, 14 Mar 2025 12:14:03 +0000 Subject: [PATCH 177/232] Translated using Weblate (Italian) Currently translated at 8.3% (1 of 12 strings) Translation: server-tools-14.0/server-tools-14.0-base_view_full_arch Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_view_full_arch/it/ --- base_view_full_arch/i18n/it.po | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/base_view_full_arch/i18n/it.po b/base_view_full_arch/i18n/it.po index a56e32a9b85..eb2ecbe5eca 100644 --- a/base_view_full_arch/i18n/it.po +++ b/base_view_full_arch/i18n/it.po @@ -6,18 +6,20 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2025-03-14 15: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: base_view_full_arch #: model:ir.model.fields,field_description:base_view_full_arch.field_ir_ui_view__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: base_view_full_arch #: model:ir.model.fields,field_description:base_view_full_arch.field_ir_ui_view__full_arch From c39b95acea1f47214e099e56fedef9172c6195a5 Mon Sep 17 00:00:00 2001 From: mymage Date: Fri, 14 Mar 2025 12:18:11 +0000 Subject: [PATCH 178/232] Translated using Weblate (Italian) Currently translated at 25.0% (1 of 4 strings) Translation: server-tools-14.0/server-tools-14.0-attachment_unindex_content Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-attachment_unindex_content/it/ --- attachment_unindex_content/i18n/it.po | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/attachment_unindex_content/i18n/it.po b/attachment_unindex_content/i18n/it.po index baf3257cd06..ae2751d2973 100644 --- a/attachment_unindex_content/i18n/it.po +++ b/attachment_unindex_content/i18n/it.po @@ -6,13 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2025-03-14 15: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: attachment_unindex_content #: model:ir.model,name:attachment_unindex_content.model_ir_attachment @@ -22,7 +24,7 @@ msgstr "" #. module: attachment_unindex_content #: model:ir.model.fields,field_description:attachment_unindex_content.field_ir_attachment__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: attachment_unindex_content #: model:ir.model.fields,field_description:attachment_unindex_content.field_ir_attachment__id From 8146b9615744e069743c138df68ac6de859ea677 Mon Sep 17 00:00:00 2001 From: mymage Date: Fri, 14 Mar 2025 12:13:43 +0000 Subject: [PATCH 179/232] Translated using Weblate (Italian) Currently translated at 20.0% (1 of 5 strings) Translation: server-tools-14.0/server-tools-14.0-html_image_url_extractor Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-html_image_url_extractor/it/ --- html_image_url_extractor/i18n/it.po | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/html_image_url_extractor/i18n/it.po b/html_image_url_extractor/i18n/it.po index a64c865c217..be177ffecff 100644 --- a/html_image_url_extractor/i18n/it.po +++ b/html_image_url_extractor/i18n/it.po @@ -9,19 +9,20 @@ msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-01-06 02:25+0000\n" -"PO-Revision-Date: 2018-01-06 02:25+0000\n" -"Last-Translator: Paolo Valier , 2018\n" +"PO-Revision-Date: 2025-03-14 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" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.10.2\n" #. module: html_image_url_extractor #: model:ir.model.fields,field_description:html_image_url_extractor.field_ir_fields_converter__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: html_image_url_extractor #: model:ir.model,name:html_image_url_extractor.model_ir_fields_converter From b98584c410b2908693d422e73746da47990420e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20BEAU?= Date: Fri, 4 Apr 2025 00:02:30 +0200 Subject: [PATCH 180/232] attachment_delete_restrict: using sudo should by pass the restriction --- attachment_delete_restrict/models/ir_attachment.py | 2 ++ .../tests/test_attachment_delete_restrict.py | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/attachment_delete_restrict/models/ir_attachment.py b/attachment_delete_restrict/models/ir_attachment.py index a3a6d936441..4601a42cad3 100644 --- a/attachment_delete_restrict/models/ir_attachment.py +++ b/attachment_delete_restrict/models/ir_attachment.py @@ -64,6 +64,8 @@ def _check_custom_delete_attachment(self, model=None, allow_owner_and_admin=Fals return self._raise_delete_attachment_error(allowed_users) def unlink(self): + if self.env.su: + return super().unlink() res_models = list(set(self.filtered("res_model").mapped("res_model"))) if res_models: models = self.env["ir.model"].search([("model", "in", res_models)]) diff --git a/attachment_delete_restrict/tests/test_attachment_delete_restrict.py b/attachment_delete_restrict/tests/test_attachment_delete_restrict.py index d8d0ad2233f..23531e78d0e 100644 --- a/attachment_delete_restrict/tests/test_attachment_delete_restrict.py +++ b/attachment_delete_restrict/tests/test_attachment_delete_restrict.py @@ -17,6 +17,10 @@ def test_restrict_custom_user(self): self._allow_user() self.attachment.with_user(self.user).unlink() + def test_restrict_custom_user_with_sudo(self): + self._set_restrict_mode("custom") + self.attachment.with_user(self.user).sudo().unlink() + def test_restrict_custom_group(self): self._set_restrict_mode("custom") with self.assertRaises(ValidationError): From d662b02984436ee53fc01aa9b10f7e3a7aae545b Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 25 Apr 2025 09:38:01 +0000 Subject: [PATCH 181/232] [BOT] post-merge updates --- README.md | 2 +- attachment_delete_restrict/README.rst | 2 +- attachment_delete_restrict/__manifest__.py | 2 +- .../static/description/index.html | 14 ++++++++------ 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index ef187651791..667d2876eee 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Available addons ---------------- addon | version | maintainers | summary --- | --- | --- | --- -[attachment_delete_restrict](attachment_delete_restrict/) | 14.0.1.0.1 | [![yostashiro](https://github.com/yostashiro.png?size=30px)](https://github.com/yostashiro) [![Kev-Roche](https://github.com/Kev-Roche.png?size=30px)](https://github.com/Kev-Roche) | Restrict Deletion of Attachments +[attachment_delete_restrict](attachment_delete_restrict/) | 14.0.1.0.2 | [![yostashiro](https://github.com/yostashiro.png?size=30px)](https://github.com/yostashiro) [![Kev-Roche](https://github.com/Kev-Roche.png?size=30px)](https://github.com/Kev-Roche) | Restrict Deletion of Attachments [attachment_queue](attachment_queue/) | 14.0.1.0.2 | [![florian-dacosta](https://github.com/florian-dacosta.png?size=30px)](https://github.com/florian-dacosta) [![sebastienbeau](https://github.com/sebastienbeau.png?size=30px)](https://github.com/sebastienbeau) | Base module adding the concept of queue for processing files [attachment_synchronize](attachment_synchronize/) | 14.0.1.0.3 | [![florian-dacosta](https://github.com/florian-dacosta.png?size=30px)](https://github.com/florian-dacosta) [![sebastienbeau](https://github.com/sebastienbeau.png?size=30px)](https://github.com/sebastienbeau) [![GSLabIt](https://github.com/GSLabIt.png?size=30px)](https://github.com/GSLabIt) [![bealdav](https://github.com/bealdav.png?size=30px)](https://github.com/bealdav) | Attachment Synchronize [attachment_unindex_content](attachment_unindex_content/) | 14.0.1.0.1 | [![moylop260](https://github.com/moylop260.png?size=30px)](https://github.com/moylop260) [![ebirbe](https://github.com/ebirbe.png?size=30px)](https://github.com/ebirbe) [![luisg123v](https://github.com/luisg123v.png?size=30px)](https://github.com/luisg123v) | Disable indexing of attachments diff --git a/attachment_delete_restrict/README.rst b/attachment_delete_restrict/README.rst index aa08005b553..7983a711922 100644 --- a/attachment_delete_restrict/README.rst +++ b/attachment_delete_restrict/README.rst @@ -7,7 +7,7 @@ Restrict Deletion of Attachments !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:d53e35deda3e248e35f70f2047c1bcfb26b7c261c027a4746256655bcd51cdd3 + !! source digest: sha256:fbeedc483b5033d7e66807dda6c34c0e5123e8a7358451643545e93720234f2e !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/attachment_delete_restrict/__manifest__.py b/attachment_delete_restrict/__manifest__.py index 459a7f78125..88fe61ee753 100644 --- a/attachment_delete_restrict/__manifest__.py +++ b/attachment_delete_restrict/__manifest__.py @@ -2,7 +2,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { "name": "Restrict Deletion of Attachments", - "version": "14.0.1.0.1", + "version": "14.0.1.0.2", "depends": [ "base", "base_setup", diff --git a/attachment_delete_restrict/static/description/index.html b/attachment_delete_restrict/static/description/index.html index 9c76d5eea69..9a07fda2b27 100644 --- a/attachment_delete_restrict/static/description/index.html +++ b/attachment_delete_restrict/static/description/index.html @@ -1,4 +1,3 @@ - @@ -9,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -275,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -301,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -367,7 +367,7 @@

    Restrict Deletion of Attachments

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:d53e35deda3e248e35f70f2047c1bcfb26b7c261c027a4746256655bcd51cdd3 +!! source digest: sha256:fbeedc483b5033d7e66807dda6c34c0e5123e8a7358451643545e93720234f2e !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    This module provides the ability to restrict the deletion of the attachments at different levels.

    @@ -449,7 +449,9 @@

    Contributors

    Maintainers

    This module is maintained by the OCA.

    -Odoo Community Association + +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.

    From 3f881351ea6dbfb16f67c54d6aa4b300d49cd104 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 20 May 2025 07:01:05 +0000 Subject: [PATCH 182/232] Translated using Weblate (Italian) Currently translated at 100.0% (85 of 85 strings) Translation: server-tools-14.0/server-tools-14.0-auto_backup Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-auto_backup/it/ --- auto_backup/i18n/it.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/auto_backup/i18n/it.po b/auto_backup/i18n/it.po index a0c89d2d513..f30bed9f97c 100644 --- a/auto_backup/i18n/it.po +++ b/auto_backup/i18n/it.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-03 10:08+0000\n" -"PO-Revision-Date: 2025-01-16 16:06+0000\n" +"PO-Revision-Date: 2025-05-20 09:26+0000\n" "Last-Translator: mymage \n" "Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" "Language: it\n" @@ -17,7 +17,7 @@ msgstr "" "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" +"X-Generator: Weblate 5.10.4\n" #. module: auto_backup #: model_terms:ir.ui.view,arch_db:auto_backup.view_backup_conf_form @@ -53,7 +53,7 @@ msgstr "Il backup automatico dei database può essere programmato come segue:" #. module: auto_backup #: model:mail.message.subtype,name:auto_backup.mail_message_subtype_failure msgid "Backup Failed" -msgstr "Backup non riuscito" +msgstr "Backup fallito" #. module: auto_backup #: model:ir.model.fields,field_description:auto_backup.field_db_backup__backup_format From c231713188837d7e4f5734c0830b0d1e863b64bd Mon Sep 17 00:00:00 2001 From: oca-ci Date: Tue, 20 May 2025 13:25:15 +0000 Subject: [PATCH 183/232] [UPD] Update base_force_record_noupdate.pot --- .../i18n/base_force_record_noupdate.pot | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/base_force_record_noupdate/i18n/base_force_record_noupdate.pot b/base_force_record_noupdate/i18n/base_force_record_noupdate.pot index 68525fb9e5b..e30f73e49f4 100644 --- a/base_force_record_noupdate/i18n/base_force_record_noupdate.pot +++ b/base_force_record_noupdate/i18n/base_force_record_noupdate.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" +"Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,11 +13,29 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: base_force_record_noupdate +#: model:ir.model.fields,field_description:base_force_record_noupdate.field_ir_model__display_name +#: model:ir.model.fields,field_description:base_force_record_noupdate.field_ir_model_data__display_name +msgid "Display Name" +msgstr "" + #. module: base_force_record_noupdate #: model:ir.model.fields,field_description:base_force_record_noupdate.field_ir_model__force_noupdate msgid "Force No-Update" msgstr "" +#. module: base_force_record_noupdate +#: model:ir.model.fields,field_description:base_force_record_noupdate.field_ir_model__id +#: model:ir.model.fields,field_description:base_force_record_noupdate.field_ir_model_data__id +msgid "ID" +msgstr "" + +#. module: base_force_record_noupdate +#: model:ir.model.fields,field_description:base_force_record_noupdate.field_ir_model____last_update +#: model:ir.model.fields,field_description:base_force_record_noupdate.field_ir_model_data____last_update +msgid "Last Modified on" +msgstr "" + #. module: base_force_record_noupdate #: model:ir.model,name:base_force_record_noupdate.model_ir_model_data msgid "Model Data" From ceede6a91cd8ff9e687d2c9bcd4a237593a75bb1 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 20 May 2025 13:32:33 +0000 Subject: [PATCH 184/232] [BOT] post-merge updates --- README.md | 1 + base_force_record_noupdate/README.rst | 2 +- base_force_record_noupdate/static/description/index.html | 2 +- setup/_metapackage/VERSION.txt | 2 +- setup/_metapackage/setup.py | 1 + 5 files changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 667d2876eee..4ebc327385b 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,7 @@ addon | version | maintainers | summary [base_deterministic_session_gc](base_deterministic_session_gc/) | 14.0.1.0.0 | | Provide a deterministic session garbage collection instead of the default random one [base_exception](base_exception/) | 14.0.2.1.1 | [![hparfr](https://github.com/hparfr.png?size=30px)](https://github.com/hparfr) [![sebastienbeau](https://github.com/sebastienbeau.png?size=30px)](https://github.com/sebastienbeau) | This module provide an abstract model to manage customizable exceptions to be applied on different models (sale order, invoice, ...) [base_fontawesome](base_fontawesome/) | 14.0.5.15.5 | | Up to date Fontawesome resources. +[base_force_record_noupdate](base_force_record_noupdate/) | 14.0.1.0.0 | | Manually force noupdate=True on models [base_future_response](base_future_response/) | 14.0.1.0.2 | [![sbidoul](https://github.com/sbidoul.png?size=30px)](https://github.com/sbidoul) | Backport Odoo 16 FutureReponse mechanism. [base_generate_code](base_generate_code/) | 14.0.1.1.1 | [![Kev-Roche](https://github.com/Kev-Roche.png?size=30px)](https://github.com/Kev-Roche) | Code Generator [base_import_odoo](base_import_odoo/) | 14.0.1.0.0 | | Import records from another Odoo instance diff --git a/base_force_record_noupdate/README.rst b/base_force_record_noupdate/README.rst index 4033a074fe5..683a7253efb 100644 --- a/base_force_record_noupdate/README.rst +++ b/base_force_record_noupdate/README.rst @@ -7,7 +7,7 @@ Force Record No-update !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:da312318da6a5b90118144f6d5b265f86380b4c6d6c26eb129b5a534839bdc0e + !! source digest: sha256:81908f430629f5f738c52bd98d4159420ee9eea1cd45ef1527e204b7a5891802 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/base_force_record_noupdate/static/description/index.html b/base_force_record_noupdate/static/description/index.html index d1d9bdd6f1a..10f064c669a 100644 --- a/base_force_record_noupdate/static/description/index.html +++ b/base_force_record_noupdate/static/description/index.html @@ -367,7 +367,7 @@

    Force Record No-update

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:da312318da6a5b90118144f6d5b265f86380b4c6d6c26eb129b5a534839bdc0e +!! source digest: sha256:81908f430629f5f738c52bd98d4159420ee9eea1cd45ef1527e204b7a5891802 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    This module adds a boolean field on models form view, allowing to force diff --git a/setup/_metapackage/VERSION.txt b/setup/_metapackage/VERSION.txt index 04a8703d4fb..3095c36e9aa 100644 --- a/setup/_metapackage/VERSION.txt +++ b/setup/_metapackage/VERSION.txt @@ -1 +1 @@ -14.0.20240517.0 \ No newline at end of file +14.0.20250520.0 \ No newline at end of file diff --git a/setup/_metapackage/setup.py b/setup/_metapackage/setup.py index a524c398a41..cf1d0ea72f1 100644 --- a/setup/_metapackage/setup.py +++ b/setup/_metapackage/setup.py @@ -23,6 +23,7 @@ 'odoo14-addon-base_deterministic_session_gc', 'odoo14-addon-base_exception', 'odoo14-addon-base_fontawesome', + 'odoo14-addon-base_force_record_noupdate', 'odoo14-addon-base_future_response', 'odoo14-addon-base_generate_code', 'odoo14-addon-base_import_odoo', From 319e6198c0aef2197ccd7b6c8588c17553a2bd60 Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 26 May 2025 06:33:39 +0000 Subject: [PATCH 185/232] Added translation using Weblate (Italian) --- base_force_record_noupdate/i18n/it.po | 53 +++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 base_force_record_noupdate/i18n/it.po diff --git a/base_force_record_noupdate/i18n/it.po b/base_force_record_noupdate/i18n/it.po new file mode 100644 index 00000000000..366c9966b90 --- /dev/null +++ b/base_force_record_noupdate/i18n/it.po @@ -0,0 +1,53 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_force_record_noupdate +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: base_force_record_noupdate +#: model:ir.model.fields,field_description:base_force_record_noupdate.field_ir_model__display_name +#: model:ir.model.fields,field_description:base_force_record_noupdate.field_ir_model_data__display_name +msgid "Display Name" +msgstr "" + +#. module: base_force_record_noupdate +#: model:ir.model.fields,field_description:base_force_record_noupdate.field_ir_model__force_noupdate +msgid "Force No-Update" +msgstr "" + +#. module: base_force_record_noupdate +#: model:ir.model.fields,field_description:base_force_record_noupdate.field_ir_model__id +#: model:ir.model.fields,field_description:base_force_record_noupdate.field_ir_model_data__id +msgid "ID" +msgstr "" + +#. module: base_force_record_noupdate +#: model:ir.model.fields,field_description:base_force_record_noupdate.field_ir_model____last_update +#: model:ir.model.fields,field_description:base_force_record_noupdate.field_ir_model_data____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_force_record_noupdate +#: model:ir.model,name:base_force_record_noupdate.model_ir_model_data +msgid "Model Data" +msgstr "" + +#. module: base_force_record_noupdate +#: model:ir.model,name:base_force_record_noupdate.model_ir_model +msgid "Models" +msgstr "" + +#. module: base_force_record_noupdate +#: model:ir.actions.server,name:base_force_record_noupdate.action_run_ir_action_todo +msgid "Toggle Force Noupdate" +msgstr "" From 3486e24b204186168344672a90df7a3aa81dbf62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adasat=20Torres=20de=20Le=C3=B3n?= Date: Tue, 27 May 2025 15:06:45 +0100 Subject: [PATCH 186/232] [FIX]model_read_only: superuser exempt from the restriction --- model_read_only/models/models.py | 4 ++-- model_read_only/tests/test_models.py | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/model_read_only/models/models.py b/model_read_only/models/models.py index 8490b5eedb8..4119d0e9c69 100644 --- a/model_read_only/models/models.py +++ b/model_read_only/models/models.py @@ -1,6 +1,6 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -from odoo import _, api, exceptions, fields, models +from odoo import SUPERUSER_ID, _, api, exceptions, fields, models from odoo.tools.safe_eval import safe_eval @@ -32,7 +32,7 @@ class BaseModel(models.AbstractModel): @api.model def check_access_rights(self, operation, raise_exception=True): - if operation != "read": + if operation != "read" and self.env.user.id != SUPERUSER_ID: model = self.env["ir.model"]._get(self._name) no_access = False for restr in model.sudo().readonly_restriction_ids: diff --git a/model_read_only/tests/test_models.py b/model_read_only/tests/test_models.py index 1cd208ca8a5..5625540db6c 100644 --- a/model_read_only/tests/test_models.py +++ b/model_read_only/tests/test_models.py @@ -1,3 +1,4 @@ +from odoo import SUPERUSER_ID from odoo.exceptions import AccessError from odoo.tests.common import SavepointCase @@ -151,3 +152,7 @@ def test_check_access_rights_manager(self): test_record.check_access_rights("write", False), msg="Write access right should be prevented", ) + + self.assertTrue( + test_record.with_user(SUPERUSER_ID).check_access_rights("write", True), + ) From 1bbef024bf46034c7a05d1b9fc1bcf235bd7c2f7 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 27 May 2025 12:10:36 +0000 Subject: [PATCH 187/232] Translated using Weblate (Italian) Currently translated at 14.2% (1 of 7 strings) Translation: server-tools-14.0/server-tools-14.0-cron_daylight_saving_time_resistant Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-cron_daylight_saving_time_resistant/it/ --- cron_daylight_saving_time_resistant/i18n/it.po | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cron_daylight_saving_time_resistant/i18n/it.po b/cron_daylight_saving_time_resistant/i18n/it.po index d4787f4c638..4f2b26d6bfe 100644 --- a/cron_daylight_saving_time_resistant/i18n/it.po +++ b/cron_daylight_saving_time_resistant/i18n/it.po @@ -6,13 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2025-05-27 14:26+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.4\n" #. module: cron_daylight_saving_time_resistant #: model:ir.model.fields,help:cron_daylight_saving_time_resistant.field_ir_cron__daylight_saving_time_resistant @@ -29,7 +31,7 @@ msgstr "" #. module: cron_daylight_saving_time_resistant #: model:ir.model.fields,field_description:cron_daylight_saving_time_resistant.field_ir_cron__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: cron_daylight_saving_time_resistant #: model:ir.model.fields,field_description:cron_daylight_saving_time_resistant.field_ir_cron__id From c1003c50722062dd105faff30cbf9b60fcf80c0d Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 27 May 2025 12:10:35 +0000 Subject: [PATCH 188/232] Translated using Weblate (Italian) Currently translated at 6.2% (1 of 16 strings) Translation: server-tools-14.0/server-tools-14.0-base_model_restrict_update Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_model_restrict_update/it/ --- base_model_restrict_update/i18n/it.po | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/base_model_restrict_update/i18n/it.po b/base_model_restrict_update/i18n/it.po index 694aad599fe..1531b87f5f4 100644 --- a/base_model_restrict_update/i18n/it.po +++ b/base_model_restrict_update/i18n/it.po @@ -6,13 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2025-05-27 14:26+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.4\n" #. module: base_model_restrict_update #: model_terms:ir.ui.view,arch_db:base_model_restrict_update.view_users_form @@ -29,7 +31,7 @@ msgstr "" #: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model_access__display_name #: model:ir.model.fields,field_description:base_model_restrict_update.field_res_users__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: base_model_restrict_update #: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model__id From d2d62ef706729910bad49fc2adbfe27408f8efd0 Mon Sep 17 00:00:00 2001 From: mymage Date: Thu, 29 May 2025 13:29:13 +0000 Subject: [PATCH 189/232] Translated using Weblate (Italian) Currently translated at 5.8% (1 of 17 strings) Translation: server-tools-14.0/server-tools-14.0-scheduler_error_mailer Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-scheduler_error_mailer/it/ --- scheduler_error_mailer/i18n/it.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scheduler_error_mailer/i18n/it.po b/scheduler_error_mailer/i18n/it.po index f6e3e466ee1..b75acdc67ca 100644 --- a/scheduler_error_mailer/i18n/it.po +++ b/scheduler_error_mailer/i18n/it.po @@ -6,15 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2022-09-26 16:07+0000\n" -"Last-Translator: Alessandro Uffreduzzi \n" +"PO-Revision-Date: 2025-05-29 16:26+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 4.3.2\n" +"X-Generator: Weblate 5.10.4\n" #. module: scheduler_error_mailer #: model:mail.template,body_html:scheduler_error_mailer.scheduler_error_mailer @@ -85,7 +85,7 @@ msgstr "" #. module: scheduler_error_mailer #: model:ir.model.fields,field_description:scheduler_error_mailer.field_ir_cron__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: scheduler_error_mailer #: model:ir.model.fields,field_description:scheduler_error_mailer.field_ir_cron__email_template_id From 2214457a580fa2d6394b20ec8904f5b7f51b5905 Mon Sep 17 00:00:00 2001 From: mymage Date: Thu, 29 May 2025 13:30:01 +0000 Subject: [PATCH 190/232] Translated using Weblate (Italian) Currently translated at 5.8% (1 of 17 strings) Translation: server-tools-14.0/server-tools-14.0-mail_cleanup Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-mail_cleanup/it/ --- mail_cleanup/i18n/it.po | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/mail_cleanup/i18n/it.po b/mail_cleanup/i18n/it.po index 08d19114d49..3ee0ed3657b 100644 --- a/mail_cleanup/i18n/it.po +++ b/mail_cleanup/i18n/it.po @@ -9,14 +9,15 @@ msgstr "" "Project-Id-Version: Odoo Server 9.0c\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-11-26 01:46+0000\n" -"PO-Revision-Date: 2016-11-26 01:46+0000\n" -"Last-Translator: Paolo Valier , 2016\n" +"PO-Revision-Date: 2025-05-29 16:26+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" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.10.4\n" #. module: mail_cleanup #: model:ir.model.fields,field_description:mail_cleanup.field_fetchmail_server__assigned_attachment_ids @@ -51,7 +52,7 @@ msgstr "" #. module: mail_cleanup #: model:ir.model.fields,field_description:mail_cleanup.field_fetchmail_server__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: mail_cleanup #: model:ir.model.fields,field_description:mail_cleanup.field_fetchmail_server__cleanup_days From 410f08a8dcdf4838eb31014a1f82be7e011dfe88 Mon Sep 17 00:00:00 2001 From: mymage Date: Thu, 29 May 2025 13:27:30 +0000 Subject: [PATCH 191/232] Translated using Weblate (Italian) Currently translated at 18.1% (2 of 11 strings) Translation: server-tools-14.0/server-tools-14.0-base_kanban_stage_state Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_kanban_stage_state/it/ --- base_kanban_stage_state/i18n/it.po | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/base_kanban_stage_state/i18n/it.po b/base_kanban_stage_state/i18n/it.po index b69c7c798ea..9a10761f595 100644 --- a/base_kanban_stage_state/i18n/it.po +++ b/base_kanban_stage_state/i18n/it.po @@ -9,14 +9,15 @@ msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-03-18 02:19+0000\n" -"PO-Revision-Date: 2017-03-18 02:19+0000\n" -"Last-Translator: OCA Transbot , 2017\n" +"PO-Revision-Date: 2025-05-29 16:26+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" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.10.4\n" #. module: base_kanban_stage_state #: model:ir.model.fields,field_description:base_kanban_stage_state.field_base_kanban_stage__changeset_change_ids @@ -41,7 +42,7 @@ msgstr "" #. module: base_kanban_stage_state #: model:ir.model.fields,field_description:base_kanban_stage_state.field_base_kanban_stage__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: base_kanban_stage_state #: model:ir.model.fields,field_description:base_kanban_stage_state.field_base_kanban_stage__id From 671abf8dd4bded4ce0d47d456f638f0adf3f09bb Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 4 Jun 2025 03:44:06 +0000 Subject: [PATCH 192/232] [UPD] addons table in README.md --- README.md | 56 +++++++++++++++++++++++++++---------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 4ebc327385b..9b44737c226 100644 --- a/README.md +++ b/README.md @@ -21,24 +21,24 @@ Available addons ---------------- addon | version | maintainers | summary --- | --- | --- | --- -[attachment_delete_restrict](attachment_delete_restrict/) | 14.0.1.0.2 | [![yostashiro](https://github.com/yostashiro.png?size=30px)](https://github.com/yostashiro) [![Kev-Roche](https://github.com/Kev-Roche.png?size=30px)](https://github.com/Kev-Roche) | Restrict Deletion of Attachments -[attachment_queue](attachment_queue/) | 14.0.1.0.2 | [![florian-dacosta](https://github.com/florian-dacosta.png?size=30px)](https://github.com/florian-dacosta) [![sebastienbeau](https://github.com/sebastienbeau.png?size=30px)](https://github.com/sebastienbeau) | Base module adding the concept of queue for processing files -[attachment_synchronize](attachment_synchronize/) | 14.0.1.0.3 | [![florian-dacosta](https://github.com/florian-dacosta.png?size=30px)](https://github.com/florian-dacosta) [![sebastienbeau](https://github.com/sebastienbeau.png?size=30px)](https://github.com/sebastienbeau) [![GSLabIt](https://github.com/GSLabIt.png?size=30px)](https://github.com/GSLabIt) [![bealdav](https://github.com/bealdav.png?size=30px)](https://github.com/bealdav) | Attachment Synchronize -[attachment_unindex_content](attachment_unindex_content/) | 14.0.1.0.1 | [![moylop260](https://github.com/moylop260.png?size=30px)](https://github.com/moylop260) [![ebirbe](https://github.com/ebirbe.png?size=30px)](https://github.com/ebirbe) [![luisg123v](https://github.com/luisg123v.png?size=30px)](https://github.com/luisg123v) | Disable indexing of attachments +[attachment_delete_restrict](attachment_delete_restrict/) | 14.0.1.0.2 | yostashiro Kev-Roche | Restrict Deletion of Attachments +[attachment_queue](attachment_queue/) | 14.0.1.0.2 | florian-dacosta sebastienbeau | Base module adding the concept of queue for processing files +[attachment_synchronize](attachment_synchronize/) | 14.0.1.0.3 | florian-dacosta sebastienbeau GSLabIt bealdav | Attachment Synchronize +[attachment_unindex_content](attachment_unindex_content/) | 14.0.1.0.1 | moylop260 ebirbe luisg123v | Disable indexing of attachments [auditlog](auditlog/) | 14.0.2.0.2 | | Audit Log [auto_backup](auto_backup/) | 14.0.1.0.1 | | Backups database [autovacuum_message_attachment](autovacuum_message_attachment/) | 14.0.1.0.1 | | Automatically delete old mail messages and attachments -[base_changeset](base_changeset/) | 14.0.2.0.2 | [![astirpe](https://github.com/astirpe.png?size=30px)](https://github.com/astirpe) | Track record changesets +[base_changeset](base_changeset/) | 14.0.2.0.2 | astirpe | Track record changesets [base_conditional_image](base_conditional_image/) | 14.0.2.0.1 | | This module extends the functionality to support conditional images -[base_contextvars](base_contextvars/) | 14.0.1.0.4 | [![sbidoul](https://github.com/sbidoul.png?size=30px)](https://github.com/sbidoul) | Patch Odoo threadlocals to use contextvars instead. -[base_cron_exclusion](base_cron_exclusion/) | 14.0.1.0.0 | [![LoisRForgeFlow](https://github.com/LoisRForgeFlow.png?size=30px)](https://github.com/LoisRForgeFlow) | Allow you to select scheduled actions that should not run simultaneously. +[base_contextvars](base_contextvars/) | 14.0.1.0.4 | sbidoul | Patch Odoo threadlocals to use contextvars instead. +[base_cron_exclusion](base_cron_exclusion/) | 14.0.1.0.0 | LoisRForgeFlow | Allow you to select scheduled actions that should not run simultaneously. [base_custom_info](base_custom_info/) | 14.0.1.0.3 | | Add custom field in models [base_deterministic_session_gc](base_deterministic_session_gc/) | 14.0.1.0.0 | | Provide a deterministic session garbage collection instead of the default random one -[base_exception](base_exception/) | 14.0.2.1.1 | [![hparfr](https://github.com/hparfr.png?size=30px)](https://github.com/hparfr) [![sebastienbeau](https://github.com/sebastienbeau.png?size=30px)](https://github.com/sebastienbeau) | This module provide an abstract model to manage customizable exceptions to be applied on different models (sale order, invoice, ...) +[base_exception](base_exception/) | 14.0.2.1.1 | hparfr sebastienbeau | This module provide an abstract model to manage customizable exceptions to be applied on different models (sale order, invoice, ...) [base_fontawesome](base_fontawesome/) | 14.0.5.15.5 | | Up to date Fontawesome resources. [base_force_record_noupdate](base_force_record_noupdate/) | 14.0.1.0.0 | | Manually force noupdate=True on models -[base_future_response](base_future_response/) | 14.0.1.0.2 | [![sbidoul](https://github.com/sbidoul.png?size=30px)](https://github.com/sbidoul) | Backport Odoo 16 FutureReponse mechanism. -[base_generate_code](base_generate_code/) | 14.0.1.1.1 | [![Kev-Roche](https://github.com/Kev-Roche.png?size=30px)](https://github.com/Kev-Roche) | Code Generator +[base_future_response](base_future_response/) | 14.0.1.0.2 | sbidoul | Backport Odoo 16 FutureReponse mechanism. +[base_generate_code](base_generate_code/) | 14.0.1.1.1 | Kev-Roche | Code Generator [base_import_odoo](base_import_odoo/) | 14.0.1.0.0 | | Import records from another Odoo instance [base_jsonify](base_jsonify/) | 14.0.2.0.0 | | Base module that provide the jsonify method on all models. WARNING: since version 14.0.2.0.0 the module have been renamed to `jsonifier`. This module now depends on it only for backward compatibility. It will be discarded in v15 likely. [base_kanban_stage](base_kanban_stage/) | 14.0.1.0.2 | | Provides stage model and abstract logic for inheritance @@ -47,16 +47,16 @@ addon | version | maintainers | summary [base_model_restrict_update](base_model_restrict_update/) | 14.0.1.1.0 | | Update Restrict Model [base_multi_image](base_multi_image/) | 14.0.1.0.1 | | Allow multiple images for database objects [base_name_search_improved](base_name_search_improved/) | 14.0.1.1.2 | | Friendlier search when typing in relation fields -[base_name_search_multi_lang](base_name_search_multi_lang/) | 14.0.1.0.0 | [![kittiu](https://github.com/kittiu.png?size=30px)](https://github.com/kittiu) | Name search by multiple active language -[base_order_by_related](base_order_by_related/) | 14.0.1.0.0 | [![thomaspaulb](https://github.com/thomaspaulb.png?size=30px)](https://github.com/thomaspaulb) | Order by non-stored related fields +[base_name_search_multi_lang](base_name_search_multi_lang/) | 14.0.1.0.0 | kittiu | Name search by multiple active language +[base_order_by_related](base_order_by_related/) | 14.0.1.0.0 | thomaspaulb | Order by non-stored related fields [base_remote](base_remote/) | 14.0.1.0.1 | | Remote Base [base_report_auto_create_qweb](base_report_auto_create_qweb/) | 14.0.1.0.1 | | Report qweb auto generation [base_search_fuzzy](base_search_fuzzy/) | 14.0.1.0.3 | | Fuzzy search with the PostgreSQL trigram extension -[base_sequence_default](base_sequence_default/) | 14.0.1.0.0 | [![Shide](https://github.com/Shide.png?size=30px)](https://github.com/Shide) [![yajo](https://github.com/yajo.png?size=30px)](https://github.com/yajo) | Use sequences for default values of fields when creating a new record -[base_sequence_option](base_sequence_option/) | 14.0.1.0.1 | [![kittiu](https://github.com/kittiu.png?size=30px)](https://github.com/kittiu) | Alternative sequence options for specific models +[base_sequence_default](base_sequence_default/) | 14.0.1.0.0 | Shide yajo | Use sequences for default values of fields when creating a new record +[base_sequence_option](base_sequence_option/) | 14.0.1.0.1 | kittiu | Alternative sequence options for specific models [base_sparse_field_list_support](base_sparse_field_list_support/) | 14.0.1.0.1 | | add list support to convert_to_cache() [base_technical_user](base_technical_user/) | 14.0.1.0.2 | | Add a technical user parameter on the company -[base_time_parameter](base_time_parameter/) | 14.0.3.1.1 | [![appstogrow](https://github.com/appstogrow.png?size=30px)](https://github.com/appstogrow) [![nimarosa](https://github.com/nimarosa.png?size=30px)](https://github.com/nimarosa) | Time dependent parameters Adds the feature to define parameters with time based versions. +[base_time_parameter](base_time_parameter/) | 14.0.3.1.1 | appstogrow nimarosa | Time dependent parameters Adds the feature to define parameters with time based versions. [base_time_window](base_time_window/) | 14.0.1.0.1 | | Base model to handle time windows [base_video_link](base_video_link/) | 14.0.1.1.2 | | Add the possibility to link video on record [base_view_full_arch](base_view_full_arch/) | 14.0.1.0.0 | | Allows displaying the full, compiled architecture for all views @@ -67,40 +67,40 @@ addon | version | maintainers | summary [database_cleanup](database_cleanup/) | 14.0.1.1.2 | | Database cleanup [datetime_formatter](datetime_formatter/) | 14.0.1.0.0 | | Helper functions to give correct format to date[time] fields [dbfilter_from_header](dbfilter_from_header/) | 14.0.1.0.1 | | Filter databases with HTTP headers -[excel_import_export](excel_import_export/) | 14.0.1.1.2 | [![kittiu](https://github.com/kittiu.png?size=30px)](https://github.com/kittiu) | Base module for developing Excel import/export/report -[excel_import_export_demo](excel_import_export_demo/) | 14.0.1.0.0 | [![kittiu](https://github.com/kittiu.png?size=30px)](https://github.com/kittiu) | Excel Import/Export/Report Demo +[excel_import_export](excel_import_export/) | 14.0.1.1.2 | kittiu | Base module for developing Excel import/export/report +[excel_import_export_demo](excel_import_export_demo/) | 14.0.1.0.0 | kittiu | Excel Import/Export/Report Demo [fetchmail_incoming_log](fetchmail_incoming_log/) | 14.0.1.0.0 | | Log all messages received, before they start to be processed. [fetchmail_notify_error_to_sender](fetchmail_notify_error_to_sender/) | 14.0.1.0.0 | | If fetching mails gives error, send an email to sender [fetchmail_notify_error_to_sender_test](fetchmail_notify_error_to_sender_test/) | 14.0.1.0.0 | | Test for Fetchmail Notify Error to Sender [html_image_url_extractor](html_image_url_extractor/) | 14.0.1.0.1 | | Extract images found in any HTML field [html_text](html_text/) | 14.0.1.0.1 | | Generate excerpts from any HTML field -[iap_alternative_provider](iap_alternative_provider/) | 14.0.1.0.0 | [![sebastienbeau](https://github.com/sebastienbeau.png?size=30px)](https://github.com/sebastienbeau) | Base module for providing alternative provider for iap apps +[iap_alternative_provider](iap_alternative_provider/) | 14.0.1.0.0 | sebastienbeau | Base module for providing alternative provider for iap apps [jsonifier](jsonifier/) | 14.0.1.2.3 | | JSON-ify data for all models -[jsonifier_stored](jsonifier_stored/) | 14.0.1.0.0 | [![simahawk](https://github.com/simahawk.png?size=30px)](https://github.com/simahawk) [![mmequignon](https://github.com/mmequignon.png?size=30px)](https://github.com/mmequignon) | Pre-compute and store JSON data on any model +[jsonifier_stored](jsonifier_stored/) | 14.0.1.0.0 | simahawk mmequignon | Pre-compute and store JSON data on any model [letsencrypt](letsencrypt/) | 14.0.1.0.2 | | Request SSL certificates from letsencrypt.org [mail_cleanup](mail_cleanup/) | 14.0.1.0.0 | | Mark as read or delete mails after a set time -[model_read_only](model_read_only/) | 14.0.3.0.1 | [![ilyasProgrammer](https://github.com/ilyasProgrammer.png?size=30px)](https://github.com/ilyasProgrammer) | Model Read Only +[model_read_only](model_read_only/) | 14.0.3.0.1 | ilyasProgrammer | Model Read Only [module_analysis](module_analysis/) | 14.0.1.0.2 | | Add analysis tools regarding installed modules to know which installed modules comes from Odoo Core, OCA, or are custom modules [module_auto_update](module_auto_update/) | 14.0.1.1.1 | | Automatically update Odoo modules -[module_change_auto_install](module_change_auto_install/) | 14.0.1.0.3 | [![legalsylvain](https://github.com/legalsylvain.png?size=30px)](https://github.com/legalsylvain) | Customize auto installables modules by configuration +[module_change_auto_install](module_change_auto_install/) | 14.0.1.0.3 | legalsylvain | Customize auto installables modules by configuration [module_prototyper](module_prototyper/) | 14.0.1.0.1 | | Prototype your module. [nsca_client](nsca_client/) | 14.0.1.0.2 | | Send passive alerts to monitor your Odoo application. [onchange_helper](onchange_helper/) | 14.0.1.0.3 | | Technical module that ease execution of onchange in Python code -[profiler](profiler/) | 14.0.1.0.0 | [![thomaspaulb](https://github.com/thomaspaulb.png?size=30px)](https://github.com/thomaspaulb) | profiler -[rpc_helper](rpc_helper/) | 14.0.1.2.0 | [![simahawk](https://github.com/simahawk.png?size=30px)](https://github.com/simahawk) | Helpers for disabling RPC calls +[profiler](profiler/) | 14.0.1.0.0 | thomaspaulb | profiler +[rpc_helper](rpc_helper/) | 14.0.1.2.0 | simahawk | Helpers for disabling RPC calls [scheduler_error_mailer](scheduler_error_mailer/) | 14.0.1.2.1 | | Scheduler Error Mailer -[sentry](sentry/) | 14.0.3.0.2 | [![barsi](https://github.com/barsi.png?size=30px)](https://github.com/barsi) [![naglis](https://github.com/naglis.png?size=30px)](https://github.com/naglis) [![versada](https://github.com/versada.png?size=30px)](https://github.com/versada) [![moylop260](https://github.com/moylop260.png?size=30px)](https://github.com/moylop260) [![fernandahf](https://github.com/fernandahf.png?size=30px)](https://github.com/fernandahf) | Report Odoo errors to Sentry +[sentry](sentry/) | 14.0.3.0.2 | barsi naglis versada moylop260 fernandahf | Report Odoo errors to Sentry [sequence_python](sequence_python/) | 14.0.1.0.0 | | Calculate a sequence number from a Python expression -[session_db](session_db/) | 14.0.1.0.2 | [![sbidoul](https://github.com/sbidoul.png?size=30px)](https://github.com/sbidoul) | Store sessions in DB +[session_db](session_db/) | 14.0.1.0.2 | sbidoul | Store sessions in DB [slow_statement_logger](slow_statement_logger/) | 14.0.1.0.1 | | Log slow SQL statements [sql_export](sql_export/) | 14.0.1.2.2 | | Export data in csv file with SQL requests [sql_export_excel](sql_export_excel/) | 14.0.1.1.1 | | Allow to export a sql query to an excel file. [sql_export_mail](sql_export_mail/) | 14.0.1.0.0 | | Send csv file generated by sql query by mail. -[sql_request_abstract](sql_request_abstract/) | 14.0.1.3.0 | [![legalsylvain](https://github.com/legalsylvain.png?size=30px)](https://github.com/legalsylvain) | Abstract Model to manage SQL Requests +[sql_request_abstract](sql_request_abstract/) | 14.0.1.3.0 | legalsylvain | Abstract Model to manage SQL Requests [test_base_time_window](test_base_time_window/) | 14.0.1.0.1 | | Test Base model to handle time windows -[tracking_manager](tracking_manager/) | 14.0.1.3.0 | [![Kev-Roche](https://github.com/Kev-Roche.png?size=30px)](https://github.com/Kev-Roche) [![sebastienbeau](https://github.com/sebastienbeau.png?size=30px)](https://github.com/sebastienbeau) | This module tracks all fields of a model, including one2many and many2many ones. +[tracking_manager](tracking_manager/) | 14.0.1.3.0 | Kev-Roche sebastienbeau | This module tracks all fields of a model, including one2many and many2many ones. [upgrade_analysis](upgrade_analysis/) | 14.0.3.0.0 | | Performs a difference analysis between modules installed on two different Odoo instances -[url_attachment_search_fuzzy](url_attachment_search_fuzzy/) | 14.0.1.0.1 | [![mariadforgelow](https://github.com/mariadforgelow.png?size=30px)](https://github.com/mariadforgelow) | Fuzzy Search of URL in Attachments +[url_attachment_search_fuzzy](url_attachment_search_fuzzy/) | 14.0.1.0.1 | mariadforgelow | Fuzzy Search of URL in Attachments [//]: # (end addons) From f9d1c56bb6c98d1c1ef01a0f580ebd803cecb6cf Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Jun 2025 13:58:46 +0000 Subject: [PATCH 193/232] Translated using Weblate (Italian) Currently translated at 100.0% (36 of 36 strings) Translation: server-tools-14.0/server-tools-14.0-tracking_manager Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-tracking_manager/it/ --- tracking_manager/i18n/it.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tracking_manager/i18n/it.po b/tracking_manager/i18n/it.po index 761b80bc2f1..90c9a06f254 100644 --- a/tracking_manager/i18n/it.po +++ b/tracking_manager/i18n/it.po @@ -6,15 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2025-02-05 13:06+0000\n" -"Last-Translator: Francesco Foresti \n" +"PO-Revision-Date: 2025-06-04 16:26+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.6.2\n" +"X-Generator: Weblate 5.10.4\n" #. module: tracking_manager #: model_terms:ir.ui.view,arch_db:tracking_manager.track_o2m_m2m_template @@ -104,7 +104,7 @@ msgstr "Conteggio modifiche dell'insieme di modifiche in attesa" #: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__count_pending_changesets #: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__count_pending_changesets msgid "Count Pending Changesets" -msgstr "Conta insiemi di modifiche in attesa" +msgstr "Conteggio insieme di modifiche in attesa" #. module: tracking_manager #: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__custom_tracking From 33cc55ee942568c858f2d644f76d98fa9b56335e Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 6 Jun 2025 06:38:13 +0000 Subject: [PATCH 194/232] [BOT] post-merge updates --- README.md | 2 +- model_read_only/README.rst | 8 +++- model_read_only/__manifest__.py | 2 +- model_read_only/static/description/index.html | 40 +++++++++++-------- 4 files changed, 32 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 9b44737c226..75f56177b68 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ addon | version | maintainers | summary [jsonifier_stored](jsonifier_stored/) | 14.0.1.0.0 | simahawk mmequignon | Pre-compute and store JSON data on any model [letsencrypt](letsencrypt/) | 14.0.1.0.2 | | Request SSL certificates from letsencrypt.org [mail_cleanup](mail_cleanup/) | 14.0.1.0.0 | | Mark as read or delete mails after a set time -[model_read_only](model_read_only/) | 14.0.3.0.1 | ilyasProgrammer | Model Read Only +[model_read_only](model_read_only/) | 14.0.3.0.2 | ilyasProgrammer | Model Read Only [module_analysis](module_analysis/) | 14.0.1.0.2 | | Add analysis tools regarding installed modules to know which installed modules comes from Odoo Core, OCA, or are custom modules [module_auto_update](module_auto_update/) | 14.0.1.1.1 | | Automatically update Odoo modules [module_change_auto_install](module_change_auto_install/) | 14.0.1.0.3 | legalsylvain | Customize auto installables modules by configuration diff --git a/model_read_only/README.rst b/model_read_only/README.rst index beab27ff107..a7266572ddc 100644 --- a/model_read_only/README.rst +++ b/model_read_only/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + =============== Model Read Only =============== @@ -7,13 +11,13 @@ Model Read Only !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:b75f9d0c39bb1eba6e45975d0643edb8219a746f38c5deb0323854324ecf2596 + !! source digest: sha256:a411441cdfdbbac5b364a2ad9556869911adf5e4ac82e5cee7fbc6d046a66828 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |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 +.. |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%2Fserver--tools-lightgray.png?logo=github diff --git a/model_read_only/__manifest__.py b/model_read_only/__manifest__.py index b93d0ffeeaa..1da9b2c7f68 100644 --- a/model_read_only/__manifest__.py +++ b/model_read_only/__manifest__.py @@ -2,7 +2,7 @@ { "name": "Model Read Only", "category": "Tools", - "version": "14.0.3.0.1", + "version": "14.0.3.0.2", "license": "AGPL-3", "author": "Ilyas, ooops404, Odoo Community Association (OCA)", "website": "https://github.com/OCA/server-tools", diff --git a/model_read_only/static/description/index.html b/model_read_only/static/description/index.html index b103169807e..41ee940bce6 100644 --- a/model_read_only/static/description/index.html +++ b/model_read_only/static/description/index.html @@ -1,18 +1,18 @@ - -Model Read Only +README.rst -

    -

    Model Read Only

    +
    + + +Odoo Community Association + +
    +

    Model Read Only

    -

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    +

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    Module disables modification operations (write, create, delete) on selected model to selected users groups.

    Table of contents

    @@ -386,7 +391,7 @@

    Model Read Only

    -

    Usage

    +

    Usage

    Go to Settings > Technical > Models and select a model. Open tab “Readonly Restriction”. Restrictions is implemented by ModelReadonlyRestriction model. You can create multiple @@ -395,7 +400,7 @@

    Usage

    If Domain is empty - restriction is applied always.

    -

    Bug Tracker

    +

    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 @@ -403,16 +408,16 @@

    Bug Tracker

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

    -

    Credits

    +

    Credits

    -

    Authors

    +

    Authors

    • Ilyas
    • ooops404
    -

    Contributors

    +

    Contributors

    -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    -Odoo Community Association + +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.

    @@ -438,5 +445,6 @@

    Maintainers

    +
    From 935d2364264b974bf2096ac1673d9e581420b2f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bet=C3=BCl=20=C3=96=C4=9Fmen?= Date: Fri, 13 Jun 2025 11:29:23 +0000 Subject: [PATCH 195/232] Translated using Weblate (Turkish) Currently translated at 100.0% (85 of 85 strings) Translation: server-tools-14.0/server-tools-14.0-auditlog Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-auditlog/tr/ --- auditlog/i18n/tr.po | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/auditlog/i18n/tr.po b/auditlog/i18n/tr.po index 43d7348d231..0150d94ce05 100644 --- a/auditlog/i18n/tr.po +++ b/auditlog/i18n/tr.po @@ -9,14 +9,15 @@ msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-06 03:40+0000\n" -"PO-Revision-Date: 2017-12-06 03:40+0000\n" -"Last-Translator: OCA Transbot , 2017\n" +"PO-Revision-Date: 2025-06-13 14:26+0000\n" +"Last-Translator: Betül Öğmen \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: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_rule__action_id @@ -64,12 +65,12 @@ msgstr "Denetim Günlüğü - Kural" #: model:ir.cron,cron_name:auditlog.ir_cron_auditlog_autovacuum #: model:ir.cron,name:auditlog.ir_cron_auditlog_autovacuum msgid "Auto-vacuum audit logs" -msgstr "" +msgstr "Otomatik emiş denetim günlüğü" #. module: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_rule__capture_record msgid "Capture Record" -msgstr "" +msgstr "Kaydı Yakala" #. module: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_http_request__user_context @@ -144,12 +145,12 @@ msgstr "Alan" #: code:addons/auditlog/models/rule.py:0 #, python-format msgid "Field 'model_id' cannot be empty." -msgstr "" +msgstr "'model_id' alanı boş olamaz." #. module: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_rule__fields_to_exclude_ids msgid "Fields to Exclude" -msgstr "" +msgstr "Hariç Tutulacak Alanlar" #. module: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_log__line_ids @@ -279,7 +280,7 @@ msgstr "Silme günlükleri" #: model:ir.ui.menu,name:auditlog.menu_auditlog_line #: model_terms:ir.ui.view,arch_db:auditlog.view_auditlog_line_search msgid "Log Lines" -msgstr "" +msgstr "Log Satırları" #. module: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_rule__log_read @@ -318,14 +319,14 @@ msgstr "Alan" #. module: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_log_line_view__model_model msgid "Model Model" -msgstr "" +msgstr "Model Model" #. module: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_log__model_name #: model:ir.model.fields,field_description:auditlog.field_auditlog_log_line_view__model_name #: model:ir.model.fields,field_description:auditlog.field_auditlog_rule__model_name msgid "Model Name" -msgstr "" +msgstr "Model Adı" #. module: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_http_request__display_name @@ -351,19 +352,19 @@ msgstr "Yeni değer metni" #: code:addons/auditlog/models/log.py:0 #, python-format msgid "No field defined to create line." -msgstr "" +msgstr "Satır oluşturmak için alan tanımlanmadı." #. module: auditlog #: code:addons/auditlog/models/rule.py:0 #, python-format msgid "No model defined to create line." -msgstr "" +msgstr "Satır oluşturmak için model tanımlanmadı." #. module: auditlog #: code:addons/auditlog/models/log.py:0 #, python-format msgid "No model defined to create log." -msgstr "" +msgstr "Günlük oluşturmak için model tanımlanmadı." #. module: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_log_line__old_value @@ -386,7 +387,7 @@ msgstr "Yol" #. module: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_log_line_view__res_id msgid "Res" -msgstr "" +msgstr "Kaynak" #. module: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_log__res_id @@ -426,7 +427,7 @@ msgstr "Günlük oluşturmak istediğiniz modeli seçin." #. module: auditlog #: model:ir.model.fields,help:auditlog.field_auditlog_rule__capture_record msgid "Select this if you want to keep track of Unlink Record" -msgstr "" +msgstr "Silme kayıtlarını takip etmek için bunu seçiniz" #. module: auditlog #: model:ir.model.fields,help:auditlog.field_auditlog_rule__log_create @@ -492,7 +493,7 @@ msgstr "Üye oldu" #: model:ir.model.fields,field_description:auditlog.field_auditlog_log__model_model #: model:ir.model.fields,field_description:auditlog.field_auditlog_rule__model_model msgid "Technical Model Name" -msgstr "" +msgstr "Teknik Model Adı" #. module: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_log_line__field_name @@ -504,13 +505,13 @@ msgstr "Teknik İsim" #: code:addons/auditlog/models/log.py:0 #, python-format msgid "The field 'field_id' cannot be empty." -msgstr "" +msgstr "'field_id' alanı boş olamaz." #. module: auditlog #: code:addons/auditlog/models/log.py:0 #, python-format msgid "The field 'model_id' cannot be empty." -msgstr "" +msgstr "'model_id' alanı boş olamaz." #. module: auditlog #: model:ir.model.constraint,message:auditlog.constraint_auditlog_rule_model_uniq @@ -568,7 +569,7 @@ msgstr "Kullanıcılar" #. module: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_rule__users_to_exclude_ids msgid "Users to Exclude" -msgstr "" +msgstr "Hariç Tutulacak Kullanıcılar" #. module: auditlog #: model_terms:ir.ui.view,arch_db:auditlog.view_auditlog_log_form From 924d12b28bff840cdc56fad91bb400e6b8984c09 Mon Sep 17 00:00:00 2001 From: Simone Rubino Date: Thu, 26 Jun 2025 14:47:54 +0200 Subject: [PATCH 196/232] [ADD] fix_compute_trans_implied_groups --- fix_compute_trans_implied_groups/README.rst | 83 ++++ fix_compute_trans_implied_groups/__init__.py | 3 + .../__manifest__.py | 15 + .../models/__init__.py | 3 + .../models/res_groups.py | 12 + .../readme/DESCRIPTION.rst | 13 + .../static/description/index.html | 425 ++++++++++++++++++ .../addons/fix_compute_trans_implied_groups | 1 + .../fix_compute_trans_implied_groups/setup.py | 6 + 9 files changed, 561 insertions(+) create mode 100644 fix_compute_trans_implied_groups/README.rst create mode 100644 fix_compute_trans_implied_groups/__init__.py create mode 100644 fix_compute_trans_implied_groups/__manifest__.py create mode 100644 fix_compute_trans_implied_groups/models/__init__.py create mode 100644 fix_compute_trans_implied_groups/models/res_groups.py create mode 100644 fix_compute_trans_implied_groups/readme/DESCRIPTION.rst create mode 100644 fix_compute_trans_implied_groups/static/description/index.html create mode 120000 setup/fix_compute_trans_implied_groups/odoo/addons/fix_compute_trans_implied_groups create mode 100644 setup/fix_compute_trans_implied_groups/setup.py diff --git a/fix_compute_trans_implied_groups/README.rst b/fix_compute_trans_implied_groups/README.rst new file mode 100644 index 00000000000..ab7064a4bd5 --- /dev/null +++ b/fix_compute_trans_implied_groups/README.rst @@ -0,0 +1,83 @@ +==================================== +Fix trans implied groups computation +==================================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:7c2c1f40816d9460f2b852c46de1cdd7a4673461d1ee0638e88d00f478290ec7 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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%2Fserver--tools-lightgray.png?logo=github + :target: https://github.com/OCA/server-tools/tree/14.0/fix_compute_trans_implied_groups + :alt: OCA/server-tools +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-fix_compute_trans_implied_groups + :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/server-tools&target_branch=14.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +The computation of `res.groups.trans_implied_ids` is broken, check it by executing the following steps: +1. Install `sale` module +2. In the Odoo shell execute: `env["res.groups"].get_groups_by_application()` + +*Actual result* +`[..., (ir.module.category(52,), 'boolean', res.groups(22, 21, 20), (100, 'Other')) , ...]` + +*Expected result* +`[..., (ir.module.category(52,), 'selection', res.groups(20, 21, 22), (5, 'Sales')) , ...]` + +*Additional info* +The result of `get_groups_by_application` is correct if the computation of `res.groups.trans_implied_ids` is called executing: +`env["res.groups"].search([])._compute_trans_implied()` + +**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 +~~~~~~~ + +* PyTech + +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/server-tools `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/fix_compute_trans_implied_groups/__init__.py b/fix_compute_trans_implied_groups/__init__.py new file mode 100644 index 00000000000..31660d6a965 --- /dev/null +++ b/fix_compute_trans_implied_groups/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from . import models diff --git a/fix_compute_trans_implied_groups/__manifest__.py b/fix_compute_trans_implied_groups/__manifest__.py new file mode 100644 index 00000000000..18f93454574 --- /dev/null +++ b/fix_compute_trans_implied_groups/__manifest__.py @@ -0,0 +1,15 @@ +# Copyright 2025 Simone Rubino - PyTech +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +{ + "name": "Fix trans implied groups computation", + "summary": "Fix transitively implied groups computation", + "version": "14.0.1.0.0", + "author": "PyTech, Odoo Community Association (OCA)", + "category": "Tools", + "license": "AGPL-3", + "website": "https://github.com/OCA/server-tools", + "depends": [ + "base", + ], +} diff --git a/fix_compute_trans_implied_groups/models/__init__.py b/fix_compute_trans_implied_groups/models/__init__.py new file mode 100644 index 00000000000..1d483ba26ea --- /dev/null +++ b/fix_compute_trans_implied_groups/models/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from . import res_groups diff --git a/fix_compute_trans_implied_groups/models/res_groups.py b/fix_compute_trans_implied_groups/models/res_groups.py new file mode 100644 index 00000000000..4e28d285eeb --- /dev/null +++ b/fix_compute_trans_implied_groups/models/res_groups.py @@ -0,0 +1,12 @@ +# Copyright 2025 Simone Rubino - PyTech +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class ResGroups(models.Model): + _inherit = "res.groups" + + trans_implied_ids = fields.Many2many( + recursive=True, + ) diff --git a/fix_compute_trans_implied_groups/readme/DESCRIPTION.rst b/fix_compute_trans_implied_groups/readme/DESCRIPTION.rst new file mode 100644 index 00000000000..cd6bef50a13 --- /dev/null +++ b/fix_compute_trans_implied_groups/readme/DESCRIPTION.rst @@ -0,0 +1,13 @@ +The computation of `res.groups.trans_implied_ids` is broken, check it by executing the following steps: +1. Install `sale` module +2. In the Odoo shell execute: `env["res.groups"].get_groups_by_application()` + +*Actual result* +`[..., (ir.module.category(52,), 'boolean', res.groups(22, 21, 20), (100, 'Other')) , ...]` + +*Expected result* +`[..., (ir.module.category(52,), 'selection', res.groups(20, 21, 22), (5, 'Sales')) , ...]` + +*Additional info* +The result of `get_groups_by_application` is correct if the computation of `res.groups.trans_implied_ids` is called executing: +`env["res.groups"].search([])._compute_trans_implied()` diff --git a/fix_compute_trans_implied_groups/static/description/index.html b/fix_compute_trans_implied_groups/static/description/index.html new file mode 100644 index 00000000000..60263358d3c --- /dev/null +++ b/fix_compute_trans_implied_groups/static/description/index.html @@ -0,0 +1,425 @@ + + + + + +Fix trans implied groups computation + + + +
    +

    Fix trans implied groups computation

    + + +

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    +

    The computation of res.groups.trans_implied_ids is broken, check it by executing the following steps: +1. Install sale module +2. In the Odoo shell execute: env[“res.groups”].get_groups_by_application()

    +

    Actual result +[…, (ir.module.category(52,), ‘boolean’, res.groups(22, 21, 20), (100, ‘Other’)) , …]

    +

    Expected result +[…, (ir.module.category(52,), ‘selection’, res.groups(20, 21, 22), (5, ‘Sales’)) , …]

    +

    Additional info +The result of get_groups_by_application is correct if the computation of res.groups.trans_implied_ids is called executing: +env[“res.groups”].search([])._compute_trans_implied()

    +

    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

    +
      +
    • PyTech
    • +
    +
    +
    +

    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/server-tools project on GitHub.

    +

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

    +
    +
    +
    + + diff --git a/setup/fix_compute_trans_implied_groups/odoo/addons/fix_compute_trans_implied_groups b/setup/fix_compute_trans_implied_groups/odoo/addons/fix_compute_trans_implied_groups new file mode 120000 index 00000000000..8cc54cde8de --- /dev/null +++ b/setup/fix_compute_trans_implied_groups/odoo/addons/fix_compute_trans_implied_groups @@ -0,0 +1 @@ +../../../../fix_compute_trans_implied_groups \ No newline at end of file diff --git a/setup/fix_compute_trans_implied_groups/setup.py b/setup/fix_compute_trans_implied_groups/setup.py new file mode 100644 index 00000000000..28c57bb6403 --- /dev/null +++ b/setup/fix_compute_trans_implied_groups/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From d225ca3bf3c8300020ee1896e7adf2f2d75726ca Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 22 Jul 2025 14:34:13 +0000 Subject: [PATCH 197/232] Translated using Weblate (Italian) Currently translated at 1.8% (1 of 55 strings) Translation: server-tools-14.0/server-tools-14.0-autovacuum_message_attachment Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-autovacuum_message_attachment/it/ --- autovacuum_message_attachment/i18n/it.po | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/autovacuum_message_attachment/i18n/it.po b/autovacuum_message_attachment/i18n/it.po index af3d46f7ce9..fb65d7b25b2 100644 --- a/autovacuum_message_attachment/i18n/it.po +++ b/autovacuum_message_attachment/i18n/it.po @@ -6,13 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2025-07-22 17:25+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.4\n" #. module: autovacuum_message_attachment #: model:ir.model.fields,field_description:autovacuum_message_attachment.field_vacuum_rule__active @@ -480,7 +482,7 @@ msgstr "" #. module: autovacuum_message_attachment #: model:ir.model,name:autovacuum_message_attachment.model_base msgid "Base" -msgstr "" +msgstr "Base" #. module: autovacuum_message_attachment #: code:addons/autovacuum_message_attachment/models/vacuum_rule.py:0 From 3ef6074b1cbfa60a7b6d3d014cf2ba5533e68f22 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 22 Jul 2025 14:34:08 +0000 Subject: [PATCH 198/232] Translated using Weblate (Italian) Currently translated at 40.0% (40 of 100 strings) Translation: server-tools-14.0/server-tools-14.0-base_changeset Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_changeset/it/ --- base_changeset/i18n/it.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/base_changeset/i18n/it.po b/base_changeset/i18n/it.po index 52319981f0a..b27a2a7654d 100644 --- a/base_changeset/i18n/it.po +++ b/base_changeset/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-05-22 15:12+0000\n" +"PO-Revision-Date: 2025-07-22 17:25+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -14,7 +14,7 @@ msgstr "" "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" +"X-Generator: Weblate 5.10.4\n" #. module: base_changeset #: model:ir.model.constraint,message:base_changeset.constraint_changeset_field_rule_model_field_uniq @@ -60,7 +60,7 @@ msgstr "" #. module: base_changeset #: model:ir.model,name:base_changeset.model_base msgid "Base" -msgstr "" +msgstr "Base" #. module: base_changeset #: code:addons/base_changeset/models/base.py:0 From 6108c6c72b65bff1bf87309184068407a3b90e0d Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 22 Jul 2025 14:34:14 +0000 Subject: [PATCH 199/232] Translated using Weblate (Italian) Currently translated at 2.5% (1 of 39 strings) Translation: server-tools-14.0/server-tools-14.0-jsonifier Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-jsonifier/it/ --- jsonifier/i18n/it.po | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/jsonifier/i18n/it.po b/jsonifier/i18n/it.po index 58a294e001f..14ddc47de83 100644 --- a/jsonifier/i18n/it.po +++ b/jsonifier/i18n/it.po @@ -6,13 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2025-07-22 17:25+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.4\n" #. module: jsonifier #: model:ir.model.fields,help:jsonifier.field_ir_exports_line__instance_method_name @@ -27,7 +29,7 @@ msgstr "" #. module: jsonifier #: model:ir.model,name:jsonifier.model_base msgid "Base" -msgstr "" +msgstr "Base" #. module: jsonifier #: model:ir.model.fields,help:jsonifier.field_ir_exports_resolver__python_code From 8e633b1461bfeb45ca32ee9dda58b965579bf09f Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 22 Jul 2025 14:34:16 +0000 Subject: [PATCH 200/232] Translated using Weblate (Italian) Currently translated at 2.7% (1 of 36 strings) Translation: server-tools-14.0/server-tools-14.0-base_time_parameter Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_time_parameter/it/ --- base_time_parameter/i18n/it.po | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/base_time_parameter/i18n/it.po b/base_time_parameter/i18n/it.po index b601a0444e2..99e89a5aad1 100644 --- a/base_time_parameter/i18n/it.po +++ b/base_time_parameter/i18n/it.po @@ -6,13 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2025-07-22 17:25+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.4\n" #. module: base_time_parameter #: model:ir.model.constraint,message:base_time_parameter.constraint_base_time_parameter_version__unique @@ -22,7 +24,7 @@ msgstr "" #. module: base_time_parameter #: model:ir.model,name:base_time_parameter.model_base msgid "Base" -msgstr "" +msgstr "Base" #. module: base_time_parameter #: model:ir.model.fields.selection,name:base_time_parameter.selection__base_time_parameter__type__boolean From 1f6becc4447f07952ffbca626e0462c30b95d4e3 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 22 Jul 2025 14:34:15 +0000 Subject: [PATCH 201/232] Translated using Weblate (Italian) Currently translated at 4.5% (1 of 22 strings) Translation: server-tools-14.0/server-tools-14.0-base_remote Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_remote/it/ --- base_remote/i18n/it.po | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/base_remote/i18n/it.po b/base_remote/i18n/it.po index 8b38a1a4f66..d8da1381590 100644 --- a/base_remote/i18n/it.po +++ b/base_remote/i18n/it.po @@ -6,18 +6,20 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2025-07-22 17:25+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.4\n" #. module: base_remote #: model:ir.model,name:base_remote.model_base msgid "Base" -msgstr "" +msgstr "Base" #. module: base_remote #: model:ir.model.fields,field_description:base_remote.field_res_remote__changeset_change_ids From 9e53bb0586d18db69fc2d6b73e05e3980a8f20b0 Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 23 Jul 2025 14:40:03 +0000 Subject: [PATCH 202/232] Translated using Weblate (Italian) Currently translated at 100.0% (4 of 4 strings) Translation: server-tools-14.0/server-tools-14.0-attachment_unindex_content Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-attachment_unindex_content/it/ --- attachment_unindex_content/i18n/it.po | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/attachment_unindex_content/i18n/it.po b/attachment_unindex_content/i18n/it.po index ae2751d2973..2d28fc41f6a 100644 --- a/attachment_unindex_content/i18n/it.po +++ b/attachment_unindex_content/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2025-03-14 15:06+0000\n" +"PO-Revision-Date: 2025-07-23 17:25+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -14,12 +14,12 @@ msgstr "" "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" +"X-Generator: Weblate 5.10.4\n" #. module: attachment_unindex_content #: model:ir.model,name:attachment_unindex_content.model_ir_attachment msgid "Attachment" -msgstr "" +msgstr "Allegato" #. module: attachment_unindex_content #: model:ir.model.fields,field_description:attachment_unindex_content.field_ir_attachment__display_name @@ -29,9 +29,9 @@ msgstr "Nome visualizzato" #. module: attachment_unindex_content #: model:ir.model.fields,field_description:attachment_unindex_content.field_ir_attachment__id msgid "ID" -msgstr "" +msgstr "ID" #. module: attachment_unindex_content #: model:ir.model.fields,field_description:attachment_unindex_content.field_ir_attachment____last_update msgid "Last Modified on" -msgstr "" +msgstr "Ultima modifica il" From 59ffee011f15d19a8643686decab912f42e39cf8 Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 23 Jul 2025 14:40:32 +0000 Subject: [PATCH 203/232] Translated using Weblate (Italian) Currently translated at 100.0% (5 of 5 strings) Translation: server-tools-14.0/server-tools-14.0-html_text Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-html_text/it/ --- html_text/i18n/it.po | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/html_text/i18n/it.po b/html_text/i18n/it.po index b19fc3bd1fd..ba17535f127 100644 --- a/html_text/i18n/it.po +++ b/html_text/i18n/it.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-01-06 02:25+0000\n" -"PO-Revision-Date: 2025-03-14 15:06+0000\n" +"PO-Revision-Date: 2025-07-23 17:25+0000\n" "Last-Translator: mymage \n" "Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" "Language: it\n" @@ -17,7 +17,7 @@ msgstr "" "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" +"X-Generator: Weblate 5.10.4\n" #. module: html_text #: model:ir.model.fields,field_description:html_text.field_ir_fields_converter__display_name @@ -26,21 +26,20 @@ msgstr "Nome visualizzato" #. module: html_text #: model:ir.model,name:html_text.model_ir_fields_converter -#, fuzzy msgid "Fields Converter" -msgstr "ir.fields.converter" +msgstr "Convertitore campi" #. module: html_text #: model:ir.model.fields,field_description:html_text.field_ir_fields_converter__id msgid "ID" -msgstr "" +msgstr "ID" #. module: html_text #: model:ir.model.fields,field_description:html_text.field_ir_fields_converter____last_update msgid "Last Modified on" -msgstr "" +msgstr "Ultima modifica il" #. module: html_text #: model:ir.model.fields,field_description:html_text.field_ir_fields_converter__smart_search msgid "Smart Search" -msgstr "" +msgstr "Ricerca intelligente" From 00cbe9d5a6632ea8e8ce78b2b4f129bb99d120f2 Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 23 Jul 2025 14:41:27 +0000 Subject: [PATCH 204/232] Translated using Weblate (Italian) Currently translated at 100.0% (5 of 5 strings) Translation: server-tools-14.0/server-tools-14.0-html_image_url_extractor Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-html_image_url_extractor/it/ --- html_image_url_extractor/i18n/it.po | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/html_image_url_extractor/i18n/it.po b/html_image_url_extractor/i18n/it.po index be177ffecff..4a4145666d6 100644 --- a/html_image_url_extractor/i18n/it.po +++ b/html_image_url_extractor/i18n/it.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-01-06 02:25+0000\n" -"PO-Revision-Date: 2025-03-14 15:06+0000\n" +"PO-Revision-Date: 2025-07-23 17:25+0000\n" "Last-Translator: mymage \n" "Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" "Language: it\n" @@ -17,7 +17,7 @@ msgstr "" "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" +"X-Generator: Weblate 5.10.4\n" #. module: html_image_url_extractor #: model:ir.model.fields,field_description:html_image_url_extractor.field_ir_fields_converter__display_name @@ -26,21 +26,20 @@ msgstr "Nome visualizzato" #. module: html_image_url_extractor #: model:ir.model,name:html_image_url_extractor.model_ir_fields_converter -#, fuzzy msgid "Fields Converter" -msgstr "ir.fields.converter" +msgstr "Convertitore campi" #. module: html_image_url_extractor #: model:ir.model.fields,field_description:html_image_url_extractor.field_ir_fields_converter__id msgid "ID" -msgstr "" +msgstr "ID" #. module: html_image_url_extractor #: model:ir.model.fields,field_description:html_image_url_extractor.field_ir_fields_converter____last_update msgid "Last Modified on" -msgstr "" +msgstr "Ultima modifica il" #. module: html_image_url_extractor #: model:ir.model.fields,field_description:html_image_url_extractor.field_ir_fields_converter__smart_search msgid "Smart Search" -msgstr "" +msgstr "Ricerca intelligente" From c3b74896ccec290cce3f2168627812c0cffaa4d9 Mon Sep 17 00:00:00 2001 From: "Laurent Mignon (ACSONE)" Date: Tue, 4 Jul 2023 13:38:04 +0200 Subject: [PATCH 205/232] [IMP] base_exception: One model per python file --- base_exception/models/__init__.py | 2 + base_exception/models/base_exception.py | 199 +----------------- .../models/base_exception_method.py | 149 +++++++++++++ base_exception/models/exception_rule.py | 72 +++++++ 4 files changed, 224 insertions(+), 198 deletions(-) create mode 100644 base_exception/models/base_exception_method.py create mode 100644 base_exception/models/exception_rule.py diff --git a/base_exception/models/__init__.py b/base_exception/models/__init__.py index 495e1fe24f1..644c12a5295 100644 --- a/base_exception/models/__init__.py +++ b/base_exception/models/__init__.py @@ -1 +1,3 @@ +from . import exception_rule +from . import base_exception_method from . import base_exception diff --git a/base_exception/models/base_exception.py b/base_exception/models/base_exception.py index 2df40243bac..e90cd833a55 100644 --- a/base_exception/models/base_exception.py +++ b/base_exception/models/base_exception.py @@ -2,6 +2,7 @@ # Copyright 2017 Akretion (http://www.akretion.com) # Mourad EL HADJ MIMOUNE # Copyright 2020 Hibou Corp. +# Copyright 2023 ACSONE SA/NV (http://acsone.eu) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). import html @@ -9,208 +10,10 @@ from odoo import _, api, fields, models from odoo.exceptions import UserError, ValidationError -from odoo.osv import expression -from odoo.tools.safe_eval import safe_eval _logger = logging.getLogger(__name__) -class ExceptionRule(models.Model): - _name = "exception.rule" - _description = "Exception Rule" - _order = "active desc, sequence asc" - - name = fields.Char("Exception Name", required=True, translate=True) - description = fields.Text("Description", translate=True) - sequence = fields.Integer( - string="Sequence", help="Gives the sequence order when applying the test" - ) - model = fields.Selection(selection=[], string="Apply on", required=True) - - exception_type = fields.Selection( - selection=[ - ("by_domain", "By domain"), - ("by_py_code", "By python code"), - ("by_method", "By method"), - ], - string="Exception Type", - required=True, - default="by_py_code", - help="By python code: allow to define any arbitrary check\n" - "By domain: limited to a selection by an odoo domain:\n" - " performance can be better when exceptions" - " are evaluated with several records\n" - "By method: allow to select an existing check method", - ) - domain = fields.Char("Domain") - method = fields.Selection(selection=[], string="Method", readonly=True) - active = fields.Boolean("Active", default=True) - code = fields.Text( - "Python Code", - help="Python code executed to check if the exception apply or " - "not. Use failed = True to block the exception", - ) - is_blocking = fields.Boolean( - string="Is blocking", - help="When checked the exception can not be ignored", - ) - - @api.constrains("exception_type", "domain", "code", "model") - def check_exception_type_consistency(self): - for rule in self: - if ( - (rule.exception_type == "by_py_code" and not rule.code) - or (rule.exception_type == "by_domain" and not rule.domain) - or (rule.exception_type == "by_method" and not rule.method) - ): - raise ValidationError( - _( - "There is a problem of configuration, python code, " - "domain or method is missing to match the exception " - "type." - ) - ) - - def _get_domain(self): - """override me to customize domains according exceptions cases""" - self.ensure_one() - return safe_eval(self.domain) - - -class BaseExceptionMethod(models.AbstractModel): - _name = "base.exception.method" - _description = "Exception Rule Methods" - - def _get_main_records(self): - """ - Used in case we check exceptions on a record but write these - exceptions on a parent record. Typical example is with - sale.order.line. We check exceptions on some sale order lines but - write these exceptions on the sale order, so they are visible. - """ - return self - - def _reverse_field(self): - raise NotImplementedError() - - def _rule_domain(self): - """Filter exception.rules. - By default, only the rules with the correct model - will be used. - """ - return [("model", "=", self._name), ("active", "=", True)] - - def detect_exceptions(self): - """List all exception_ids applied on self - Exception ids are also written on records - """ - rules = self.env["exception.rule"].sudo().search(self._rule_domain()) - all_exception_ids = [] - rules_to_remove = {} - rules_to_add = {} - for rule in rules: - records_with_exception = self._detect_exceptions(rule) - reverse_field = self._reverse_field() - main_records = self._get_main_records() - commons = main_records & rule[reverse_field] - to_remove = commons - records_with_exception - to_add = records_with_exception - commons - # we expect to always work on the same model type - if rule.id not in rules_to_remove: - rules_to_remove[rule.id] = main_records.browse() - rules_to_remove[rule.id] |= to_remove - if rule.id not in rules_to_add: - rules_to_add[rule.id] = main_records.browse() - rules_to_add[rule.id] |= to_add - if records_with_exception: - all_exception_ids.append(rule.id) - # Cumulate all the records to attach to the rule - # before linking. We don't want to call "rule.write()" - # which would: - # * write on write_date so lock the exception.rule - # * trigger the recomputation of "main_exception_id" on - # all the sale orders related to the rule, locking them all - # and preventing concurrent writes - # Reversing the write by writing on SaleOrder instead of - # ExceptionRule fixes the 2 kinds of unexpected locks. - # It should not result in more queries than writing on ExceptionRule: - # the "to remove" part generates one DELETE per rule on the relation - # table - # and the "to add" part generates one INSERT (with unnest) per rule. - for rule_id, records in rules_to_remove.items(): - records.write({"exception_ids": [(3, rule_id)]}) - for rule_id, records in rules_to_add.items(): - records.write({"exception_ids": [(4, rule_id)]}) - return all_exception_ids - - @api.model - def _exception_rule_eval_context(self, rec): - return { - "self": rec, - "object": rec, - "obj": rec, - } - - @api.model - def _rule_eval(self, rule, rec): - expr = rule.code - space = self._exception_rule_eval_context(rec) - try: - safe_eval( - expr, space, mode="exec", nocopy=True - ) # nocopy allows to return 'result' - except Exception as e: - _logger.exception(e) - raise UserError( - _( - "Error when evaluating the exception.rule rule:\n %s \n(%s)", - rule.name, - e, - ) - ) - return space.get("failed", False) - - def _detect_exceptions(self, rule): - if rule.exception_type == "by_py_code": - return self._detect_exceptions_by_py_code(rule) - elif rule.exception_type == "by_domain": - return self._detect_exceptions_by_domain(rule) - elif rule.exception_type == "by_method": - return self._detect_exceptions_by_method(rule) - - def _get_base_domain(self): - return [("ignore_exception", "=", False), ("id", "in", self.ids)] - - def _detect_exceptions_by_py_code(self, rule): - """ - Find exceptions found on self. - """ - domain = self._get_base_domain() - records = self.search(domain) - records_with_exception = self.env[self._name] - for record in records: - if self._rule_eval(rule, record): - records_with_exception |= record - return records_with_exception - - def _detect_exceptions_by_domain(self, rule): - """ - Find exceptions found on self. - """ - base_domain = self._get_base_domain() - rule_domain = rule._get_domain() - domain = expression.AND([base_domain, rule_domain]) - return self.search(domain) - - def _detect_exceptions_by_method(self, rule): - """ - Find exceptions found on self. - """ - base_domain = self._get_base_domain() - records = self.search(base_domain) - return getattr(records, rule.method)() - - class BaseExceptionModel(models.AbstractModel): _inherit = "base.exception.method" _name = "base.exception" diff --git a/base_exception/models/base_exception_method.py b/base_exception/models/base_exception_method.py new file mode 100644 index 00000000000..7926f8776ed --- /dev/null +++ b/base_exception/models/base_exception_method.py @@ -0,0 +1,149 @@ +# Copyright 2011 Raphaël Valyi, Renato Lima, Guewen Baconnier, Sodexis +# Copyright 2017 Akretion (http://www.akretion.com) +# Mourad EL HADJ MIMOUNE +# Copyright 2020 Hibou Corp. +# Copyright 2023 ACSONE SA/NV (http://acsone.eu) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +import logging + +from odoo import _, api, models +from odoo.exceptions import UserError +from odoo.osv import expression +from odoo.tools.safe_eval import safe_eval + +_logger = logging.getLogger(__name__) + + +class BaseExceptionMethod(models.AbstractModel): + _name = "base.exception.method" + _description = "Exception Rule Methods" + + def _get_main_records(self): + """ + Used in case we check exceptions on a record but write these + exceptions on a parent record. Typical example is with + sale.order.line. We check exceptions on some sale order lines but + write these exceptions on the sale order, so they are visible. + """ + return self + + def _reverse_field(self): + raise NotImplementedError() + + def _rule_domain(self): + """Filter exception.rules. + By default, only the rules with the correct model + will be used. + """ + return [("model", "=", self._name), ("active", "=", True)] + + def detect_exceptions(self): + """List all exception_ids applied on self + Exception ids are also written on records + """ + rules = self.env["exception.rule"].sudo().search(self._rule_domain()) + all_exception_ids = [] + rules_to_remove = {} + rules_to_add = {} + for rule in rules: + records_with_exception = self._detect_exceptions(rule) + reverse_field = self._reverse_field() + main_records = self._get_main_records() + commons = main_records & rule[reverse_field] + to_remove = commons - records_with_exception + to_add = records_with_exception - commons + # we expect to always work on the same model type + if rule.id not in rules_to_remove: + rules_to_remove[rule.id] = main_records.browse() + rules_to_remove[rule.id] |= to_remove + if rule.id not in rules_to_add: + rules_to_add[rule.id] = main_records.browse() + rules_to_add[rule.id] |= to_add + if records_with_exception: + all_exception_ids.append(rule.id) + # Cumulate all the records to attach to the rule + # before linking. We don't want to call "rule.write()" + # which would: + # * write on write_date so lock the exception.rule + # * trigger the recomputation of "main_exception_id" on + # all the sale orders related to the rule, locking them all + # and preventing concurrent writes + # Reversing the write by writing on SaleOrder instead of + # ExceptionRule fixes the 2 kinds of unexpected locks. + # It should not result in more queries than writing on ExceptionRule: + # the "to remove" part generates one DELETE per rule on the relation + # table + # and the "to add" part generates one INSERT (with unnest) per rule. + for rule_id, records in rules_to_remove.items(): + records.write({"exception_ids": [(3, rule_id)]}) + for rule_id, records in rules_to_add.items(): + records.write({"exception_ids": [(4, rule_id)]}) + return all_exception_ids + + @api.model + def _exception_rule_eval_context(self, rec): + return { + "self": rec, + "object": rec, + "obj": rec, + } + + @api.model + def _rule_eval(self, rule, rec): + expr = rule.code + space = self._exception_rule_eval_context(rec) + try: + safe_eval( + expr, space, mode="exec", nocopy=True + ) # nocopy allows to return 'result' + except Exception as e: + _logger.exception(e) + raise UserError( + _( + "Error when evaluating the exception.rule" + " rule:\n %(rule_name)s \n(%(error)s)" + ) + % {"rule_name": rule.name, "error": e} + ) from e + return space.get("failed", False) + + def _detect_exceptions(self, rule): + if rule.exception_type == "by_py_code": + return self._detect_exceptions_by_py_code(rule) + elif rule.exception_type == "by_domain": + return self._detect_exceptions_by_domain(rule) + elif rule.exception_type == "by_method": + return self._detect_exceptions_by_method(rule) + + def _get_base_domain(self): + return [("ignore_exception", "=", False), ("id", "in", self.ids)] + + def _detect_exceptions_by_py_code(self, rule): + """ + Find exceptions found on self. + """ + domain = self._get_base_domain() + records = self.search(domain) + records_with_exception = self.env[self._name] + for record in records: + if self._rule_eval(rule, record): + records_with_exception |= record + return records_with_exception + + def _detect_exceptions_by_domain(self, rule): + """ + Find exceptions found on self. + """ + base_domain = self._get_base_domain() + rule_domain = rule._get_domain() + domain = expression.AND([base_domain, rule_domain]) + return self.search(domain) + + def _detect_exceptions_by_method(self, rule): + """ + Find exceptions found on self. + """ + base_domain = self._get_base_domain() + records = self.search(base_domain) + return getattr(records, rule.method)() diff --git a/base_exception/models/exception_rule.py b/base_exception/models/exception_rule.py new file mode 100644 index 00000000000..8cc463cd1e9 --- /dev/null +++ b/base_exception/models/exception_rule.py @@ -0,0 +1,72 @@ +# Copyright 2011 Raphaël Valyi, Renato Lima, Guewen Baconnier, Sodexis +# Copyright 2017 Akretion (http://www.akretion.com) +# Mourad EL HADJ MIMOUNE +# Copyright 2020 Hibou Corp. +# Copyright 2023 ACSONE SA/NV (http://acsone.eu) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +import logging + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError +from odoo.tools.safe_eval import safe_eval + +_logger = logging.getLogger(__name__) + + +class ExceptionRule(models.Model): + _name = "exception.rule" + _description = "Exception Rule" + _order = "active desc, sequence asc" + + name = fields.Char("Exception Name", required=True, translate=True) + description = fields.Text(translate=True) + sequence = fields.Integer(help="Gives the sequence order when applying the test") + model = fields.Selection(selection=[], string="Apply on", required=True) + + exception_type = fields.Selection( + selection=[ + ("by_domain", "By domain"), + ("by_py_code", "By python code"), + ("by_method", "By method"), + ], + required=True, + default="by_py_code", + help="By python code: allow to define any arbitrary check\n" + "By domain: limited to a selection by an odoo domain:\n" + " performance can be better when exceptions" + " are evaluated with several records\n" + "By method: allow to select an existing check method", + ) + domain = fields.Char() + method = fields.Selection(selection=[], readonly=True) + active = fields.Boolean(default=True) + code = fields.Text( + "Python Code", + help="Python code executed to check if the exception apply or " + "not. Use failed = True to block the exception", + ) + is_blocking = fields.Boolean( + help="When checked the exception can not be ignored", + ) + + @api.constrains("exception_type", "domain", "code", "model") + def check_exception_type_consistency(self): + for rule in self: + if ( + (rule.exception_type == "by_py_code" and not rule.code) + or (rule.exception_type == "by_domain" and not rule.domain) + or (rule.exception_type == "by_method" and not rule.method) + ): + raise ValidationError( + _( + "There is a problem of configuration, python code, " + "domain or method is missing to match the exception " + "type." + ) + ) + + def _get_domain(self): + """override me to customize domains according exceptions cases""" + self.ensure_one() + return safe_eval(self.domain) From 8e17c327756c43d640457675e04e4b3ef5b6be4c Mon Sep 17 00:00:00 2001 From: "Laurent Mignon (ACSONE)" Date: Tue, 4 Jul 2023 15:32:33 +0200 Subject: [PATCH 206/232] [IMP] base_exception: Improves performances Before this change, the inverse relation from the exception to the records linked to the exception was read to determine if the rule should be added or removed from the rule detected for the current records. On large database with non blocking exceptions this lead to a performance issues since this issues a read of all the SO where the exception has been applied. With this change, we only read the information from the current records --- base_exception/models/base_exception_method.py | 14 ++++++-------- base_exception/tests/purchase_test.py | 3 --- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/base_exception/models/base_exception_method.py b/base_exception/models/base_exception_method.py index 7926f8776ed..4d51f7bcbce 100644 --- a/base_exception/models/base_exception_method.py +++ b/base_exception/models/base_exception_method.py @@ -28,9 +28,6 @@ def _get_main_records(self): """ return self - def _reverse_field(self): - raise NotImplementedError() - def _rule_domain(self): """Filter exception.rules. By default, only the rules with the correct model @@ -47,12 +44,13 @@ def detect_exceptions(self): rules_to_remove = {} rules_to_add = {} for rule in rules: - records_with_exception = self._detect_exceptions(rule) - reverse_field = self._reverse_field() main_records = self._get_main_records() - commons = main_records & rule[reverse_field] - to_remove = commons - records_with_exception - to_add = records_with_exception - commons + records_with_rule_in_exceptions = main_records.filtered( + lambda r, rule_id=rule.id: rule_id in r.exception_ids.ids + ) + records_with_exception = self._detect_exceptions(rule) + to_remove = records_with_rule_in_exceptions - records_with_exception + to_add = records_with_exception - records_with_rule_in_exceptions # we expect to always work on the same model type if rule.id not in rules_to_remove: rules_to_remove[rule.id] = main_records.browse() diff --git a/base_exception/tests/purchase_test.py b/base_exception/tests/purchase_test.py index 04baa099ed6..2874d5b5bee 100644 --- a/base_exception/tests/purchase_test.py +++ b/base_exception/tests/purchase_test.py @@ -69,9 +69,6 @@ def button_confirm(self): def button_cancel(self): self.write({"state": "cancel"}) - def _reverse_field(self): - return "test_purchase_ids" - def exception_method_no_zip(self): records_fail = self.env["base.exception.test.purchase"] for rec in self: From 860013e0118cba5852cbeb97c3bfeb790c820510 Mon Sep 17 00:00:00 2001 From: "Laurent Mignon (ACSONE)" Date: Tue, 4 Jul 2023 15:34:32 +0200 Subject: [PATCH 207/232] [IMP] base_exception: Improves performances Keeps rule information into cache to avoid to always call the ORM for static informations. This is change allows a boost into the evaluation of exception rules by avoiding useless SQL queries to retrieve rules definitions --- base_exception/__manifest__.py | 2 +- .../models/base_exception_method.py | 58 ++++++++-------- base_exception/models/exception_rule.py | 68 ++++++++++++++++++- base_exception/readme/CONTRIBUTORS.rst | 1 + 4 files changed, 100 insertions(+), 29 deletions(-) diff --git a/base_exception/__manifest__.py b/base_exception/__manifest__.py index 5dc42710ba6..e22065f4595 100644 --- a/base_exception/__manifest__.py +++ b/base_exception/__manifest__.py @@ -10,7 +10,7 @@ "summary": """ This module provide an abstract model to manage customizable exceptions to be applied on different models (sale order, invoice, ...)""", - "author": "Akretion, Sodexis, Camptocamp, Odoo Community Association (OCA)", + "author": "Akretion, Sodexis, Camptocamp, ACSONE SA/NV, Odoo Community Association (OCA)", "website": "https://github.com/OCA/server-tools", "depends": ["base_setup"], "maintainers": ["hparfr", "sebastienbeau"], diff --git a/base_exception/models/base_exception_method.py b/base_exception/models/base_exception_method.py index 4d51f7bcbce..6fa493b9c1a 100644 --- a/base_exception/models/base_exception_method.py +++ b/base_exception/models/base_exception_method.py @@ -39,27 +39,31 @@ def detect_exceptions(self): """List all exception_ids applied on self Exception ids are also written on records """ - rules = self.env["exception.rule"].sudo().search(self._rule_domain()) + rules_info = ( + self.env["exception.rule"] + .sudo() + ._get_rules_info_for_domain(self._rule_domain()) + ) all_exception_ids = [] rules_to_remove = {} rules_to_add = {} - for rule in rules: + for rule_info in rules_info: main_records = self._get_main_records() records_with_rule_in_exceptions = main_records.filtered( - lambda r, rule_id=rule.id: rule_id in r.exception_ids.ids + lambda r, rule_id=rule_info.id: rule_id in r.exception_ids.ids ) - records_with_exception = self._detect_exceptions(rule) + records_with_exception = self._detect_exceptions(rule_info) to_remove = records_with_rule_in_exceptions - records_with_exception to_add = records_with_exception - records_with_rule_in_exceptions # we expect to always work on the same model type - if rule.id not in rules_to_remove: - rules_to_remove[rule.id] = main_records.browse() - rules_to_remove[rule.id] |= to_remove - if rule.id not in rules_to_add: - rules_to_add[rule.id] = main_records.browse() - rules_to_add[rule.id] |= to_add + if rule_info.id not in rules_to_remove: + rules_to_remove[rule_info.id] = main_records.browse() + rules_to_remove[rule_info.id] |= to_remove + if rule_info.id not in rules_to_add: + rules_to_add[rule_info.id] = main_records.browse() + rules_to_add[rule_info.id] |= to_add if records_with_exception: - all_exception_ids.append(rule.id) + all_exception_ids.append(rule_info.id) # Cumulate all the records to attach to the rule # before linking. We don't want to call "rule.write()" # which would: @@ -88,8 +92,8 @@ def _exception_rule_eval_context(self, rec): } @api.model - def _rule_eval(self, rule, rec): - expr = rule.code + def _rule_eval(self, rule_info, rec): + expr = rule_info.code space = self._exception_rule_eval_context(rec) try: safe_eval( @@ -102,22 +106,22 @@ def _rule_eval(self, rule, rec): "Error when evaluating the exception.rule" " rule:\n %(rule_name)s \n(%(error)s)" ) - % {"rule_name": rule.name, "error": e} + % {"rule_name": rule_info.name, "error": e} ) from e return space.get("failed", False) - def _detect_exceptions(self, rule): - if rule.exception_type == "by_py_code": - return self._detect_exceptions_by_py_code(rule) - elif rule.exception_type == "by_domain": - return self._detect_exceptions_by_domain(rule) - elif rule.exception_type == "by_method": - return self._detect_exceptions_by_method(rule) + def _detect_exceptions(self, rule_info): + if rule_info.exception_type == "by_py_code": + return self._detect_exceptions_by_py_code(rule_info) + elif rule_info.exception_type == "by_domain": + return self._detect_exceptions_by_domain(rule_info) + elif rule_info.exception_type == "by_method": + return self._detect_exceptions_by_method(rule_info) def _get_base_domain(self): return [("ignore_exception", "=", False), ("id", "in", self.ids)] - def _detect_exceptions_by_py_code(self, rule): + def _detect_exceptions_by_py_code(self, rule_info): """ Find exceptions found on self. """ @@ -125,23 +129,23 @@ def _detect_exceptions_by_py_code(self, rule): records = self.search(domain) records_with_exception = self.env[self._name] for record in records: - if self._rule_eval(rule, record): + if self._rule_eval(rule_info, record): records_with_exception |= record return records_with_exception - def _detect_exceptions_by_domain(self, rule): + def _detect_exceptions_by_domain(self, rule_info): """ Find exceptions found on self. """ base_domain = self._get_base_domain() - rule_domain = rule._get_domain() + rule_domain = rule_info.domain domain = expression.AND([base_domain, rule_domain]) return self.search(domain) - def _detect_exceptions_by_method(self, rule): + def _detect_exceptions_by_method(self, rule_info): """ Find exceptions found on self. """ base_domain = self._get_base_domain() records = self.search(base_domain) - return getattr(records, rule.method)() + return getattr(records, rule_info.method)() diff --git a/base_exception/models/exception_rule.py b/base_exception/models/exception_rule.py index 8cc463cd1e9..1419eb91632 100644 --- a/base_exception/models/exception_rule.py +++ b/base_exception/models/exception_rule.py @@ -7,7 +7,7 @@ import logging -from odoo import _, api, fields, models +from odoo import _, api, fields, models, tools from odoo.exceptions import ValidationError from odoo.tools.safe_eval import safe_eval @@ -70,3 +70,69 @@ def _get_domain(self): """override me to customize domains according exceptions cases""" self.ensure_one() return safe_eval(self.domain) + + def _get_rules_info_for_domain(self, domain): + """returns the rules that match the domain + + This method will call _get_cached_rules_for_domain to get the rules + that match the domain. This is required to transform the domain + into a tuple to be used as a key in the cache. + """ + return self._get_cached_rules_for_domain(tuple(domain)) + + @api.model + @tools.ormcache_context("domain", keys=("lang",)) + def _get_cached_rules_for_domain(self, domain): + """This method is used to get the rules that match the domain. + + The result is cached to avoid to have to loockup the database every + time the method is called for rules that never change. + + Recordset are transformed into a dict and then into an object that have + the same attributes as the exception.rule model. If you need to add + new attributes to the exception.rule model, you need to add them to + the dict returned by _to_cache_entry method. + """ + return [ + type("RuleInfo", (), r._to_cache_entry()) for r in self.search(list(domain)) + ] + + def _to_cache_entry(self): + """ + This method is used to extract information from the rule to be put + in cache. It's used by _get_cached_rules_for_domain to avoid to put + the recordset in cache. The goal is to avoid to have to loockup + the database to get the information required to apply the rule + each time the rule is applied. + """ + self.ensure_one() + return { + "id": self.id, + "name": self.name, + "description": self.description, + "sequence": self.sequence, + "model": self.model, + "exception_type": self.exception_type, + "domain": self._get_domain() + if self.exception_type == "by_domain" + else None, + "method": self.method, + "code": self.code, + "is_blocking": self.is_blocking, + } + + @api.model_create_multi + def create(self, vals_list): + res = super().create(vals_list) + self._get_cached_rules_for_domain.clear_cache(self) + return res + + def write(self, vals): + res = super().write(vals) + self._get_cached_rules_for_domain.clear_cache(self) + return res + + def unlink(self): + res = super().unlink() + self._get_cached_rules_for_domain.clear_cache(self) + return res diff --git a/base_exception/readme/CONTRIBUTORS.rst b/base_exception/readme/CONTRIBUTORS.rst index 2786adc47de..456dc3af87c 100644 --- a/base_exception/readme/CONTRIBUTORS.rst +++ b/base_exception/readme/CONTRIBUTORS.rst @@ -13,3 +13,4 @@ * João Marques * Kevin Khao +* Laurent Mignon From 2fb93d857113d08c8d554ed5782a15ce8d6ee7bf Mon Sep 17 00:00:00 2001 From: "Laurent Mignon (ACSONE)" Date: Tue, 4 Jul 2023 15:41:47 +0200 Subject: [PATCH 208/232] [IMP] base_exception: Improves performances Don't call the ORM to filter current recordset. Replace call to the orm by a call to the filtered_domain method. --- base_exception/models/base_exception_method.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/base_exception/models/base_exception_method.py b/base_exception/models/base_exception_method.py index 6fa493b9c1a..9261cfbc99d 100644 --- a/base_exception/models/base_exception_method.py +++ b/base_exception/models/base_exception_method.py @@ -119,14 +119,14 @@ def _detect_exceptions(self, rule_info): return self._detect_exceptions_by_method(rule_info) def _get_base_domain(self): - return [("ignore_exception", "=", False), ("id", "in", self.ids)] + return [("ignore_exception", "=", False)] def _detect_exceptions_by_py_code(self, rule_info): """ Find exceptions found on self. """ domain = self._get_base_domain() - records = self.search(domain) + records = self.filtered_domain(domain) records_with_exception = self.env[self._name] for record in records: if self._rule_eval(rule_info, record): @@ -140,12 +140,12 @@ def _detect_exceptions_by_domain(self, rule_info): base_domain = self._get_base_domain() rule_domain = rule_info.domain domain = expression.AND([base_domain, rule_domain]) - return self.search(domain) + return self.filtered_domain(domain) def _detect_exceptions_by_method(self, rule_info): """ Find exceptions found on self. """ base_domain = self._get_base_domain() - records = self.search(base_domain) + records = self.filtered_domain(base_domain) return getattr(records, rule_info.method)() From f31a118f7b2614dc12f0fc8373acd35d79072ca8 Mon Sep 17 00:00:00 2001 From: Joshua Lauer Date: Thu, 14 Aug 2025 12:01:14 +0200 Subject: [PATCH 209/232] [IMP] base_exception: Moved test setup into common --- base_exception/tests/common.py | 46 +++++++++++++++++++++ base_exception/tests/test_base_exception.py | 41 ++---------------- 2 files changed, 49 insertions(+), 38 deletions(-) create mode 100644 base_exception/tests/common.py diff --git a/base_exception/tests/common.py b/base_exception/tests/common.py new file mode 100644 index 00000000000..1874a2e8241 --- /dev/null +++ b/base_exception/tests/common.py @@ -0,0 +1,46 @@ +# Copyright 2016 Akretion Mourad EL HADJ MIMOUNE +# Copyright 2020 Hibou Corp. +# Copyright 2025 Raumschmiede GmbH +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + + +from odoo_test_helper import FakeModelLoader + +from odoo.tests import SavepointCase + + +class TestBaseExceptionCommon(SavepointCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + + cls.loader = FakeModelLoader(cls.env, cls.__module__) + cls.loader.backup_registry() + from .purchase_test import ExceptionRule, LineTest, PurchaseTest + + cls.loader.update_registry((ExceptionRule, LineTest, PurchaseTest)) + + cls.partner = cls.env["res.partner"].create({"name": "Foo"}) + cls.po = cls.env["base.exception.test.purchase"].create( + { + "name": "Test base exception to basic purchase", + "partner_id": cls.partner.id, + "line_ids": [ + (0, 0, {"name": "line test", "amount": 120.0, "qty": 1.5}) + ], + } + ) + cls.exception_rule = cls.env["exception.rule"].create( + { + "name": "No ZIP code on destination", + "sequence": 10, + "model": "base.exception.test.purchase", + "code": "if not self.partner_id.zip: failed=True", + "exception_type": "by_py_code", + } + ) + + @classmethod + def tearDownClass(cls): + cls.loader.restore_registry() + super().tearDownClass() diff --git a/base_exception/tests/test_base_exception.py b/base_exception/tests/test_base_exception.py index 144c84309ee..d765b991b7b 100644 --- a/base_exception/tests/test_base_exception.py +++ b/base_exception/tests/test_base_exception.py @@ -1,50 +1,15 @@ # Copyright 2016 Akretion Mourad EL HADJ MIMOUNE # Copyright 2020 Hibou Corp. +# Copyright 2025 Raumschmiede GmbH # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). -from odoo_test_helper import FakeModelLoader - from odoo.exceptions import UserError, ValidationError -from odoo.tests import SavepointCase - - -class TestBaseException(SavepointCase): - @classmethod - def setUpClass(cls): - super().setUpClass() - cls.loader = FakeModelLoader(cls.env, cls.__module__) - cls.loader.backup_registry() - from .purchase_test import ExceptionRule, LineTest, PurchaseTest - - cls.loader.update_registry((ExceptionRule, LineTest, PurchaseTest)) - - cls.partner = cls.env["res.partner"].create({"name": "Foo"}) - cls.po = cls.env["base.exception.test.purchase"].create( - { - "name": "Test base exception to basic purchase", - "partner_id": cls.partner.id, - "line_ids": [ - (0, 0, {"name": "line test", "amount": 120.0, "qty": 1.5}) - ], - } - ) - cls.exception_rule = cls.env["exception.rule"].create( - { - "name": "No ZIP code on destination", - "sequence": 10, - "model": "base.exception.test.purchase", - "code": "if not self.partner_id.zip: failed=True", - "exception_type": "by_py_code", - } - ) +from .common import TestBaseExceptionCommon - @classmethod - def tearDownClass(cls): - cls.loader.restore_registry() - super().tearDownClass() +class TestBaseException(TestBaseExceptionCommon): def test_valid(self): self.exception_rule.active = False self.po.button_confirm() From 3c7ff97e62c6fa7c2849e3224a05ea8c00fd99dc Mon Sep 17 00:00:00 2001 From: Joshua Lauer Date: Mon, 25 Aug 2025 13:44:35 +0200 Subject: [PATCH 210/232] [IMP] base_exception: Improved tests --- base_exception/tests/common.py | 1 + base_exception/tests/purchase_test.py | 2 +- base_exception/tests/test_base_exception.py | 13 +++++++------ 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/base_exception/tests/common.py b/base_exception/tests/common.py index 1874a2e8241..05e47ec00ee 100644 --- a/base_exception/tests/common.py +++ b/base_exception/tests/common.py @@ -33,6 +33,7 @@ def setUpClass(cls): cls.exception_rule = cls.env["exception.rule"].create( { "name": "No ZIP code on destination", + "description": "Plz set ZIP code on destination", "sequence": 10, "model": "base.exception.test.purchase", "code": "if not self.partner_id.zip: failed=True", diff --git a/base_exception/tests/purchase_test.py b/base_exception/tests/purchase_test.py index 2874d5b5bee..0f3ab8dec03 100644 --- a/base_exception/tests/purchase_test.py +++ b/base_exception/tests/purchase_test.py @@ -1,5 +1,6 @@ # Copyright 2016 Akretion Mourad EL HADJ MIMOUNE # Copyright 2020 Hibou Corp. +# Copyright 2025 Raumschmiede GmbH # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). from odoo import api, fields, models @@ -15,7 +16,6 @@ class ExceptionRule(models.Model): selection_add=[("base.exception.test.purchase", "Purchase Test")], ondelete={"base.exception.test.purchase": "cascade"}, ) - test_purchase_ids = fields.Many2many("base.exception.test.purchase") class PurchaseTest(models.Model): diff --git a/base_exception/tests/test_base_exception.py b/base_exception/tests/test_base_exception.py index d765b991b7b..07d0b63a774 100644 --- a/base_exception/tests/test_base_exception.py +++ b/base_exception/tests/test_base_exception.py @@ -18,7 +18,7 @@ def test_valid(self): def test_fail_by_py(self): with self.assertRaises(ValidationError): self.po.button_confirm() - self.assertTrue(self.po.exception_ids) + self.assertEqual(self.po.exception_ids, self.exception_rule) def test_fail_by_domain(self): self.exception_rule.write( @@ -29,7 +29,8 @@ def test_fail_by_domain(self): ) with self.assertRaises(ValidationError): self.po.button_confirm() - self.assertTrue(self.po.exception_ids) + self.assertEqual(self.po.exception_ids, self.exception_rule) + self.assertIn(self.exception_rule.description, self.po.exceptions_summary) def test_fail_by_method(self): self.exception_rule.write( @@ -40,14 +41,14 @@ def test_fail_by_method(self): ) with self.assertRaises(ValidationError): self.po.button_confirm() - self.assertTrue(self.po.exception_ids) + self.assertEqual(self.po.exception_ids, self.exception_rule) def test_ignorable_exception(self): # Block because of exception during validation with self.assertRaises(ValidationError): self.po.button_confirm() # Test that we have linked exceptions - self.assertTrue(self.po.exception_ids) + self.assertEqual(self.po.exception_ids, self.exception_rule) # Test ignore exeception make possible for the po to validate self.po.action_ignore_exceptions() self.assertTrue(self.po.ignore_exception) @@ -61,7 +62,7 @@ def test_blocking_exception(self): with self.assertRaises(ValidationError): self.po.button_confirm() # Test that we have linked exceptions - self.assertTrue(self.po.exception_ids) + self.assertEqual(self.po.exception_ids, self.exception_rule) self.assertTrue(self.po.exceptions_summary) # Test cannot ignore blocked exception with self.assertRaises(UserError): @@ -69,5 +70,5 @@ def test_blocking_exception(self): self.assertFalse(self.po.ignore_exception) with self.assertRaises(ValidationError): self.po.button_confirm() - self.assertTrue(self.po.exception_ids) + self.assertEqual(self.po.exception_ids, self.exception_rule) self.assertTrue(self.po.exceptions_summary) From 43ab89c4e5dd0fe66d1b841911b900c30bd23ff3 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Thu, 18 Sep 2025 07:03:50 +0000 Subject: [PATCH 211/232] [UPD] Update base_exception.pot --- base_exception/i18n/base_exception.pot | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/base_exception/i18n/base_exception.pot b/base_exception/i18n/base_exception.pot index fc80d1fddd8..47ceedb2215 100644 --- a/base_exception/i18n/base_exception.pot +++ b/base_exception/i18n/base_exception.pot @@ -136,12 +136,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -236,7 +236,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -321,7 +321,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " From b981245919150e8853d7a8c10da6703577c4f95d Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 18 Sep 2025 07:11:46 +0000 Subject: [PATCH 212/232] [BOT] post-merge updates --- README.md | 2 +- base_exception/README.rst | 10 ++++- base_exception/__manifest__.py | 2 +- base_exception/static/description/index.html | 42 ++++++++++++-------- 4 files changed, 36 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 75f56177b68..0341851607d 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ addon | version | maintainers | summary [base_cron_exclusion](base_cron_exclusion/) | 14.0.1.0.0 | LoisRForgeFlow | Allow you to select scheduled actions that should not run simultaneously. [base_custom_info](base_custom_info/) | 14.0.1.0.3 | | Add custom field in models [base_deterministic_session_gc](base_deterministic_session_gc/) | 14.0.1.0.0 | | Provide a deterministic session garbage collection instead of the default random one -[base_exception](base_exception/) | 14.0.2.1.1 | hparfr sebastienbeau | This module provide an abstract model to manage customizable exceptions to be applied on different models (sale order, invoice, ...) +[base_exception](base_exception/) | 14.0.3.0.0 | hparfr sebastienbeau | This module provide an abstract model to manage customizable exceptions to be applied on different models (sale order, invoice, ...) [base_fontawesome](base_fontawesome/) | 14.0.5.15.5 | | Up to date Fontawesome resources. [base_force_record_noupdate](base_force_record_noupdate/) | 14.0.1.0.0 | | Manually force noupdate=True on models [base_future_response](base_future_response/) | 14.0.1.0.2 | sbidoul | Backport Odoo 16 FutureReponse mechanism. diff --git a/base_exception/README.rst b/base_exception/README.rst index bffdc387eb9..e34a07684d0 100644 --- a/base_exception/README.rst +++ b/base_exception/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ============== Exception Rule ============== @@ -7,13 +11,13 @@ Exception Rule !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:33be0f848c766c8175b003254bc2d7606c24a955745db5fca5ae3fae41d9c6bc + !! source digest: sha256:72e373e975631f042263f776fa99c6de5d196541d6399983029c4a0d752a5d62 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |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 +.. |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%2Fserver--tools-lightgray.png?logo=github @@ -66,6 +70,7 @@ Authors * Akretion * Sodexis * Camptocamp +* ACSONE SA/NV Contributors ~~~~~~~~~~~~ @@ -85,6 +90,7 @@ Contributors * João Marques * Kevin Khao +* Laurent Mignon Maintainers ~~~~~~~~~~~ diff --git a/base_exception/__manifest__.py b/base_exception/__manifest__.py index e22065f4595..0d76d13b06b 100644 --- a/base_exception/__manifest__.py +++ b/base_exception/__manifest__.py @@ -5,7 +5,7 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). { "name": "Exception Rule", - "version": "14.0.2.1.1", + "version": "14.0.3.0.0", "category": "Generic Modules", "summary": """ This module provide an abstract model to manage customizable diff --git a/base_exception/static/description/index.html b/base_exception/static/description/index.html index 9d207f8ea1a..6c2abb391bd 100644 --- a/base_exception/static/description/index.html +++ b/base_exception/static/description/index.html @@ -1,18 +1,18 @@ - -Exception Rule +README.rst -
    -

    Exception Rule

    +
    + + +Odoo Community Association + +
    +

    Exception Rule

    -

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    +

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    This module provide an abstract model to manage customizable exceptions to be applied on different models (sale order, invoice, …).

    It is not useful by itself. You can see an example of implementation @@ -389,13 +394,13 @@

    Exception Rule

    -

    Known issues / Roadmap

    +

    Known issues / Roadmap

    This module executes user-provided code though a safe_eval which might be unsecure. How to mitigate risks should be adressed in future versions of this module.

    -

    Bug Tracker

    +

    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 @@ -403,17 +408,18 @@

    Bug Tracker

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

    -

    Credits

    +

    Credits

    -

    Authors

    +

    Authors

    • Akretion
    • Sodexis
    • Camptocamp
    • +
    • ACSONE SA/NV
    -

    Contributors

    +

    Contributors

  • Kevin Khao <kevin.khao@akretion.com>
  • +
  • Laurent Mignon <laurent.mignon@acsone.eu>
  • -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    -Odoo Community Association + +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.

    @@ -445,5 +454,6 @@

    Maintainers

    +
    From d7f1e7011b5ca1de2859b34b6e8542dc858c12fc Mon Sep 17 00:00:00 2001 From: Weblate Date: Thu, 18 Sep 2025 07:11:57 +0000 Subject: [PATCH 213/232] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: server-tools-14.0/server-tools-14.0-base_exception Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_exception/ --- base_exception/i18n/am.po | 10 +++++----- base_exception/i18n/ar.po | 25 ++++++++++++++++--------- base_exception/i18n/bg.po | 10 +++++----- base_exception/i18n/bs.po | 14 +++++++------- base_exception/i18n/ca.po | 10 +++++----- base_exception/i18n/cs.po | 10 +++++----- base_exception/i18n/cs_CZ.po | 21 ++++++++++++++------- base_exception/i18n/da.po | 10 +++++----- base_exception/i18n/de.po | 25 ++++++++++++++++--------- base_exception/i18n/el_GR.po | 10 +++++----- base_exception/i18n/en_GB.po | 10 +++++----- base_exception/i18n/es.po | 25 ++++++++++++++++--------- base_exception/i18n/es_AR.po | 28 +++++++++++++++++++--------- base_exception/i18n/es_CL.po | 10 +++++----- base_exception/i18n/es_CO.po | 10 +++++----- base_exception/i18n/es_CR.po | 10 +++++----- base_exception/i18n/es_DO.po | 10 +++++----- base_exception/i18n/es_EC.po | 10 +++++----- base_exception/i18n/es_ES.po | 10 +++++----- base_exception/i18n/es_MX.po | 10 +++++----- base_exception/i18n/es_PE.po | 10 +++++----- base_exception/i18n/es_PY.po | 10 +++++----- base_exception/i18n/es_VE.po | 10 +++++----- base_exception/i18n/et.po | 10 +++++----- base_exception/i18n/eu.po | 10 +++++----- base_exception/i18n/fa.po | 10 +++++----- base_exception/i18n/fi.po | 10 +++++----- base_exception/i18n/fr.po | 23 +++++++++++++++-------- base_exception/i18n/fr_CA.po | 10 +++++----- base_exception/i18n/fr_CH.po | 10 +++++----- base_exception/i18n/gl.po | 10 +++++----- base_exception/i18n/gl_ES.po | 10 +++++----- base_exception/i18n/he.po | 10 +++++----- base_exception/i18n/hr.po | 14 +++++++------- base_exception/i18n/hr_HR.po | 14 +++++++------- base_exception/i18n/hu.po | 10 +++++----- base_exception/i18n/id.po | 10 +++++----- base_exception/i18n/it.po | 10 +++++----- base_exception/i18n/ja.po | 10 +++++----- base_exception/i18n/ko.po | 10 +++++----- base_exception/i18n/lt.po | 14 +++++++------- base_exception/i18n/lt_LT.po | 14 +++++++------- base_exception/i18n/lv.po | 10 +++++----- base_exception/i18n/mk.po | 10 +++++----- base_exception/i18n/mn.po | 10 +++++----- base_exception/i18n/nb.po | 10 +++++----- base_exception/i18n/nb_NO.po | 10 +++++----- base_exception/i18n/nl.po | 10 +++++----- base_exception/i18n/nl_BE.po | 10 +++++----- base_exception/i18n/nl_NL.po | 10 +++++----- base_exception/i18n/pl.po | 16 ++++++++-------- base_exception/i18n/pt.po | 23 +++++++++++++++-------- base_exception/i18n/pt_BR.po | 27 +++++++++++++++++---------- base_exception/i18n/pt_PT.po | 10 +++++----- base_exception/i18n/ro.po | 10 +++++----- base_exception/i18n/ru.po | 16 ++++++++-------- base_exception/i18n/sk.po | 10 +++++----- base_exception/i18n/sl.po | 14 +++++++------- base_exception/i18n/sr.po | 14 +++++++------- base_exception/i18n/sr@latin.po | 14 +++++++------- base_exception/i18n/sv.po | 10 +++++----- base_exception/i18n/th.po | 10 +++++----- base_exception/i18n/tr.po | 10 +++++----- base_exception/i18n/tr_TR.po | 10 +++++----- base_exception/i18n/uk.po | 14 +++++++------- base_exception/i18n/vi.po | 10 +++++----- base_exception/i18n/vi_VN.po | 10 +++++----- base_exception/i18n/zh_CN.po | 23 +++++++++++++++-------- base_exception/i18n/zh_TW.po | 10 +++++----- 69 files changed, 467 insertions(+), 401 deletions(-) diff --git a/base_exception/i18n/am.po b/base_exception/i18n/am.po index 14faeb8f6b9..e37e005c85b 100644 --- a/base_exception/i18n/am.po +++ b/base_exception/i18n/am.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -242,7 +242,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -328,7 +328,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/ar.po b/base_exception/i18n/ar.po index b08c279f5c2..11f55f6bdc5 100644 --- a/base_exception/i18n/ar.po +++ b/base_exception/i18n/ar.po @@ -144,16 +144,13 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 -#, fuzzy, python-format +#: code:addons/base_exception/models/base_exception_method.py:0 +#, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" -"يوجد خطأ عند تطبيق قانون الخلل:\n" -" %s \n" -"(%s)" #. module: base_exception #: model:ir.model,name:base_exception.model_base_exception @@ -252,7 +249,7 @@ msgstr "تجاهل الخلل" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -337,7 +334,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " @@ -374,6 +371,16 @@ msgstr "" msgid "_Close" msgstr "" +#, fuzzy, python-format +#~ msgid "" +#~ "Error when evaluating the exception.rule rule:\n" +#~ " %s \n" +#~ "(%s)" +#~ msgstr "" +#~ "يوجد خطأ عند تطبيق قانون الخلل:\n" +#~ " %s \n" +#~ "(%s)" + #~ msgid "Exceptions Rules" #~ msgstr "قوانين الخلل" diff --git a/base_exception/i18n/bg.po b/base_exception/i18n/bg.po index 17c6080c35f..1e4c46a2618 100644 --- a/base_exception/i18n/bg.po +++ b/base_exception/i18n/bg.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/bs.po b/base_exception/i18n/bs.po index dec345d8cf7..52ba9c11e30 100644 --- a/base_exception/i18n/bs.po +++ b/base_exception/i18n/bs.po @@ -16,8 +16,8 @@ msgstr "" "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" +"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: base_exception #: code:addons/base_exception/models/base_exception.py:0 @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/ca.po b/base_exception/i18n/ca.po index 3381e956109..706a078f187 100644 --- a/base_exception/i18n/ca.po +++ b/base_exception/i18n/ca.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/cs.po b/base_exception/i18n/cs.po index 69e1bb08711..56d5da6ae03 100644 --- a/base_exception/i18n/cs.po +++ b/base_exception/i18n/cs.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/cs_CZ.po b/base_exception/i18n/cs_CZ.po index e3427886e97..5dd25f86e98 100644 --- a/base_exception/i18n/cs_CZ.po +++ b/base_exception/i18n/cs_CZ.po @@ -144,13 +144,13 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 -#, fuzzy, python-format +#: code:addons/base_exception/models/base_exception_method.py:0 +#, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" -msgstr "Chyba při vyhodnocování pravidla exception.rule: %s (%s)" +" %(rule_name)s \n" +"(%(error)s)" +msgstr "" #. module: base_exception #: model:ir.model,name:base_exception.model_base_exception @@ -249,7 +249,7 @@ msgstr "Ignorovat výjimky" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -336,7 +336,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " @@ -373,6 +373,13 @@ msgstr "" msgid "_Close" msgstr "_Zavřít" +#, fuzzy, python-format +#~ msgid "" +#~ "Error when evaluating the exception.rule rule:\n" +#~ " %s \n" +#~ "(%s)" +#~ msgstr "Chyba při vyhodnocování pravidla exception.rule: %s (%s)" + #~ msgid "Exceptions Rules" #~ msgstr "Pravidla výjimek" diff --git a/base_exception/i18n/da.po b/base_exception/i18n/da.po index 10d8e5fc347..64b178a6210 100644 --- a/base_exception/i18n/da.po +++ b/base_exception/i18n/da.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/de.po b/base_exception/i18n/de.po index aa05c98c564..820cc202b58 100644 --- a/base_exception/i18n/de.po +++ b/base_exception/i18n/de.po @@ -144,16 +144,13 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 -#, fuzzy, python-format +#: code:addons/base_exception/models/base_exception_method.py:0 +#, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" -"Fehler bei Auswertung der exception.rule Regel:\n" -" %s \n" -"(%s)" #. module: base_exception #: model:ir.model,name:base_exception.model_base_exception @@ -252,7 +249,7 @@ msgstr "Ausnahmen ignorieren" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -337,7 +334,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " @@ -374,6 +371,16 @@ msgstr "" msgid "_Close" msgstr "_Schliessen" +#, fuzzy, python-format +#~ msgid "" +#~ "Error when evaluating the exception.rule rule:\n" +#~ " %s \n" +#~ "(%s)" +#~ msgstr "" +#~ "Fehler bei Auswertung der exception.rule Regel:\n" +#~ " %s \n" +#~ "(%s)" + #~ msgid "Exceptions Rules" #~ msgstr "Ausnahmenregeln" diff --git a/base_exception/i18n/el_GR.po b/base_exception/i18n/el_GR.po index 04d0852491e..0a597dd9804 100644 --- a/base_exception/i18n/el_GR.po +++ b/base_exception/i18n/el_GR.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/en_GB.po b/base_exception/i18n/en_GB.po index 43f50f47130..d0ea3ba7254 100644 --- a/base_exception/i18n/en_GB.po +++ b/base_exception/i18n/en_GB.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/es.po b/base_exception/i18n/es.po index e2a53a4d7a2..68db6e4e21c 100644 --- a/base_exception/i18n/es.po +++ b/base_exception/i18n/es.po @@ -144,16 +144,13 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 -#, fuzzy, python-format +#: code:addons/base_exception/models/base_exception_method.py:0 +#, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" -"Error al evaluar la regla exception.rule:\n" -"%s\n" -"(%s)" #. module: base_exception #: model:ir.model,name:base_exception.model_base_exception @@ -252,7 +249,7 @@ msgstr "Ignorar excepciones" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -337,7 +334,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " @@ -374,6 +371,16 @@ msgstr "" msgid "_Close" msgstr "" +#, fuzzy, python-format +#~ msgid "" +#~ "Error when evaluating the exception.rule rule:\n" +#~ " %s \n" +#~ "(%s)" +#~ msgstr "" +#~ "Error al evaluar la regla exception.rule:\n" +#~ "%s\n" +#~ "(%s)" + #~ msgid "Exceptions Rules" #~ msgstr "Reglas de excepción" diff --git a/base_exception/i18n/es_AR.po b/base_exception/i18n/es_AR.po index e50ed0f316d..d0c9103dc3b 100644 --- a/base_exception/i18n/es_AR.po +++ b/base_exception/i18n/es_AR.po @@ -151,16 +151,13 @@ msgstr "" "disponible en la pestaña de Ayuda de este documento." #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" -"Erro al evaluar la regla exception.rule:\n" -" %s \n" -"(%s)" #. module: base_exception #: model:ir.model,name:base_exception.model_base_exception @@ -254,8 +251,8 @@ msgstr "Ignorar Excepciones" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" -msgstr "Está Bloqueado" +msgid "Is Blocking" +msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_base_exception____last_update @@ -342,7 +339,7 @@ msgstr "" "Las excepciones no pueden ser ignoradas, porque algunas están bloqueadas." #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " @@ -383,5 +380,18 @@ msgstr "Cuando está marcado la excepción no puede ser ignorada" msgid "_Close" msgstr "_Close" +#, python-format +#~ msgid "" +#~ "Error when evaluating the exception.rule rule:\n" +#~ " %s \n" +#~ "(%s)" +#~ msgstr "" +#~ "Erro al evaluar la regla exception.rule:\n" +#~ " %s \n" +#~ "(%s)" + +#~ msgid "Is blocking" +#~ msgstr "Está Bloqueado" + #~ msgid "Exceptions Rules" #~ msgstr "Reglas de Excepciones" diff --git a/base_exception/i18n/es_CL.po b/base_exception/i18n/es_CL.po index 5ffe9f087bf..88a41ac3fca 100644 --- a/base_exception/i18n/es_CL.po +++ b/base_exception/i18n/es_CL.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/es_CO.po b/base_exception/i18n/es_CO.po index 1acdc777a50..23e50f39ccf 100644 --- a/base_exception/i18n/es_CO.po +++ b/base_exception/i18n/es_CO.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/es_CR.po b/base_exception/i18n/es_CR.po index e7a8ffb6de7..2c1666d0301 100644 --- a/base_exception/i18n/es_CR.po +++ b/base_exception/i18n/es_CR.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/es_DO.po b/base_exception/i18n/es_DO.po index 760b5177924..d1d112a5b0c 100644 --- a/base_exception/i18n/es_DO.po +++ b/base_exception/i18n/es_DO.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/es_EC.po b/base_exception/i18n/es_EC.po index adf12b8ff16..f23d3687289 100644 --- a/base_exception/i18n/es_EC.po +++ b/base_exception/i18n/es_EC.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/es_ES.po b/base_exception/i18n/es_ES.po index ad4c9ab51ac..70553a345ea 100644 --- a/base_exception/i18n/es_ES.po +++ b/base_exception/i18n/es_ES.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -243,7 +243,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -329,7 +329,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/es_MX.po b/base_exception/i18n/es_MX.po index 40ef52af50f..73fe0dd5732 100644 --- a/base_exception/i18n/es_MX.po +++ b/base_exception/i18n/es_MX.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/es_PE.po b/base_exception/i18n/es_PE.po index 6704485076d..6ee667357f9 100644 --- a/base_exception/i18n/es_PE.po +++ b/base_exception/i18n/es_PE.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/es_PY.po b/base_exception/i18n/es_PY.po index d5a11b3f4af..ba18354d275 100644 --- a/base_exception/i18n/es_PY.po +++ b/base_exception/i18n/es_PY.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/es_VE.po b/base_exception/i18n/es_VE.po index 02eed20fe6c..c378202913c 100644 --- a/base_exception/i18n/es_VE.po +++ b/base_exception/i18n/es_VE.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/et.po b/base_exception/i18n/et.po index 31c338a6adf..eade796e7ae 100644 --- a/base_exception/i18n/et.po +++ b/base_exception/i18n/et.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/eu.po b/base_exception/i18n/eu.po index 03bd50bee3b..5688debfaa5 100644 --- a/base_exception/i18n/eu.po +++ b/base_exception/i18n/eu.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/fa.po b/base_exception/i18n/fa.po index 9db13d39498..e030da817a0 100644 --- a/base_exception/i18n/fa.po +++ b/base_exception/i18n/fa.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -248,7 +248,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -334,7 +334,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/fi.po b/base_exception/i18n/fi.po index 78a9eb301d7..4ed9567fe05 100644 --- a/base_exception/i18n/fi.po +++ b/base_exception/i18n/fi.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/fr.po b/base_exception/i18n/fr.po index cb63b0dfb29..a4c638fe16e 100644 --- a/base_exception/i18n/fr.po +++ b/base_exception/i18n/fr.po @@ -145,16 +145,13 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" -"L'évaluation de la règle d'exception a généré une erreur :\n" -" %s \n" -"(%s)" #. module: base_exception #: model:ir.model,name:base_exception.model_base_exception @@ -253,7 +250,7 @@ msgstr "Ignorer les exceptions" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -340,7 +337,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " @@ -377,6 +374,16 @@ msgstr "" msgid "_Close" msgstr "_Close" +#, python-format +#~ msgid "" +#~ "Error when evaluating the exception.rule rule:\n" +#~ " %s \n" +#~ "(%s)" +#~ msgstr "" +#~ "L'évaluation de la règle d'exception a généré une erreur :\n" +#~ " %s \n" +#~ "(%s)" + #~ msgid "Exceptions Rules" #~ msgstr "Règles d'exceptions" diff --git a/base_exception/i18n/fr_CA.po b/base_exception/i18n/fr_CA.po index b275101d3ca..9e82eb918ef 100644 --- a/base_exception/i18n/fr_CA.po +++ b/base_exception/i18n/fr_CA.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/fr_CH.po b/base_exception/i18n/fr_CH.po index a09e798eba6..14be6ce2cf1 100644 --- a/base_exception/i18n/fr_CH.po +++ b/base_exception/i18n/fr_CH.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -243,7 +243,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -329,7 +329,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/gl.po b/base_exception/i18n/gl.po index eb45e044e6e..0c3ad79c24b 100644 --- a/base_exception/i18n/gl.po +++ b/base_exception/i18n/gl.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/gl_ES.po b/base_exception/i18n/gl_ES.po index 5d50c3e9ad7..ed1de6b2142 100644 --- a/base_exception/i18n/gl_ES.po +++ b/base_exception/i18n/gl_ES.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -243,7 +243,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -328,7 +328,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/he.po b/base_exception/i18n/he.po index dec57d57ce6..bfae95994eb 100644 --- a/base_exception/i18n/he.po +++ b/base_exception/i18n/he.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/hr.po b/base_exception/i18n/hr.po index 8e1c07ed03c..b58013ef8d9 100644 --- a/base_exception/i18n/hr.po +++ b/base_exception/i18n/hr.po @@ -17,8 +17,8 @@ msgstr "" "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" +"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: base_exception #: code:addons/base_exception/models/base_exception.py:0 @@ -144,12 +144,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -248,7 +248,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -334,7 +334,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/hr_HR.po b/base_exception/i18n/hr_HR.po index 5822a908f91..371fb144259 100644 --- a/base_exception/i18n/hr_HR.po +++ b/base_exception/i18n/hr_HR.po @@ -17,8 +17,8 @@ msgstr "" "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" +"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: base_exception #: code:addons/base_exception/models/base_exception.py:0 @@ -144,12 +144,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -246,7 +246,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -332,7 +332,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/hu.po b/base_exception/i18n/hu.po index 426fd7960b4..5a99b307501 100644 --- a/base_exception/i18n/hu.po +++ b/base_exception/i18n/hu.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/id.po b/base_exception/i18n/id.po index cf45b37227f..7d82fe33263 100644 --- a/base_exception/i18n/id.po +++ b/base_exception/i18n/id.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/it.po b/base_exception/i18n/it.po index fce6acb8b07..b4bb5f50862 100644 --- a/base_exception/i18n/it.po +++ b/base_exception/i18n/it.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/ja.po b/base_exception/i18n/ja.po index 7c5a34bd029..f0dd0339681 100644 --- a/base_exception/i18n/ja.po +++ b/base_exception/i18n/ja.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/ko.po b/base_exception/i18n/ko.po index bb574fb56e4..f35b4621d4f 100644 --- a/base_exception/i18n/ko.po +++ b/base_exception/i18n/ko.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/lt.po b/base_exception/i18n/lt.po index 8e8ffbc87c6..1a89852223c 100644 --- a/base_exception/i18n/lt.po +++ b/base_exception/i18n/lt.po @@ -16,8 +16,8 @@ msgstr "" "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" +"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: base_exception #: code:addons/base_exception/models/base_exception.py:0 @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/lt_LT.po b/base_exception/i18n/lt_LT.po index 06b0a5a10ff..faf2bdbff2d 100644 --- a/base_exception/i18n/lt_LT.po +++ b/base_exception/i18n/lt_LT.po @@ -17,8 +17,8 @@ msgstr "" "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" +"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: base_exception #: code:addons/base_exception/models/base_exception.py:0 @@ -144,12 +144,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/lv.po b/base_exception/i18n/lv.po index 48fb7cf7abe..0a8dca51ec3 100644 --- a/base_exception/i18n/lv.po +++ b/base_exception/i18n/lv.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/mk.po b/base_exception/i18n/mk.po index 5767ccfb121..e8dbc733fe7 100644 --- a/base_exception/i18n/mk.po +++ b/base_exception/i18n/mk.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/mn.po b/base_exception/i18n/mn.po index 48654ea3559..d86dc3ba027 100644 --- a/base_exception/i18n/mn.po +++ b/base_exception/i18n/mn.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/nb.po b/base_exception/i18n/nb.po index b7d1f05cbf9..081787c7ada 100644 --- a/base_exception/i18n/nb.po +++ b/base_exception/i18n/nb.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/nb_NO.po b/base_exception/i18n/nb_NO.po index 1644964d15e..29c954415d0 100644 --- a/base_exception/i18n/nb_NO.po +++ b/base_exception/i18n/nb_NO.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -243,7 +243,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -329,7 +329,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/nl.po b/base_exception/i18n/nl.po index 72994941931..38e621e0190 100644 --- a/base_exception/i18n/nl.po +++ b/base_exception/i18n/nl.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/nl_BE.po b/base_exception/i18n/nl_BE.po index 221c24ba6cf..db65ea2107f 100644 --- a/base_exception/i18n/nl_BE.po +++ b/base_exception/i18n/nl_BE.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/nl_NL.po b/base_exception/i18n/nl_NL.po index 6f4988e914b..18c3c40b6b9 100644 --- a/base_exception/i18n/nl_NL.po +++ b/base_exception/i18n/nl_NL.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -248,7 +248,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -336,7 +336,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/pl.po b/base_exception/i18n/pl.po index a267b399b6f..e68251901e5 100644 --- a/base_exception/i18n/pl.po +++ b/base_exception/i18n/pl.po @@ -16,9 +16,9 @@ msgstr "" "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" +"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: base_exception #: code:addons/base_exception/models/base_exception.py:0 @@ -144,12 +144,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -246,7 +246,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -332,7 +332,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/pt.po b/base_exception/i18n/pt.po index fb1b9879b37..d0107876aad 100644 --- a/base_exception/i18n/pt.po +++ b/base_exception/i18n/pt.po @@ -146,16 +146,13 @@ msgstr "" "disponível no separador Ajuda deste documento." #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" -"Erro na avaliação da regra exception.rule:\n" -" %s \n" -"(%s)" #. module: base_exception #: model:ir.model,name:base_exception.model_base_exception @@ -250,7 +247,7 @@ msgstr "Ignorar Exceções" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -337,7 +334,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " @@ -376,6 +373,16 @@ msgstr "" msgid "_Close" msgstr "_Fechar" +#, python-format +#~ msgid "" +#~ "Error when evaluating the exception.rule rule:\n" +#~ " %s \n" +#~ "(%s)" +#~ msgstr "" +#~ "Erro na avaliação da regra exception.rule:\n" +#~ " %s \n" +#~ "(%s)" + #~ msgid "Exceptions Rules" #~ msgstr "Regras de Exceções" diff --git a/base_exception/i18n/pt_BR.po b/base_exception/i18n/pt_BR.po index 9ced7909726..175b6436b65 100644 --- a/base_exception/i18n/pt_BR.po +++ b/base_exception/i18n/pt_BR.po @@ -147,16 +147,13 @@ msgstr "" "disponível na guia de ajuda deste documento." #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" -"Erro ao avaliar a regra exception.rule:\n" -" %s \n" -"(%s)" #. module: base_exception #: model:ir.model,name:base_exception.model_base_exception @@ -250,7 +247,7 @@ msgstr "Ignorar Exceções" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -337,7 +334,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " @@ -376,6 +373,16 @@ msgstr "" msgid "_Close" msgstr "_Fechar" +#, python-format +#~ msgid "" +#~ "Error when evaluating the exception.rule rule:\n" +#~ " %s \n" +#~ "(%s)" +#~ msgstr "" +#~ "Erro ao avaliar a regra exception.rule:\n" +#~ " %s \n" +#~ "(%s)" + #~ msgid "Exceptions Rules" #~ msgstr "Regras de exceção" @@ -430,5 +437,5 @@ msgstr "_Fechar" #~ "The value \"%s\" you choose for the \"next state\" field state of \"%s\" " #~ "is wrong. Value must be in this list %s" #~ msgstr "" -#~ "O valor \"%s\" escolhido para o estado do campo \"próximo estado\" de \"%s" -#~ "\" está errado. O valor deve estar nesta lista %s" +#~ "O valor \"%s\" escolhido para o estado do campo \"próximo estado\" de " +#~ "\"%s\" está errado. O valor deve estar nesta lista %s" diff --git a/base_exception/i18n/pt_PT.po b/base_exception/i18n/pt_PT.po index c00eeba41e9..b7f923c40b0 100644 --- a/base_exception/i18n/pt_PT.po +++ b/base_exception/i18n/pt_PT.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/ro.po b/base_exception/i18n/ro.po index 98f0908dab6..181f4981565 100644 --- a/base_exception/i18n/ro.po +++ b/base_exception/i18n/ro.po @@ -144,12 +144,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -246,7 +246,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -332,7 +332,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/ru.po b/base_exception/i18n/ru.po index dcbca025d75..3d595fbbbdb 100644 --- a/base_exception/i18n/ru.po +++ b/base_exception/i18n/ru.po @@ -16,9 +16,9 @@ msgstr "" "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" +"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: base_exception #: code:addons/base_exception/models/base_exception.py:0 @@ -144,12 +144,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -246,7 +246,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -332,7 +332,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/sk.po b/base_exception/i18n/sk.po index 6aadfe65be5..1cccd9e0d04 100644 --- a/base_exception/i18n/sk.po +++ b/base_exception/i18n/sk.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/sl.po b/base_exception/i18n/sl.po index 365c186971f..330bc6165e4 100644 --- a/base_exception/i18n/sl.po +++ b/base_exception/i18n/sl.po @@ -16,8 +16,8 @@ msgstr "" "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" +"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.14.1\n" #. module: base_exception @@ -144,12 +144,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -246,7 +246,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -332,7 +332,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/sr.po b/base_exception/i18n/sr.po index 90f84717da3..9395943b8b5 100644 --- a/base_exception/i18n/sr.po +++ b/base_exception/i18n/sr.po @@ -16,8 +16,8 @@ msgstr "" "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" +"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: base_exception #: code:addons/base_exception/models/base_exception.py:0 @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/sr@latin.po b/base_exception/i18n/sr@latin.po index 094137db48b..66bb0bf73c8 100644 --- a/base_exception/i18n/sr@latin.po +++ b/base_exception/i18n/sr@latin.po @@ -17,8 +17,8 @@ msgstr "" "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" +"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: base_exception #: code:addons/base_exception/models/base_exception.py:0 @@ -144,12 +144,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -246,7 +246,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -332,7 +332,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/sv.po b/base_exception/i18n/sv.po index 7fdb86968fb..3e1da322987 100644 --- a/base_exception/i18n/sv.po +++ b/base_exception/i18n/sv.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/th.po b/base_exception/i18n/th.po index 75090718ae1..629d058a788 100644 --- a/base_exception/i18n/th.po +++ b/base_exception/i18n/th.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/tr.po b/base_exception/i18n/tr.po index ea135e8d1c2..69a067d1ff8 100644 --- a/base_exception/i18n/tr.po +++ b/base_exception/i18n/tr.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/tr_TR.po b/base_exception/i18n/tr_TR.po index 0235509860d..040db7f454c 100644 --- a/base_exception/i18n/tr_TR.po +++ b/base_exception/i18n/tr_TR.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/uk.po b/base_exception/i18n/uk.po index 721b1384254..68c794ec393 100644 --- a/base_exception/i18n/uk.po +++ b/base_exception/i18n/uk.po @@ -16,8 +16,8 @@ msgstr "" "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" +"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: base_exception #: code:addons/base_exception/models/base_exception.py:0 @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/vi.po b/base_exception/i18n/vi.po index 44d1fc0ae58..358986369bd 100644 --- a/base_exception/i18n/vi.po +++ b/base_exception/i18n/vi.po @@ -142,12 +142,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -244,7 +244,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -330,7 +330,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/vi_VN.po b/base_exception/i18n/vi_VN.po index 04dafe32834..516f8f0fff1 100644 --- a/base_exception/i18n/vi_VN.po +++ b/base_exception/i18n/vi_VN.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " diff --git a/base_exception/i18n/zh_CN.po b/base_exception/i18n/zh_CN.po index dea9d36dc5e..96acdc19f1c 100644 --- a/base_exception/i18n/zh_CN.po +++ b/base_exception/i18n/zh_CN.po @@ -145,16 +145,13 @@ msgstr "" "在这里输入Python代码。有关Python表达式的帮助,请参阅本文档的帮助选项卡。" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" -"评估exception.rule规则时出错:\n" -" %s \n" -"(%s)" #. module: base_exception #: model:ir.model,name:base_exception.model_base_exception @@ -249,7 +246,7 @@ msgstr "忽略异常" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -334,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " @@ -371,6 +368,16 @@ msgstr "" msgid "_Close" msgstr "关闭" +#, python-format +#~ msgid "" +#~ "Error when evaluating the exception.rule rule:\n" +#~ " %s \n" +#~ "(%s)" +#~ msgstr "" +#~ "评估exception.rule规则时出错:\n" +#~ " %s \n" +#~ "(%s)" + #~ msgid "Exceptions Rules" #~ msgstr "异常规则" diff --git a/base_exception/i18n/zh_TW.po b/base_exception/i18n/zh_TW.po index 4d150af1728..4aee188678a 100644 --- a/base_exception/i18n/zh_TW.po +++ b/base_exception/i18n/zh_TW.po @@ -143,12 +143,12 @@ msgid "" msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/base_exception_method.py:0 #, python-format msgid "" "Error when evaluating the exception.rule rule:\n" -" %s \n" -"(%s)" +" %(rule_name)s \n" +"(%(error)s)" msgstr "" #. module: base_exception @@ -245,7 +245,7 @@ msgstr "" #. module: base_exception #: model:ir.model.fields,field_description:base_exception.field_exception_rule__is_blocking -msgid "Is blocking" +msgid "Is Blocking" msgstr "" #. module: base_exception @@ -331,7 +331,7 @@ msgid "The exceptions can not be ignored, because some of them are blocking." msgstr "" #. module: base_exception -#: code:addons/base_exception/models/base_exception.py:0 +#: code:addons/base_exception/models/exception_rule.py:0 #, python-format msgid "" "There is a problem of configuration, python code, domain or method is " From dd1baadcf1d4212f3f012084e9d6bfd20728a6dc Mon Sep 17 00:00:00 2001 From: mymage Date: Thu, 18 Sep 2025 12:53:06 +0000 Subject: [PATCH 214/232] Translated using Weblate (Italian) Currently translated at 82.5% (165 of 200 strings) Translation: server-tools-14.0/server-tools-14.0-excel_import_export Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-excel_import_export/it/ --- excel_import_export/i18n/it.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/excel_import_export/i18n/it.po b/excel_import_export/i18n/it.po index d53e653e8c6..dadfda720ca 100644 --- a/excel_import_export/i18n/it.po +++ b/excel_import_export/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-10-03 10:06+0000\n" +"PO-Revision-Date: 2025-09-18 15:42+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -14,7 +14,7 @@ msgstr "" "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" +"X-Generator: Weblate 5.10.4\n" #. module: excel_import_export #: model_terms:ir.ui.view,arch_db:excel_import_export.view_xlsx_template_form @@ -1172,7 +1172,7 @@ msgstr "ID Risorsa" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__res_ids msgid "Resource IDs" -msgstr "ID Risorse" +msgstr "ID risorse" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__res_model From 3308a28910534a1063a5e5abb7cb4cc66c450dec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adasat=20Torres=20de=20Le=C3=B3n?= Date: Wed, 8 Oct 2025 16:14:09 +0100 Subject: [PATCH 215/232] [FIX] module_analysis: The 'code' attribute does not exist in SourceAnalysis Class --- module_analysis/models/ir_module_module.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/module_analysis/models/ir_module_module.py b/module_analysis/models/ir_module_module.py index fbc70d3b45e..e9c24d94094 100644 --- a/module_analysis/models/ir_module_module.py +++ b/module_analysis/models/ir_module_module.py @@ -52,11 +52,11 @@ def _get_analyse_settings(self): field_name: Odoo field name to store the analysis """ return { - ".py": {"code": "python_code_qty"}, - ".xml": {"code": "xml_code_qty"}, - ".js": {"code": "js_code_qty"}, - ".css": {"code": "css_code_qty"}, - ".scss": {"code": "css_code_qty"}, + ".py": {"code_count": "python_code_qty"}, + ".xml": {"code_count": "xml_code_qty"}, + ".js": {"code_count": "js_code_qty"}, + ".css": {"code_count": "css_code_qty"}, + ".scss": {"code_count": "css_code_qty"}, } @api.model From bc20ac3b9f0f7ab60ac2e90cd375c821deecba71 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 8 Oct 2025 15:41:43 +0000 Subject: [PATCH 216/232] [BOT] post-merge updates --- README.md | 2 +- module_analysis/README.rst | 8 +++- module_analysis/__manifest__.py | 2 +- module_analysis/static/description/index.html | 42 +++++++++++-------- 4 files changed, 32 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 0341851607d..2350fd1acc0 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ addon | version | maintainers | summary [letsencrypt](letsencrypt/) | 14.0.1.0.2 | | Request SSL certificates from letsencrypt.org [mail_cleanup](mail_cleanup/) | 14.0.1.0.0 | | Mark as read or delete mails after a set time [model_read_only](model_read_only/) | 14.0.3.0.2 | ilyasProgrammer | Model Read Only -[module_analysis](module_analysis/) | 14.0.1.0.2 | | Add analysis tools regarding installed modules to know which installed modules comes from Odoo Core, OCA, or are custom modules +[module_analysis](module_analysis/) | 14.0.1.0.3 | | Add analysis tools regarding installed modules to know which installed modules comes from Odoo Core, OCA, or are custom modules [module_auto_update](module_auto_update/) | 14.0.1.1.1 | | Automatically update Odoo modules [module_change_auto_install](module_change_auto_install/) | 14.0.1.0.3 | legalsylvain | Customize auto installables modules by configuration [module_prototyper](module_prototyper/) | 14.0.1.0.1 | | Prototype your module. diff --git a/module_analysis/README.rst b/module_analysis/README.rst index 03778e6a476..d13b051b31a 100644 --- a/module_analysis/README.rst +++ b/module_analysis/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + =============== Module Analysis =============== @@ -7,13 +11,13 @@ Module Analysis !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:6066302e1718fcf380e5b4321ce8a06e12233a165fb7dc5b7416d199d9fd45f4 + !! source digest: sha256:424c4555a9c1bd799c37b6e26db35b6bd0f5a29fd2c3e908936a4c0241f43b73 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |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 +.. |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%2Fserver--tools-lightgray.png?logo=github diff --git a/module_analysis/__manifest__.py b/module_analysis/__manifest__.py index 90fa624f803..b18a7beca41 100644 --- a/module_analysis/__manifest__.py +++ b/module_analysis/__manifest__.py @@ -9,7 +9,7 @@ " custom modules", "author": "GRAP, Odoo Community Association (OCA)", "website": "https://github.com/OCA/server-tools", - "version": "14.0.1.0.2", + "version": "14.0.1.0.3", "license": "AGPL-3", "depends": ["base"], "data": [ diff --git a/module_analysis/static/description/index.html b/module_analysis/static/description/index.html index aaa21575bb3..918ae78f414 100644 --- a/module_analysis/static/description/index.html +++ b/module_analysis/static/description/index.html @@ -3,7 +3,7 @@ -Module Analysis +README.rst -
    -

    Module Analysis

    +
    + + +Odoo Community Association + +
    +

    Module Analysis

    -

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    +

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    This module allows you to know ‘how much code’ is running on your Odoo instance, group by ‘Type’ (Odoo Core, OCA, other…)

    This module can be usefull in the following cases :

    @@ -412,12 +417,12 @@

    Module Analysis

    -

    Installation

    +

    Installation

    To use this module, you have to install the pygount python librairy.

    pip install pygount

    -

    Configuration

    +

    Configuration

    • Go to Apps / Module Analysis / Modules Types Rules
    @@ -449,20 +454,20 @@

    Configuration

  • Configure the action ‘Update Module Analysis’. (By default, the analysis will be done nightly)
  • -

    Adding Extra data

    +

    Adding Extra data

    If you want to analyse other data, (for exemple, having the number of HTML files), create a custom modules and overload the module model :

    -from odoo import api, fields, models
    +from odoo import api, fields, models
     
    -class IrModuleModule(models.Model):
    +class IrModuleModule(models.Model):
        _inherit = 'ir.module.module'
     
        xml_documentation_qty = fields.Integer(
           string='Quantity of Comments in XML Files')
     
       @api.model
    -  def _get_analyse_settings(self):
    +  def _get_analyse_settings(self):
           res = super()._get_analyse_settings()
           if not '.html' in res:
               res['.html'] = {}
    @@ -471,7 +476,7 @@ 

    Adding Extra data

    -

    Exclude files and directories

    +

    Exclude files and directories

    Two parameters are availaible in ‘Settings’ / ‘Technical’ / ‘Parameters’ ‘System Parameters’ :

    @@ -482,7 +487,7 @@

    Exclude files and directories

    -

    Usage

    +

    Usage

    • Go to ‘Apps’ / ‘Module Analysis’ / ‘Installed module by Types’
    @@ -493,7 +498,7 @@

    Usage

    -

    Bug Tracker

    +

    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 @@ -501,21 +506,21 @@

    Bug Tracker

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

    +
    From 0f3d3514edd89129d21a829d2e6a9815140b777d Mon Sep 17 00:00:00 2001 From: Tom Date: Sat, 15 Nov 2025 15:21:04 +0100 Subject: [PATCH 217/232] [FIX] base_deterministic_session_gc: out of memory error Looping over a large amount of session files with os.listdir caused memory issues. glob.iglob is a generator and as such more memory-efficient. --- base_deterministic_session_gc/http.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/base_deterministic_session_gc/http.py b/base_deterministic_session_gc/http.py index a60f6493c33..85f1a100ef8 100644 --- a/base_deterministic_session_gc/http.py +++ b/base_deterministic_session_gc/http.py @@ -1,6 +1,7 @@ # Copyright 2019 Trobz # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +import glob import logging import os import time @@ -27,7 +28,7 @@ def deterministic_session_gc(session_store, session_expiry_delay=None): "Deleting all sessions inactive since %s", datetime.fromtimestamp(expired_time).strftime(DEFAULT_SERVER_DATETIME_FORMAT), ) - for fname in os.listdir(session_store.path): + for fname in glob.iglob(os.path.join(session_store.path, "*")): path = os.path.join(session_store.path, fname) try: if os.path.getmtime(path) < expired_time: From 022cd240149b4b59aa9f2cd89e78fde39f84b36b Mon Sep 17 00:00:00 2001 From: Ryoko Tsuda Date: Wed, 26 Nov 2025 02:39:01 +0000 Subject: [PATCH 218/232] Added translation using Weblate (Japanese) --- base_model_restrict_update/i18n/ja.po | 105 ++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 base_model_restrict_update/i18n/ja.po diff --git a/base_model_restrict_update/i18n/ja.po b/base_model_restrict_update/i18n/ja.po new file mode 100644 index 00000000000..a8c45afad63 --- /dev/null +++ b/base_model_restrict_update/i18n/ja.po @@ -0,0 +1,105 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_model_restrict_update +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\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: base_model_restrict_update +#: model_terms:ir.ui.view,arch_db:base_model_restrict_update.view_users_form +msgid "Read-only" +msgstr "" + +#. module: base_model_restrict_update +#: model_terms:ir.ui.view,arch_db:base_model_restrict_update.view_users_form +msgid "Unrestrict Update" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model__display_name +#: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model_access__display_name +#: model:ir.model.fields,field_description:base_model_restrict_update.field_res_users__display_name +msgid "Display Name" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model__id +#: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model_access__id +#: model:ir.model.fields,field_description:base_model_restrict_update.field_res_users__id +msgid "ID" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model____last_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model_access____last_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_res_users____last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model,name:base_model_restrict_update.model_ir_model_access +msgid "Model Access" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model,name:base_model_restrict_update.model_ir_model +msgid "Models" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_res_users__is_readonly_user +msgid "Ready User" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,help:base_model_restrict_update.field_res_users__is_readonly_user +msgid "Set to true and the user are readonly user on all models" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,help:base_model_restrict_update.field_res_users__unrestrict_model_update +msgid "Set to true and the user can update restricted model." +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_res_users__unrestrict_model_update +msgid "Unrestrict Model Update" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,field_description:base_model_restrict_update.field_ir_model__restrict_update +msgid "Update Restrict Model" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model,name:base_model_restrict_update.model_res_users +msgid "Users" +msgstr "" + +#. module: base_model_restrict_update +#: model:ir.model.fields,help:base_model_restrict_update.field_ir_model__restrict_update +msgid "" +"When selected, the model is restricted to read-only unless the user has the " +"special permission." +msgstr "" + +#. module: base_model_restrict_update +#: code:addons/base_model_restrict_update/models/ir_model_access.py:0 +#, python-format +msgid "You are only allowed to read this record. (%s - %s)" +msgstr "" + +#. module: base_model_restrict_update +#: code:addons/base_model_restrict_update/models/res_users.py:0 +#, python-format +msgid "You cannot set admin user as a readonly user." +msgstr "" From a806f6240564b5076c9f59b9b3e70f3bee91f3f7 Mon Sep 17 00:00:00 2001 From: mymage Date: Fri, 28 Nov 2025 08:10:15 +0000 Subject: [PATCH 219/232] Translated using Weblate (Italian) Currently translated at 82.5% (165 of 200 strings) Translation: server-tools-14.0/server-tools-14.0-excel_import_export Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-excel_import_export/it/ --- excel_import_export/i18n/it.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/excel_import_export/i18n/it.po b/excel_import_export/i18n/it.po index dadfda720ca..2c87d93075c 100644 --- a/excel_import_export/i18n/it.po +++ b/excel_import_export/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2025-09-18 15:42+0000\n" +"PO-Revision-Date: 2025-11-28 08:10+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -1167,7 +1167,7 @@ msgstr "" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_import_xlsx_wizard__res_id msgid "Resource ID" -msgstr "ID Risorsa" +msgstr "ID risorsa" #. module: excel_import_export #: model:ir.model.fields,field_description:excel_import_export.field_export_xlsx_wizard__res_ids From 26cf88a4b490077276a4154ec31c49d241d0017e Mon Sep 17 00:00:00 2001 From: mymage Date: Fri, 28 Nov 2025 08:09:22 +0000 Subject: [PATCH 220/232] Translated using Weblate (Italian) Currently translated at 83.0% (118 of 142 strings) Translation: server-tools-14.0/server-tools-14.0-base_custom_info Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-base_custom_info/it/ --- base_custom_info/i18n/it.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/base_custom_info/i18n/it.po b/base_custom_info/i18n/it.po index 38ea57bc770..038eadfe69a 100644 --- a/base_custom_info/i18n/it.po +++ b/base_custom_info/i18n/it.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: Odoo Server 9.0c\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-30 00:58+0000\n" -"PO-Revision-Date: 2023-11-06 15:42+0000\n" +"PO-Revision-Date: 2025-11-28 08:10+0000\n" "Last-Translator: mymage \n" "Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" "Language: it\n" @@ -17,7 +17,7 @@ msgstr "" "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" +"X-Generator: Weblate 5.10.4\n" #. module: base_custom_info #: model_terms:ir.ui.view,arch_db:base_custom_info.custom_info_value_form @@ -667,7 +667,7 @@ msgstr "Risorsa" #. module: base_custom_info #: model:ir.model.fields,field_description:base_custom_info.field_custom_info_value__res_id msgid "Resource ID" -msgstr "ID Risorsa" +msgstr "ID risorsa" #. module: base_custom_info #: model_terms:ir.ui.view,arch_db:base_custom_info.custom_info_property_form From 98c1d3e33ea515423737dd2a4f4c5680720e228c Mon Sep 17 00:00:00 2001 From: mymage Date: Fri, 28 Nov 2025 08:09:58 +0000 Subject: [PATCH 221/232] Translated using Weblate (Italian) Currently translated at 100.0% (85 of 85 strings) Translation: server-tools-14.0/server-tools-14.0-auditlog Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-auditlog/it/ --- auditlog/i18n/it.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/auditlog/i18n/it.po b/auditlog/i18n/it.po index 0b8b82d9501..2084a7f50e9 100644 --- a/auditlog/i18n/it.po +++ b/auditlog/i18n/it.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: Odoo Server 9.0c\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-11-26 01:45+0000\n" -"PO-Revision-Date: 2024-05-14 18:39+0000\n" +"PO-Revision-Date: 2025-11-28 08:10+0000\n" "Last-Translator: mymage \n" "Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" "Language: it\n" @@ -18,7 +18,7 @@ msgstr "" "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" +"X-Generator: Weblate 5.10.4\n" #. module: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_rule__action_id @@ -396,7 +396,7 @@ msgstr "Res" #: model_terms:ir.ui.view,arch_db:auditlog.view_auditlog_line_search #: model_terms:ir.ui.view,arch_db:auditlog.view_auditlog_log_search msgid "Resource ID" -msgstr "ID Risorsa" +msgstr "ID risorsa" #. module: auditlog #: model:ir.model.fields,field_description:auditlog.field_auditlog_log__name From 2a6451e8a3830c7cc96198d03d9c00f6560a7dc4 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 5 Dec 2025 14:50:52 +0000 Subject: [PATCH 222/232] [BOT] post-merge updates --- README.md | 2 +- base_deterministic_session_gc/README.rst | 8 +++- base_deterministic_session_gc/__manifest__.py | 2 +- .../static/description/index.html | 42 +++++++++++-------- 4 files changed, 33 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 2350fd1acc0..0f948d94cef 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ addon | version | maintainers | summary [base_contextvars](base_contextvars/) | 14.0.1.0.4 | sbidoul | Patch Odoo threadlocals to use contextvars instead. [base_cron_exclusion](base_cron_exclusion/) | 14.0.1.0.0 | LoisRForgeFlow | Allow you to select scheduled actions that should not run simultaneously. [base_custom_info](base_custom_info/) | 14.0.1.0.3 | | Add custom field in models -[base_deterministic_session_gc](base_deterministic_session_gc/) | 14.0.1.0.0 | | Provide a deterministic session garbage collection instead of the default random one +[base_deterministic_session_gc](base_deterministic_session_gc/) | 14.0.1.0.1 | | Provide a deterministic session garbage collection instead of the default random one [base_exception](base_exception/) | 14.0.3.0.0 | hparfr sebastienbeau | This module provide an abstract model to manage customizable exceptions to be applied on different models (sale order, invoice, ...) [base_fontawesome](base_fontawesome/) | 14.0.5.15.5 | | Up to date Fontawesome resources. [base_force_record_noupdate](base_force_record_noupdate/) | 14.0.1.0.0 | | Manually force noupdate=True on models diff --git a/base_deterministic_session_gc/README.rst b/base_deterministic_session_gc/README.rst index cf9eac118fb..82164d78eb0 100644 --- a/base_deterministic_session_gc/README.rst +++ b/base_deterministic_session_gc/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ======================== Deterministic Session GC ======================== @@ -7,13 +11,13 @@ Deterministic Session GC !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:497a5b82f841b2039930ac730527a902f7193189b59e3eeac3d2e795df97f296 + !! source digest: sha256:259a927963fd52a8c7a49d8b6ea7ebf13c9de4864d041dfecb8d6bab301fb5ef !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |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 +.. |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%2Fserver--tools-lightgray.png?logo=github diff --git a/base_deterministic_session_gc/__manifest__.py b/base_deterministic_session_gc/__manifest__.py index bc060b4fae3..d402e5fab93 100644 --- a/base_deterministic_session_gc/__manifest__.py +++ b/base_deterministic_session_gc/__manifest__.py @@ -5,7 +5,7 @@ "name": "Deterministic Session GC", "summary": "Provide a deterministic session garbage collection" " instead of the default random one", - "version": "14.0.1.0.0", + "version": "14.0.1.0.1", "author": "Trobz,Odoo Community Association (OCA)", "website": "https://github.com/OCA/server-tools", "category": "Extra Tools", diff --git a/base_deterministic_session_gc/static/description/index.html b/base_deterministic_session_gc/static/description/index.html index 136ebec8d19..e951a170b27 100644 --- a/base_deterministic_session_gc/static/description/index.html +++ b/base_deterministic_session_gc/static/description/index.html @@ -1,18 +1,18 @@ - -Deterministic Session GC +README.rst -
    -

    Deterministic Session GC

    +
    + + +Odoo Community Association + +
    +

    Deterministic Session GC

    -

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    +

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    Whenever a new request is processed by Odoo, this statement is evaluated: random.random() < 0.001 [1]

    1 time out of 1000 in average, it will return True and trigger the @@ -411,7 +416,7 @@

    Deterministic Session GC

    -

    Installation

    +

    Installation

    You need to load this module server-wide:

    • By starting Odoo with --load=web,base_deterministic_session_gc
    • @@ -426,7 +431,7 @@

      Installation

      if you want to use the provided deterministic approach.

    -

    Configuration

    +

    Configuration

    You can change the session expiry delay in the Odoo configuration file:

     [options]
    @@ -437,7 +442,7 @@ 

    Configuration

    Default value is 7 days.

    -

    Bug Tracker

    +

    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 @@ -445,23 +450,25 @@

    Bug Tracker

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

    -

    Credits

    +

    Credits

    -

    Authors

    +

    Authors

    • Trobz
    -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    -Odoo Community Association + +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.

    @@ -470,5 +477,6 @@

    Maintainers

    +
    From 0db3ca9967893b57428a13e81f508e2616d1d0f2 Mon Sep 17 00:00:00 2001 From: twalter-c2c Date: Wed, 17 Sep 2025 17:22:07 +0200 Subject: [PATCH 223/232] [FIX] onchange_helper: avoid permissions issue --- onchange_helper/models/base.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/onchange_helper/models/base.py b/onchange_helper/models/base.py index 15bd13fe17e..4faeaf91007 100644 --- a/onchange_helper/models/base.py +++ b/onchange_helper/models/base.py @@ -42,7 +42,8 @@ def play_onchanges(self, values, onchange_fields): self.ensure_one() record_values = self._convert_to_write( { - field_name: self[field_name] + # use sudo to avoid access right issue + field_name: self.sudo()[field_name] for field_name, field in self._fields.items() } ) From 9a770c5e03ec73a6590b69f56361078f4f302611 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 20 Jan 2026 10:26:35 +0000 Subject: [PATCH 224/232] [BOT] post-merge updates --- README.md | 2 +- onchange_helper/README.rst | 8 +++- onchange_helper/__manifest__.py | 2 +- onchange_helper/static/description/index.html | 40 +++++++++++-------- 4 files changed, 32 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 0f948d94cef..e64347e795c 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ addon | version | maintainers | summary [module_change_auto_install](module_change_auto_install/) | 14.0.1.0.3 | legalsylvain | Customize auto installables modules by configuration [module_prototyper](module_prototyper/) | 14.0.1.0.1 | | Prototype your module. [nsca_client](nsca_client/) | 14.0.1.0.2 | | Send passive alerts to monitor your Odoo application. -[onchange_helper](onchange_helper/) | 14.0.1.0.3 | | Technical module that ease execution of onchange in Python code +[onchange_helper](onchange_helper/) | 14.0.1.0.4 | | Technical module that ease execution of onchange in Python code [profiler](profiler/) | 14.0.1.0.0 | thomaspaulb | profiler [rpc_helper](rpc_helper/) | 14.0.1.2.0 | simahawk | Helpers for disabling RPC calls [scheduler_error_mailer](scheduler_error_mailer/) | 14.0.1.2.1 | | Scheduler Error Mailer diff --git a/onchange_helper/README.rst b/onchange_helper/README.rst index 3e69f36c141..f462c9365be 100644 --- a/onchange_helper/README.rst +++ b/onchange_helper/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + =============== Onchange Helper =============== @@ -7,13 +11,13 @@ Onchange Helper !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:7afb436817525b704095f44df7de4b2d432a51b69b43ff1b90036d75e40e598f + !! source digest: sha256:0ad94f25549cf1bcc062c98e2470dfb343b30ce09dd3271a5be74f5cfcb7b00a !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |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-LGPL--3-blue.png +.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html :alt: License: LGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github diff --git a/onchange_helper/__manifest__.py b/onchange_helper/__manifest__.py index ada905790dc..126a640fefe 100644 --- a/onchange_helper/__manifest__.py +++ b/onchange_helper/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Onchange Helper", - "version": "14.0.1.0.3", + "version": "14.0.1.0.4", "summary": "Technical module that ease execution" " of onchange in Python code", "author": "Akretion,Camptocamp,Odoo Community Association (OCA)", "website": "https://github.com/OCA/server-tools", diff --git a/onchange_helper/static/description/index.html b/onchange_helper/static/description/index.html index 33c81375913..4a9bbd8eb2f 100644 --- a/onchange_helper/static/description/index.html +++ b/onchange_helper/static/description/index.html @@ -1,18 +1,18 @@ - -Onchange Helper +README.rst -
    -

    Onchange Helper

    +
    + + +Odoo Community Association + +
    +

    Onchange Helper

    -

    Beta License: LGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    +

    Beta License: LGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    This is a technical module. Its goal is to ease the play of onchange method directly called from Python code.

    Table of contents

    @@ -385,7 +390,7 @@

    Onchange Helper

    -

    Usage

    +

    Usage

    To use this module, you need to:

    • depend on this module
    • @@ -418,7 +423,7 @@

      Usage

    -

    Bug Tracker

    +

    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 @@ -426,16 +431,16 @@

    Bug Tracker

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

    -

    Credits

    +

    Credits

    -

    Authors

    +

    Authors

    • Akretion
    • Camptocamp
    -

    Contributors

    +

    Contributors

    -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    -Odoo Community Association + +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.

    @@ -455,5 +462,6 @@

    Maintainers

    +
    From 94db1200cf527682efd7389265c8e843e07cac1b Mon Sep 17 00:00:00 2001 From: oca-ci Date: Tue, 27 Jan 2026 08:53:34 +0000 Subject: [PATCH 225/232] [UPD] Update fix_compute_trans_implied_groups.pot --- .../i18n/fix_compute_trans_implied_groups.pot | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 fix_compute_trans_implied_groups/i18n/fix_compute_trans_implied_groups.pot diff --git a/fix_compute_trans_implied_groups/i18n/fix_compute_trans_implied_groups.pot b/fix_compute_trans_implied_groups/i18n/fix_compute_trans_implied_groups.pot new file mode 100644 index 00000000000..02c90a99cd9 --- /dev/null +++ b/fix_compute_trans_implied_groups/i18n/fix_compute_trans_implied_groups.pot @@ -0,0 +1,44 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fix_compute_trans_implied_groups +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.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: fix_compute_trans_implied_groups +#: model:ir.model,name:fix_compute_trans_implied_groups.model_res_groups +msgid "Access Groups" +msgstr "" + +#. module: fix_compute_trans_implied_groups +#: model:ir.model.fields,field_description:fix_compute_trans_implied_groups.field_res_groups__display_name +msgid "Display Name" +msgstr "" + +#. module: fix_compute_trans_implied_groups +#: model:ir.model.fields,field_description:fix_compute_trans_implied_groups.field_res_groups__id +msgid "ID" +msgstr "" + +#. module: fix_compute_trans_implied_groups +#: model:ir.model.fields,field_description:fix_compute_trans_implied_groups.field_res_groups____last_update +msgid "Last Modified on" +msgstr "" + +#. module: fix_compute_trans_implied_groups +#: model:ir.model.fields,field_description:fix_compute_trans_implied_groups.field_res_groups__smart_search +msgid "Smart Search" +msgstr "" + +#. module: fix_compute_trans_implied_groups +#: model:ir.model.fields,field_description:fix_compute_trans_implied_groups.field_res_groups__trans_implied_ids +msgid "Transitively inherits" +msgstr "" From 57b21e9953a09cc2da5186131464110a5cf71df9 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 27 Jan 2026 09:00:16 +0000 Subject: [PATCH 226/232] [BOT] post-merge updates --- README.md | 1 + fix_compute_trans_implied_groups/README.rst | 8 ++++-- .../static/description/icon.png | Bin 0 -> 10254 bytes .../static/description/index.html | 24 +++++++++++------- setup/_metapackage/VERSION.txt | 2 +- setup/_metapackage/setup.py | 1 + 6 files changed, 24 insertions(+), 12 deletions(-) create mode 100644 fix_compute_trans_implied_groups/static/description/icon.png diff --git a/README.md b/README.md index e64347e795c..9ac95ad4617 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,7 @@ addon | version | maintainers | summary [fetchmail_incoming_log](fetchmail_incoming_log/) | 14.0.1.0.0 | | Log all messages received, before they start to be processed. [fetchmail_notify_error_to_sender](fetchmail_notify_error_to_sender/) | 14.0.1.0.0 | | If fetching mails gives error, send an email to sender [fetchmail_notify_error_to_sender_test](fetchmail_notify_error_to_sender_test/) | 14.0.1.0.0 | | Test for Fetchmail Notify Error to Sender +[fix_compute_trans_implied_groups](fix_compute_trans_implied_groups/) | 14.0.1.0.0 | | Fix transitively implied groups computation [html_image_url_extractor](html_image_url_extractor/) | 14.0.1.0.1 | | Extract images found in any HTML field [html_text](html_text/) | 14.0.1.0.1 | | Generate excerpts from any HTML field [iap_alternative_provider](iap_alternative_provider/) | 14.0.1.0.0 | sebastienbeau | Base module for providing alternative provider for iap apps diff --git a/fix_compute_trans_implied_groups/README.rst b/fix_compute_trans_implied_groups/README.rst index ab7064a4bd5..4b3f45c4ae4 100644 --- a/fix_compute_trans_implied_groups/README.rst +++ b/fix_compute_trans_implied_groups/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ==================================== Fix trans implied groups computation ==================================== @@ -7,13 +11,13 @@ Fix trans implied groups computation !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:7c2c1f40816d9460f2b852c46de1cdd7a4673461d1ee0638e88d00f478290ec7 + !! source digest: sha256:2d7f61132ad405c5f4e3f237667ac34ce9cdf9fb1a455b41eb973fcac2772dca !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |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 +.. |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%2Fserver--tools-lightgray.png?logo=github diff --git a/fix_compute_trans_implied_groups/static/description/icon.png b/fix_compute_trans_implied_groups/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1dcc49c24f364e9adf0afbc6fc0bac6dbecdeb11 GIT binary patch literal 10254 zcmbt)WmufcvhH9Zc!C8B?l8#UE&&o;gF7=g3=D(IAOS+K1lK^25Zv7%L4sRw_uvvF z*qyAk?>c**=lnR&y+1yw{;I3Hy6Ua2{<d0kcR+VvBo; zA_X`>;1;xAPL9rQqFxd#f5{a^zW*uaW+r3+U{|fRunu`GZhy$X z8_|Zi{zd#vIokczl8Xh*4Wi@i0+C?Rg1AB5VOEg8B>buLFCi~r5DPd2ED7QP2>^LO zKpr7+?*I1bPaFSLLEa0l2$tj*;u8Qtc=&(RUc*VK@ zjIN{I--GfO@vl+&r^eqy_BZ3dndN_PDzMc*W^!?dIsWAWU@LBjBg6^f4F6*!-hUYh zY$Xb}gF8b0%S1Ac@c%Rs()UCiEu3v6SiFE>h_!{gBb-H2{e=wB5o!YkT0>#LKZFw$ z?CuD0Gvfsb(|XbVxx0AL0%`gG2X+6|f;jiTHU9shtjoW-{2!| zMN*WuOj6elhD4zqgjNpX>F#JP{)hAbenX<+FPr>7jXM&q{|x+pbj8cU<=>Ej zWE1_%qoFVzDAZB%g@v<+1ud%<#2E~ML11jOV5pUZoXktGmzB38%te^i-3o9i$lge>z>tBcK|P2K0H9w{l#|i%$~egM)Ys{q>p<9yaE*%v2cy1wXE{AXqG1_b znfyg@Fq*e@yC)^(@$R*j^E;skyEM6pmL$1ctg*mWiWM&q1{nj>E^)Odw$RPr zhjesSk}k}@-e_%uZTy0t_*TJD&6%*HV0KH>xE@oBex6CL@`Ty3nH_2OF#M?6j(j|9 znRKGSfp3Q2i+|>}w?>8g$>r`|OcvG5r;p)z8DO8+O>EvYQ=_~`p}9!ReUEjUnNL@6 z+C*aoo67(sd|7QgW54@V9Y8PnBW$Q+7ZsRFA}Vj*viA!yWUfb!s*yJi6JKsXZCH4j z*B%nJpad-DDvJ8d>xrxkkh6A}i7V3nULqHCiG~|)YY6{NE3M}c^s#PQhzhsJUf^QW zR+F;up-dN*!)M1ZYl@d0HoqfVD2PNiQcPdzq4NDKO!8mUl{!t*ntBg_+-+lRlI0~Lr>5v!PiQj|hD7B-YFIs~6hIY*R6USZA zlb}=UxqxpSzIsL3pPmiuixCN|3LFBd?0Ih8Y6GWQ;U>dkdXtQaQ&8H|TGAQbuHY=F z_R83&B{1_hP7L#$^eAe?GPB_83y#HZKTwD>e-@E2P>Gk$BBb9|Ivfmdp za~s>3=aj(;xmz8n)sI}uFO$|C>0CZbcTY$Bq6~L-Bc9=vl@X#0S~Q@j8iKzuPeQE_ zQSI)wNz~CvJ>!%QszoCfUm9}h^DL!WYAN|FtMO#kpDXq74sYC87(uvv*jiCjV?Ta& zgO1D0OP3TEN3YnBpD6GnmsEolzEbGM{&VlTz_)J(o{nl0+TmNt{xL%L6G&UR$^aYC zQOA#W7R%9JsC5oTZJE>_?!Ci}mNH{0ObyUd%Q!k%5J8Z`8sR!m`~|Taje`(bLD7=a z-{-=d7w;k@DIrgU{I@K}eN`>S**Lg<@ChAf$M(&kV9TLUixqFQ>YoYHrI!K#R6`S> z%?d5hQ@&;Gje<|uRQZb%Hhibocl9(buI?=0aZW{JYXx?ZS@Lr%G8L<d+riEi2~+{HfHK{K^VrGYNi{2-WJOiC>Pz?f*)cxKCl>1H1=$jb!^ zpmYw>eoiM0Hy7$xbbX_e5o*+{7T2&-t%-h4i7MMo;k|tSqQAeNkwHS9hWY#EV7r3| zTmOmN{;b9OUZpp`LP(I9Wo%R#$b6YdH7GD4*p6>a2N2A04pQ*n;INQMh%+mj;x7>S z_(H?uJ^n!r1)kJH1*s+%$al#?C^Cw{H@RA^QGB=Dubyc)XUaY>f`(VKTlIO-YNCp{1n zOl*>jT?Dtf5fD$DY-j&B*Xmn|2-u2OB zBL@-lFs5lhcQKXBR*cIXmi%~EJcc^5#Xpg!E^A6sXf1#$qJGRpmU~A zcdj-cvBfx(fIRAMU(1obztJR%I7v3R-%$#~r!0sS^I(iC*5i6296*88A7I=_JhU3p zya!aCti0R5*RFT%LW0R|;u&oJ6=P-c$le4J0bi}u!!@;xzao|l6fJ{;Mld9hGhrJg zr_B)=4yktp)yPB@tCC_L9h1>GzXD6DA!W7xt{1)8!07~gONkEWC8@y%lciB{9ojy) zWm$drJ_9uVJ>Q$-`@q%OM7_S>(K=__CGYB~@@mE^Z=eT|x0Rv?Z-N)LLWR zod*Zy3v)iMX@usPX-OKBDgC8yq?fMhqf8H)A&C)Hi29YFn!NVf5!J0-F{wC&L5-3`#id=4?=2>Zp6Pdu4N6#bG&atu7 z8IET&ciXy_Tp4YjMx3yIAbw#_e2#jgGJ~ogkv-|M7|%Gio%2@mnS89NKUOM#Bzg4_ z9e9oN;^m>G*#?)AawODi6YckRPmkSKD_4b4WFpj|@|eS!B0WN@?QscYzTH`~6e%iz z!z1>ps)CG37%(E=kZ_>re)@ODv^0^=rWU^*m;6M&gD10EYImO98JVabRe5{#wrogYUKPB@_(#e7Ej9_x;n1oHDj5GawU)A&1hWj|HzJB(q{vMTX>jOW;Jz zBsW&SqTaR7!NXXg_A}$XnFpg_n)Zi;{e9eb*k|b(y$a}12boJ7rqQXQpVhU8HxHTl zt8Ln!KLFyfq!%}hdMXle^qajw2g6S{z&7tQ6J(w9 z3+!HTO{_TqM{9o$RR~lKFf4b4(xLUP?QG;McNFQc_Yd_mig9Ejy9%q~Ye>rIn3};U z)w&1@QCK;cC(;x0G&YuSad+>{c@ZsFJcUdcs@PP-x{mrO)|6_#CjMlXsMJx;Cr?FF zVFrlt@$Z-Ll^*7d0#`5Uez@bb{Xn(BQLhScBhF!6+aIso0=l{PP7P(6-ru>nVy%AP z+|eZpY(ooMU7rtG$l#14v=Z?@ebOjm(A2)5k_${|wAA$oq+;42wiS78ezjgWWnTrF z`1!i2h{fM91aD8uxz?tZpE(PsL37e3$*I6%un5Bzzpn10p`j72R;3=Oaug_|Z(y)@ z9$SJN@-5d1tNIy0=7|d&_HAnDx!yDd-u#qmfuDh)0a_CVje{hvQz9rDFHJTpQ0Dg@ zGQ3t*gZlcFSXfx%OG@Cds&NDROxd^osY_)abmo^dKMUY!R~kGH%*;rutPF@Mx$zrv z6Q1soKnYYRW#;Bi-!H)>Br0<`y+Wy~p7_<>{ljuG`Dpje=v1x}-ND<)bWBr|<}v6B zkDTUZ^@VsH>CyR}ml4j2rB{}0q8eGwX>ExkI9yZN0)(P}$N(yi$AxmBY#Xj`(7zs{ zJbn2&jE`-*0lww_r;|fNaWm_xp;c9JHIv|RExZGKP%18qjgYa);`N-^VqXNVz{~)~ z?^&D;ouy!pKPy?%@xH`A zSR z7x%N3@o&{YEjfa|1;*eW_4TU{ zt;qCcY3Hj(<0DJuny*QL!y!StcG{>bhpUP%eVMq=1xcR>yZT8X9)1;rXOmQjPcANs zr>&Qb{rr66;s|4v3iGmQlMjr9j;G6pqNs%;TsyVNd3{i~hpDX8ugdcnd&UQJzj)rH zh>S6#n`cCJ9CwHv<2Ht$o`R5(h#r||VB?%J?s5W48;^o)b`Pi1^~}5{Y19lg{&W@LfHt*gc1`w$RfLrK{~H?A1$5 z;5v?AIhpN%gQsR6+Act9-3y z8>jCTMnWQq-^s3#Lb|WalgB$k3F>}lyCxs<2&A;LS0}s#<|hPx9kM#B+Lu2DiD_3P zelg;N!80(j@HNc2pXs}re%sHi+{aqBt~qUOy86?zN>7)yiCEJqy@2Gh#gzJE6j6Rx zBQK{77zW?gLWtQ20Dzntu16k9^N>DQ@Nmbx*mOg=F=k)8VJfM%y(Xu41;8YCz+@K| z9u7vhlT`BOnk_oMTeC;u@OhhoTeA`^34^iMihCLM_uVD>rI-9@4l7ocZl@DJ8FWZU zB0lRBIqkHj4#pE&mD(X!e!~;G$`7f47k* zOznM2@`&KM(|f5}sz)z%2}yJ5YmMj5Zwzr-W?v3R&@KuJ+l0zo==N@)nsbMHqHV}w z7#_ntMGCNM21RuH^SYG+RH0sHUsF2z7ams57@2xbPj0y5)8h+caqv@P^q!do+}>+X zzUBx|mikTawzXWYzJ4(AqAJpBF4ObmD_@gyg->oFGB6`k(8+?rFRV5P1yDkFM=8(c z%RI)iG(rKtq-^V%B_(R9;tk6WIzA?x@cESTXg zWYDBxkoNB5v6J8BP&n@HVtBNb@r+XYpjgub zR4oE*$ffXJuh2g8TCaLnpNoSxJ~Jx@ayx9z5Osa)=AI#bg^5eQb<6gpR%c+Qs#N*e z@XE4pAmjdI#0%pV7sIN>mNa^jTkd=<==2_#t-}9Ju&Z^|Lp$%B92@eN%=MRc)LK$% z@!XAg;dQ8bt=@ZNey7+a(dy^o;QKGP@Rb5NJYQRrGEC{J=FB(Irw-MAfoP(9RK;)&jlxSCT=W;ODCf($WqRFhqN#LR^qVhK zWhEp4`{Nnk;n0FHj}eNCZpRM`Y-@MIM&pvr7zQOZ3Ik5;CmZbR99b&22(!-07YNF) z$o0MKej-jnvQV39{TH4r2R5univa1{ASc|VOTi4c@`t2FId|xkh5typ-rdU;1j){adk@*+( zkHj{5B~eSy&HrPOOvl_FJ98)0V;^d`0-u0FTslgiLBQVGSTiSyu zgMGAu&R}SbNa-DgKJb?;fe3Qys$?=;5?V`eRiq*Kj$I`}Z*x4rC~eNM=DsOq(=nUW>(+7o@O8K-_U(X? zTyg032nXKax5W~SF5|eBj%r8Fa>i!ejC72*sd}zJ)t7Xy!gFvM`c4@*Iw>z$u)j_l zR-Uqxymg}>Ti>i%9j*4kwfC33i~kyIQ``n)r(L z!|H2*)Mwj4dk%e*L0tgFdW185>j4<7YwLXwcOsed`%6mS{+=&d@d!B}GkbDV*0 zNIWzW^|trz!&;qeI&mPiVDOUL70xpqVv0fpN9tjpu)@1LD9D<9}9{57j9!W$`zC6&i zl9lKkmPh`x)5+h>>JtiRNNBW5$_)%-)#+SVSGsjX2T=+SRX05>yJZd`1hyk<@{%1+ zDu^k>J$d*Qz6BZMwHx!@O**^Tx&fsHDw%$@J0nfj^je^Ihy*aIx{B(hkBvSvh46Z9 zRO)BjjXL_IHXKo~$4es=8Wxk;Y+&nVBCXA;=MVuLgVn8Mk(*y^+kP3f?Pr~4^A}hXj9UHS}qeI%XKD3KhHnkrNH0(Y20BWl&!Kfm`EVh2;i5C zpirU^K0nc2-I{cqvjZKVx z=&hH#-d=gDWjVE}cMNAPJf;#NYdQ=h`twjX6yquXuCNgGx1~uk{YHAmFpQF`ZLGC=~ukEyj?cFDI zH=@XvV#AY1EY4qb`y*;Ki>KuFB|2|toL7__Cr0S1Dl{s#y0=~7HSq~&7lpBc*VLua zvv3r&-LM*{hq%IYP7<@)dG-G$kMrZaqs(MYoZ zugEeJ@u(ip9rMoVtoFe;dF`^Br5x7v!rr5`hb5mJ#ocGqXHnm9m`yILjd0>UQSMv) z^v}l5^bM6RZ6M%{mkI) zHOoSp&dX)*xUt+kXscna#a`XxI;Ul2Sxa^i5sZc=(Q)oA^2-_;!pfYHAul+oA@Ilelm;rw@FYR+SIaWS?;_ zUdw<|qqaYq(nqu>rG48E9dYAoT6GH;QRuBYK1}W#C_Z_?7~k*pJ3?MzVt&rhZTsBy zw?nN$_Z>kimtwWcy`0?G#!)&7GjOcxCQps@p&ml8>~z(t=sjhR$6aFh!Vw5GA(lTh z5GM)jCwloa6a}7mdfqNYE7oi`Jv$m5>5qR%9eZ=)=a z+K4j5NpcDHHdepCS+P*{@o=yNp&TE(Sd4b0Notqso-Kt_mhDk1<-fa>T4KdY2N`U) zxu41vD%T&k$Gl?CW81%7r#-o1TZ0&PCcy}L4TPiV;sz`|S!&w8-s$rLdM zF&)>@`7=)65PWn#oi|8tXNb|((2ojf9d0fNZ^l7xY~dX~%*Xf-v2W-2n$i~s!4?H; z2qbQscFN21tqB{|x1+(^G~xQSrvX&Y;V-%?b1}zjBQX{GOFcVYTcwm>>}>6^HA=$x zn+z^Biv_5}0!#@7z1~YXJFCT2?D^jm+kH7jAqBo?M@ZdMl|2|66oLnSJXUOJtVLxe z0vH)N^t*qrjq=eFRMV>BFEfS)-2RzKlt973;d3D}4edwIE>kGc5-o=JV56ird)RlS z{Jg@0t-b#Ife80%!E~(7`qkZ8O~Q-8_{j7G&tqwX&&>^tm-#*{v7j-f1n0}mCR#7P z-4FkajD2$9?4Fc7-C_|0Z_G^bxIs%tWk|aFgSQ(qkM+5PRh=g&ZeAZg35$-kn~}_;~&fP-dCNCzg>{gyW!~LZpn?aZ~Va3~H0Ta)z z<4XPVk@;#%1S@fq<(2#8T04#8$mz>vM;(jek0>Qh!K%t5*4tU(fVYwD3Ri~=D!AmI zV$Dt#TEDX7{lpW%tF&DOlTO)vZodn_%wYu~)ZQ}Qo^cBbDHd{YajkzNxttQW>ST<^ z2~^xhB_y1sjIF5;xchvCn{QVugIE2eYZDZ!-Y-4lJdb34*k({@M zJ5!9Di^||~(IZ4iOoAbtggao+CaYvJynmB^;4r-tY2gS_*P!?U?hlEX;l+^*{%B2n z)|1j9wOHQQ^5Xha>{Cu8_w^8=#6;Dz7kU~RgTqn;ynDm6{xdlkf2vk0UK^oS3yVy4 zE+v&qnlYtPHBk#X&2}r7`@K`J@^e~Qm?iRJ*tbAaZDZTmB&mWMkZp7Kj7^kth#_uX z5z>gC(8Xz|Ie(+#&wiF3;Aey|Db(R*-U)!6;l_5@u?-$>j0SgEl5+c}Lfe-$p-dFH zB_$bC<)x6#A_2Uuo8=^l1@}vK!gvbF#b&MoH8ac3xMxUz$LFb8KU(x$YhtHanM_sw zYOFMBX2iNNSe&a}!;G9nv(tsW4@%3iQcqczOCF*JOBQ@4Orw=o?_vc(9$hfO`>U6& zyY_CUa9pASiJpmv`@oR!k;&$`h8!)$uS=}d-fPddfIdMDUW@%3y1LI(1Q=e$)sz(QC*E;Nfl99YTgk+|@jl`+iF?<_D?4YqV0Zl)lO8YWC@1ZWW^mi{5ePQN<~FQ2NMG$|K{py5akJa zkezmqhN)>MGMp$7=sOo2(7ppv``dCIwf&MaQQis7S596kkiw8Do(jO?EY4iJ4Hec6 z4Hymzu`w)cI9Pbq6GPtTP)x&Lmk;FT=ZCB4>(5}c0?;2l`p&?>&<;2(P8a3lOTNP# zdEzF5qDpkRR&PZC&cS{7xD@qV;(g5X%xI?m$9Q -Fix trans implied groups computation +README.rst -
    -

    Fix trans implied groups computation

    +
    + + +Odoo Community Association + +
    +

    Fix trans implied groups computation

    -

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    +

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    The computation of res.groups.trans_implied_ids is broken, check it by executing the following steps: 1. Install sale module 2. In the Odoo shell execute: env[“res.groups”].get_groups_by_application()

    @@ -392,7 +397,7 @@

    Fix trans implied groups computation

    -

    Bug Tracker

    +

    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 @@ -400,15 +405,15 @@

    Bug Tracker

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

    -

    Credits

    +

    Credits

    -

    Authors

    +

    Authors

    • PyTech
    -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    Odoo Community Association @@ -421,5 +426,6 @@

    Maintainers

    +
    diff --git a/setup/_metapackage/VERSION.txt b/setup/_metapackage/VERSION.txt index 3095c36e9aa..e7d87c1c6b2 100644 --- a/setup/_metapackage/VERSION.txt +++ b/setup/_metapackage/VERSION.txt @@ -1 +1 @@ -14.0.20250520.0 \ No newline at end of file +14.0.20260127.0 \ No newline at end of file diff --git a/setup/_metapackage/setup.py b/setup/_metapackage/setup.py index cf1d0ea72f1..325c8623609 100644 --- a/setup/_metapackage/setup.py +++ b/setup/_metapackage/setup.py @@ -59,6 +59,7 @@ 'odoo14-addon-fetchmail_incoming_log', 'odoo14-addon-fetchmail_notify_error_to_sender', 'odoo14-addon-fetchmail_notify_error_to_sender_test', + 'odoo14-addon-fix_compute_trans_implied_groups', 'odoo14-addon-html_image_url_extractor', 'odoo14-addon-html_text', 'odoo14-addon-iap_alternative_provider', From 608a60b68a109cbf102faf7be5c47b2ed9cedf0f Mon Sep 17 00:00:00 2001 From: Melody Uffreduzzi Date: Tue, 31 Mar 2026 14:35:41 +0200 Subject: [PATCH 227/232] Update copier template to 1.39 --- .copier-answers.yml | 2 +- .gitattributes | 1 + .github/workflows/pre-commit.yml | 2 ++ .github/workflows/test.yml | 7 +++++++ .pre-commit-config.yaml | 5 +++-- .pylintrc | 36 +++++++++++++------------------- .pylintrc-mandatory | 26 +++++++++++------------ README.md | 5 +++-- 8 files changed, 45 insertions(+), 39 deletions(-) create mode 100644 .gitattributes diff --git a/.copier-answers.yml b/.copier-answers.yml index 2d0a3c2a14a..96ef4ab30c3 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,5 +1,5 @@ # Do NOT update manually; changes here will be overwritten by Copier -_commit: v1.29 +_commit: v1.39 _src_path: gh:oca/oca-addons-repo-template ci: GitHub convert_readme_fragments_to_markdown: false diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000000..e0d56685a95 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +test-requirements.txt merge=union diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 10b8acad596..0188a4ca288 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -17,6 +17,8 @@ jobs: - uses: actions/setup-python@v5 with: python-version: "3.11" + cache: 'pip' + cache-dependency-path: '.pre-commit-config.yaml' - name: Get python version run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV - uses: actions/cache@v4 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1cccfe74dcf..ef5799fdf1c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -75,6 +75,13 @@ jobs: run: oca_init_test_database - name: Run tests run: oca_run_tests + - name: Upload screenshots from JS tests + uses: actions/upload-artifact@v4 + if: ${{ failure() }} + with: + name: Screenshots of failed JS tests - ${{ matrix.name }}${{ join(matrix.include) }} + path: /tmp/odoo_tests/${{ env.PGDATABASE }} + if-no-files-found: ignore - uses: codecov/codecov-action@v4 with: token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index be647db74f8..c78bd366687 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -39,7 +39,7 @@ repos: language: fail files: '[a-zA-Z0-9_]*/i18n/en\.po$' - repo: https://github.com/oca/maintainer-tools - rev: d5fab7ee87fceee858a3d01048c78a548974d935 + rev: f9b919b9868143135a9c9cb03021089cabba8223 hooks: # update the NOT INSTALLABLE ADDONS section above - id: oca-update-pre-commit-excluded-addons @@ -104,6 +104,7 @@ repos: additional_dependencies: - "eslint@7.8.1" - "eslint-plugin-jsdoc@" + - "globals@" - repo: https://github.com/pre-commit/pre-commit-hooks rev: v3.2.0 hooks: @@ -140,7 +141,7 @@ repos: - --settings=. exclude: /__init__\.py$ - repo: https://github.com/acsone/setuptools-odoo - rev: 3.1.8 + rev: 3.3.2 hooks: - id: setuptools-odoo-make-default - id: setuptools-odoo-get-requirements diff --git a/.pylintrc b/.pylintrc index d1f72970bc3..6c0a78291f7 100644 --- a/.pylintrc +++ b/.pylintrc @@ -25,19 +25,25 @@ disable=all enable=anomalous-backslash-in-string, api-one-deprecated, api-one-multi-together, - assignment-from-none, - attribute-deprecated, class-camelcase, - 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, + openerp-exception-warning, + redundant-modulename-xml, + relative-import, + rst-syntax-error, + wrong-tabs-instead-of-spaces, + xml-syntax-error, + assignment-from-none, + attribute-deprecated, + dangerous-default-value, + development-status-allowed, + duplicate-key, + eval-used, license-allowed, manifest-author-string, manifest-deprecated-key, @@ -48,40 +54,28 @@ enable=anomalous-backslash-in-string, method-inverse, method-required-super, method-search, - 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, + missing-manifest-dependency, + too-complex, # messages that do not cause the lint step to fail consider-merging-classes-inherited, - create-user-wo-reset-password, - dangerous-filter-wo-user, deprecated-module, - file-not-used, invalid-commit, - missing-manifest-dependency, - 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 + manifest-external-assets [REPORTS] diff --git a/.pylintrc-mandatory b/.pylintrc-mandatory index 3bf8ceefbc6..e444cb7e21e 100644 --- a/.pylintrc-mandatory +++ b/.pylintrc-mandatory @@ -17,19 +17,25 @@ disable=all enable=anomalous-backslash-in-string, api-one-deprecated, api-one-multi-together, - assignment-from-none, - attribute-deprecated, class-camelcase, - 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, + openerp-exception-warning, + redundant-modulename-xml, + relative-import, + rst-syntax-error, + wrong-tabs-instead-of-spaces, + xml-syntax-error, + assignment-from-none, + attribute-deprecated, + dangerous-default-value, + development-status-allowed, + duplicate-key, + eval-used, license-allowed, manifest-author-string, manifest-deprecated-key, @@ -40,24 +46,18 @@ enable=anomalous-backslash-in-string, method-inverse, method-required-super, method-search, - 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 + use-vim-comment [REPORTS] msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg} diff --git a/README.md b/README.md index 9ac95ad4617..ab80b5dc702 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,7 @@ +[![Support the OCA](https://odoo-community.org/readme-banner-image)](https://odoo-community.org/get-involved?utm_source=repo-readme) + +# Tools for server environment(s) [![Runboat](https://img.shields.io/badge/runboat-Try%20me-875A7B.png)](https://runboat.odoo-community.org/builds?repo=OCA/server-tools&target_branch=14.0) [![Pre-commit Status](https://github.com/OCA/server-tools/actions/workflows/pre-commit.yml/badge.svg?branch=14.0)](https://github.com/OCA/server-tools/actions/workflows/pre-commit.yml?query=branch%3A14.0) [![Build Status](https://github.com/OCA/server-tools/actions/workflows/test.yml/badge.svg?branch=14.0)](https://github.com/OCA/server-tools/actions/workflows/test.yml?query=branch%3A14.0) @@ -7,8 +10,6 @@ -# Tools for server environment(s) - This project aims to deal with modules related to manage Odoo server environment and provide useful tools. From dcc9da87963cc1c1c3186be8efec015b9ef8cd37 Mon Sep 17 00:00:00 2001 From: Melody Uffreduzzi Date: Tue, 31 Mar 2026 14:26:54 +0200 Subject: [PATCH 228/232] [FIX] model_read_only: address same label warning --- model_read_only/models/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/model_read_only/models/models.py b/model_read_only/models/models.py index 4119d0e9c69..6ce26ce34d3 100644 --- a/model_read_only/models/models.py +++ b/model_read_only/models/models.py @@ -9,7 +9,7 @@ class ModelReadonlyRestriction(models.Model): _description = "Model Readonly Restriction" model_id = fields.Many2one("ir.model") - model_name = fields.Char(related="model_id.model") + model_name = fields.Char(related="model_id.model", string="Model Name") restriction_domain = fields.Char( "Domain", help="If empty - restriction is applied always." ) From 3c53f44c06e12455c5ea9098dda418c6de8b30d4 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Tue, 7 Apr 2026 10:25:27 +0000 Subject: [PATCH 229/232] [UPD] Update model_read_only.pot --- model_read_only/i18n/model_read_only.pot | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/model_read_only/i18n/model_read_only.pot b/model_read_only/i18n/model_read_only.pot index 8f72cc1e6bf..20747c6a1e9 100644 --- a/model_read_only/i18n/model_read_only.pot +++ b/model_read_only/i18n/model_read_only.pot @@ -78,10 +78,14 @@ msgstr "" #. module: model_read_only #: model:ir.model.fields,field_description:model_read_only.field_model_readonly_restriction__model_id -#: model:ir.model.fields,field_description:model_read_only.field_model_readonly_restriction__model_name msgid "Model" msgstr "" +#. module: model_read_only +#: model:ir.model.fields,field_description:model_read_only.field_model_readonly_restriction__model_name +msgid "Model Name" +msgstr "" + #. module: model_read_only #: model:ir.model,name:model_read_only.model_model_readonly_restriction msgid "Model Readonly Restriction" From ede148c469218dad2a595bd6a5d193bae494764f Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 7 Apr 2026 10:32:28 +0000 Subject: [PATCH 230/232] [BOT] post-merge updates --- README.md | 2 +- model_read_only/README.rst | 2 +- model_read_only/__manifest__.py | 2 +- model_read_only/static/description/index.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ab80b5dc702..8ae5fe5c483 100644 --- a/README.md +++ b/README.md @@ -81,7 +81,7 @@ addon | version | maintainers | summary [jsonifier_stored](jsonifier_stored/) | 14.0.1.0.0 | simahawk mmequignon | Pre-compute and store JSON data on any model [letsencrypt](letsencrypt/) | 14.0.1.0.2 | | Request SSL certificates from letsencrypt.org [mail_cleanup](mail_cleanup/) | 14.0.1.0.0 | | Mark as read or delete mails after a set time -[model_read_only](model_read_only/) | 14.0.3.0.2 | ilyasProgrammer | Model Read Only +[model_read_only](model_read_only/) | 14.0.3.0.3 | ilyasProgrammer | Model Read Only [module_analysis](module_analysis/) | 14.0.1.0.3 | | Add analysis tools regarding installed modules to know which installed modules comes from Odoo Core, OCA, or are custom modules [module_auto_update](module_auto_update/) | 14.0.1.1.1 | | Automatically update Odoo modules [module_change_auto_install](module_change_auto_install/) | 14.0.1.0.3 | legalsylvain | Customize auto installables modules by configuration diff --git a/model_read_only/README.rst b/model_read_only/README.rst index a7266572ddc..e853820c3b7 100644 --- a/model_read_only/README.rst +++ b/model_read_only/README.rst @@ -11,7 +11,7 @@ Model Read Only !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:a411441cdfdbbac5b364a2ad9556869911adf5e4ac82e5cee7fbc6d046a66828 + !! source digest: sha256:d9acf64761d69be17e2f27c9603b56fe359346a08ab39ebbb09a07062f36a3a2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/model_read_only/__manifest__.py b/model_read_only/__manifest__.py index 1da9b2c7f68..ebcfc1f51f0 100644 --- a/model_read_only/__manifest__.py +++ b/model_read_only/__manifest__.py @@ -2,7 +2,7 @@ { "name": "Model Read Only", "category": "Tools", - "version": "14.0.3.0.2", + "version": "14.0.3.0.3", "license": "AGPL-3", "author": "Ilyas, ooops404, Odoo Community Association (OCA)", "website": "https://github.com/OCA/server-tools", diff --git a/model_read_only/static/description/index.html b/model_read_only/static/description/index.html index 41ee940bce6..816c0c020a5 100644 --- a/model_read_only/static/description/index.html +++ b/model_read_only/static/description/index.html @@ -372,7 +372,7 @@

    Model Read Only

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:a411441cdfdbbac5b364a2ad9556869911adf5e4ac82e5cee7fbc6d046a66828 +!! source digest: sha256:d9acf64761d69be17e2f27c9603b56fe359346a08ab39ebbb09a07062f36a3a2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    Module disables modification operations (write, create, delete) From 4b1c106d1b783f22039126ff5bdaf469330ec894 Mon Sep 17 00:00:00 2001 From: Weblate Date: Tue, 7 Apr 2026 10:32:37 +0000 Subject: [PATCH 231/232] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: server-tools-14.0/server-tools-14.0-model_read_only Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-model_read_only/ --- model_read_only/i18n/it.po | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/model_read_only/i18n/it.po b/model_read_only/i18n/it.po index 0fb41248154..0b88d837d6f 100644 --- a/model_read_only/i18n/it.po +++ b/model_read_only/i18n/it.po @@ -81,10 +81,14 @@ msgstr "Ultimo aggiornamento il" #. module: model_read_only #: model:ir.model.fields,field_description:model_read_only.field_model_readonly_restriction__model_id -#: model:ir.model.fields,field_description:model_read_only.field_model_readonly_restriction__model_name msgid "Model" msgstr "Modello" +#. module: model_read_only +#: model:ir.model.fields,field_description:model_read_only.field_model_readonly_restriction__model_name +msgid "Model Name" +msgstr "" + #. module: model_read_only #: model:ir.model,name:model_read_only.model_model_readonly_restriction msgid "Model Readonly Restriction" From f6db975832ba732bf2243ccf0ffcbb34693bf259 Mon Sep 17 00:00:00 2001 From: Abdellatif Benzbiria Date: Mon, 25 May 2026 10:17:53 +0000 Subject: [PATCH 232/232] [FIX] tracking_manager fix none object at _tm_notify_owner --- tracking_manager/README.rst | 2 +- tracking_manager/__manifest__.py | 2 +- tracking_manager/i18n/es.po | 230 ++++++++++++++++++ .../pre-fix-none-trackable-field.py | 12 + .../migrations/14.0.1.1.1/post-migration.py | 21 ++ tracking_manager/models/ir_model.py | 40 +-- tracking_manager/models/models.py | 64 ++++- .../static/description/index.html | 14 +- tracking_manager/tools.py | 9 +- 9 files changed, 363 insertions(+), 31 deletions(-) create mode 100644 tracking_manager/i18n/es.po create mode 100755 tracking_manager/migrations/14.0.1.1.0/pre-fix-none-trackable-field.py create mode 100644 tracking_manager/migrations/14.0.1.1.1/post-migration.py diff --git a/tracking_manager/README.rst b/tracking_manager/README.rst index 4d1b267a531..80f589ca313 100644 --- a/tracking_manager/README.rst +++ b/tracking_manager/README.rst @@ -7,7 +7,7 @@ Tracking Manager !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:6c896338ee53318978abf97b77d0ed909ea385ea96003de5630c67ecc459521b + !! source digest: sha256:1b6253512299ab00c6e437726189c0e7cc561ab9aa9d1b601999aeee369dba18 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/tracking_manager/__manifest__.py b/tracking_manager/__manifest__.py index af21ccdc01c..114ad5d0cc0 100644 --- a/tracking_manager/__manifest__.py +++ b/tracking_manager/__manifest__.py @@ -6,7 +6,7 @@ "name": "Tracking Manager", "summary": """This module tracks all fields of a model, including one2many and many2many ones.""", - "version": "14.0.1.0.2", + "version": "14.0.1.3.0", "category": "Tools", "website": "https://github.com/OCA/server-tools", "author": "Akretion, Odoo Community Association (OCA)", diff --git a/tracking_manager/i18n/es.po b/tracking_manager/i18n/es.po new file mode 100644 index 00000000000..6fc1de96e1c --- /dev/null +++ b/tracking_manager/i18n/es.po @@ -0,0 +1,230 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * tracking_manager +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-04-20 16:39+0000\n" +"Last-Translator: Ivorra78 \n" +"Language-Team: none\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: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.track_o2m_m2m_template +msgid "Change :" +msgstr "Cambio :" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.track_o2m_m2m_template +msgid "Delete :" +msgstr "Eliminar:" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.track_o2m_m2m_template +msgid "New :" +msgstr " Nuevo: " + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form +msgid "Active" +msgstr "Activo" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__active_custom_tracking +msgid "Active Custom Tracking" +msgstr "Seguimiento Personalizado Activo" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__assigned_attachment_ids +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__assigned_attachment_ids +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__assigned_attachment_ids +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "Archivos Adjuntos Asignados" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__automatic_custom_tracking +msgid "Automatic Custom Tracking" +msgstr "Seguimiento Automático Personalizado" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__automatic_custom_tracking_domain +msgid "Automatic Custom Tracking Domain" +msgstr "Dominio de Seguimiento Automático Personalizado" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form +msgid "Automatic configuration" +msgstr "Configuración automática" + +#. module: tracking_manager +#: model:ir.model,name:tracking_manager.model_base +msgid "Base" +msgstr "Base" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.track_o2m_m2m_template +msgid "Changed" +msgstr "Cambiado" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__changeset_change_ids +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__changeset_change_ids +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__changeset_change_ids +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__changeset_change_ids +msgid "Changeset Changes" +msgstr "Cambios en el Conjunto de Modificaciones" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__changeset_ids +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__changeset_ids +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__changeset_ids +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__changeset_ids +msgid "Changesets" +msgstr "Conjuntos de Cambios" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__count_pending_changeset_changes +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__count_pending_changeset_changes +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__count_pending_changeset_changes +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "Recuento de Cambios Pendientes" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__count_pending_changesets +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__count_pending_changesets +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__count_pending_changesets +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "Recuento de Cambios Pendientes" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__custom_tracking +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form +msgid "Custom Tracking" +msgstr "Seguimiento Personalizado" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_track_fields_search +msgid "Custom Tracking OFF" +msgstr "Seguimiento Personalizado OFF" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_track_fields_search +msgid "Custom Tracking ON" +msgstr "Seguimiento Personalizado ON" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__display_name +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__display_name +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__display_name +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__display_name +msgid "Display Name" +msgstr "Nombre para Mostrar" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form +msgid "Domain" +msgstr "Dominio" + +#. module: tracking_manager +#: model:ir.model,name:tracking_manager.model_mail_thread +msgid "Email Thread" +msgstr "Hilo de Correo Electrónico" + +#. module: tracking_manager +#: model:ir.model,name:tracking_manager.model_ir_model_fields +msgid "Fields" +msgstr "Campos" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__id +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__id +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__id +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__id +msgid "ID" +msgstr "ID (identificación)" + +#. module: tracking_manager +#: model:ir.model.fields,help:tracking_manager.field_ir_model__automatic_custom_tracking +msgid "If tick new field will be automatically tracked if the domain match" +msgstr "" +"Si se marca el nuevo campo se rastreará automáticamente si el dominio " +"coincide" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model____last_update +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields____last_update +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread____last_update +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value____last_update +msgid "Last Modified on" +msgstr "Última Modificación el" + +#. module: tracking_manager +#: model:ir.model,name:tracking_manager.model_mail_tracking_value +msgid "Mail Tracking Value" +msgstr "Valor de Seguimiento del Correo" + +#. module: tracking_manager +#: model:ir.model,name:tracking_manager.model_ir_model +msgid "Models" +msgstr "Modelos" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__native_tracking +msgid "Native Tracking" +msgstr "Seguimiento Nativo" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__smart_search +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__smart_search +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__smart_search +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__smart_search +msgid "Smart Search" +msgstr "Búsqueda Inteligente" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__trackable +msgid "Trackable" +msgstr "Rastreable" + +#. module: tracking_manager +#: model:ir.actions.act_window,name:tracking_manager.ir_model_fields_action +msgid "Trackable Fields" +msgstr "Campos Rastreables" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__tracked_field_count +msgid "Tracked Field Count" +msgstr "Recuento de Campos Rastreados" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form +msgid "Tracked Fields" +msgstr "Campos Rastreados" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form +msgid "Update" +msgstr "Actualizar" + +#. module: tracking_manager +#: model_terms:ir.ui.view,arch_db:tracking_manager.view_model_form +msgid "Update fields configuration" +msgstr "Actualizar configuración de campos" + +#. module: tracking_manager +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model__user_can_see_changeset +#: model:ir.model.fields,field_description:tracking_manager.field_ir_model_fields__user_can_see_changeset +#: model:ir.model.fields,field_description:tracking_manager.field_mail_thread__user_can_see_changeset +#: model:ir.model.fields,field_description:tracking_manager.field_mail_tracking_value__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "Usuario Puede ver Conjunto de Cambios" diff --git a/tracking_manager/migrations/14.0.1.1.0/pre-fix-none-trackable-field.py b/tracking_manager/migrations/14.0.1.1.0/pre-fix-none-trackable-field.py new file mode 100755 index 00000000000..8be153c0826 --- /dev/null +++ b/tracking_manager/migrations/14.0.1.1.0/pre-fix-none-trackable-field.py @@ -0,0 +1,12 @@ +#!/usr/bin/python3 +# pylint: disable=print-used + + +def migrate(cr, version): + cr.execute( + """ + UPDATE ir_model_fields + SET custom_tracking=False + WHERE trackable=False + """ + ) diff --git a/tracking_manager/migrations/14.0.1.1.1/post-migration.py b/tracking_manager/migrations/14.0.1.1.1/post-migration.py new file mode 100644 index 00000000000..7ebab64d1e9 --- /dev/null +++ b/tracking_manager/migrations/14.0.1.1.1/post-migration.py @@ -0,0 +1,21 @@ +from openupgradelib import openupgrade + + +@openupgrade.migrate() +def migrate(env, version): + + openupgrade.logged_query( + env.cr, + """ + UPDATE ir_model_fields SET trackable = false; + UPDATE ir_model_fields SET trackable = true + WHERE name NOT IN ( + 'activity_ids', + 'message_ids', + 'message_last_post', + 'message_main_attachment', + 'message_main_attachement_id' + ) + AND store AND related IS NULL; + """, + ) diff --git a/tracking_manager/models/ir_model.py b/tracking_manager/models/ir_model.py index 0fb0928209f..226b8924a59 100644 --- a/tracking_manager/models/ir_model.py +++ b/tracking_manager/models/ir_model.py @@ -100,21 +100,27 @@ def _compute_automatic_custom_tracking(self): def _default_automatic_custom_tracking_domain_rules(self): return { "product.product": [ + ("readonly", "=", False), "|", ("ttype", "!=", "one2many"), ("name", "in", ["barcode_ids"]), ], "sale.order": [ + ("readonly", "=", False), "|", ("ttype", "!=", "one2many"), ("name", "in", ["order_line"]), ], "account.move": [ + ("readonly", "=", False), "|", ("ttype", "!=", "one2many"), ("name", "in", ["invoice_line_ids"]), ], - "default_automatic_rule": [("ttype", "!=", "one2many")], + "default_automatic_rule": [ + ("ttype", "!=", "one2many"), + ("readonly", "=", False), + ], } @api.depends("automatic_custom_tracking") @@ -162,12 +168,12 @@ class IrModelFields(models.Model): store=True, ) - @api.depends("native_tracking") + @api.depends("native_tracking", "trackable") def _compute_custom_tracking(self): for record in self: if record.model_id.automatic_custom_tracking: domain = literal_eval(record.model_id.automatic_custom_tracking_domain) - record.custom_tracking = bool(record.filtered_domain(domain)) + record.custom_tracking = record.filtered_domain(domain).trackable else: record.custom_tracking = record.native_tracking @@ -176,22 +182,24 @@ def _compute_native_tracking(self): for record in self: record.native_tracking = bool(record.tracking) - @api.depends("readonly", "related", "store") + def _get_trackable_blacklist_models(self): + return [ + "mail.activity.mixin", + "mail.alias.mixin", + "mail.render.mixin", + "mail.thread", + "mail.thread.blacklist", + "mail.thread.cc", + ] + + @api.depends("related") def _compute_trackable(self): - blacklists = [ - "activity_ids", - "message_ids", - "message_last_post", - "message_main_attachment", - "message_main_attachement_id", + blacklisted_models = self._get_trackable_blacklist_models() + blacklisted_fields = [ + fname for model in blacklisted_models for fname in self.env[model]._fields ] for rec in self: - rec.trackable = ( - rec.name not in blacklists - and rec.store - and not rec.readonly - and not rec.related - ) + rec.trackable = rec.name not in blacklisted_fields and not rec.related def write(self, vals): custom_tracking = None diff --git a/tracking_manager/models/models.py b/tracking_manager/models/models.py index a6ecbd779c0..811af01b401 100644 --- a/tracking_manager/models/models.py +++ b/tracking_manager/models/models.py @@ -48,6 +48,12 @@ def _tm_notify_owner(self, mode, changes=None): ) for field_name, owner_field_name in self._tm_get_fields_to_notify(): owner = self[field_name] + + # Robustness fix: Handle polymorphic fields (like res_id on mail.message) + # which return an integer instead of a BaseModel Recordset. + if not isinstance(owner, models.BaseModel) or not owner: + continue + data[owner._name][owner.id][owner_field_name].append( { "mode": mode, @@ -64,16 +70,62 @@ def _tm_get_changes(self, values): changes = [] for field_name, before in values.items(): field = self._fields[field_name] - if before != self[field_name]: + after = self[field_name] + + if before != after: if field.type == "many2many": - old = format_m2m(before) - new = format_m2m(self[field_name]) + before_records = before + after_records = after + + # Specific filters for product M2M fields to avoid false positives + # caused by the UI sending default/inherited values automatically. + if self._name in ("product.template", "product.product"): + if field_name == "route_ids": + # Ignore routes inherited from categories and warehouses + ignore_routes = self.env['stock.location.route'] + categ = self.categ_id if hasattr(self, "categ_id") else False + while categ: + ignore_routes |= categ.route_ids + categ = getattr(categ, "parent_id", False) + for wh in self.env['stock.warehouse'].search([]): + ignore_routes |= wh.route_ids + + before_records -= ignore_routes + after_records -= ignore_routes + + elif field_name == "taxes_id": + # Ignore company default sale taxes + company = self.company_id or self.env.company + if hasattr(company, "account_sale_tax_id"): + before_records -= company.account_sale_tax_id + after_records -= company.account_sale_tax_id + + elif field_name == "supplier_taxes_id": + # Ignore company default purchase taxes + company = self.company_id or self.env.company + if hasattr(company, "account_purchase_tax_id"): + before_records -= company.account_purchase_tax_id + after_records -= company.account_purchase_tax_id + + # If the manually selected records are identical, skip tracking + if set(before_records.ids) == set(after_records.ids): + continue + + old = format_m2m(before_records) + new = format_m2m(after_records) + + # Final safety check on formatted strings + if old == new: + continue + elif field.type == "many2one": - old = before.display_name - new = self[field_name]["display_name"] + # Safe extraction to prevent crashes if the relation is empty + old = before.display_name if before else "" + new = after.display_name if after else "" else: old = before - new = self[field_name] + new = after + changes.append( { "name": self._tm_get_field_description(field_name), diff --git a/tracking_manager/static/description/index.html b/tracking_manager/static/description/index.html index cc9506e5d22..1ac17331fd2 100644 --- a/tracking_manager/static/description/index.html +++ b/tracking_manager/static/description/index.html @@ -1,4 +1,3 @@ - @@ -9,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -275,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -301,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -367,7 +367,7 @@

    Tracking Manager

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:6c896338ee53318978abf97b77d0ed909ea385ea96003de5630c67ecc459521b +!! source digest: sha256:1b6253512299ab00c6e437726189c0e7cc561ab9aa9d1b601999aeee369dba18 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    This module allows to track all fields on every model that has a chatter, including one2many and many2many ones. This excludes the computed, readonly, related fields by default. @@ -429,7 +429,9 @@

    Contributors

    Maintainers

    This module is maintained by the OCA.

    -Odoo Community Association + +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.

    diff --git a/tracking_manager/tools.py b/tracking_manager/tools.py index 1e1794d8061..a475f35269a 100644 --- a/tracking_manager/tools.py +++ b/tracking_manager/tools.py @@ -4,4 +4,11 @@ def format_m2m(records): - return "; ".join(records.mapped("display_name")) + # In some cases (I.E. account_asset/models/account_asset.py), _message_track + # is called with a dict of None values as initial_values. + # As a result, create_tracking_values would be called with None as initial_value + # and this format_m2m would be called with None as an argument. + # In such case, return "None" + if records: + return "; ".join(records.mapped("display_name")) + return ""