From a20126a7847a1c7ede2d4b3411d4f24bc2390056 Mon Sep 17 00:00:00 2001 From: Sergey Krylov Date: Wed, 19 Feb 2025 14:09:37 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B0=D1=87=D0=B0=D0=BB=D1=8C=D0=BD?= =?UTF-8?q?=D0=BE=D0=B5=20=D0=BD=D0=B0=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __init__.py | 5 + __manifest__.py | 32 ++ data/hr_work_entry_data.xml | 54 ++ data/hr_work_entry_demo.xml | 18 + data/ir_cron_data.xml | 17 + i18n/ar.po | 347 ++++++++++++ i18n/bg.po | 335 ++++++++++++ i18n/ca.po | 362 +++++++++++++ i18n/cs.po | 356 +++++++++++++ i18n/da.po | 344 ++++++++++++ i18n/de.po | 355 +++++++++++++ i18n/es.po | 358 +++++++++++++ i18n/es_419.po | 358 +++++++++++++ i18n/et.po | 361 +++++++++++++ i18n/fa.po | 344 ++++++++++++ i18n/fi.po | 359 +++++++++++++ i18n/fr.po | 351 +++++++++++++ i18n/he.po | 336 ++++++++++++ i18n/hr_work_entry_contract.pot | 326 ++++++++++++ i18n/hu.po | 335 ++++++++++++ i18n/id.po | 353 +++++++++++++ i18n/it.po | 355 +++++++++++++ i18n/ja.po | 343 ++++++++++++ i18n/ko.po | 345 ++++++++++++ i18n/lt.po | 336 ++++++++++++ i18n/lv.po | 333 ++++++++++++ i18n/nl.po | 355 +++++++++++++ i18n/pl.po | 351 +++++++++++++ i18n/pt.po | 335 ++++++++++++ i18n/pt_BR.po | 355 +++++++++++++ i18n/ru.po | 356 +++++++++++++ i18n/sk.po | 334 ++++++++++++ i18n/sl.po | 336 ++++++++++++ i18n/sr.po | 356 +++++++++++++ i18n/sv.po | 337 ++++++++++++ i18n/th.po | 349 +++++++++++++ i18n/tr.po | 354 +++++++++++++ i18n/uk.po | 352 +++++++++++++ i18n/vi.po | 340 ++++++++++++ i18n/zh_CN.po | 343 ++++++++++++ i18n/zh_TW.po | 342 ++++++++++++ models/__init__.py | 8 + models/hr_contract.py | 493 ++++++++++++++++++ models/hr_employee.py | 19 + models/hr_work_entry.py | 188 +++++++ models/hr_work_intervals.py | 97 ++++ models/resource_calendar.py | 9 + security/hr_work_entry_security.xml | 10 + security/ir.model.access.csv | 2 + static/description/icon.png | Bin 0 -> 1376 bytes static/description/icon.svg | 1 + .../work_entry_calendar.xml | 13 + .../work_entry_calendar_controller.js | 32 ++ .../work_entry_calendar_model.js | 39 ++ static/src/views/work_entry_hook.js | 30 ++ tests/__init__.py | 6 + tests/common.py | 78 +++ tests/test_global_time_off.py | 53 ++ tests/test_work_entry.py | 244 +++++++++ tests/test_work_intervals.py | 70 +++ views/hr_contract_views.xml | 14 + views/hr_work_entry_views.xml | 40 ++ wizard/__init__.py | 4 + wizard/hr_work_entry_regeneration_wizard.py | 113 ++++ ...r_work_entry_regeneration_wizard_views.xml | 71 +++ 65 files changed, 14247 insertions(+) create mode 100644 __init__.py create mode 100644 __manifest__.py create mode 100644 data/hr_work_entry_data.xml create mode 100644 data/hr_work_entry_demo.xml create mode 100644 data/ir_cron_data.xml create mode 100644 i18n/ar.po create mode 100644 i18n/bg.po create mode 100644 i18n/ca.po create mode 100644 i18n/cs.po create mode 100644 i18n/da.po create mode 100644 i18n/de.po create mode 100644 i18n/es.po create mode 100644 i18n/es_419.po create mode 100644 i18n/et.po create mode 100644 i18n/fa.po create mode 100644 i18n/fi.po create mode 100644 i18n/fr.po create mode 100644 i18n/he.po create mode 100644 i18n/hr_work_entry_contract.pot create mode 100644 i18n/hu.po create mode 100644 i18n/id.po create mode 100644 i18n/it.po create mode 100644 i18n/ja.po create mode 100644 i18n/ko.po create mode 100644 i18n/lt.po create mode 100644 i18n/lv.po create mode 100644 i18n/nl.po create mode 100644 i18n/pl.po create mode 100644 i18n/pt.po create mode 100644 i18n/pt_BR.po create mode 100644 i18n/ru.po create mode 100644 i18n/sk.po create mode 100644 i18n/sl.po create mode 100644 i18n/sr.po create mode 100644 i18n/sv.po create mode 100644 i18n/th.po create mode 100644 i18n/tr.po create mode 100644 i18n/uk.po create mode 100644 i18n/vi.po create mode 100644 i18n/zh_CN.po create mode 100644 i18n/zh_TW.po create mode 100644 models/__init__.py create mode 100644 models/hr_contract.py create mode 100644 models/hr_employee.py create mode 100644 models/hr_work_entry.py create mode 100644 models/hr_work_intervals.py create mode 100644 models/resource_calendar.py create mode 100644 security/hr_work_entry_security.xml create mode 100644 security/ir.model.access.csv create mode 100644 static/description/icon.png create mode 100644 static/description/icon.svg create mode 100644 static/src/views/work_entry_calendar/work_entry_calendar.xml create mode 100644 static/src/views/work_entry_calendar/work_entry_calendar_controller.js create mode 100644 static/src/views/work_entry_calendar/work_entry_calendar_model.js create mode 100644 static/src/views/work_entry_hook.js create mode 100644 tests/__init__.py create mode 100644 tests/common.py create mode 100644 tests/test_global_time_off.py create mode 100644 tests/test_work_entry.py create mode 100644 tests/test_work_intervals.py create mode 100644 views/hr_contract_views.xml create mode 100644 views/hr_work_entry_views.xml create mode 100644 wizard/__init__.py create mode 100644 wizard/hr_work_entry_regeneration_wizard.py create mode 100644 wizard/hr_work_entry_regeneration_wizard_views.xml diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..cab77a8 --- /dev/null +++ b/__init__.py @@ -0,0 +1,5 @@ +# -*- coding:utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import models +from . import wizard diff --git a/__manifest__.py b/__manifest__.py new file mode 100644 index 0000000..f52f5aa --- /dev/null +++ b/__manifest__.py @@ -0,0 +1,32 @@ +#-*- coding:utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +{ + 'name': 'Work Entries - Contract', + 'category': 'Human Resources/Employees', + 'sequence': 39, + 'summary': 'Manage work entries', + 'installable': True, + 'depends': [ + 'hr_work_entry', + 'hr_contract', + ], + 'data': [ + 'security/hr_work_entry_security.xml', + 'security/ir.model.access.csv', + 'data/hr_work_entry_data.xml', + 'data/ir_cron_data.xml', + 'views/hr_work_entry_views.xml', + 'views/hr_contract_views.xml', + 'wizard/hr_work_entry_regeneration_wizard_views.xml', + ], + 'demo': [ + 'data/hr_work_entry_demo.xml', + ], + 'assets': { + 'web.assets_backend': [ + 'hr_work_entry_contract/static/src/**/*', + ], + }, + 'license': 'LGPL-3', +} diff --git a/data/hr_work_entry_data.xml b/data/hr_work_entry_data.xml new file mode 100644 index 0000000..4674eaa --- /dev/null +++ b/data/hr_work_entry_data.xml @@ -0,0 +1,54 @@ + + + + + + + Generic Time Off + LEAVE100 + 3 + True + + + + Compensatory Time Off + LEAVE105 + 3 + True + + + + Home Working + WORK110 + 2 + True + + + + Unpaid + 5 + LEAVE90 + True + + + + Sick Time Off + LEAVE110 + True + 5 + + + + Paid Time Off + LEAVE120 + True + 5 + + + + + False + + + + diff --git a/data/hr_work_entry_demo.xml b/data/hr_work_entry_demo.xml new file mode 100644 index 0000000..6e87a07 --- /dev/null +++ b/data/hr_work_entry_demo.xml @@ -0,0 +1,18 @@ + + + + + + Extra Hours + WORK300 + 8 + + + + Long Term Time Off + LEAVE200 + True + 4 + + + diff --git a/data/ir_cron_data.xml b/data/ir_cron_data.xml new file mode 100644 index 0000000..df09212 --- /dev/null +++ b/data/ir_cron_data.xml @@ -0,0 +1,17 @@ + + + + + Generate Missing Work Entries + + code + model._cron_generate_missing_work_entries() + + + 1 + days + -1 + + + + diff --git a/i18n/ar.po b/i18n/ar.po new file mode 100644 index 0000000..7d7e9c8 --- /dev/null +++ b/i18n/ar.po @@ -0,0 +1,347 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Wil Odoo, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/odoo/teams/41243/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +" يحدد المصدر لإنشاء قيود العمل\n" +"\n" +" جدول العمل: سيتم إنشاء قيود العمل من ساعات العمل أدناه.\n" +" الحضور: سيتم إنشاء قيود العمل من سجل حضور الموظف. (يتطلب تطبيق الحضور)\n" +" التخطيط: سيتم إنشاء قيود العمل من تخطيط الموظف. (يتطلب تطبيق التخطيط)\n" +" " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "لا يملك %s عقداً من %s إلى %s. " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "لدى %s عدة عقود من %s إلى %s. لا يمكن أن يتداخل قيد عمل مع عدة عقود. " + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"لا يُسمح لك " +"بإنشاء قيود عمل مصدقة " + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" +"نحذير: سيؤدي إعادة إنشاء قيد العمل إلى حذف كافة " +"التغييرات اليدوية في الفترة المحددة. " + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "السماح لنوع قيد العمل بأن يتم ربطه بأنواع الإجازات. " + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "إلغاء" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "الإجازة التعويضية " + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "العقد" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "أنشئ بواسطة" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "أنشئ في" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "اسم العرض " + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "رسالة أقرب تاريخ ممكن " + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "أقرب تاريخ " + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "الموظف" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "عقد الموظف" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "الموظفون" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "قيود عمل الجميع " + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "الساعات الإضافية " + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "من" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "إنشاء قيود العمل المفقودة " + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "منشأة من " + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "منشأة إلى " + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "إجازة عادية " + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "قيد عمل الموارد البشرية " + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "نوع قيد عمل الموارد البشرية " + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "العمل من المنزل " + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "المُعرف" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"حتى تقوم بإعادة إنشاء قيود العمل، عليك تزويد المعالج بـ employee_id، و " +"date_from و date_to. بالإضافة إلى ذلك، يجب ألا تحتوي الفترة الزمنية المحددة " +"بـ date_from و date_to على أي قيود عمل مصدقة. " + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "تاريخ آخر إنشاء " + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "آخر تحديث بواسطة" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "آخر تحديث في" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "رسالة أبعد تاريخ ممكن " + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "أبعد تاريخ " + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "الإجازة طويلة المدى " + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "أيام الإجازة المدفوعة " + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "إعادة إنشاء قيود عمل الموظفين " + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "إعادة إنشاء قيود العمل " + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "فترة عمل المَورِد " + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "البحث في الفئات المكتملة " + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "الإجازة المرضية " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "عذراً، لا يُمكن إنشاء قيود عمل من عقود ملغية. " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"يجب أن يكون تاريخ البدء >= '%(earliest_available_date)s' وتاريخ الانتهاء <= " +"'%(latest_available_date)s'، والتي تتناسب مع الفترات الزمنية لقيود العمل " +"المنشأة. " + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "تعذر تصديق قيد العمل هذا. نوع قيد العمل غير محدد. " + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "الإجازات " + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "إلى" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "غير مدفوعة" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "صالح" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "قيود العمل " + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "قيود العمل ضمن الفترة الزمنية " + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "إعادة إنشاء قيد العمل " + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "مصدر قيد العمل " + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "جدول العمل" diff --git a/i18n/bg.po b/i18n/bg.po new file mode 100644 index 0000000..8a07ee0 --- /dev/null +++ b/i18n/bg.po @@ -0,0 +1,335 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# aleksandar ivanov, 2023 +# Martin Trigaux, 2023 +# Maria Boyadjieva , 2023 +# Георги Пехливанов , 2023 +# Albena Mincheva , 2023 +# KeyVillage, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: KeyVillage, 2023\n" +"Language-Team: Bulgarian (https://app.transifex.com/odoo/teams/41243/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Отказ" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Договор" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Създадено от" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Създадено на" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Име за Показване" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Служител" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Договор на служителя" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Служители" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "От" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Последно актуализирано от" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Последно актуализирано на" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Почивка" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "До" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Неплатен" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Валидно" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Работен график" diff --git a/i18n/ca.po b/i18n/ca.po new file mode 100644 index 0000000..be3397c --- /dev/null +++ b/i18n/ca.po @@ -0,0 +1,362 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Manel Fernandez Ramirez , 2023 +# Albert Parera, 2023 +# Harcogourmet, 2023 +# Óscar Fonseca , 2023 +# Quim - eccit , 2023 +# Ivan Espinola, 2023 +# Martin Trigaux, 2023 +# Josep Anton Belchi, 2023 +# marcescu, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: marcescu, 2023\n" +"Language-Team: Catalan (https://app.transifex.com/odoo/teams/41243/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +" Defineix la font de generació de les prestacions.\n" +"\n" +" Horari de treball: les prestacions es generaran a partir de les hores de treball següents.\n" +" Previsió: les prestacions es generaran a partir de les assistències de l'empleat. (requereix l'aplicació d'Assistències)\n" +" Planificació: Les prestacions es generaran a partir de la planificació de l'empleat. (requereix l'aplicació de Planificació)\n" +" " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s no té contracte de %s a %s." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"%s té múltiples contractes de %s a %s. Una entrada de treball no pot " +"superposar contractes múltiples." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"No teniu " +"permís per regenerar entrades de treball validades" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" +"Advertència: La regeneració de les entrades de " +"treball eliminarà totes les modificacions manuals realitzades durant el " +"període seleccionat." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "" +"Permet enllaçar el tipus d'entrada de treball amb el tipus d'absència." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Cancel·la" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "Temps de compensació" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Contracte" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Creat per" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Creat el" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Nom mostrat" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "Missatge de data disponible" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "Data més antiga" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Empleat" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Contracte de l'empleat" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Empleats" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "Entrades de treball de tots" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "Hores extres" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "Des de" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "Genera les entrades de treball que manquen" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "Generat des de" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "Generat a" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "Temps general" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "Prestació RH" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "Tipus d'entrada de treball de RH" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Treball a casa" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"Per a regenerar les entrades de treball, és necessari proporcionar a " +"l'assistent un employee_id, a date_from and a date_to. A més d'això, " +"l'interval de temps definit per data_from and data_to must no ha de contenir" +" cap entrada de treball validada." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "Data de la darrera generació" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Última actualització per" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Última actualització el" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "Últim missatge de data disponible" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "Data més recent" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "Temps lliure de llarga durada" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Absències pagades" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "Regenerar els registres de treball dels empleats" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "Regenerar entrades de treball" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Temps de treball dels recursos" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "Criteris de cerca completats" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Absències per malaltia" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "No està permès generar entrades de treball de contractes cancel·lats." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"La data d'inici ha de ser >= '%(earliest_available_date)s'i la data ha de " +"ser <= '%(latest_available_date)s', que correspon a l'interval de temps de " +"les entrades generades de la feina." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" +"Aquesta entrada de treball no pot ser validada. El tipus d'entrada de " +"treball és indefinit." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Absències" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Fins a" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Sense remunerar" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Vàlid" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Entrades de Treball" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "Entrades de treball dins de l'interval" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "Regeneració de l'entrada de la feina" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "Font de la prestació" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Planificació de treball" diff --git a/i18n/cs.po b/i18n/cs.po new file mode 100644 index 0000000..2a9ca8c --- /dev/null +++ b/i18n/cs.po @@ -0,0 +1,356 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Ivana Bartonkova, 2023 +# Jakub Smolka, 2023 +# karolína schusterová , 2023 +# Wil Odoo, 2023 +# Aleš Fiala , 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Aleš Fiala , 2023\n" +"Language-Team: Czech (https://app.transifex.com/odoo/teams/41243/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: cs\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +" Definuje zdroj pro generování pracovních záznamů\n" +"\n" +" Pracovní plán: Pracovní záznamy budou generovány z pracovní doby níže.\n" +" Docházka: Pracovní záznamy budou generovány z docházky zaměstnance. (vyžaduje aplikaci Docházka)\n" +" Plánování: Pracovní záznamy budou generovány z plánování zaměstnance. (vyžaduje aplikaci Plánování)\n" +" " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s nemá smlouvu od %s do %s." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"%s má více smluv od %s do %s. Pracovní záznam se nemůže překrývat s více " +"smlouvami." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"Není " +"povoleno regenerovat ověřené pracovní položky" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" +"Varování: Regenerace pracovního záznamu vymaže " +"všechny ruční změny ve zvoleném období." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "Povolit propojení typu pracovního záznamu s typy volna." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Zrušit" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "Náhradní volno" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Smlouva" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Vytvořeno uživatelem" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Vytvořeno dne" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Zobrazovací název" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "Nejdříve dostupná zpráva o datu" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "Nejbližší datum" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Zaměstnanec" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Zaměstnanecká smlouva" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Zaměstnanci" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "Práce každého z nás" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "Přesčasy" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "Od" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "Generovat chybějící pracovní záznamy" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "Generováno z" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "Generováno do" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "Obecné volno" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "HR pracovní záznam" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "HR typ pracovního záznamu" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Domácí práce" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"Chcete-li znovu vygenerovat pracovní záznamy, musíte průvodce poskytnout s " +"identifikátorem zaměstnance, datem_z a datem_to. Kromě toho nesmí časový " +"interval definovaný date_from a date_to obsahovat žádné ověřené pracovní " +"položky." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "Datum posledního generování" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Naposledy upraveno uživatelem" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Naposledy upraveno dne" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "Poslední dostupná zpráva o datu" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "Poslední datum" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "Dlouhodobé volno" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Placené volné dny" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "Regenerace pracovních záznamů zaměstnanců" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "Obnovte pracovní záznamy" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Pracovní doba zdroje" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "Kritéria vyhledávání dokončena" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Volné dny z důvodu nevolnosti" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" +"Je nám líto, ale generování pracovních záznamů ze zrušených smluv není " +"povoleno." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"Datum od musí být >= '%(earliest_available_date)s' a datum do musí být <= " +"'%(latest_available_date)s', které odpovídají časovému intervalu " +"generovaných pracovních záznamů." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "Tuto pracovní položku nelze ověřit. Typ záznamu práce není definován." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Volno" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Na" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Nezaplacené" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Platný" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Pracovní záznamy" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "Pracovní záznamy v intervalu" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "Regenerace vstupu do práce" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "Zdroj pracovní položky" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Pracovní plán" diff --git a/i18n/da.po b/i18n/da.po new file mode 100644 index 0000000..9e00008 --- /dev/null +++ b/i18n/da.po @@ -0,0 +1,344 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Ejner Sønniksen , 2023 +# lhmflexerp , 2023 +# Mads Søndergaard, 2023 +# Mads Søndergaard, 2023 +# Martin Trigaux, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Martin Trigaux, 2023\n" +"Language-Team: Danish (https://app.transifex.com/odoo/teams/41243/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s har ikke en kontrakt fra %s til %s." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"%s har flere kontrakter fra %s til %s. En arbejdspostering kan ikke " +"overlappe flere kontrakter." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Annullér" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Kontrakt" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Oprettet af" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Oprettet den" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Vis navn" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "Tidligst Tilgængelige Dato Besked" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "Tidligste dato" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Medarbejder" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Ansættelseskontrakt" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Ansatte" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "Alles arbejdsposteringer" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "Extra timer" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "Fra" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "Genereret fra" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "Genereret til" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "HR arbejdspostering" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "HR arbejdsposteringstype" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Arbejder hjemme" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"For at regenerere arbejdsposteringer, skal du give guiden en employee_id, en" +" date_from, og en date_to. Derudover må tidsintervallet defineret af " +"date_from og date_to ikke indeholde nogen validerede arbejdsposteringer." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Sidst opdateret af" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Sidst opdateret den" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "Seneste Tilgængelig Dato Besked" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "Seneste dato" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Betalt fri" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "Regenerer Medarbejder Arbejdsposteringer" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "Regenerer Arbejdsposteringer" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "ressource arbejdstid" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "Søg Kriterie Fuldført" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Syg fri tid" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"Fra datoen skal være >= '%(earliest_available_date)s' og til datoen skal " +"være <= '%(latest_available_date)s', hvilket svarer til intervallet på den " +"genererede arbejdstids postering." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" +"Denne arbejdspostering kunne ikke valideres. Arbejdsposterings typen er ikke" +" defineret." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Fri" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Til" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Ikke betalt" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Gyldig" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Arbejdsposter" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "Arbejdsposteringer Indenfor Interval" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "Arbejdspostering Regeneration" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Arbejdsplan" diff --git a/i18n/de.po b/i18n/de.po new file mode 100644 index 0000000..08b7e3f --- /dev/null +++ b/i18n/de.po @@ -0,0 +1,355 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Wil Odoo, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2023\n" +"Language-Team: German (https://app.transifex.com/odoo/teams/41243/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +" Definiert die Quelle für die Erzeugung von Arbeitseinträgen\n" +"\n" +" Arbeitsplan: Die Arbeitseinträge werden aus den unten stehenden Arbeitszeiten generiert.\n" +" Anwesenheiten: Die Arbeitseinträge werden aus den Anwesenheiten des Mitarbeiters generiert. (erfordert die Anwesenheiten-App)\n" +" Planung: Die Arbeitseinträge werden aus der Planung des Mitarbeiters generiert. (erfordert die Planungsapp)\n" +" " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s hat keinen Vertrag von %s bis %s." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"%s hat mehrere Verträge von %s bis %s. Ein Arbeitseintrag darf sich nicht " +"mit mehreren Verträgen überschneiden." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"Sie dürfen " +"validierte Arbeitseinträge nicht neu generieren" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" +"Warnung: Die Regeneration des Arbeitseintrags " +"löscht alle manuellen Änderungen für den ausgewählten Zeitraum." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "" +"Erlauben Sie die Verknüpfung der Arbeitseintragsart mit Abwesenheitsarten." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Abbrechen" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "Ausgleichszeit" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Arbeitsvertrag" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Erstellt von" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Erstellt am" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Anzeigename" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "Nachricht für Frühestes verfügbares Datum" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "Frühestes Datum" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Mitarbeiter" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Arbeitsvertrag" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Mitarbeiter" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "Arbeitseinträge aller Mitarbeiter" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "Überstunden" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "Von" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "Fehlende Arbeitseinträge generieren" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "Generiert aus" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "Generiert nach" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "Allgemeine Abwesenheit" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "HR-Arbeitseintrag" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "HR-Arbeitseintragsart" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Homeoffice" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"Um die Arbeitseinträge neu zu generieren, müssen Sie dem Assistenten eine " +"employee_id, ein date_from und ein date_to angeben. Außerdem darf das durch " +"date_from und date_to definierte Zeitintervall keine validierten " +"Arbeitseinträge enthalten." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "Letztes Generierungsdatum" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Zuletzt aktualisiert von" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Zuletzt aktualisiert am" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "Nachricht für Spätestes verfügbares Datum" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "Spätestes Datum" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "Langzeitabwesenheit" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Bezahlter Urlaub" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "Arbeitseinträge für Mitarbeiter neu generieren" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "Arbeitseinträge neu generieren" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Arbeitszeit der Ressource" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "Suchkriterien ausgefüllt" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Krankheit" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" +"Es tut uns leid, es ist nicht erlaubt, Arbeitseinträge aus abgebrochenen " +"Verträgen zu generieren." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"Das Startdatum muss ≥ „%(earliest_available_date)s“ sein und das Enddatum " +"muss ≤ „%(latest_available_date)s“ sein, entsprechend dem Zeitintervall der " +"generierten Arbeitseinträge." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" +"Dieser Arbeitseintrag kann nicht validiert werden. Die Arbeitseintragsart " +"ist nicht definiert." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Abwesenheiten" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Bis" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Unbezahlt" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Gültig" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Arbeitseinträge" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "Arbeitseinträge innerhalb des Intervalls" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "Regenerierung von Arbeitseinträgen" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "Quelle des Arbeitseintrags" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Arbeitsplan" diff --git a/i18n/es.po b/i18n/es.po new file mode 100644 index 0000000..9648327 --- /dev/null +++ b/i18n/es.po @@ -0,0 +1,358 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Wil Odoo, 2023 +# Larissa Manderfeld, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Larissa Manderfeld, 2024\n" +"Language-Team: Spanish (https://app.transifex.com/odoo/teams/41243/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es\n" +"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +" Define el origen de la generación de entradas de trabajo\n" +"\n" +" Horario de trabajo: las entradas de trabajo se generarán a partir de las horas laborables a continuación.\n" +" Asistencias: las entradas de trabajo se generarán a partir de la asistencia de los empleados. (Se requiere de la aplicación Asistencias)\n" +" Planificación: las entradas de trabajo se generarán a partir de la planificación del empleado. (Se requiere de la aplicación Planificación)\n" +" " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%sno tiene contrato del%sal%s." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"%stiene multiples contratos del %sal%s. Una entrada de trabajo no puede " +"coincidir con múltiples contratos." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"No tiene " +"permitido regenerar entradas de trabajo validadas" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" +"Advertencia: la regeneración de entradas de " +"trabajo eliminará automáticamente todos los cambios manuales en el período " +"seleccionado." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "" +"Permitir que el tipo de entrada de trabajo se vincule con los tipos de " +"tiempo personal." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Cancelar" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "Tiempo personal compensatorio" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Contrato" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "Mensaje de fecha más temprana disponible" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "Fecha más temprana" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Empleado" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Contrato de empleado" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Empleados" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "Entradas de trabajo de todos" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "Horas extra" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "Desde" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "Generar entradas de trabajo faltantes" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "Generado desde" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "Generado hasta" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "Tiempo personal genérico" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "Entrada de trabajo de RRHH" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "Tipo de entrada de trabajo de RRHH" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Trabajando en casa" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"Con el fin de regenerar las entradas de trabajo, necesitas proporcionar al " +"asistente el employee_id, date_from y date_to. Además de eso, el intervalo " +"de tiempo definido por date_from y date_to no debe contener ninguna entrada " +"de trabajo validada." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "Fecha de la última generación" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "Mensaje de última fecha disponible" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "Última fecha" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "Tiempo personal de largo plazo" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Ausencia pagada" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "Regenerar entradas de trabajo del empleado" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "Regenerar entradas de trabajo" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Tiempo de Trabajo de Recursos" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "Criterios de búsqueda completados" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Ausencias por enfermedad" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" +"Lo sentimos, no se permite generar entradas de trabajo desde contratos " +"cancelados." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"La fecha de inicio debe ser >= '%(earliest_available_date)s' y la fecha " +"final debe ser <= '%(latest_available_date)s', lo que corresponde con el " +"intervalo de tiempo de las entradas de trabajo generadas." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" +"Esta entrada de trabajo no se puede validar. El tipo de entrada de trabajo " +"no está definida." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Ausencias" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Hasta" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Impagada" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Válido" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Entradas de trabajo" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "Entradas de trabajo dentro del intervalo" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "Regeneración de entrada de trabajo" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "recurso de entrada de trabajo" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Programa de trabajo" diff --git a/i18n/es_419.po b/i18n/es_419.po new file mode 100644 index 0000000..f1946e0 --- /dev/null +++ b/i18n/es_419.po @@ -0,0 +1,358 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Wil Odoo, 2023 +# Fernanda Alvarez, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Fernanda Alvarez, 2024\n" +"Language-Team: Spanish (Latin America) (https://app.transifex.com/odoo/teams/41243/es_419/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_419\n" +"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +" Define el origen de la generación de entradas de trabajo\n" +"\n" +" Horario de trabajo: las entradas de trabajo se generarán en las horas laborables a continuación.\n" +" Asistencias: las entradas de trabajo se generarán de la asistencia de los empleados. (Se requiere de la aplicación Asistencias)\n" +" Planeación: las entradas de trabajo se generarán a partir de la planeación del empleado. (Se requiere de la aplicación Planeación)\n" +" " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%sno tiene contrato del %sal %s." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"%s tiene múltiples contratos del %s al %s. Una entrada de trabajo no puede " +"coincidir con múltiples contratos." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"No tiene" +" permitido regenerar entradas de trabajo validadas" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" +"Advertencia: la regeneración de entradas de " +"trabajo eliminará de forma automática todos los cambios manuales en el " +"periodo seleccionado." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "" +"Permitir que el tipo de entrada de trabajo se vincule con los tipos de " +"tiempo personal." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Cancelar" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "Tiempo personal compensatorio" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Contrato" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Nombre en pantalla" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "Mensaje de fecha más temprana disponible" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "Fecha más temprana" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Empleado" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Contrato del empleado" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Empleados" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "Entradas de trabajo de todos" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "Horas adicionales" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "Desde" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "Generar entradas de trabajo faltantes" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "Generado desde" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "Generado hasta" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "Tiempo personal genérico" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "Entrada de trabajo de RR. HH." + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "Tipo de entrada de trabajo de RR. HH." + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Trabajo desde casa" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"Con el fin de regenerar las entradas de trabajo, necesita proporcionar al " +"asistente el employee_id, date_from y date_to. Además de eso, el intervalo " +"de tiempo definido por date_from y date_to no debe contener ninguna entrada " +"de trabajo validada." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "Última fecha de generación" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "Mensaje de última fecha disponible" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "Última fecha" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "Tiempo personal de largo plazo" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Tiempo personal pagado" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "Regenerar entradas de trabajo del empleado" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "Regenerar entradas de trabajo" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Tiempo de trabajo de recursos" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "Criterios de búsqueda completados" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Tiempo personal por enfermedad" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" +"Lo sentimos, no se permite generar entradas de trabajo desde contratos " +"cancelados." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"La fecha de inicio debe ser >= '%(earliest_available_date)s' y la fecha " +"final debe ser <= '%(latest_available_date)s', lo que corresponde con el " +"intervalo de tiempo de las entradas de trabajo generadas." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" +"Esta entrada de trabajo no se puede validar. El tipo de entrada de trabajo " +"no está definido." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Tiempo personal" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Para" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Sin pagar" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Válido" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Entradas de trabajo" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "Entradas de trabajo dentro del intervalo" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "Regeneración de entrada de trabajo" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "Origen de la entrada de trabajo" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Horario de trabajo" diff --git a/i18n/et.po b/i18n/et.po new file mode 100644 index 0000000..29d960d --- /dev/null +++ b/i18n/et.po @@ -0,0 +1,361 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Aveli Kannel , 2023 +# Leaanika Randmets, 2023 +# Algo Kärp , 2023 +# Eneli Õigus , 2023 +# Martin Trigaux, 2023 +# Triine Aavik , 2023 +# Piia Paurson , 2023 +# Birgit Vijar, 2023 +# JanaAvalah, 2023 +# Anna, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Anna, 2023\n" +"Language-Team: Estonian (https://app.transifex.com/odoo/teams/41243/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +" Määrab töökannete genereerimise allika\n" +"\n" +" Tööaeg: Töökanded genereeritakse tööaja põhjal - Standard 40h/nädalas jne\n" +" Kohalolekud: Töökanded genereeritakse kohaloleku põhjal(tuleb kasutada Kohalolekud moodulit)\n" +" Töögraafik: Töökanded genereeritakse töögraafikust(tuleb kasutada Töögraafik moodulit)\n" +" " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s ei ole sõlminud lepingut vahemikus %s kuni %s." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"%s on mitu lepingut vahemikus %s kuni %s. Tööajad ei saa sisalduda mitmes " +"lepingus." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"Teil ei ole " +"õigus kinnitatud tööaega ümber muuta" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" +"Hoiatus: Töösisestuse taastamine kustutab kõik " +"käsitsi tehtud muudatused valitud perioodil." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "Lubage tööaja tüüp siduda puudumiste tüüpidega." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Tühista" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "Kompenseeritud puhkus" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Leping" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Loodud (kelle poolt?)" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Loodud" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Kuvatav nimi" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "Varasem saadaolev sõnumi kuupäev" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "Varasem kuupäev" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Töötaja" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Tööleping" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Töötajad" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "Kõikide tööajad" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "Lisaaeg" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "Kellelt?" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "Genereeri puuduva tööaeg" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "Loodud alates" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "Loodud" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "Korraline puhkus" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "HR tööajad" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "HR tööaja sissekande tüübid" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Kodus töötamine" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "Viimane muutmise kuupäev" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Viimati uuendatud" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Viimati uuendatud" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "Viimane saadaoleva kuupäeva teade" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "Hilisem kuupäev" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "Pikaajaline puhkus" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Tasustatud puudumine" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "Genereeri töötajate töö sissekanded uuesti" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "Genereeri töö sissekanded uuesti" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Tööaja ressurss" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "Otsingukriteeriumid on täidetud" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Haiguse tõttu puudumine" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" +"Vabandame, tühistatud lepingutest tööaja sissekannete genereerimine ei ole " +"lubatud." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"Alguskuupäev peab olema >= '%(earliest_available_date)s' ja kuni kuupäev " +"peab olema <= '%(latest_available_date)s', mis vastab loodud töökirjete " +"ajavahemikule." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "Seda tööaega ei saa kinnitada. Tööaja tüüp on määramata." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Puudumised" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Saaja" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Tasumata" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Kehtiv" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Tööajad" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "Tööaeg ajavahemiku sees" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "Tööaegade taastamine" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "Tööaegade allikas" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Tööaeg" diff --git a/i18n/fa.po b/i18n/fa.po new file mode 100644 index 0000000..4513a14 --- /dev/null +++ b/i18n/fa.po @@ -0,0 +1,344 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Hamed Mohammadi , 2023 +# سید محمد آذربرا , 2023 +# Martin Trigaux, 2023 +# Hamid Darabi, 2023 +# Yousef Shadmanesh , 2023 +# F Hariri , 2023 +# Hanna Kheradroosta, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Hanna Kheradroosta, 2023\n" +"Language-Team: Persian (https://app.transifex.com/odoo/teams/41243/fa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fa\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s قراردادی از %s تا %s ندارد." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"%s دارای چندین قرارداد از %s تا %s است. یک ورودی کاری نمی تواند چندین " +"قرارداد را همپوشانی کند." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "لغو" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "مرخصی جبرانی" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "قرارداد" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "ایجاد شده توسط" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "ایجادشده در" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "نام نمایش داده شده" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "تاریخ اولین پیام موجود" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "زودترین تاریخ" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "کارمند" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "قرارداد کارمند" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "کارمندان" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "سندهای کار همه" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "ساعات اضافه" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "از" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "ایجادشده از" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "ایجادشده برای" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "مرخصی عمومی" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "سند کار منابع انسانی" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "منابع انسانی کار نوع ورودی" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "کار در خانه" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "شناسه" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"به منظور ایجاد مجدد سند های کار، شما باید ویزارد را با یک کارمند، از-تاریخ " +"تا-تاریخ ارائه دهید. علاوه بر این، فاصله زمانی تعریف شده توسط از_تاریخ و تا " +"تاریخ نباید حاوی اسناد کار معتبر باشد." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "آخرین بروز رسانی توسط" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "آخرین بروز رسانی در" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "آخرین تاریخ پیام دردسترس" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "آخرین تاریخ" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "مرخصی استحقاقی" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "بازسازی سندهای کارکرد کارمند" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "بازسازی سند کارکرد" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "زمان کار منابع" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "جستجوی ضوابط کامل‌شده" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "مرخصی استعلاجی" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"از تاریخ باید >= '%(earliest_available_date)s' و تا تاریخ باید <= " +"'%(latest_available_date)s', که مربوط به بازه زمانی سندهای کار کرد ایجادشده " +"است." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "این سند کارکرد نمی‌تواند معتبر شود. نوع سند کارکرد تعریف نشده‌است." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "مرخصی" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "تا" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "مرخصی بدون حقوق" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "معتبر" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "سندهای کارکرد" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "سندهای کارکرد فاصله‌دار" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "بازسازی سند کارکرد" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "برنامه‌ی زمانی کار" diff --git a/i18n/fi.po b/i18n/fi.po new file mode 100644 index 0000000..da34f48 --- /dev/null +++ b/i18n/fi.po @@ -0,0 +1,359 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Simo Suurla , 2023 +# Martin Trigaux, 2023 +# Kari Lindgren , 2023 +# Tuomo Aura , 2023 +# Jarmo Kortetjärvi , 2023 +# Ossi Mantylahti , 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Ossi Mantylahti , 2023\n" +"Language-Team: Finnish (https://app.transifex.com/odoo/teams/41243/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +" Määrittää lähteen työaikakirjausten tuottamista varten\n" +"\n" +" Työaikataulu: Työkirjaukset luodaan alla olevista työajoista.\n" +" Läsnäolot: Työkirjaukset luodaan työntekijän läsnäoloista. (edellyttää Läsnäolo-sovellusta)\n" +" Suunnittelu: Työkirjaukset luodaan työntekijän suunnittelusta. (vaatii Suunnittelu-sovelluksen)\n" +" " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s ei ole sopimusta %s-%s." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"%s:lla on useita sopimuksia %s-%s. Työkirjaus ei voi olla päällekkäinen " +"useiden sopimusten kanssa." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"Et saa " +"luoda uudelleen vahvistettuja työkirjauksia" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" +"Varoitus: Työkirjauksen uudistaminen poistaa " +"kaikki manuaaliset muutokset valitulla jaksolla." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "Salli työn kirjaustyypin yhdistäminen vapaa-aikatyyppeihin." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Peruuta" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "Korvaava vapaa-aika" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Sopimus" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Luonut" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Luotu" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Näyttönimi" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "Varhaisin mahdollinen päivämääräviesti" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "Varhaisin päivämäärä" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Työntekijä" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Työsopimus" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Työntekijät" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "Kaikkien työkirjaukset" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "Lisätunnit" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "Alkaa" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "Puuttuvien työkirjausten luominen" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "Luotu kohteesta" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "Luodut kohteeseen" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "Yleinen vapaa-aika" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "HR-työkirjaus" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "HR-työn kirjaustyyppi" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Etätyö" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"Jotta voit luoda työkirjaukset uudelleen, sinun on annettava ohjatulle " +"toiminnolle employee_id, date_from ja date_to. Tämän lisäksi date_from- ja " +"date_to-kohdan määrittelemä aikaväli ei saa sisältää yhtään validoitua " +"työkirjausta." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "Viimeisin luontipäivä" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Viimeksi päivittänyt" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Viimeksi päivitetty" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "Viimeisin saatavilla oleva päivämääräviesti" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "Viimeisin päivämäärä" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "Pitkäaikainen vapaa-aika" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Palkallinen vapaa-aika" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "Luo uudelleen työntekijän työkirjaukset" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "Luo työkirjaukset uudestaan" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Resurssien työaika" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "Hakukriteerit täytetty" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Sairauspoissaolot" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" +"Valitettavasti työkirjausten luominen peruutetuista sopimuksista ei ole " +"sallittua." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"Alkamispäivän on oltava >= '%(earliest_available_date)s' ja päättymispäivän " +"on oltava <= '%(latest_available_date)s', jotka vastaavat luotujen " +"työkirjausten aikaväliä." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" +"Tätä työkirjausta ei voida vahvistaa. Työkirjauksen tyyppi on " +"määrittelemätön." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Vapaa" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Päättyy" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Maksamaton" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Vahvistettu" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Työkirjaukset" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "Työkirjaukset vaihteluvälin sisällä" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "Työkirjauksen uudelleenluonti" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "Työkirjausten lähde" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Työaikataulu" diff --git a/i18n/fr.po b/i18n/fr.po new file mode 100644 index 0000000..97c1793 --- /dev/null +++ b/i18n/fr.po @@ -0,0 +1,351 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Wil Odoo, 2023 +# Jolien De Paepe, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Jolien De Paepe, 2023\n" +"Language-Team: French (https://app.transifex.com/odoo/teams/41243/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +"Définit la source de génération des prestations\n" +"\n" +"Horaire de travail : les prestations seront générées à partir des heures de travail ci-dessous.\n" +"Présences : les prestations seront générées à partir des présences de l'employé. (nécessite l'application Présences)\n" +"Planning : les prestations seront générées à partir du planning de l'employé. (nécessite l'application Planning)" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s n'a pas de de contrat du %s au %s." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"%s a de multiples contrats de %s à %s. Une prestation ne peut pas chevaucher" +" plusieurs contrats." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"Vous " +"n'avez pas le droit de regénérer des prestations validées" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" +"Avertissement : la régénération des prestations " +"supprimera tous les changements manuels dans la période sélectionnée." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "Permettre de lier le type de prestation aux types de congé." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Annuler" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "Congé compensatoire" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Contrat" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Nom d'affichage" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "Message de date de disponibilité la plus ancienne" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "Date la plus ancienne" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Employé" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Contrat de l'employé" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Employés" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "Prestations de tout le monde" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "Heures supplémentaires " + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "De" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "Générer les prestations manquantes" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "Générée à partir de" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "Générée vers" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "Congé générique" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "Prestation RH" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "Type de prestations RH" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Travail à la maison" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"Afin de régénérer les prestations, vous devez fournir à l'assistant un " +"employee_id, un date_from et un date_to. De plus, l'intervalle de temps " +"défini par date_from et date_to ne doit contenir aucune prestation validée." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "Date de dernière génération" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Mis à jour par" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Mis à jour le" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "Message de dernière date disponible" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "Dernière date" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "Congé de longue durée" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Congés payés" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "Regénérer les prestations de l'employé" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "Regénérer les prestations" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Temps de travail de la ressource" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "Critères de recherche complets" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Congé maladie" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" +"Désolé, la génération de prestations à partir de contrats annulés n'est pas " +"autorisée." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"La date de début doit être >= '%(earliest_available_date)s' and la date de " +"fin doit être <= '%(latest_available_date)s', ce qui correspond à " +"l'intervalle des prestations générées." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "Cette prestation ne peut pas être validée. Son type n'est pas défini." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Congés" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Vers" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Non payé" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Valide" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Prestations" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "Prestation dans l'intervalle" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "Régénération des prestations" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "Source de la prestation" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Horaire de travail" diff --git a/i18n/he.po b/i18n/he.po new file mode 100644 index 0000000..cbef4d4 --- /dev/null +++ b/i18n/he.po @@ -0,0 +1,336 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Yihya Hugirat , 2023 +# NoaFarkash, 2023 +# Martin Trigaux, 2023 +# Lilach Gilliam , 2023 +# Netta Waizer, 2023 +# ZVI BLONDER , 2023 +# yael terner, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: yael terner, 2024\n" +"Language-Team: Hebrew (https://app.transifex.com/odoo/teams/41243/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: he\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s אין לו חוזה מ %s עד %s." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "בטל" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "חוזה" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "נוצר על-ידי" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "נוצר ב-" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "שם לתצוגה" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "עובד" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "חוזה עובד" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "עובדים" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "שעות נוספות" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "מ" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "רשומת עבודה של משאבי אנוש" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "סוג רשומת עבודה של משאבי אנוש" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "עבודה מהבית" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "מזהה" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "עודכן לאחרונה על-ידי" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "עדכון אחרון ב" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "חופשה בתשלום" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "זמן עבודה של משאב" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "מאשר חופשות" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "ל" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "לא שולם" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "תקף" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "כניסות לעבודה" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "מקור ביצוע העבודה" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "לוח זמני עבודה" diff --git a/i18n/hr_work_entry_contract.pot b/i18n/hr_work_entry_contract.pot new file mode 100644 index 0000000..b5f9d41 --- /dev/null +++ b/i18n/hr_work_entry_contract.pot @@ -0,0 +1,326 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 21:55+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "" diff --git a/i18n/hu.po b/i18n/hu.po new file mode 100644 index 0000000..9ae2ee3 --- /dev/null +++ b/i18n/hu.po @@ -0,0 +1,335 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# krnkris, 2023 +# Tamás Dombos, 2023 +# Ákos Nagy , 2023 +# gezza , 2023 +# Tamás Németh , 2023 +# Martin Trigaux, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Martin Trigaux, 2023\n" +"Language-Team: Hungarian (https://app.transifex.com/odoo/teams/41243/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Töröl" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Szerződés" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Létrehozta" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Létrehozva" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Megjelenített név" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "Legkorábbi dátum" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Munkavállaló" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Alkalmazotti szerződés" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Munkavállalók" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "Forrás" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Otthoni munkavégzés" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "Azonosító" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Frissítette" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Frissítve" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "Legkésőbbi dátum" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Fizetett szabadság" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Erőforrás munkaidő" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Betegszabadság" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Szabadság" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Cél" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Fizetetlen" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Érvényes" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Munkabeosztás" diff --git a/i18n/id.po b/i18n/id.po new file mode 100644 index 0000000..e80e413 --- /dev/null +++ b/i18n/id.po @@ -0,0 +1,353 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Wil Odoo, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2023\n" +"Language-Team: Indonesian (https://app.transifex.com/odoo/teams/41243/id/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: id\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +" Definisikan sumber untuk pembuatan entri-entri kerja\n" +"\n" +" Jadwal Kerja: Entri-entri kerja akan dibuat dari jam kerja di bawah.\n" +" Absensi: Entri-entri kerja akan dibuat dari absensi karyawan. (membutuhkan app Absensi)\n" +" Perencanaan: Entri-entri kerja akan dibuat dari perencanaan karyawan. (membutuhkan app Planning)\n" +" " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s tidak memiliki kontrak dari %s sampai %s." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"%s memiliki lebih dar isatu kontrak dari %s sampai %s. Entri kerja tidak " +"dapat memiliki lebih dari satu kontrak." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"Anda tidak " +"diizinkan untuk membuat ulang entri kerja yang divalidasi" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" +"Warning: Pembuatan ulang entri kerja akan " +"menghapus semua perubahan manual pada periode yang dipilih." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "Izinkan tipe entri kerja untuk di-link ke tipe time off." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Batal" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "Kompensasi Cuti" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Kontrak" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Dibuat oleh" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Dibuat pada" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Nama Tampilan" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "Pesan Tanggal Tersedia Paling Awal" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "Tanggal paling awal" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Karyawan" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Kontrak Karyawan" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Karyawan" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "Entri kerja semua orang" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "Jam Tambahan" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "Dari" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "Buat Entri-Entri Kerja yang Kurang" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "Dibuat Dari" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "Dibuat Ke" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "Cuti Umum" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "Entri Kerja HR" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "Tipe Entri Kerja HR" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Bekerja di Rumah" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"Untuk membuat ulang entri-entri kerja, Anda harus menyediakan wizard dengan " +"employee_id, date_from dan date_to. Di atas itu, interval waktu yang " +"didefinisikan oleh date_from dan date_to tidak boleh memiliki entri-entri " +"kerja apapun yang divalidasi." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "Tanggal Pembuatan Terakhir" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Terakhir Diperbarui oleh" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Terakhir Diperbarui pada" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "Pesan Tanggal Tersedia Paling Terbaru" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "Tanggal terbaru" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "Cuti Jangka Panjang" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Cuti Berbayar" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "Buat Ulang Entr-Entri Kerja Karyawan" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "Buat Ulang Entri-Entri Kerja" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Sumber Daya Jam Kerja" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "Kriteria Pencarian Selesai" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Cuti Sakit" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" +"Maaf, membuat entri kerja dari kontrak yang dibatalkan tidak diizinkan." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"Tanggal dari harus >= '%(earliest_available_date)s' dan tanggal sampai hari " +"<= '%(latest_available_date)s', yang masing-masing sesuai dengan interval " +"waktu entri-entri kerja yang dibuat." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" +"Entri kerja ini tidak dapat divalidasi. Tipe entri kerja adalah belum " +"didefinisikan." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Cuti" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Kepada" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Belum Dibayar" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Valid" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Entri-Entri Kerja" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "Entri-Entri Kerja Di Dalam Interval" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "Pembuatan Ulang Entri Kerja" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "Sumber Entri Kerja" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Jadwal Kerja" diff --git a/i18n/it.po b/i18n/it.po new file mode 100644 index 0000000..2c23a40 --- /dev/null +++ b/i18n/it.po @@ -0,0 +1,355 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Wil Odoo, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2023\n" +"Language-Team: Italian (https://app.transifex.com/odoo/teams/41243/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: it\n" +"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +" Definisce la fonte per la generazione di voci di lavoro\n" +"\n" +" Pianificazione lavoro: le voci di lavoro verranno create a partire dalle seguenti ore lavorative.\n" +" Presenze: le voci di lavoro saranno generate a partire dalle presenze dei dipendenti. (App Presenze richiesta)\n" +" Pianificazione: le voci di lavoro saranno generate a partire dalla pianificazione dei dipendenti. (App Pianificazione richiesta)\n" +" " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s non ha un contratto da %s a %s." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"%s ha più contratti da %s a %s. Una voce di lavoro non può sovrapporsi a più" +" contratti." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"Non è " +"consentito rigenerare voci di lavoro convalidate" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" +"Attenzione: la rigenerazione delle voci " +"lavorative porterà all'eliminazione di tutti i cambiamenti manuali " +"effettuati nel periodo selezionato." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "" +"Permettere che il tipo di voce lavorativa sia collegato ai tipi di tempo " +"libero." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Annulla" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "Congedo compensativo" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Contratto" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Data creazione" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "Messaggio della prima data disponibile" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "Prima data" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Dipendente" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Contratto dipendente" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Dipendenti" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "Voci lavorative di tutti" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "Ore extra" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "Da" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "Gemera voci di lavoro mancanti" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "Generato da" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "Generati fino al" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "Congedo generico" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "Voce lavorativa RU" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "Tipo di voce lavorativa RU" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Lavoro da casa" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"Per rigenerare le voci lavorative è necessario fornire alla procedura " +"employee_id, date_from e date_to. In aggiunta, l'intervallo temporale " +"definito da date_from e date_to non deve contenere alcuna voce lavorativa " +"convalidata." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "Data ultima generazione" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "Ultimo messaggio di data disponibile" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "Ultima data" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "Congedo a lungo termine" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Ferie pagate" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "Rigenera voci lavorative dipendente" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "Rigenera voci lavorative" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Orario lavorativo risorsa" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "Criteri di ricerca completati" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Malattia" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "Non è possibile generare voci di lavoro da contratti eliminati." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"\"Data dal\" deve essere >= \"%(earliest_available_date)s\" e \"Data al\" <=" +" \"%(latest_available_date)s\", che corrisponde all'intervallo temporale " +"delle voci lavorative generate." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" +"Impossibile convalidare la voce lavorativa, non è stata definita la " +"tipologia." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Ferie" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "A" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Non pagato" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Valido" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Voci lavorative" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "Voci lavorative entro l'intervallo" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "Rigenerazione voce lavorativa" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "Origine voce lavorativa" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Programma di lavoro" diff --git a/i18n/ja.po b/i18n/ja.po new file mode 100644 index 0000000..dd6ae01 --- /dev/null +++ b/i18n/ja.po @@ -0,0 +1,343 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Wil Odoo, 2023 +# Junko Augias, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Junko Augias, 2023\n" +"Language-Team: Japanese (https://app.transifex.com/odoo/teams/41243/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +" ワークエントリ生成元を定義します\n" +"\n" +" 勤務スケジュール: ワークエントリは以下の勤務時間から生成されます\n" +" 勤怠管理: ワークエントリは従業員の勤怠管理から生成されます(勤怠管理アプリが必要)\n" +" 計画: ワークエントリは従業員の計画から生成されます(計画アプリが必要)\n" +" " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%sは%s から %sへの契約書を持っていません。" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "%sは%s から%sへの複数契約を持っています。作業エントリは複数の契約で重複することはできません。 " + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"検証済のワークエントリを再生成することはできません。" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "警告: 作業エントリ再生成は、選択された期間のすべての手動変更を削除します。" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "作業エントリのタイプを休暇のタイプとリンクできるようにします。" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "キャンセル" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "代休" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "契約" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "作成者" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "作成日" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "表示名" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "最短利用可能日メッセージ" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "最短日付" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "従業員" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "従業員契約" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "従業員" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "全員のワークエントリ" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "時間外労働" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "from" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "欠落しているワークエントリの作成" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "以下から生成された:" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "以下へ生成された:" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "通常休暇" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "HR作業エントリ" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "HR作業エントリタイプ" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "自宅勤務" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"ワークエントリを再生成するには、ウィザードに従業員ID、date_from、date_toを指定する必要があります。さらに、date_fromとdate_toで定義された時間間隔には、検証済のワークエントリが含まれていてはいけません。" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "最終生成日付" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "最終更新者" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "最終更新日" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "最終利用可能日メッセージ" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "最新日付" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "長期休暇" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "有給休暇" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "従業員ワークエントリを再生成" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "ワークエントリの再生成" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "リソース作業時間" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "検索基準の完了" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "病気休暇" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "申し訳ありませんが、キャンセル済の契約書からのワークエントリは許可されていません。" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"開始日付は >= '%(earliest_available_date)s'である必要があり、終了日付は <= " +"'%(latest_available_date)s'である必要があり、 生成されたワークエントリの時間間隔に対応します。" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "この作業エントリは検証することができません。作業エントリタイプが未定義です。" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "休暇" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "終了日" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "未払い" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "有効" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "ワークエントリ" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "間隔内のワークエントリ" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "作業エントリ再生成" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "作業エントリ元" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "勤務スケジュール" diff --git a/i18n/ko.po b/i18n/ko.po new file mode 100644 index 0000000..db036c2 --- /dev/null +++ b/i18n/ko.po @@ -0,0 +1,345 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Wil Odoo, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2023\n" +"Language-Team: Korean (https://app.transifex.com/odoo/teams/41243/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +" 근무 항목 생성에 대한 기준 정의\n" +"\n" +" 근무 일정: 아래의 근무 시간에서 근무 항목을 생성합니다.\n" +" 근태: 직원 근태에서 근무 항목을 생서합니다. (근태관리 앱 필요)\n" +" 일정 수립: 직원의 일정에서 근무 항목을 생성합니다. (일정 수립 앱 필요)\n" +" " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s은 %s에서 %s까지의 근로 계약서가 없습니다." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "%s이 %s에서 %s까지 여러 건의 근로 계약서가 있습니다. 근무 항목은 여러 계약이 겹칠 수 없습니다." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"검증된 작업 입력 " +"항목을 재생성할 권한이 없습니다." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" +"경고: 근로 항목을 다시 생성하면 선택한 기간에 대한 모든 수동 변경 사항은 " +"삭제됩니다." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "근로 입력 유형을 휴가 유형과 연결할 수 있도록 허용합니다." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "취소" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "대체 휴가" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "근로 계약" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "작성자" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "작성일자" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "표시명" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "가장 빠른 사용 가능 날짜 메시지" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "가장 빠른 날짜" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "임직원" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "근로 계약서" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "임직원 관리" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "기본적인 근로 항목" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "추가 시간" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "시작" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "누락된 근로 항목 생성" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "생성 시작" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "생성 종료" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "일반 휴가" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "인사 근로 항목" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "인사 근로 항목 유형" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "재택 근무" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"작업 항목을 재생성하려면, 마법사에 employee_id, date_from 및 date_to 항목 정보를 입력해야 합니다. 그 외에도 " +"date_from 및 date_to로 정의된 시간 사이에는 검증된 작업 항목이 포함될 수 없습니다." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "최근 생성일" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "최근 갱신한 사람" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "최근 갱신 일자" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "사용 가능한 최근 날짜 메시지" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "최근 날짜" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "장기 휴가" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "유급 휴가" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "직원 작업 항목 재생성" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "작업 항목 재생성" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "자원 근무 시간" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "검색 기준 완성" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "병가" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "죄송합니다. 계약이 취소된 경우 작업 항목을 생성하는 것은 허용되지 않습니다." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"시작 날짜는 >= '%(earliest_available_date)s', 종료 날짜는 <= " +"'%(latest_available_date)s'이여야 하며, 생성된 근로 항목 시간 간격에 해당됩니다." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "이 근로 항목을 확인할 수 없습니다. 근로 입력 유형이 정의되지 않았습니다." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "휴가" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "종료 시간" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "무급 휴가" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "유효" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "근로 항목" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "시간 간격 내 근로 항목" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "근로 항목 재생성" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "작업 항목 원본" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "근무 일정" diff --git a/i18n/lt.po b/i18n/lt.po new file mode 100644 index 0000000..fc22bbf --- /dev/null +++ b/i18n/lt.po @@ -0,0 +1,336 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Arunas V. , 2023 +# digitouch UAB , 2023 +# UAB "Draugiški sprendimai" , 2023 +# Jonas Zinkevicius , 2023 +# Linas Versada , 2023 +# Donatas , 2023 +# Martin Trigaux, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Martin Trigaux, 2023\n" +"Language-Team: Lithuanian (https://app.transifex.com/odoo/teams/41243/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: lt\n" +"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Atšaukti" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Sutartis" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Sukūrė" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Sukurta" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Rodomas pavadinimas" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Darbuotojas" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Darbuotojo sutartis" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Darbuotojai" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "Iš" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "HR darbo įrašo tipas" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Paskutinį kartą atnaujino" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Paskutinį kartą atnaujinta" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Apmokamos Atostogos" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "Perkurti darbo įrašus" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Ištekliaus darbo laikas" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Neatvykimai" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Iki" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Neapmokėta" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Galioja" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Darbo įrašai" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Darbo grafikas" diff --git a/i18n/lv.po b/i18n/lv.po new file mode 100644 index 0000000..f794c97 --- /dev/null +++ b/i18n/lv.po @@ -0,0 +1,333 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Arnis Putniņš , 2023 +# Armīns Jeltajevs , 2023 +# ievaputnina , 2023 +# Martin Trigaux, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Martin Trigaux, 2023\n" +"Language-Team: Latvian (https://app.transifex.com/odoo/teams/41243/lv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: lv\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Atcelt" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Līgums" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Izveidoja" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Izveidots" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Attēlotais nosaukums" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Darbinieks" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Darbinieka Darba Līgums" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Darbinieki" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "No" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Darbs no mājām" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Pēdējoreiz atjaunināja" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Pēdējoreiz atjaunināts" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Atvaļinājumi" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Līdz" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Neapmaksāts" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Derīgs" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Darba grafiks" diff --git a/i18n/nl.po b/i18n/nl.po new file mode 100644 index 0000000..1fa6e1a --- /dev/null +++ b/i18n/nl.po @@ -0,0 +1,355 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Wil Odoo, 2023 +# Erwin van der Ploeg , 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Erwin van der Ploeg , 2023\n" +"Language-Team: Dutch (https://app.transifex.com/odoo/teams/41243/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +" Bepaalt de bron voor de werkboekinggeneratie\n" +"\n" +" Werkschema: Werkboekingen worden gegenereerd voor onderstaande werkuren.\n" +" Aanwezigheden: Werkboekingen worden gegenereerd op basis van de werknemer's aanwezigheden (Aanwezigheden app vereist)\n" +" Planning: Werkboekingen worden gegenereerd op basis van de werknemer's planning (Planning app vereist)\n" +" " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s heeft geen contract van %s t/m %s." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"%sheeft meerdere contracten van %s t/m %s. Een werkboeking mag niet meerdere" +" contracten overlappen." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"Het is je " +"niet toegestaan om gevalideerde werkboekingen opnieuw te genereren" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" +"Waarschuwing: Het herstel van werkboekingen zal " +"alle handmatige wijzigingen van de geselecteerde periode verwijderen." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "Laat het type werkboeking koppelen aan verlofsoorten." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Annuleren" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "Compensatieverlof" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Contract" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Aangemaakt door" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Aangemaakt op" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Schermnaam" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "Bericht met vroegst beschikbare datum." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "Vroegste datum" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Werknemer" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Arbeidsovereenkomst" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Werknemers" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "Werkboekingen van iedereen" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "Extra uren" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "Van" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "Genereer ontbrekende werkboekingen" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "Gegenereerd vanuit" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "Gegenereerd t/m" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "Algemeen verlof" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "HR-werkboeking" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "HR werkboekingstype" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Werkt van thuis uit" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"Om de werkboekingen opnieuw te genereren, moet je de wizard voorzien van een" +" employee_id, een date_from en een date_to. Daarnaast mag het tijdsinterval " +"gedefinieerd door date_from en date_to geen gevalideerde werkboekingen " +"bevatten." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "Laatste generatiedatum" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Laatst bijgewerkt door" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Laatst bijgewerkt op" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "Laatste beschikbare datumbericht" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "Uiterste datum" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "Lange termijn verlof" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Betaald verlof" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "Hergenereren werknemers werkboekingen" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "Hergenereren werkboekingen" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Resource werktijd" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "Zoekcriteria voltooid" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Ziekteverlof" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" +"Sorry, het genereren van werkboekingen vanuit geannuleerde contracten is " +"niet toegestaan." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"De vanaf-datum moet> = '%(earliest_available_date)s' zijn en de t/m-datum " +"moet <= '%(latest_available_date)s' zijn, wat overeenkomt met het " +"gegenereerde tijdsinterval voor werkboeking." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" +"Dit werkboeking kan niet goedgekeurd worden. Het soort werkboeking is niet " +"gedefinieerd." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Verlof" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "T/m" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Onbetaald verlof" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Geldig" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Werkboekingen" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "Werkboekingen binnen interval" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "Herstel van werkboekingen" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "Bron werkboekingen" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Werktijden" diff --git a/i18n/pl.po b/i18n/pl.po new file mode 100644 index 0000000..f587d22 --- /dev/null +++ b/i18n/pl.po @@ -0,0 +1,351 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Wil Odoo, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2023\n" +"Language-Team: Polish (https://app.transifex.com/odoo/teams/41243/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +"Określa źródło dla generowania wpisów pracy\n" +"\n" +"Harmonogram pracy: Wpisy pracy będą generowane na podstawie poniższych godzin pracy.\n" +"Frekwencja: Wpisy pracy będą generowane z obecności pracownika. (wymaga aplikacji Attendance)\n" +"Planowanie: Wpisy pracy zostaną wygenerowane z planowania pracownika. (wymaga aplikacji Planowanie)" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s nie posiada umowy od %s do %s." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"%sma wiele umów od %s do %s. Wpis pracy nie może nakładać się na wiele umów." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"Nie można " +"regenerować zatwierdzonych wpisów pracy" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" +"Ostrzeżenie: Regeneracja wpisu pracy spowoduje " +"usunięcie wszystkich zmian wprowadzonych ręcznie w wybranym okresie." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "Zezwól na powiązanie typu wpisu pracy z typami dni wolnych." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Anuluj" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "Rekompensata za dni wolne" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Umowa" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Utworzył(a)" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Data utworzenia" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Nazwa wyświetlana" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "Wiadomość o najwcześniejszej dostępnej dacie" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "Najwcześniejsza data" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Pracownik" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Umowa pracownika" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Pracownicy" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "Wpisy pracy wszystkich osób" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "Dodatkowe godziny" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "Od" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "Generowanie brakujących wpisów pracy" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "Wygenerowano z" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "Wygenerowano do" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "Ogólne dni wolne" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "Wpis pracy HR" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "Typ zapisu pracy" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Praca z domu" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"Aby zregenerować wpisy pracy, należy podać kreatorowi identyfikator " +"pracownika (employee_id), datę od (date_from) i datę do (date_to). Ponadto " +"przedział czasowy zdefiniowany przez date_from i date_to nie może zawierać " +"żadnych zatwierdzonych wpisów pracy." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "Data ostatniej generacji" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Ostatnio aktualizowane przez" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Data ostatniej aktualizacji" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "Komunikat o ostatniej dostępnej dacie" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "Ostatnia data" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "Długoterminowe dni wolne" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Płatny urlop" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "Wygeneruj ponownie wpisy pracy pracownika" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "Regeneracja wpisów pracy" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Czas pracy w zasobach" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "Kryteria wyszukiwania zostały spełnione" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Urlop chorobowy" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" +"Przepraszamy, generowanie wpisów pracy z anulowanych umów jest niedozwolone." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"Data od musi być >= '%(earliest_available_date)s', a data do musi być <= " +"'%(latest_available_date)s', co odpowiada wygenerowanemu przedziałowi " +"czasowemu wpisów pracy." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" +"Nie można zatwierdzić tego wpisu pracy. Typ wpisu pracy jest " +"niezdefiniowany." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Dni wolne" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Do" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Nieopłacone" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Ważny" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Zapisy pracy" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "Wpisy pracy w przedziale czasowym" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "Wpis pracy Regeneracja" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "Źródło wpisu pracy" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Godziny pracy" diff --git a/i18n/pt.po b/i18n/pt.po new file mode 100644 index 0000000..a65b208 --- /dev/null +++ b/i18n/pt.po @@ -0,0 +1,335 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Manuela Silva , 2023 +# Wil Odoo, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2023\n" +"Language-Team: Portuguese (https://app.transifex.com/odoo/teams/41243/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Cancelar" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Contrato" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Nome" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Funcionário" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Contrato do Funcionário" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Funcionários" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "De" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"De modo a regenerar as entradas de trabalho, necessita de fornecer ao " +"«wizard» uma identificação de funcionário, uma data_de e uma data_até. Além " +"disso o intervalo definido pelas datas de e até não pode conter nenhumas " +"entradas de trabalho validadas." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Última Atualização por" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Última Atualização em" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "Regenerar Entradas de Trabalho de Funcionário" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "Regenerar Entradas de Trabalho" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "Critérios de Busca Completos" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Ausência" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "A" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Por pagar" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Válido" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Horário de trabalho" diff --git a/i18n/pt_BR.po b/i18n/pt_BR.po new file mode 100644 index 0000000..5d2f022 --- /dev/null +++ b/i18n/pt_BR.po @@ -0,0 +1,355 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Wil Odoo, 2023 +# Layna Nascimento, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Layna Nascimento, 2023\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/odoo/teams/41243/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +"Define a origem para a geração de registros de trabalho\n" +"\n" +"Horário de trabalho: os registros de trabalho serão gerados a partir das horas de trabalho abaixo.\n" +"\n" +"Presença: os registros de trabalho serão gerados a partir das presenças do funcionário (requer o aplicativo Controle de Presença).\n" +"Planejamento: os registros de trabalho serão gerados a partir do planejamento do funcionário (requer o aplicativo Planejamento)." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s não tem um contrato de %s até %s." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"%s tem diversos contratos de %s até %s. Um registro de trabalho não pode " +"sobrepor vários contratos." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"Você não tem" +" permissão para gerar novamente registros de trabalho validados." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" +"Aviso: A nova geração do registro de trabalho " +"excluirá todas as alterações manuais no período selecionado." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "" +"Permitir que o tipo de registro de trabalho seja vinculado a tipos de folga." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Cancelar" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "Folga compensatória" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Contrato" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Nome exibido" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "Mensagem de primeira data disponível" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "Primeira data" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Funcionário" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Contrato do funcionário" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Funcionários" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "Registro de trabalho de todos" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "Horas extra" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "De" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "Gerar registros de trabalho ausentes" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "Gerado de" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "Gerado até" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "Folga genérica" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "RH – Registro de trabalho" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "RH – Tipo de registro de trabalho" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Home-office" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"Para regenerar os registros de trabalho, é necessário fornecer employee_id, " +"date_from e date_to ao assistente. Além disso, o intervalo definido entre " +"date_from e date_to não pode conter nenhum registro de trabalho validado." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "Data da última geração" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Última atualização por" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Última atualização em" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "Mensagem de última data disponível" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "Última data" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "Folga de longo prazo" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Folga remunerada" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "Gerar novamente registros de trabalho do funcionário" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "Gerar novamente os registros de trabalho" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Tempo de trabalho do recurso" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "Critérios de busca: concluído" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Folga por atestado médico" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" +"Não é permitido gerar registros de trabalho a partir de contratos " +"cancelados." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"A data \"a partir de\" deve ser >= '%(earliest_available_date)s' e a data " +"\"até\" deve ser <= '%(latest_available_date)s', o que corresponde ao " +"intervalo dos registros de trabalho gerados." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" +"Este registro de trabalho não pode ser validado. O tipo de registro de " +"trabalho é indefinido." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Folga" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Até" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Não remunerado" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Válido" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Registros de trabalho" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "Registros de trabalho dentro do intervalo" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "Gerar registro de trabalho novamente" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "Origem do registro de trabalho" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Horário de trabalho" diff --git a/i18n/ru.po b/i18n/ru.po new file mode 100644 index 0000000..1f89e9e --- /dev/null +++ b/i18n/ru.po @@ -0,0 +1,356 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Martin Trigaux, 2023 +# Alena Vlasova, 2023 +# Wil Odoo, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2024\n" +"Language-Team: Russian (https://app.transifex.com/odoo/teams/41243/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +" Определяет источник для создания рабочих записей\n" +"\n" +" Рабочее расписание: Рабочие записи будут генерироваться на основе указанных ниже рабочих часов.\n" +" Посещения: Рабочие записи будут генерироваться на основе посещений сотрудника. (требуется приложение Attendance)\n" +" Планирование: Рабочие записи будут генерироваться на основе планирования сотрудника. (требуется приложение \"Планирование\")\n" +" " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "у %s нет контракта с %s на %s." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"у %s есть несколько контрактов от %s до %s. Запись о работе не может " +"перекрывать несколько контрактов." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"Вам не " +"разрешается восстанавливать подтвержденные записи о работе" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" +"Внимание: Регенерация записей удалит все ручные " +"изменения в выбранном периоде." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "Позволяет связать тип записи о работе с типами отгулов." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Отменить" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "Компенсационные отгулы" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Договор" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Создано" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Создано" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Отображаемое имя" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "Сообщение о самой ранней доступной дате" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "Самая ранняя дата" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Сотрудник" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Договор с Сотрудником" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Сотрудники" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "Все записи о работе" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "Дополнительные часы" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "От" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "Создание записей о пропущенных работах" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "Создано из" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "Сгенерировано до" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "Общее время отдыха" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "HR Ввод данных о работе" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "HR Тип Ввода данных о работе" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Работа на дому" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"Чтобы перегенерировать записи о работе, необходимо предоставить мастеру " +"идентификатор сотрудника, дату_от и дату_до. Кроме того, временной интервал," +" заданный датой_от и датой_до, не должен содержать никаких подтвержденных " +"записей о работе." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "Дата последнего поколения" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Последнее обновление" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Последнее обновление" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "Сообщение о последней доступной дате" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "Последняя дата" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "Долгосрочный отпуск" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Оплачиваемое отсутствие" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "Регенерация записей о работе сотрудников" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "Регенерация рабочих записей" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Рабочее время" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "Критерии поиска выполнены" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Отсутствие по болезни" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" +"К сожалению, создание рабочих записей по отмененным контрактам не " +"допускается." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"Дата \"от\" должна быть >= '%(earliest_available_date)s', а дата \"до\" " +"должна быть <= '%(latest_available_date)s', что соответствует временному " +"интервалу создания рабочих записей." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" +"Эта запись о работе не может быть подтверждена. Тип рабочей записи не " +"определен." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Отпуск" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Кому" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Неоплаченный" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Действительный" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Записи о работе" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "Рабочие записи в пределах интервала" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "Регенерация рабочих мест" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "Источник поступления на работу" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "График работы" diff --git a/i18n/sk.po b/i18n/sk.po new file mode 100644 index 0000000..a3c5f2b --- /dev/null +++ b/i18n/sk.po @@ -0,0 +1,334 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Wil Odoo, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2023\n" +"Language-Team: Slovak (https://app.transifex.com/odoo/teams/41243/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s nemá zmluvu od %s do %s." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"%s má viac zmlúv od %s do %s. Pracovný záznam sa nemôže prekrývať s " +"viacerými zmluvami." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Zrušené" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Kontakt" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Vytvoril" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Vytvorené" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Zobrazovaný názov" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "Najskoršia dostupná správa o dátume" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "Najskorší dátum" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Zamestnanec" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Zamestnanecká zmluva" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Zamestnanci" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "Práca všetkých" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "Od" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "Generované z" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "Generované do" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "Vstup do HR" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "HR typ pracovného záznamu" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Práca z domu" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Naposledy upravoval" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Naposledy upravované" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "Posledná dostupná správa o dátume" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "Posledný dátum" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Platené voľné dni" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "Regenerujte pracovné záznamy zamestnancov" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "Obnovte pracovné záznamy" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Pracovný čas zdroja" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "Kritériá vyhľadávania boli dokončené" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Voľné dni z dôvodu nevoľnosti" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" +"Tento pracovný záznam nie je možné overiť. Typ pracovného záznamu nie je " +"definovaný." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Voľné dni" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Do" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Nezaplatené" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Platný" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Pracovné záznamy" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "Pracovné záznamy v rámci intervalu" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "Regenerácia vstupu do práce" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Pracovný rozvrh" diff --git a/i18n/sl.po b/i18n/sl.po new file mode 100644 index 0000000..cfc18c4 --- /dev/null +++ b/i18n/sl.po @@ -0,0 +1,336 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Tadej Lupšina , 2023 +# Vida Potočnik , 2023 +# Martin Trigaux, 2023 +# Jasmina Macur , 2023 +# laznikd , 2023 +# Matjaz Mozetic , 2023 +# matjaz k , 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: matjaz k , 2023\n" +"Language-Team: Slovenian (https://app.transifex.com/odoo/teams/41243/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Prekliči" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Pogodba" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Ustvaril" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Ustvarjeno" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Prikazani naziv" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Kader" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Kadrovska pogodba" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Kadri" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "Od" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Zadnji posodobil" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Zadnjič posodobljeno" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Odsotnost" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Do" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Neplačano" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Velja" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Delovni urnik" diff --git a/i18n/sr.po b/i18n/sr.po new file mode 100644 index 0000000..18a4757 --- /dev/null +++ b/i18n/sr.po @@ -0,0 +1,356 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Milan Bojovic , 2023 +# Uros Kalajdzic , 2023 +# Martin Trigaux, 2023 +# Dragan Vukosavljevic , 2023 +# Nemanja Skadric, 2024 +# コフスタジオ, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: コフスタジオ, 2024\n" +"Language-Team: Serbian (https://app.transifex.com/odoo/teams/41243/sr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sr\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +" Definiše izvor za generisanje radnih unosa\n" +"\n" +" Radni raspored: Radni unosi će se generisati iz radnog vremena ispod.\n" +" Prisustva: Radni unosi će se generisati iz prisustva zaposlenih. (zahteva aplikaciju za prisustvo)\n" +" Planiranje: Radni unosi će se generisati iz planiranja zaposlenog. (zahteva aplikaciju za planiranje)\n" +" " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s nema ugovor od %s do %s." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"%s ima više ugovora od %s do %s. Unos posla ne može da se preklapa sa više " +"ugovora" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"Nije vam " +"dozvoljeno da ponovo generišete validirane radne unose" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" +"Upozorenje: Regeneracija unosa posla će " +"izbrisati sve ručne promene u izabranom periodu." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "Dozvolite da se tip unosa posla poveže sa tipovima slobodnog vremena." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Otkaži" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "Kompenzacioni odmor" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Ugovor" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Naziv za prikaz" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "Poruka najranijeg dostupnog datuma" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "Najraniji datum" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Zaposleni" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Ugovor Zapošljenog" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Zaposleni" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "Svi radni zapisi" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "Dodatni sati" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "Od" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "Generišite nedostajuće radne unose" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "Generisano od" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "Generisano do" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "Generičko slobodno vreme" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "HR Radni unos" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "Vrsta unosa rada HR" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Rad od kuće" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"Da biste ponovo generisali radne unose, morate čarobnjaku da dostavite " +"Employee_id, date_from i date_to. Pored toga, vremenski interval definisan " +"sa date_from i date_to ne sme da sadrži nijedan validiran unos posla." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "Datum poslednje generacije" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Poslednji put ažurirao" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Poslednji put ažurirano" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "Latest Available Date Message" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "Najnoviji datum" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "Dugotrajno slobodno vreme" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Plaćeno odsustvo" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "Regenerisanje radnih unosa zaposlenih" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "Regenerate Work Entries" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Resource Working Time" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "Search Criteria Completed" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Bolovanja" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" +"Sorry, generating work entries from cancelled contracts is not allowed." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" +"This work entry cannot be validated. The work entry type is undefined." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Odsustvo" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Za" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Neplaćeno" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Važeće" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Work Entries" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "Work Entries Within Interval" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "Work Entry Regeneration" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "Work Entry Source" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Raspored rada" diff --git a/i18n/sv.po b/i18n/sv.po new file mode 100644 index 0000000..4ea0bc7 --- /dev/null +++ b/i18n/sv.po @@ -0,0 +1,337 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Kim Asplund , 2023 +# Haojun Zou , 2023 +# Martin Trigaux, 2023 +# Jakob Krabbe , 2023 +# Anders Wallenquist , 2023 +# Robin Calvin, 2023 +# Mikael Åkerberg , 2023 +# Simon S, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Simon S, 2023\n" +"Language-Team: Swedish (https://app.transifex.com/odoo/teams/41243/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Avbryt" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Avtal" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Skapad av" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Skapad den" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Visningsnamn" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Anställd" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Anställningskontrakt" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Anställda" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "Från" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Hemarbete" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Senast uppdaterad av" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Senast uppdaterad den" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Betald ledighet" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Resursens arbetstid" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Sjukfrånvaro" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Ledighet" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Till" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Obetald" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Giltig" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Arbetsuppgifter" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Arbetsschema" diff --git a/i18n/th.po b/i18n/th.po new file mode 100644 index 0000000..cdc534c --- /dev/null +++ b/i18n/th.po @@ -0,0 +1,349 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Wil Odoo, 2023 +# Rasareeyar Lappiam, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Rasareeyar Lappiam, 2023\n" +"Language-Team: Thai (https://app.transifex.com/odoo/teams/41243/th/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +" กำหนดแหล่งที่มาสำหรับการสร้างรายการงาน\n" +"\n" +" ตารางการทำงาน: รายการงานจะถูกสร้างขึ้นจากชั่วโมงทำงานด้านล่าง\n" +" การเข้างาน: รายการงานจะถูกสร้างขึ้นจากการเข้างานของพนักงาน (ต้องใช้แอปการเข้างาน)\n" +" การวางแผน: รายการงานจะถูกสร้างขึ้นจากการวางแผนของพนักงาน (ต้องใช้แอปการวางแผน)\n" +" " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s ไม่มีสัญญาจาก %s ถึง %s" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"%sมีสัญญาหลายฉบับจาก %s ถึง %s การข้าทำงานไม่สามารถทับซ้อนกันหลายสัญญาได้" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"คุณไม่ได้รับอนุญาตให้สร้างรายการงานการตรวจสอบความถูกต้องใหม่" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" +"คำเตือน: " +"การสร้างรายการงานใหม่จะลบการเปลี่ยนแปลงด้วยตนเองทั้งหมดในช่วงเวลาที่เลือก" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "อนุญาตให้เชื่อมโยงประเภทการเข้างานกับประเภทการหยุดงาน" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "ยกเลิก" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "เวลาหยุดชดเชย" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "สัญญา" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "สร้างโดย" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "สร้างเมื่อ" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "แสดงชื่อ" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "ข้อความวันที่มีอยู่เร็วที่สุด" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "วันที่เร็วที่สุด" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "พนักงาน" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "สัญญาของพนักงาน" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "พนักงาน" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "กาารเข้างานของทุกคน" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "ชั่วโมงพิเศษ" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "จาก" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "สร้างรายการงานที่หายไป" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "สร้างฟอร์ม" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "สร้างถึง" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "การลาทั่วไป" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "HR การเข้างาน" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "HR ประเภทการเข้างาน" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "ทำงานที่บ้าน" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ไอดี" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"ในการสร้างการเข้างานขึ้นใหม่ คุณต้องจัดเตรียม Employee_id, date_from และ " +"date_to ให้กับตัวช่วย นอกจากนั้น ช่วงเวลาที่กำหนดโดย date_from และ date_to " +"ต้องไม่มีรายการเข้างานที่ผ่านการตรวจสอบความถูกต้อง" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "วันที่สร้างครั้งสุดท้าย" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "อัปเดตครั้งล่าสุดโดย" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "อัปเดตครั้งล่าสุดเมื่อ" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "ข้อความวันที่ที่มีอยู่ล่าสุด" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "วันที่ล่าสุด" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "การลาระยะยยาว" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "การลาที่ได้ค่าจ้าง" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "สร้างการเข้างานของพนักงานใหม่" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "สร้างการเข้างานใหม่" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "เวลาทำงานของทรัพยากร" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "เกณฑ์การค้นหาเสร็จสมบูรณ์" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "การลาป่วย" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "ขออภัย ไม่อนุญาตให้สร้างรายการงานจากสัญญาที่ถูกยกเลิกได้" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"วันที่เริ่มต้นต้องเป็น >= '%(earliest_available_date)s' " +"และวันที่จำเป็นต้อง<= '%(latest_available_date)s', " +"ซึ่งสอดคล้องกับช่วงเวลาการเข้างานที่สร้างขึ้น" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "ไม่สามารถตรวจสอบการเข้างานนี้ได้ ไม่ได้กำหนดประเภทการเข้างาน" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "การลา" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "ถึง" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "ยังไม่ได้ชำระ" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "ถูกต้อง" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "การเข้างาน" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "การเข้างานภายในช่วงเวลา" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "การสร้างการเข้างานใหม่" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "แหล่งที่มาของรายการงาน" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "ตารางการทำงาน" diff --git a/i18n/tr.po b/i18n/tr.po new file mode 100644 index 0000000..48108de --- /dev/null +++ b/i18n/tr.po @@ -0,0 +1,354 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Martin Trigaux, 2023 +# Levent Karakaş , 2023 +# Murat Kaplan , 2023 +# Nadir Gazioglu , 2023 +# Ertuğrul Güreş , 2023 +# Ediz Duman , 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Ediz Duman , 2023\n" +"Language-Team: Turkish (https://app.transifex.com/odoo/teams/41243/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +" Puantaj Kayıtları oluşturma kaynağını tanımlar\n" +"\n" +" Çalışma Programı: Puantaj Kayıtları aşağıdaki çalışma saatlerinden oluşturulacaktır.\n" +" Katılımlar: Puantaj Kayıtları, çalışanın katılımlarından oluşturulacaktır. (Katılım uygulaması gerektirir)\n" +" Planlama: Puantaj Kayıtları çalışanın planlamasından oluşturulacaktır. (Planlama uygulaması gerektirir)\n" +" " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s sözleşmesi yok %s için %s." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"%s birden fazla sözleşmesi var %s için %s. Bir puantaj birden fazla sözleşme" +" ile çakışamaz." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"Doğrulanmış puantaj kayıtlarını yeniden oluşturmanıza izin " +"verilmez" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "Puantaj türünün izin türleriyle ilişkilendirilmesine izin verin." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "İptal" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "Telafi İzni" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Sözleşme" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Oluşturan" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Oluşturulma" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Görünüm Adı" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "Kullanılabilir En Erken Tarih Mesajı" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "En erken tarih" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Personel" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Personel Sözleşmesi" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Personeller" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "Herkesin puantajı" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "Fazla Mesailer" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "Başlama" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "Eksik Puantaj Kayıtlarını Oluşturma" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "Tarafından oluşturuldu" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "Oluşturma Tarihi" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "Genel İzin" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "İK Puantaj Kaydı" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "İK Puantaj Kaydı Türü" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Evden Çalışma" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"Puantajları yeniden oluşturmak için, sihirbaza bir staff_id, bir date_from " +"ve bir date_to sağlamanız gerekir. Buna ek olarak, date_from ve date_to ile " +"tanımlanan zaman aralığı, herhangi bir doğrulanmış puantaj içermemelidir." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "Son Jenerasyon Tarihi" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Son Güncelleyen" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Son Güncelleme" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "Son Kullanılabilir Tarih Mesajı" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "Son tarih" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "Uzun Süreli İzin" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Ücretli İzin" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "Çalışan İş Girişlerini Yeniden Oluşturun" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "İş Girişlerini Yeniden Oluşturun" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Kaynak Çalışma Süresi" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "Arama Kriterleri Tamamlandı" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Hastalık İzni" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" +"Üzgünüz, iptal edilen sözleşmelerden puantaj kayıtları oluşturulmasına izin " +"verilmemektedir." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"Başlangıç tarihi >= '%(earliest_available_date)s' ve bitiş tarihi <= " +"'%(latest_available_date)s' olmalıdır, bu da oluşturulan puantaj zaman " +"aralığına karşılık gelir." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "Bu puantaj doğrulanamıyor. Puantaj türü tanımsız." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "İzin" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Bitiş" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Ödenmemiş" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Geçerli" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Puantaj Kayıtları" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "Aralık İçerisindeki Puantaj Kayıtları" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "Puantaj Yenileme" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "Puantaj Kaydı Kaynağı" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Çalışma Saatleri" diff --git a/i18n/uk.po b/i18n/uk.po new file mode 100644 index 0000000..bed18a0 --- /dev/null +++ b/i18n/uk.po @@ -0,0 +1,352 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Wil Odoo, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2023\n" +"Language-Team: Ukrainian (https://app.transifex.com/odoo/teams/41243/uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +" Визначає джерело для створення робочих записів\n" +"\n" +"Робочий графік: робочі записи будуть створені на основі робочих годин, наведених нижче.\n" +"Відвідуваність: записи про роботу створюватимуться на основі відвідуваності працівника. (потрібен додаток Відвідування)\n" +"Планування: записи про роботу будуть створені на основі планування працівника. (потрібен додаток Планування)\n" +" " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s не має контракту з %s до %s." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"%s має кілька контрактів з %s до %s. Робочий запис не може перекривати " +"кілька контрактів." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"Вам не " +"дозволено повторно генерувати підтверджені робочі записи" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" +"Попередження: Повторне створення робочого запису " +"видалить усі ручні зміни в обраному періоді." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "Дозвольте пов’язувати тип робочого запису з типами відпусток." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Скасувати" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "Компенсація відпустки" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Контракт" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Створив" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Створено" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Назва для відображення" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "Найстаріше повідомлення про доступні дати" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "Найдавніші дати" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Співробітник" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Трудовий контракт" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Співробітники" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "Робочі записи співробітників" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "Додаткові години" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "Від" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "Створити відсутні робочі записи" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "Створено з" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "Створено на" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "Офіційний вихідний" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "Робочий запис відділу кадрів" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "Тип робочого запису відділу кадрів" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Робота з дому" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"Для того, щоб повторно створити робочі записи, вам необхідно надати " +"помічника з employee_id, date_from та date_to. Окрім цього, часовий " +"інтервал, визначений за date_from та date_to, не повинен містити жодного " +"дійсного робочого запису." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "Дата останнього створення" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Востаннє оновив" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Останнє оновлення" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "Останнє повідомлення про доступну дату" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "Остання дата" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "Довгострокова відпустка" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Оплачена відпустка" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "Створити заново робочі записи співробітника" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "Створити заново робочі записи" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Робочий час ресурсу" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "Пошук критерій завершено" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Лікарняний" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" +"Вибачте, створення робочих записів зі скасованих контарктів не дозволено." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"Дата з повинна бути >= '%(earliest_available_date)s' а дата до повинна бути " +"<= '%(latest_available_date)s', що відповідає часовому інтервалу створених " +"робочих записів." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" +"Цей робочий запис не можна підтвердити. Тип робочого запису невизначений." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Відпустка" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "До" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Неоплачено" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Дійсний" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Робочі записи" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "Робочі записи в інтервалі" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "Оновлення робочих записів" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "Джерело робочого запису" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Графік робочого часу" diff --git a/i18n/vi.po b/i18n/vi.po new file mode 100644 index 0000000..bb70959 --- /dev/null +++ b/i18n/vi.po @@ -0,0 +1,340 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Wil Odoo, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2023\n" +"Language-Team: Vietnamese (https://app.transifex.com/odoo/teams/41243/vi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: vi\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s không có hợp đồng từ %s đến %s." + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "" +"%s có nhiều hợp đồng từ %s đến %s. Một mục công việc không thể trùng lặp với" +" nhiều hợp đồng." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "Cho phép loại mục công việc liên kết với loại nghỉ phép." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "Hủy" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "Ngày nghỉ bù" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "Hợp đồng" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "Được tạo bởi" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "Được tạo vào" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "Tên hiển thị" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "Tin nhắn ngày trống lịch sớm nhất" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "Ngày sớm nhất" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "Nhân viên" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "Hợp đồng nhân viên" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "Nhân viên" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "Mục công việc của mọi người" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "Giờ làm thêm" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "Từ" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "Tạo từ" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "Tạo đến" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "Nghỉ phép chung" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "HR Work Entry" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "Loại công việc HR" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "Home Working" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"Để tạo lại mục công việc, bạn cần cung cấp cho trình hướng dẫn thông tin " +"employee_id, date_from và date_to. Ngoài ra, khoảng thời gian xác định bằng " +"date_from và date_to phải không chứa mục công việc đã được xác nhận." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "Cập nhật lần cuối bởi" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "Cập nhật lần cuối vào" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "Tin nhắn ngày trống gần nhất" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "Ngày gần nhất" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "Nghỉ phép dài hạn" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "Nghỉ phép năm" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "Tạo lại mục công việc nhân viên" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "Tạo lại mục công việc" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "Nguồn lực thời gian làm việc" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "Tìm kiếm tiêu chí đã hoàn thành" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "Nghỉ bệnh" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"Từ ngày phải >= '%(earliest_available_date)s' và đến ngày phải <= " +"'%(latest_available_date)s', tương ứng với khoảng thời gian của các mục công" +" việc đã tạo." + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "" +"Mục công việc này không thể được xác nhận. Loại mục công việc không được xác" +" định." + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "Nghỉ phép" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "Đến" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "Không thanh toán" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "Hợp lệ" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "Quản lý các mục công việc" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "Mục công việc nằm trong khoảng thời gian" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "Tạo lại mục công việc" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "Nguồn nhập công việc" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "Thời gian làm việc" diff --git a/i18n/zh_CN.po b/i18n/zh_CN.po new file mode 100644 index 0000000..723a771 --- /dev/null +++ b/i18n/zh_CN.po @@ -0,0 +1,343 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Wil Odoo, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2023\n" +"Language-Team: Chinese (China) (https://app.transifex.com/odoo/teams/41243/zh_CN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +" 定义了工作记录生成的来源\n" +"\n" +" 工作安排:工作记录将从以下的工作时间生成。\n" +" 出勤:工作记录将从员工的出勤生成。(需要出勤应用程序)\n" +" 计划:工作记录将从员工的计划生成。(需要计划应用程序)\n" +" " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s没有从%s 到 %s的合同。" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "%s 有多个从 %s 到 %s的合同。工作条目不能与多个合同重叠。" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr "" +"您不被允许重新生成已验证的工作条目。" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "警告:重新生成工作记录将删除选定时间段的所有手动更改。" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "允许工作条目类型与休息时间类型相联系。" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "取消" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "补偿性休假" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "合同" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "创建人" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "创建日期" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "显示名称" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "最早可用日期消息" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "最早日期" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "员工" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "员工合同" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "员工" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "每个人的工作条目" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "加班时间" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "来自" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "生成缺失的工作条目" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "生成自" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "生成到" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "一般性休息时间" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "人力资源工作" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "人力资源工作类型" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "在家工作" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "ID" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"为了重新生成工作条目,您需要为向导提供一个employee_id,一个date_from和一个date_to。 " +"除此之外,由date_from和date_to定义的时间间隔不得包含任何经过验证的工作条目。" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "最后生成的日期" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "最后更新人" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "上次更新日期" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "最早可用日期消息" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "最新日期" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "长期休假" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "带薪休假" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "重新生成员工工作条目" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "重新生成工作条目" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "资源工作时间" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "搜索条件已完成" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "病假" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "抱歉,不允许从取消的合同中生成工作条目。" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"起始日期必须是> " +"='%(earliest_available_date)s',截止日期必须是<='%(latest_available_date)s',对应于生成的工作条目时间间隔。" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "此工作条目无法验证。工作条目类型未定义。" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "休假" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "至" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "无薪假" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "有效的" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "工作分录" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "间隔内的工作条目" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "工作条目重生成" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "工作记录来源" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "工作安排" diff --git a/i18n/zh_TW.po b/i18n/zh_TW.po new file mode 100644 index 0000000..c7ca77c --- /dev/null +++ b/i18n/zh_TW.po @@ -0,0 +1,342 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_work_entry_contract +# +# Translators: +# Wil Odoo, 2023 +# Tony Ng, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-26 21:55+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Tony Ng, 2023\n" +"Language-Team: Chinese (Taiwan) (https://app.transifex.com/odoo/teams/41243/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "" +"\n" +" Defines the source for work entries generation\n" +"\n" +" Working Schedule: Work entries will be generated from the working hours below.\n" +" Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n" +" Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n" +" " +msgstr "" +"\n" +" 定義了工作記錄生成的來源\n" +"\n" +" 工作安排:工作記錄將從以下的工作時間生成。\n" +" 出勤:工作記錄將從員工的出勤生成。(需要出勤應用程序)\n" +" 計劃:工作記錄將從員工的計劃生成。(需要計劃應用程序)\n" +" " + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "%s does not have a contract from %s to %s." +msgstr "%s 沒有從 %s 到 %s 的契約" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_work_entry.py:0 +#, python-format +msgid "" +"%s has multiple contracts from %s to %s. A work entry cannot overlap " +"multiple contracts." +msgstr "%s 有多個從 %s 到 %s 的契約。一個工時紀錄不能重疊多個契約。" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"You are not " +"allowed to regenerate validated work entries" +msgstr " 已驗證的工作記錄不可重新生成" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +msgstr "" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "" +"Warning: The work entry regeneration will delete " +"all manual changes on the selected period." +msgstr "警告:重新生成工作記錄將刪除選定時間段的所有手動更改。" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,help:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Allow the work entry type to be linked with time off types." +msgstr "允許工時紀錄類型與休假類型相關聯" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Cancel" +msgstr "取消" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_compensatory +msgid "Compensatory Time Off" +msgstr "補假" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__contract_id +msgid "Contract" +msgstr "合約" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_uid +msgid "Created by" +msgstr "建立人員" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__create_date +msgid "Created on" +msgstr "建立於" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__display_name +msgid "Display Name" +msgstr "顯示名稱" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date_message +msgid "Earliest Available Date Message" +msgstr "最早可用日期消息" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__earliest_available_date +msgid "Earliest date" +msgstr "最早日期" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_employee +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__employee_id +msgid "Employee" +msgstr "員工" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_contract +msgid "Employee Contract" +msgstr "員工契約" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__employee_ids +msgid "Employees" +msgstr "員工" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar_model.js:0 +#, python-format +msgid "Everybody's work entries" +msgstr "大家的工時紀錄" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_extra_hours +msgid "Extra Hours" +msgstr "加班時數" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_from +msgid "From" +msgstr "由" + +#. module: hr_work_entry_contract +#: model:ir.actions.server,name:hr_work_entry_contract.ir_cron_generate_missing_work_entries_ir_actions_server +msgid "Generate Missing Work Entries" +msgstr "生成缺失的工作條目" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_from +msgid "Generated From" +msgstr "生成自" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__date_generated_to +msgid "Generated To" +msgstr "生成為" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_leave +msgid "Generic Time Off" +msgstr "一般休假" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry +msgid "HR Work Entry" +msgstr "HR工時紀錄" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_type +msgid "HR Work Entry Type" +msgstr "HR工時紀錄類型" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_home_working +msgid "Home Working" +msgstr "在家工作" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__id +msgid "ID" +msgstr "識別號" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"In order to regenerate the work entries, you need to provide the wizard with" +" an employee_id, a date_from and a date_to. In addition to that, the time " +"interval defined by date_from and date_to must not contain any validated " +"work entries." +msgstr "" +"為了重新生成工時紀錄,您需要為嚮導提供一個employee_id、一個date_from 和一個date_to。除此之外,由 date_from 和 " +"date_to 定義的時間間隔不得包含任何經過驗證的工時紀錄。" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__last_generation_date +msgid "Last Generation Date" +msgstr "最後生成的日期" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_uid +msgid "Last Updated by" +msgstr "最後更新者" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__write_date +msgid "Last Updated on" +msgstr "最後更新於" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date_message +msgid "Latest Available Date Message" +msgstr "最新可用日期消息" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__latest_available_date +msgid "Latest date" +msgstr "最晚日期" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_long_leave +msgid "Long Term Time Off" +msgstr "長期休假" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_legal_leave +msgid "Paid Time Off" +msgstr "年假" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_hr_work_entry_regeneration_wizard +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Regenerate Employee Work Entries" +msgstr "重新生成員工工時紀錄" + +#. module: hr_work_entry_contract +#. odoo-javascript +#: code:addons/hr_work_entry_contract/static/src/views/work_entry_calendar/work_entry_calendar.xml:0 +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +#, python-format +msgid "Regenerate Work Entries" +msgstr "重新生成工時紀錄" + +#. module: hr_work_entry_contract +#: model:ir.model,name:hr_work_entry_contract.model_resource_calendar +msgid "Resource Working Time" +msgstr "資源工作時間" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__search_criteria_completed +msgid "Search Criteria Completed" +msgstr "已完成搜索條件" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_sick_leave +msgid "Sick Time Off" +msgstr "病假" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/models/hr_contract.py:0 +#, python-format +msgid "" +"Sorry, generating work entries from cancelled contracts is not allowed." +msgstr "抱歉,不允許從取消的合約中生成工作條目。" + +#. module: hr_work_entry_contract +#. odoo-python +#: code:addons/hr_work_entry_contract/wizard/hr_work_entry_regeneration_wizard.py:0 +#, python-format +msgid "" +"The from date must be >= '%(earliest_available_date)s' and the to date must " +"be <= '%(latest_available_date)s', which correspond to the generated work " +"entries time interval." +msgstr "" +"起始日期必須 >= '%(earliest_available_date)s',結束日期必須為 <= " +"'%(latest_available_date)s',它們對應於生成的工時紀錄時間間隔。" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_contract_view_form_inherit +msgid "This work entry cannot be validated. The work entry type is undefined." +msgstr "無法驗證此工時紀錄。工時紀錄類型未定義。" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_type__is_leave +msgid "Time Off" +msgstr "休假" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__date_to +msgid "To" +msgstr "至" + +#. module: hr_work_entry_contract +#: model:hr.work.entry.type,name:hr_work_entry_contract.work_entry_type_unpaid_leave +msgid "Unpaid" +msgstr "無薪假" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__valid +msgid "Valid" +msgstr "有效" + +#. module: hr_work_entry_contract +#: model_terms:ir.ui.view,arch_db:hr_work_entry_contract.hr_work_entry_regeneration_wizard +msgid "Work Entries" +msgstr "工作分錄" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry_regeneration_wizard__validated_work_entry_ids +msgid "Work Entries Within Interval" +msgstr "間隔內的工時紀錄" + +#. module: hr_work_entry_contract +#: model:ir.actions.act_window,name:hr_work_entry_contract.hr_work_entry_regeneration_wizard_action +msgid "Work Entry Regeneration" +msgstr "工時紀錄重建" + +#. module: hr_work_entry_contract +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_contract__work_entry_source +#: model:ir.model.fields,field_description:hr_work_entry_contract.field_hr_work_entry__work_entry_source +msgid "Work Entry Source" +msgstr "工作記錄來源" + +#. module: hr_work_entry_contract +#: model:ir.model.fields.selection,name:hr_work_entry_contract.selection__hr_contract__work_entry_source__calendar +msgid "Working Schedule" +msgstr "工作安排" diff --git a/models/__init__.py b/models/__init__.py new file mode 100644 index 0000000..d6b6d6d --- /dev/null +++ b/models/__init__.py @@ -0,0 +1,8 @@ +# -*- coding:utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import hr_contract +from . import hr_employee +from . import hr_work_entry +from . import hr_work_intervals +from . import resource_calendar diff --git a/models/hr_contract.py b/models/hr_contract.py new file mode 100644 index 0000000..e14c1da --- /dev/null +++ b/models/hr_contract.py @@ -0,0 +1,493 @@ +# -*- coding:utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import itertools +from collections import defaultdict +from datetime import datetime, date, time +import pytz + +from dateutil.relativedelta import relativedelta + +from odoo import api, fields, models, _ +from odoo.addons.resource.models.utils import string_to_datetime, Intervals +from odoo.osv import expression +from odoo.tools import ormcache +from odoo.exceptions import UserError + + +class HrContract(models.Model): + _inherit = 'hr.contract' + _description = 'Employee Contract' + + date_generated_from = fields.Datetime(string='Generated From', readonly=True, required=True, + default=lambda self: datetime.now().replace(hour=0, minute=0, second=0, microsecond=0), copy=False) + date_generated_to = fields.Datetime(string='Generated To', readonly=True, required=True, + default=lambda self: datetime.now().replace(hour=0, minute=0, second=0, microsecond=0), copy=False) + last_generation_date = fields.Date(string='Last Generation Date', readonly=True) + work_entry_source = fields.Selection([('calendar', 'Working Schedule')], required=True, default='calendar', help=''' + Defines the source for work entries generation + + Working Schedule: Work entries will be generated from the working hours below. + Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app) + Planning: Work entries will be generated from the employee's planning. (requires Planning app) + ''' + ) + + @ormcache('self.structure_type_id') + def _get_default_work_entry_type_id(self): + attendance = self.env.ref('hr_work_entry.work_entry_type_attendance', raise_if_not_found=False) + return attendance.id if attendance else False + + def _get_leave_work_entry_type_dates(self, leave, date_from, date_to, employee): + return self._get_leave_work_entry_type(leave) + + def _get_leave_work_entry_type(self, leave): + return leave.work_entry_type_id + + # Is used to add more values, for example planning_slot_id + def _get_more_vals_attendance_interval(self, interval): + return [] + + # Is used to add more values, for example leave_id (in hr_work_entry_holidays) + def _get_more_vals_leave_interval(self, interval, leaves): + return [] + + def _get_bypassing_work_entry_type_codes(self): + return [] + + def _get_interval_leave_work_entry_type(self, interval, leaves, bypassing_codes): + # returns the work entry time related to the leave that + # includes the whole interval. + # Overriden in hr_work_entry_contract_holiday to select the + # global time off first (eg: Public Holiday > Home Working) + self.ensure_one() + for leave in leaves: + if interval[0] >= leave[0] and interval[1] <= leave[1] and leave[2]: + interval_start = interval[0].astimezone(pytz.utc).replace(tzinfo=None) + interval_stop = interval[1].astimezone(pytz.utc).replace(tzinfo=None) + return self._get_leave_work_entry_type_dates(leave[2], interval_start, interval_stop, self.employee_id) + return self.env.ref('hr_work_entry_contract.work_entry_type_leave') + + def _get_sub_leave_domain(self): + return [('calendar_id', 'in', [False] + self.resource_calendar_id.ids)] + + def _get_leave_domain(self, start_dt, end_dt): + domain = [ + ('resource_id', 'in', [False] + self.employee_id.resource_id.ids), + ('date_from', '<=', end_dt), + ('date_to', '>=', start_dt), + ('company_id', 'in', [False, self.company_id.id]), + ] + return expression.AND([domain, self._get_sub_leave_domain()]) + + def _get_resource_calendar_leaves(self, start_dt, end_dt): + return self.env['resource.calendar.leaves'].search(self._get_leave_domain(start_dt, end_dt)) + + def _get_attendance_intervals(self, start_dt, end_dt): + # {resource: intervals} + employees_by_calendar = defaultdict(lambda: self.env['hr.employee']) + for contract in self: + if contract.work_entry_source != 'calendar': + continue + employees_by_calendar[contract.resource_calendar_id] |= contract.employee_id + result = dict() + for calendar, employees in employees_by_calendar.items(): + result.update(calendar._attendance_intervals_batch( + start_dt, + end_dt, + resources=employees.resource_id, + tz=pytz.timezone(calendar.tz) + )) + return result + + def _get_lunch_intervals(self, start_dt, end_dt): + # {resource: intervals} + employees_by_calendar = defaultdict(lambda: self.env['hr.employee']) + for contract in self: + employees_by_calendar[contract.resource_calendar_id] |= contract.employee_id + result = {} + for calendar, employees in employees_by_calendar.items(): + result.update(calendar._attendance_intervals_batch( + start_dt, + end_dt, + resources=employees.resource_id, + tz=pytz.timezone(calendar.tz), + lunch=True, + )) + return result + + def _get_interval_work_entry_type(self, interval): + self.ensure_one() + if 'work_entry_type_id' in interval[2] and interval[2].work_entry_type_id[:1]: + return interval[2].work_entry_type_id[:1] + return self.env['hr.work.entry.type'].browse(self._get_default_work_entry_type_id()) + + def _get_valid_leave_intervals(self, attendances, interval): + self.ensure_one() + return [interval] + + def _get_contract_work_entries_values(self, date_start, date_stop): + start_dt = pytz.utc.localize(date_start) if not date_start.tzinfo else date_start + end_dt = pytz.utc.localize(date_stop) if not date_stop.tzinfo else date_stop + contract_vals = [] + bypassing_work_entry_type_codes = self._get_bypassing_work_entry_type_codes() + + attendances_by_resource = self._get_attendance_intervals(start_dt, end_dt) + + resource_calendar_leaves = self._get_resource_calendar_leaves(start_dt, end_dt) + # {resource: resource_calendar_leaves} + leaves_by_resource = defaultdict(lambda: self.env['resource.calendar.leaves']) + for leave in resource_calendar_leaves: + leaves_by_resource[leave.resource_id.id] |= leave + + tz_dates = {} + for contract in self: + employee = contract.employee_id + calendar = contract.resource_calendar_id + resource = employee.resource_id + tz = pytz.timezone(calendar.tz) + + attendances = attendances_by_resource[resource.id] + + # Other calendars: In case the employee has declared time off in another calendar + # Example: Take a time off, then a credit time. + resources_list = [self.env['resource.resource'], resource] + result = defaultdict(lambda: []) + for leave in itertools.chain(leaves_by_resource[False], leaves_by_resource[resource.id]): + for resource in resources_list: + # Global time off is not for this calendar, can happen with multiple calendars in self + if resource and leave.calendar_id and leave.calendar_id != calendar and not leave.resource_id: + continue + tz = tz if tz else pytz.timezone((resource or contract).tz) + if (tz, start_dt) in tz_dates: + start = tz_dates[(tz, start_dt)] + else: + start = start_dt.astimezone(tz) + tz_dates[(tz, start_dt)] = start + if (tz, end_dt) in tz_dates: + end = tz_dates[(tz, end_dt)] + else: + end = end_dt.astimezone(tz) + tz_dates[(tz, end_dt)] = end + dt0 = string_to_datetime(leave.date_from).astimezone(tz) + dt1 = string_to_datetime(leave.date_to).astimezone(tz) + leave_start_dt = max(start, dt0) + leave_end_dt = min(end, dt1) + leave_interval = (leave_start_dt, leave_end_dt, leave) + leave_interval = contract._get_valid_leave_intervals(attendances, leave_interval) + if leave_interval: + result[resource.id] += leave_interval + mapped_leaves = {r.id: Intervals(result[r.id]) for r in resources_list} + leaves = mapped_leaves[resource.id] + + real_attendances = attendances - leaves + if contract.has_static_work_entries() or not leaves: + # Empty leaves means empty real_leaves + real_leaves = attendances - real_attendances + else: + # In the case of attendance based contracts use regular attendances to generate leave intervals + static_attendances = calendar._attendance_intervals_batch( + start_dt, end_dt, resources=resource, tz=tz)[resource.id] + real_leaves = static_attendances & leaves + + if not contract.has_static_work_entries(): + # An attendance based contract might have an invalid planning, by definition it may not happen with + # static work entries. + # Creating overlapping slots for example might lead to a single work entry. + # In that case we still create both work entries to indicate a problem (conflicting W E). + split_attendances = [] + for attendance in real_attendances: + if attendance[2] and len(attendance[2]) > 1: + split_attendances += [(attendance[0], attendance[1], a) for a in attendance[2]] + else: + split_attendances += [attendance] + real_attendances = split_attendances + + # A leave period can be linked to several resource.calendar.leave + split_leaves = [] + for leave_interval in leaves: + if leave_interval[2] and len(leave_interval[2]) > 1: + split_leaves += [(leave_interval[0], leave_interval[1], l) for l in leave_interval[2]] + else: + split_leaves += [(leave_interval[0], leave_interval[1], leave_interval[2])] + leaves = split_leaves + + # Attendances + for interval in real_attendances: + work_entry_type = contract._get_interval_work_entry_type(interval) + # All benefits generated here are using datetimes converted from the employee's timezone + contract_vals += [dict([ + ('name', "%s: %s" % (work_entry_type.name, employee.name)), + ('date_start', interval[0].astimezone(pytz.utc).replace(tzinfo=None)), + ('date_stop', interval[1].astimezone(pytz.utc).replace(tzinfo=None)), + ('work_entry_type_id', work_entry_type.id), + ('employee_id', employee.id), + ('contract_id', contract.id), + ('company_id', contract.company_id.id), + ('state', 'draft'), + ] + contract._get_more_vals_attendance_interval(interval))] + + for interval in real_leaves: + # Could happen when a leave is configured on the interface on a day for which the + # employee is not supposed to work, i.e. no attendance_ids on the calendar. + # In that case, do try to generate an empty work entry, as this would raise a + # sql constraint error + if interval[0] == interval[1]: # if start == stop + continue + leave_entry_type = contract._get_interval_leave_work_entry_type(interval, leaves, bypassing_work_entry_type_codes) + interval_leaves = [leave for leave in leaves if leave[2].work_entry_type_id.id == leave_entry_type.id] + interval_start = interval[0].astimezone(pytz.utc).replace(tzinfo=None) + interval_stop = interval[1].astimezone(pytz.utc).replace(tzinfo=None) + contract_vals += [dict([ + ('name', "%s%s" % (leave_entry_type.name + ": " if leave_entry_type else "", employee.name)), + ('date_start', interval_start), + ('date_stop', interval_stop), + ('work_entry_type_id', leave_entry_type.id), + ('employee_id', employee.id), + ('company_id', contract.company_id.id), + ('state', 'draft'), + ('contract_id', contract.id), + ] + contract._get_more_vals_leave_interval(interval, interval_leaves))] + return contract_vals + + def _get_work_entries_values(self, date_start, date_stop): + """ + Generate a work_entries list between date_start and date_stop for one contract. + :return: list of dictionnary. + """ + if isinstance(date_start, datetime): + contract_vals = self._get_contract_work_entries_values(date_start, date_stop) + else: + contract_vals = [] + contracts_by_tz = defaultdict(lambda: self.env['hr.contract']) + for contract in self: + contracts_by_tz[contract.resource_calendar_id.tz] += contract + for contract_tz, contracts in contracts_by_tz.items(): + tz = pytz.timezone(contract_tz) if contract_tz else pytz.utc + contract_vals += contracts._get_contract_work_entries_values( + tz.localize(date_start), + tz.localize(date_stop)) + + # {contract_id: ([dates_start], [dates_stop])} + mapped_contract_dates = defaultdict(lambda: ([], [])) + for x in contract_vals: + mapped_contract_dates[x['contract_id']][0].append(x['date_start']) + mapped_contract_dates[x['contract_id']][1].append(x['date_stop']) + + for contract in self: + # If we generate work_entries which exceeds date_start or date_stop, we change boundaries on contract + if contract_vals: + #Handle empty work entries for certain contracts, could happen on an attendance based contract + #NOTE: this does not handle date_stop or date_start not being present in vals + dates_stop = mapped_contract_dates[contract.id][1] + if dates_stop: + date_stop_max = max(dates_stop) + if date_stop_max > contract.date_generated_to: + contract.date_generated_to = date_stop_max + + dates_start = mapped_contract_dates[contract.id][0] + if dates_start: + date_start_min = min(dates_start) + if date_start_min < contract.date_generated_from: + contract.date_generated_from = date_start_min + + return contract_vals + + def has_static_work_entries(self): + # Static work entries as in the same are to be generated each month + # Useful to differentiate attendance based contracts from regular ones + self.ensure_one() + return self.work_entry_source == 'calendar' + + def generate_work_entries(self, date_start, date_stop, force=False): + # Generate work entries between 2 dates (datetime.date) + # To correctly englobe the period, the start and end periods are converted + # using the calendar timezone. + assert not isinstance(date_start, datetime) + assert not isinstance(date_stop, datetime) + + date_start = datetime.combine(fields.Datetime.to_datetime(date_start), datetime.min.time()) + date_stop = datetime.combine(fields.Datetime.to_datetime(date_stop), datetime.max.time()) + + contracts_by_company_tz = defaultdict(lambda: self.env['hr.contract']) + for contract in self: + contracts_by_company_tz[( + contract.company_id, + (contract.resource_calendar_id or contract.employee_id.resource_calendar_id).tz + )] += contract + utc = pytz.timezone('UTC') + new_work_entries = self.env['hr.work.entry'] + for (company, contract_tz), contracts in contracts_by_company_tz.items(): + tz = pytz.timezone(contract_tz) if contract_tz else pytz.utc + date_start_tz = tz.localize(date_start).astimezone(utc).replace(tzinfo=None) + date_stop_tz = tz.localize(date_stop).astimezone(utc).replace(tzinfo=None) + new_work_entries += contracts.with_company(company).sudo()._generate_work_entries( + date_start_tz, date_stop_tz, force=force) + return new_work_entries + + def _generate_work_entries(self, date_start, date_stop, force=False): + # Generate work entries between 2 dates (datetime.datetime) + # This method considers that the dates are correctly localized + # based on the target timezone + assert isinstance(date_start, datetime) + assert isinstance(date_stop, datetime) + self = self.with_context(tracking_disable=True) + canceled_contracts = self.filtered(lambda c: c.state == 'cancel') + if canceled_contracts: + raise UserError( + _("Sorry, generating work entries from cancelled contracts is not allowed.") + '\n%s' % ( + ', '.join(canceled_contracts.mapped('name')))) + vals_list = [] + self.write({'last_generation_date': fields.Date.today()}) + + intervals_to_generate = defaultdict(lambda: self.env['hr.contract']) + # In case the date_generated_from == date_generated_to, move it to the date_start to + # avoid trying to generate several months/years of history for old contracts for which + # we've never generated the work entries. + self.filtered(lambda c: c.date_generated_from == c.date_generated_to).write({ + 'date_generated_from': date_start, + 'date_generated_to': date_start, + }) + utc = pytz.timezone('UTC') + for contract in self: + contract_tz = (contract.resource_calendar_id or contract.employee_id.resource_calendar_id).tz + tz = pytz.timezone(contract_tz) if contract_tz else pytz.utc + contract_start = tz.localize(fields.Datetime.to_datetime(contract.date_start)).astimezone(utc).replace(tzinfo=None) + contract_stop = datetime.combine(fields.Datetime.to_datetime(contract.date_end or datetime.max.date()), + datetime.max.time()) + if contract.date_end: + contract_stop = tz.localize(contract_stop).astimezone(utc).replace(tzinfo=None) + if date_start > contract_stop or date_stop < contract_start: + continue + date_start_work_entries = max(date_start, contract_start) + date_stop_work_entries = min(date_stop, contract_stop) + if force: + intervals_to_generate[(date_start_work_entries, date_stop_work_entries)] |= contract + continue + + # For each contract, we found each interval we must generate + # In some cases we do not want to set the generated dates beforehand, since attendance based work entries + # is more dynamic, we want to update the dates within the _get_work_entries_values function + is_static_work_entries = contract.has_static_work_entries() + last_generated_from = min(contract.date_generated_from, contract_stop) + if last_generated_from > date_start_work_entries: + if is_static_work_entries: + contract.date_generated_from = date_start_work_entries + intervals_to_generate[(date_start_work_entries, last_generated_from)] |= contract + + last_generated_to = max(contract.date_generated_to, contract_start) + if last_generated_to < date_stop_work_entries: + if is_static_work_entries: + contract.date_generated_to = date_stop_work_entries + intervals_to_generate[(last_generated_to, date_stop_work_entries)] |= contract + + for interval, contracts in intervals_to_generate.items(): + date_from, date_to = interval + vals_list.extend(contracts._get_work_entries_values(date_from, date_to)) + + if not vals_list: + return self.env['hr.work.entry'] + + return self.env['hr.work.entry'].create(vals_list) + + def _remove_work_entries(self): + ''' Remove all work_entries that are outside contract period (function used after writing new start or/and end date) ''' + all_we_to_unlink = self.env['hr.work.entry'] + for contract in self: + date_start = fields.Datetime.to_datetime(contract.date_start) + if contract.date_generated_from < date_start: + we_to_remove = self.env['hr.work.entry'].search([('date_stop', '<=', date_start), ('contract_id', '=', contract.id)]) + if we_to_remove: + contract.date_generated_from = date_start + all_we_to_unlink |= we_to_remove + if not contract.date_end: + continue + date_end = datetime.combine(contract.date_end, datetime.max.time()) + if contract.date_generated_to > date_end: + we_to_remove = self.env['hr.work.entry'].search([('date_start', '>=', date_end), ('contract_id', '=', contract.id)]) + if we_to_remove: + contract.date_generated_to = date_end + all_we_to_unlink |= we_to_remove + all_we_to_unlink.unlink() + + def _cancel_work_entries(self): + if not self: + return + domain = [('state', '!=', 'validated')] + for contract in self: + date_start = fields.Datetime.to_datetime(contract.date_start) + contract_domain = [ + ('contract_id', '=', contract.id), + ('date_start', '>=', date_start), + ] + if contract.date_end: + date_end = datetime.combine(contract.date_end, datetime.max.time()) + contract_domain += [('date_stop', '<=', date_end)] + domain = expression.AND([domain, contract_domain]) + work_entries = self.env['hr.work.entry'].sudo().search(domain) + if work_entries: + work_entries.sudo().unlink() + + def write(self, vals): + result = super(HrContract, self).write(vals) + if vals.get('date_end') or vals.get('date_start'): + self.sudo()._remove_work_entries() + if vals.get('state') in ['draft', 'cancel']: + self._cancel_work_entries() + dependendant_fields = self._get_fields_that_recompute_we() + salary_simulation = self.env.context.get('salary_simulation') + if not salary_simulation and any(key in dependendant_fields for key in vals.keys()): + for contract in self: + date_from = max(contract.date_start, contract.date_generated_from.date()) + date_to = min(contract.date_end or date.max, contract.date_generated_to.date()) + if date_from != date_to and self.employee_id: + contract._recompute_work_entries(date_from, date_to) + return result + + def _recompute_work_entries(self, date_from, date_to): + self.ensure_one() + if self.employee_id: + wizard = self.env['hr.work.entry.regeneration.wizard'].create({ + 'employee_ids': [(4, self.employee_id.id)], + 'date_from': date_from, + 'date_to': date_to, + }) + wizard.with_context(work_entry_skip_validation=True).regenerate_work_entries() + + def _get_fields_that_recompute_we(self): + # Returns the fields that should recompute the work entries + return ['resource_calendar_id', 'work_entry_source'] + + @api.model + def _cron_generate_missing_work_entries(self): + # retrieve contracts for the current month + today = fields.Date.today() + start = datetime.combine(today + relativedelta(day=1), time.min) + stop = datetime.combine(today + relativedelta(months=1, day=31), time.max) + all_contracts = self.env['hr.employee']._get_all_contracts( + start, stop, states=['open', 'close']) + # determine contracts to do (the ones whose generated dates have open periods this month) + contracts_todo = all_contracts.filtered(lambda c:\ + (c.date_generated_from > start or c.date_generated_to < stop) and\ + (not c.last_generation_date or c.last_generation_date < today)) + if not contracts_todo: + return + countract_todo_count = len(contracts_todo) + # Filter contracts by company, work entries generation is not supposed to be called on + # contracts from differents companies, as we will retrieve the resource.calendar.leave + # and we don't want to mix everything up. The other contracts will be treated when the + # cron is re-triggered + contracts_todo = contracts_todo.filtered(lambda c: c.company_id == contracts_todo[0].company_id) + # generate a batch of work entries + BATCH_SIZE = 100 + # Since attendance based are more volatile for their work entries generation + # it can happen that the date_generated_from and date_generated_to fields are not + # pushed to start and stop + # It is more interesting for batching to process statically generated work entries first + # since we get benefits from having multiple contracts on the same calendar + contracts_todo = contracts_todo.sorted(key=lambda c: 1 if c.has_static_work_entries() else 100) + contracts_todo = contracts_todo[:BATCH_SIZE].generate_work_entries( + start.date(), stop.date(), False) + # if necessary, retrigger the cron to generate more work entries + if countract_todo_count > BATCH_SIZE: + self.env.ref('hr_work_entry_contract.ir_cron_generate_missing_work_entries')._trigger() diff --git a/models/hr_employee.py b/models/hr_employee.py new file mode 100644 index 0000000..8c8400e --- /dev/null +++ b/models/hr_employee.py @@ -0,0 +1,19 @@ +# -*- coding:utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models + + +class HrEmployee(models.Model): + _inherit = 'hr.employee' + + def generate_work_entries(self, date_start, date_stop, force=False): + date_start = fields.Date.to_date(date_start) + date_stop = fields.Date.to_date(date_stop) + + if self: + current_contracts = self._get_contracts(date_start, date_stop, states=['open', 'close']) + else: + current_contracts = self._get_all_contracts(date_start, date_stop, states=['open', 'close']) + + return current_contracts.generate_work_entries(date_start, date_stop, force=force) diff --git a/models/hr_work_entry.py b/models/hr_work_entry.py new file mode 100644 index 0000000..d972f9f --- /dev/null +++ b/models/hr_work_entry.py @@ -0,0 +1,188 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import pytz + +from collections import defaultdict +from itertools import chain + +from odoo import api, fields, models, _ +from odoo.exceptions import ValidationError +from odoo.addons.hr_work_entry_contract.models.hr_work_intervals import WorkIntervals + + +class HrWorkEntry(models.Model): + _inherit = 'hr.work.entry' + + contract_id = fields.Many2one('hr.contract', string="Contract", required=True) + employee_id = fields.Many2one(domain=[('contract_ids.state', 'in', ('open', 'pending'))]) + work_entry_source = fields.Selection(related='contract_id.work_entry_source') + + def init(self): + # FROM 7s by query to 2ms (with 2.6 millions entries) + self.env.cr.execute(""" + CREATE INDEX IF NOT EXISTS hr_work_entry_contract_date_start_stop_idx + ON hr_work_entry(contract_id, date_start, date_stop) + WHERE state in ('draft', 'validated'); + """) + + def _init_column(self, column_name): + if column_name != 'contract_id': + super()._init_column(column_name) + else: + self.env.cr.execute(""" + UPDATE hr_work_entry AS _hwe + SET contract_id = result.contract_id + FROM ( + SELECT + hc.id AS contract_id, + array_agg(hwe.id) AS entry_ids + FROM + hr_work_entry AS hwe + LEFT JOIN + hr_contract AS hc + ON + hwe.employee_id=hc.employee_id AND + hc.state in ('open', 'close') AND + hwe.date_start >= hc.date_start AND + hwe.date_stop < COALESCE(hc.date_end + integer '1', '9999-12-31 23:59:59') + WHERE + hwe.contract_id IS NULL + GROUP BY + hwe.employee_id, hc.id + ) AS result + WHERE _hwe.id = ANY(result.entry_ids) + """) + + def _get_duration_is_valid(self): + return self.work_entry_type_id and self.work_entry_type_id.is_leave + + @api.onchange('employee_id', 'date_start', 'date_stop') + def _onchange_contract_id(self): + vals = { + 'employee_id': self.employee_id.id, + 'date_start': self.date_start, + 'date_stop': self.date_stop, + } + try: + res = self._set_current_contract(vals) + except ValidationError: + return + if res.get('contract_id'): + self.contract_id = res.get('contract_id') + + @api.depends('date_start', 'duration') + def _compute_date_stop(self): + for work_entry in self: + if work_entry._get_duration_is_valid(): + calendar = work_entry.contract_id.resource_calendar_id + if not calendar: + continue + work_entry.date_stop = calendar.plan_hours(work_entry.duration, work_entry.date_start, compute_leaves=True) + continue + super(HrWorkEntry, work_entry)._compute_date_stop() + + def _is_duration_computed_from_calendar(self): + self.ensure_one() + return self._get_duration_is_valid() + + def _get_duration_batch(self): + super_work_entries = self.env['hr.work.entry'] + result = {} + # {(date_start, date_stop): {calendar: employees}} + mapped_periods = defaultdict(lambda: defaultdict(lambda: self.env['hr.employee'])) + for work_entry in self: + if not work_entry.date_start or not work_entry.date_stop or not work_entry._is_duration_computed_from_calendar() or not work_entry.employee_id: + super_work_entries |= work_entry + continue + date_start = work_entry.date_start + date_stop = work_entry.date_stop + calendar = work_entry.contract_id.resource_calendar_id + if not calendar: + result[work_entry.id] = 0.0 + continue + employee = work_entry.contract_id.employee_id + mapped_periods[(date_start, date_stop)][calendar] |= employee + + # {(date_start, date_stop): {calendar: {'hours': foo}}} + mapped_contract_data = defaultdict(lambda: defaultdict(lambda: {'hours': 0.0})) + for (date_start, date_stop), employees_by_calendar in mapped_periods.items(): + for calendar, employees in employees_by_calendar.items(): + mapped_contract_data[(date_start, date_stop)][calendar] = employees._get_work_days_data_batch( + date_start, date_stop, compute_leaves=False, calendar=calendar) + result = super(HrWorkEntry, super_work_entries)._get_duration_batch() + for work_entry in self - super_work_entries: + date_start = work_entry.date_start + date_stop = work_entry.date_stop + calendar = work_entry.contract_id.resource_calendar_id + employee = work_entry.contract_id.employee_id + result[work_entry.id] = mapped_contract_data[(date_start, date_stop)][calendar][employee.id]['hours'] + return result + + @api.model + def _set_current_contract(self, vals): + if not vals.get('contract_id') and vals.get('date_start') and vals.get('date_stop') and vals.get('employee_id'): + contract_start = fields.Datetime.to_datetime(vals.get('date_start')).date() + contract_end = fields.Datetime.to_datetime(vals.get('date_stop')).date() + employee = self.env['hr.employee'].browse(vals.get('employee_id')) + contracts = employee._get_contracts(contract_start, contract_end, states=['open', 'pending', 'close']) + if not contracts: + raise ValidationError(_("%s does not have a contract from %s to %s.", employee.name, contract_start, contract_end)) + elif len(contracts) > 1: + raise ValidationError(_("%s has multiple contracts from %s to %s. A work entry cannot overlap multiple contracts.", + employee.name, contract_start, contract_end)) + return dict(vals, contract_id=contracts[0].id) + return vals + + @api.model_create_multi + def create(self, vals_list): + vals_list = [self._set_current_contract(vals) for vals in vals_list] + work_entries = super().create(vals_list) + return work_entries + + def _check_if_error(self): + res = super()._check_if_error() + outside_calendar = self._mark_leaves_outside_schedule() + return res or outside_calendar + + def _get_leaves_entries_outside_schedule(self): + return self.filtered(lambda w: w.work_entry_type_id.is_leave and w.state not in ('validated', 'cancelled')) + + def _mark_leaves_outside_schedule(self): + """ + Check leave work entries in `self` which are completely outside + the contract's theoretical calendar schedule. Mark them as conflicting. + :return: leave work entries completely outside the contract's calendar + """ + work_entries = self._get_leaves_entries_outside_schedule() + entries_by_calendar = defaultdict(lambda: self.env['hr.work.entry']) + for work_entry in work_entries: + calendar = work_entry.contract_id.resource_calendar_id + entries_by_calendar[calendar] |= work_entry + + outside_entries = self.env['hr.work.entry'] + for calendar, entries in entries_by_calendar.items(): + datetime_start = min(entries.mapped('date_start')) + datetime_stop = max(entries.mapped('date_stop')) + + calendar_intervals = calendar._attendance_intervals_batch(pytz.utc.localize(datetime_start), pytz.utc.localize(datetime_stop))[False] + entries_intervals = entries._to_intervals() + overlapping_entries = self._from_intervals(entries_intervals & calendar_intervals) + outside_entries |= entries - overlapping_entries + outside_entries.write({'state': 'conflict'}) + return bool(outside_entries) + + def _to_intervals(self): + return WorkIntervals((w.date_start.replace(tzinfo=pytz.utc), w.date_stop.replace(tzinfo=pytz.utc), w) for w in self) + + @api.model + def _from_intervals(self, intervals): + return self.browse(chain.from_iterable(recs.ids for start, end, recs in intervals)) + + +class HrWorkEntryType(models.Model): + _inherit = 'hr.work.entry.type' + _description = 'HR Work Entry Type' + + is_leave = fields.Boolean( + default=False, string="Time Off", help="Allow the work entry type to be linked with time off types.") diff --git a/models/hr_work_intervals.py b/models/hr_work_intervals.py new file mode 100644 index 0000000..5a934f9 --- /dev/null +++ b/models/hr_work_intervals.py @@ -0,0 +1,97 @@ +# -*- coding:utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from itertools import chain + + +def _boundaries(intervals, opening, closing): + """ Iterate on the boundaries of intervals. """ + for start, stop, recs in intervals: + if start < stop: + yield (start, opening, recs) + yield (stop, closing, recs) + + +class WorkIntervals(object): + """ + This class is a modified copy of the ``Intervals`` class in the resource module. + A generic solution to handle intervals should probably be developped the day a similar + class is needed elsewhere. + + This implementation differs from the resource implementation in its management + of two continuous intervals. Here, continuous intervals are not merged together + while they are merged in resource. + e.g.: + In resource: (1, 4, rec1) and (4, 10, rec2) are merged into (1, 10, rec1 | rec2) + Here: they remain two different intervals. + To implement this behaviour, the main implementation change is the way boundaries are sorted. + """ + def __init__(self, intervals=()): + self._items = [] + if intervals: + # normalize the representation of intervals + append = self._items.append + starts = [] + recses = [] + for value, flag, recs in sorted(_boundaries(sorted(intervals), 'start', 'stop'), key=lambda i: i[0]): + if flag == 'start': + starts.append(value) + recses.append(recs) + else: + start = starts.pop() + if not starts: + append((start, value, recses[0].union(*recses))) + recses.clear() + + def __bool__(self): + return bool(self._items) + + def __len__(self): + return len(self._items) + + def __iter__(self): + return iter(self._items) + + def __reversed__(self): + return reversed(self._items) + + def __or__(self, other): + """ Return the union of two sets of intervals. """ + return WorkIntervals(chain(self._items, other._items)) + + def __and__(self, other): + """ Return the intersection of two sets of intervals. """ + return self._merge(other, False) + + def __sub__(self, other): + """ Return the difference of two sets of intervals. """ + return self._merge(other, True) + + def _merge(self, other, difference): + """ Return the difference or intersection of two sets of intervals. """ + result = WorkIntervals() + append = result._items.append + + # using 'self' and 'other' below forces normalization + bounds1 = _boundaries(sorted(self), 'start', 'stop') + bounds2 = _boundaries(sorted(other), 'switch', 'switch') + + start = None # set by start/stop + recs1 = None # set by start + enabled = difference # changed by switch + for value, flag, recs in sorted(chain(bounds1, bounds2), key=lambda i: i[0]): + if flag == 'start': + start = value + recs1 = recs + elif flag == 'stop': + if enabled and start < value: + append((start, value, recs1)) + start = None + else: + if not enabled and start is not None: + start = value + if enabled and start is not None and start < value: + append((start, value, recs1)) + enabled = not enabled + + return result diff --git a/models/resource_calendar.py b/models/resource_calendar.py new file mode 100644 index 0000000..a848780 --- /dev/null +++ b/models/resource_calendar.py @@ -0,0 +1,9 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import models + +class ResourceCalendar(models.Model): + _inherit = 'resource.calendar' + + def _get_global_attendances(self): + return super()._get_global_attendances().filtered(lambda a: not a.work_entry_type_id.is_leave) diff --git a/security/hr_work_entry_security.xml b/security/hr_work_entry_security.xml new file mode 100644 index 0000000..6f2c3b2 --- /dev/null +++ b/security/hr_work_entry_security.xml @@ -0,0 +1,10 @@ + + + + + HR Work Entry Contract: Multi Company + + ['|', ('company_id', '=', False), ('company_id', 'in', company_ids)] + + + diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv new file mode 100644 index 0000000..8e8561d --- /dev/null +++ b/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_hr_work_entry_regeneration_wizard,access_hr_work_entry_regeneration_wizard,model_hr_work_entry_regeneration_wizard,hr.group_hr_manager,1,1,1,1 \ No newline at end of file diff --git a/static/description/icon.png b/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f076bcfc93557664f5ae9117b317f10d0ba56bb9 GIT binary patch literal 1376 zcmV-m1)utfP)&eM8WDo4}v6uo>WA{Y^{jdlUT5X zdQuGeR;6)AaQ2zI{KxL$hG(ocFu$=jT2zIR7Cc_rA~f z^Zh3RLI@#*5JCtcgb+dqA%qYsoAuu>Y&tr(EvD3Cwog3@WfenYl3EC)xLw_{IuY9q zrCx+EMfvHi6Gm*VUDwMd2%~Iz<5Y%(!Gd*H`*d+2?(2o%K-pPyb|VBEwq;vY5NuEn zk>0_G4Z(^8!i*mtl%s#^rwV=8l4l`&6A%t1*SC?FLU#mc8%>~HKL%&uIacL&vkD#& z4gqi8?RSDm#aBZK95^5MQZULhf$S=@(Xigu)sb2l^CB_mP!c%UABP7hPYhYl=^z?P ze7GJoyuDm%W3_&NpqGCr?3=n%8P^%cVifAG!sY)Qx3La{dIk+s=|Z8<&*aQM_|Avm z>eZKO^^jABbfIDEwd_&UHMW8)wiQy8pMxiNq%VwlHC18ct_p%Hwt+lUQw%p)dXn~R zT?M$}8_3r6a7#_)?cj=SARF&k1Gf~d%>h?z195YlFU*%fM2gr3(mx!5TgE4&;EHV^ z7caRNNY@{i!Ihn7C&1CMvjcDg?WBHljOU$>0y_q~+&2r3n!oIXD-_>A*81W)kSv~o z&^Z6ouY*Xp&yIGx+MkxAHaHEt#23TX0M8Sg7n<7A+JMI*Q8ayg5*$$mc~&CX)N2FN z&iKU*y^@&)u(Z^O?1Q%%+K zwmbIe%GiJC47j1ns1HpcWF-%7oj~XV3gu4!9PY`AVnzo;2c?sW$E=uo$;8wwHkaok z6j<5|W=s!xdp|nPDh!(0-s_KIN9Zq9>*ss%skHS$-CoaJa>%(Y7n`5BA7$GsQ~LhF za~IID|1csWqo>`a%M~eN6G*9^(wb=Ci%pDNL3hVln8YTKExJ04 z(!Jy7LqEba7J*Q87#*s#&ci2+R|jDcNUBG&ZkZUqg43V>01k`?LY0w;?U1XXFplg# z$mY1$_&TIugSjyNJbww_?)!q(B?#kzlvJnx4?F*tZs622Xqe)55yE&Nt1{WlRdQ>tr#Lx)$Ss1aA(d`E*X{VQ9vA44v!8<=$cRo&4Ro zv*iWG18J^*3*sMg$$=ROgc%8h5#36Ekw6%+EG2<3qEsTjM*`tN={VkNXld;8_RYnW zf&PihnE>K%&?izMW;vA+P_YM|X=!v;u6`K1#d-r%Rv(aP)lYnDL(A(O5JCtcgb+dq iA%qY@2qA>Hf&2|~#)z@Z;;c~s0000 diff --git a/static/src/views/work_entry_calendar/work_entry_calendar.xml b/static/src/views/work_entry_calendar/work_entry_calendar.xml new file mode 100644 index 0000000..fa00b83 --- /dev/null +++ b/static/src/views/work_entry_calendar/work_entry_calendar.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/static/src/views/work_entry_calendar/work_entry_calendar_controller.js b/static/src/views/work_entry_calendar/work_entry_calendar_controller.js new file mode 100644 index 0000000..f3d9849 --- /dev/null +++ b/static/src/views/work_entry_calendar/work_entry_calendar_controller.js @@ -0,0 +1,32 @@ +/** @odoo-module **/ + +import { registry } from "@web/core/registry"; +import { CalendarController } from '@web/views/calendar/calendar_controller'; +import { WorkEntryCalendarModel } from "@hr_work_entry_contract/views/work_entry_calendar/work_entry_calendar_model"; +import { calendarView } from "@web/views/calendar/calendar_view"; +import { useWorkEntry } from "@hr_work_entry_contract/views/work_entry_hook"; + +export class WorkEntryCalendarController extends CalendarController { + setup() { + super.setup(...arguments); + const { onRegenerateWorkEntries } = useWorkEntry({ + getEmployeeIds: this.getEmployeeIds.bind(this), + getRange: this.model.computeRange.bind(this.model), + onClose: this.model.load.bind(this.model) + }); + this.onRegenerateWorkEntries = onRegenerateWorkEntries; + } + + getEmployeeIds() { + return [...new Set(Object.values(this.model.records).map(rec => rec.rawRecord.employee_id[0]))]; + } +} + +export const WorkEntryCalendarView = { + ...calendarView, + Controller: WorkEntryCalendarController, + Model: WorkEntryCalendarModel, + buttonTemplate: "hr_work_entry_contract.calendar.controlButtons", +} + +registry.category("views").add("work_entries_calendar", WorkEntryCalendarView); diff --git a/static/src/views/work_entry_calendar/work_entry_calendar_model.js b/static/src/views/work_entry_calendar/work_entry_calendar_model.js new file mode 100644 index 0000000..496c0d0 --- /dev/null +++ b/static/src/views/work_entry_calendar/work_entry_calendar_model.js @@ -0,0 +1,39 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { CalendarModel } from "@web/views/calendar/calendar_model"; +import { useWorkEntry } from "@hr_work_entry_contract/views/work_entry_hook"; + +const { DateTime } = luxon; + +export class WorkEntryCalendarModel extends CalendarModel { + setup() { + super.setup(...arguments); + const { generateWorkEntries } = useWorkEntry({ getRange: this.computeRange.bind(this) }); + this.generateWorkEntries = generateWorkEntries; + } + + computeRange() { + const { scale, date } = this.meta; + const start = date.startOf(scale); + const end = date.endOf(scale); + return { start, end }; + } + + makeFilterAll() { + return { + ...super.makeFilterAll(...arguments), + label: _t("Everybody's work entries"), + active: true, + }; + } + + async updateData(data) { + const { start } = this.computeRange(); + const shouldGenerateWorkEntries = start <= DateTime.now(); + if (shouldGenerateWorkEntries) { + await this.generateWorkEntries(); + } + await super.updateData(data); + } +} diff --git a/static/src/views/work_entry_hook.js b/static/src/views/work_entry_hook.js new file mode 100644 index 0000000..b5df837 --- /dev/null +++ b/static/src/views/work_entry_hook.js @@ -0,0 +1,30 @@ +/** @odoo-module **/ + +import { serializeDate } from "@web/core/l10n/dates"; +import { useService } from "@web/core/utils/hooks"; + +export function useWorkEntry({ getEmployeeIds, getRange, onClose}) { + const orm = useService("orm"); + const action = useService("action"); + + return { + onRegenerateWorkEntries: () => { + const { start, end } = getRange(); + action.doAction('hr_work_entry_contract.hr_work_entry_regeneration_wizard_action', { + additionalContext: { + default_employee_ids: getEmployeeIds(), + date_start: serializeDate(start), + date_end: serializeDate(end), + }, onClose: onClose + }); + }, + generateWorkEntries: () => { + const { start, end } = getRange(); + return orm.call( + 'hr.employee', + 'generate_work_entries', + [[], serializeDate(start), serializeDate(end)] + ); + }, + } +} diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..1fea796 --- /dev/null +++ b/tests/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import test_global_time_off +from . import test_work_entry +from . import test_work_intervals diff --git a/tests/common.py b/tests/common.py new file mode 100644 index 0000000..2f6b812 --- /dev/null +++ b/tests/common.py @@ -0,0 +1,78 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from dateutil.relativedelta import relativedelta +from odoo.fields import Date +from odoo.tests.common import TransactionCase + + +class TestWorkEntryBase(TransactionCase): + + @classmethod + def setUpClass(cls): + super(TestWorkEntryBase, cls).setUpClass() + + cls.env.user.tz = 'Europe/Brussels' + cls.env.ref('resource.resource_calendar_std').tz = 'Europe/Brussels' + + cls.dep_rd = cls.env['hr.department'].create({ + 'name': 'Research & Development - Test', + }) + + # I create a new employee "Richard" + cls.richard_emp = cls.env['hr.employee'].create({ + 'name': 'Richard', + 'gender': 'male', + 'birthday': '1984-05-01', + 'country_id': cls.env.ref('base.be').id, + 'department_id': cls.dep_rd.id, + }) + + # I create a contract for "Richard" + cls.env['hr.contract'].create({ + 'date_end': Date.today() + relativedelta(years=2), + 'date_start': Date.to_date('2018-01-01'), + 'name': 'Contract for Richard', + 'wage': 5000.0, + 'employee_id': cls.richard_emp.id, + }) + + cls.work_entry_type = cls.env['hr.work.entry.type'].create({ + 'name': 'Extra attendance', + 'is_leave': False, + 'code': 'WORKTEST200', + }) + + cls.work_entry_type_unpaid = cls.env['hr.work.entry.type'].create({ + 'name': 'Unpaid Time Off', + 'is_leave': True, + 'code': 'LEAVETEST300', + }) + + cls.work_entry_type_leave = cls.env['hr.work.entry.type'].create({ + 'name': 'Time Off', + 'is_leave': True, + 'code': 'LEAVETEST100' + }) + + def create_work_entry(self, start, stop, work_entry_type=None): + work_entry_type = work_entry_type or self.work_entry_type + return self.create_work_entries([(start, stop, work_entry_type)]) + + def create_work_entries(self, intervals): + default_work_entry_type = self.work_entry_type + create_vals = [] + for interval in intervals: + start = interval[0] + stop = interval[1] + work_entry_type = interval[2] if len(interval) == 3\ + else default_work_entry_type + create_vals.append({ + 'contract_id': self.richard_emp.contract_ids[0].id, + 'name': 'Work entry %s-%s' % (start, stop), + 'date_start': start, + 'date_stop': stop, + 'employee_id': self.richard_emp.id, + 'work_entry_type_id': work_entry_type.id, + }) + return self.env['hr.work.entry'].create(create_vals) diff --git a/tests/test_global_time_off.py b/tests/test_global_time_off.py new file mode 100644 index 0000000..52a8bb6 --- /dev/null +++ b/tests/test_global_time_off.py @@ -0,0 +1,53 @@ +# # -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from .common import TestWorkEntryBase + +from datetime import datetime + +from odoo.tests import tagged + +@tagged('-at_install', 'post_install') +class TestGlobalTimeOff(TestWorkEntryBase): + + def test_gto_other_calendar(self): + # Tests that a global time off in another calendar does not affect work entry generation + # for other calendars + other_calendar = self.env['resource.calendar'].create({ + 'name': 'other calendar', + }) + start = datetime(2018, 1, 1, 0, 0, 0) + end = datetime(2018, 1, 1, 23, 59, 59) + leave = self.env['resource.calendar.leaves'].create({ + 'date_from': start, + 'date_to': end, + 'calendar_id': other_calendar.id, + 'work_entry_type_id': self.work_entry_type_leave.id, + }) + contract = self.richard_emp.contract_ids + contract.state = 'open' + contract.date_generated_from = start + contract.date_generated_to = start + work_entries = contract.generate_work_entries(start.date(), end.date()) + self.assertEqual(work_entries.work_entry_type_id.id, contract._get_default_work_entry_type_id()) + work_entries.unlink() + contract.date_generated_from = start + contract.date_generated_to = start + leave.calendar_id = contract.resource_calendar_id + work_entries = contract.generate_work_entries(start.date(), end.date()) + self.assertEqual(work_entries.work_entry_type_id, leave.work_entry_type_id) + + def test_gto_no_calendar(self): + start = datetime(2018, 1, 1, 0, 0, 0) + end = datetime(2018, 1, 1, 23, 59, 59) + leave = self.env['resource.calendar.leaves'].create({ + 'date_from': start, + 'date_to': end, + 'work_entry_type_id': self.work_entry_type_leave.id, + }) + contract = self.richard_emp.contract_ids + contract.state = 'open' + contract.date_generated_from = start + contract.date_generated_to = start + work_entries = contract.generate_work_entries(start.date(), end.date()) + self.assertEqual(work_entries.work_entry_type_id, leave.work_entry_type_id) diff --git a/tests/test_work_entry.py b/tests/test_work_entry.py new file mode 100644 index 0000000..a5e6089 --- /dev/null +++ b/tests/test_work_entry.py @@ -0,0 +1,244 @@ +# # -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from datetime import datetime +from dateutil.relativedelta import relativedelta +from psycopg2 import IntegrityError +import pytz + +from odoo.tests.common import tagged +from odoo.tools import mute_logger +from odoo.addons.hr_work_entry_contract.tests.common import TestWorkEntryBase + + +@tagged('work_entry') +class TestWorkEntry(TestWorkEntryBase): + + @classmethod + def setUpClass(cls): + super(TestWorkEntry, cls).setUpClass() + cls.tz = pytz.timezone(cls.richard_emp.tz) + cls.start = datetime(2015, 11, 1, 1, 0, 0) + cls.end = datetime(2015, 11, 30, 23, 59, 59) + cls.resource_calendar_id = cls.env['resource.calendar'].create({'name': 'My Calendar'}) + contract = cls.env['hr.contract'].create({ + 'date_start': cls.start.date() - relativedelta(days=5), + 'name': 'dodo', + 'resource_calendar_id': cls.resource_calendar_id.id, + 'wage': 1000, + 'employee_id': cls.richard_emp.id, + 'state': 'open', + 'date_generated_from': cls.end.date() + relativedelta(days=5), + }) + cls.richard_emp.resource_calendar_id = cls.resource_calendar_id + cls.richard_emp.contract_id = contract + + def test_no_duplicate(self): + self.richard_emp.generate_work_entries(self.start, self.end) + pou1 = self.env['hr.work.entry'].search_count([]) + self.richard_emp.generate_work_entries(self.start, self.end) + pou2 = self.env['hr.work.entry'].search_count([]) + self.assertEqual(pou1, pou2, "Work entries should not be duplicated") + + def test_work_entry(self): + self.richard_emp.generate_work_entries(self.start, self.end) + attendance_nb = len(self.resource_calendar_id._attendance_intervals_batch(self.start.replace(tzinfo=pytz.utc), self.end.replace(tzinfo=pytz.utc))[False]) + work_entry_nb = self.env['hr.work.entry'].search_count([ + ('employee_id', '=', self.richard_emp.id), + ('date_start', '>=', self.start), + ('date_stop', '<=', self.end)]) + self.assertEqual(attendance_nb, work_entry_nb, "One work_entry should be generated for each calendar attendance") + + def test_approve_multiple_day_work_entry(self): + start = datetime(2015, 11, 1, 9, 0, 0) + end = datetime(2015, 11, 3, 18, 0, 0) + + work_entry = self.env['hr.work.entry'].create({ + 'name': '1', + 'employee_id': self.richard_emp.id, + 'contract_id': self.richard_emp.contract_id.id, + 'date_start': start, + 'date_stop': end, + 'work_entry_type_id': self.work_entry_type.id, + }) + work_entry.action_validate() + work_entries = self.env['hr.work.entry'].search([('employee_id', '=', self.richard_emp.id)]) + self.assertTrue(all((b.state == 'validated' for b in work_entries)), "Work entries should be approved") + + def test_validate_conflict_work_entry(self): + start = datetime(2015, 11, 1, 9, 0, 0) + end = datetime(2015, 11, 1, 13, 0, 0) + work_entry1 = self.env['hr.work.entry'].create({ + 'name': '1', + 'employee_id': self.richard_emp.id, + 'work_entry_type_id': self.env.ref('hr_work_entry.work_entry_type_attendance').id, + 'contract_id': self.richard_emp.contract_id.id, + 'date_start': start, + 'date_stop': end + relativedelta(hours=5), + }) + self.env['hr.work.entry'].create({ + 'name': '2', + 'employee_id': self.richard_emp.id, + 'work_entry_type_id': self.env.ref('hr_work_entry.work_entry_type_attendance').id, + 'contract_id': self.richard_emp.contract_id.id, + 'date_start': start + relativedelta(hours=3), + 'date_stop': end, + }) + self.assertFalse(work_entry1.action_validate(), "It should not validate work_entries conflicting with others") + self.assertEqual(work_entry1.state, 'conflict') + self.assertNotEqual(work_entry1.state, 'validated') + + def test_validate_undefined_work_entry(self): + work_entry1 = self.env['hr.work.entry'].create({ + 'name': '1', + 'employee_id': self.richard_emp.id, + 'contract_id': self.richard_emp.contract_id.id, + 'date_start': self.start, + 'date_stop': self.end, + }) + work_entry1.work_entry_type_id = False + self.assertFalse(work_entry1.action_validate(), "It should not validate work_entries without a type") + self.assertEqual(work_entry1.state, 'conflict', "It should change to conflict state") + work_entry1.work_entry_type_id = self.work_entry_type + self.assertTrue(work_entry1.action_validate(), "It should validate work_entries") + + def test_outside_calendar(self): + """ Test leave work entries outside schedule are conflicting """ + # Outside but not a leave + # work_entry_1 = self.create_work_entry(datetime(2018, 10, 10, 3, 0), datetime(2018, 10, 10, 4, 0)) + # # Outside and a leave + # work_entry_2 = self.create_work_entry(datetime(2018, 10, 10, 1, 0), datetime(2018, 10, 10, 2, 0), work_entry_type=self.work_entry_type_leave) + # # Overlapping and a leave + # work_entry_3 = self.create_work_entry(datetime(2018, 10, 10, 7, 0), datetime(2018, 10, 10, 10, 0), work_entry_type=self.work_entry_type_leave) + # # Overlapping and not a leave + # work_entry_4 = self.create_work_entry(datetime(2018, 10, 10, 11, 0), datetime(2018, 10, 10, 13, 0)) + work_entry_1, work_entry_2, work_entry_3, work_entry_4 = self.create_work_entries([ + # Outside but not a leave + (datetime(2018, 10, 10, 3, 0), datetime(2018, 10, 10, 4, 0)), + # Outside and a leave + (datetime(2018, 10, 10, 1, 0), datetime(2018, 10, 10, 2, 0), self.work_entry_type_leave), + # Overlapping and a leave + (datetime(2018, 10, 10, 7, 0), datetime(2018, 10, 10, 10, 0), self.work_entry_type_leave), + # Overlapping and not a leave + (datetime(2018, 10, 10, 11, 0), datetime(2018, 10, 10, 13, 0)), + ]) + (work_entry_1 | work_entry_2 | work_entry_3 | work_entry_4)._mark_leaves_outside_schedule() + self.assertEqual(work_entry_2.state, 'conflict', "It should conflict") + self.assertNotEqual(work_entry_1.state, 'conflict', "It should not conflict") + self.assertNotEqual(work_entry_3.state, 'conflict', "It should not conflict") + self.assertNotEqual(work_entry_4.state, 'conflict', "It should not conflict") + + def test_write_conflict(self): + """ Test updating work entries dates recomputes conflicts """ + # work_entry_1 = self.create_work_entry(datetime(2018, 10, 10, 9, 0), datetime(2018, 10, 10, 12, 0)) + # work_entry_2 = self.create_work_entry(datetime(2018, 10, 10, 12, 0), datetime(2018, 10, 10, 18, 0)) + work_entry_1, work_entry_2 = self.create_work_entries([ + (datetime(2018, 10, 10, 9, 0), datetime(2018, 10, 10, 12, 0)), + (datetime(2018, 10, 10, 12, 0), datetime(2018, 10, 10, 18, 0)), + ]) + self.assertNotEqual(work_entry_1.state, 'conflict', "It should not conflict") + self.assertNotEqual(work_entry_2.state, 'conflict', "It should not conflict") + work_entry_1.date_stop = datetime(2018, 10, 10, 14, 0) + self.assertEqual(work_entry_1.state, 'conflict', "It should conflict") + self.assertEqual(work_entry_2.state, 'conflict', "It should conflict") + + work_entry_1.date_stop = datetime(2018, 10, 10, 12, 0) # cancel conflict + self.assertNotEqual(work_entry_1.state, 'conflict', "It should no longer conflict") + self.assertNotEqual(work_entry_2.state, 'conflict', "It should no longer conflict") + + def test_write_move(self): + """ Test completely moving a work entry recomputes conflicts """ + # work_entry_1 = self.create_work_entry(datetime(2018, 10, 10, 9, 0), datetime(2018, 10, 10, 12, 0)) + # work_entry_2 = self.create_work_entry(datetime(2018, 10, 18, 9, 0), datetime(2018, 10, 18, 12, 0)) + # work_entry_3 = self.create_work_entry(datetime(2018, 10, 18, 10, 0), datetime(2018, 10, 18, 12, 0)) + work_entry_1, work_entry_2, work_entry_3 = self.create_work_entries([ + (datetime(2018, 10, 10, 9, 0), datetime(2018, 10, 10, 12, 0)), + (datetime(2018, 10, 18, 9, 0), datetime(2018, 10, 18, 12, 0)), + (datetime(2018, 10, 18, 10, 0), datetime(2018, 10, 18, 12, 0)), + ]) + work_entry_2.write({ + 'date_start': datetime(2018, 10, 10, 9, 0), + 'date_stop': datetime(2018, 10, 10, 10, 0), + }) + self.assertEqual(work_entry_1.state, 'conflict') + self.assertEqual(work_entry_2.state, 'conflict') + self.assertNotEqual(work_entry_3.state, 'conflict') + + def test_create_conflict(self): + """ Test creating a work entry recomputes conflicts """ + work_entry_1 = self.create_work_entry(datetime(2018, 10, 10, 9, 0), datetime(2018, 10, 10, 12, 0)) + self.assertNotEqual(work_entry_1.state, 'conflict', "It should not conflict") + work_entry_2 = self.create_work_entry(datetime(2018, 10, 10, 10, 0), datetime(2018, 10, 10, 18, 0)) + self.assertEqual(work_entry_1.state, 'conflict', "It should conflict") + self.assertEqual(work_entry_2.state, 'conflict', "It should conflict") + + def test_unarchive_conflict(self): + """ Test archive/unarchive a work entry recomputes conflicts """ + # work_entry_1 = self.create_work_entry(datetime(2018, 10, 10, 9, 0), datetime(2018, 10, 10, 12, 0)) + # work_entry_2 = self.create_work_entry(datetime(2018, 10, 10, 10, 0), datetime(2018, 10, 10, 18, 0)) + work_entry_1, work_entry_2 = self.create_work_entries([ + (datetime(2018, 10, 10, 9, 0), datetime(2018, 10, 10, 12, 0)), + (datetime(2018, 10, 10, 10, 0), datetime(2018, 10, 10, 18, 0)), + ]) + work_entry_2.active = False + self.assertNotEqual(work_entry_1.state, 'conflict', "It should not conflict") + self.assertEqual(work_entry_2.state, 'cancelled', "It should be cancelled") + work_entry_2.active = True + self.assertEqual(work_entry_1.state, 'conflict', "It should conflict") + self.assertEqual(work_entry_2.state, 'conflict', "It should conflict") + + def test_validated_no_conflict(self): + """ Test validating a work entry removes the conflict """ + work_entry_1 = self.create_work_entry(datetime(2018, 10, 10, 9, 0), datetime(2018, 10, 10, 12, 0)) + work_entry_1.state = 'validated' + work_entry_2 = self.create_work_entry(datetime(2018, 10, 10, 10, 0), datetime(2018, 10, 10, 18, 0)) + self.assertEqual(work_entry_1.state, 'conflict', "It should not conflict") + self.assertEqual(work_entry_2.state, 'conflict', "It should conflict") + + def test_no_overlap_sql_constraint(self): + """ Test _work_entries_no_validated_conflict sql constrains """ + work_entry_1 = self.create_work_entry(datetime(2018, 10, 10, 9, 0), datetime(2018, 10, 10, 12, 0)) + work_entry_1.state = 'validated' + work_entry_2 = self.create_work_entry(datetime(2018, 10, 10, 8, 0), datetime(2018, 10, 10, 10, 0)) + self.assertEqual(work_entry_1.state, 'conflict') + + with mute_logger('odoo.sql_db'): + with self.assertRaises(IntegrityError): + with self.cr.savepoint(): + (work_entry_1 + work_entry_2).write({'state': 'validated'}) + + def test_work_entry_timezone(self): + """ Test work entries with different timezone """ + hk_resource_calendar_id = self.env['resource.calendar'].create({ + 'name': 'HK Calendar', + 'tz': 'Asia/Hong_Kong', + 'hours_per_day': 8, + 'attendance_ids': [(5, 0, 0), + (0, 0, {'name': 'Monday Morning', 'dayofweek': '0', 'hour_from': 7, 'hour_to': 11, 'day_period': 'morning'}), + (0, 0, {'name': 'Monday Afternoon', 'dayofweek': '0', 'hour_from': 13, 'hour_to': 17, 'day_period': 'afternoon'}), + (0, 0, {'name': 'Tuesday Morning', 'dayofweek': '1', 'hour_from': 7, 'hour_to': 11, 'day_period': 'morning'}), + (0, 0, {'name': 'Tuesday Afternoon', 'dayofweek': '1', 'hour_from': 13, 'hour_to': 17, 'day_period': 'afternoon'}), + (0, 0, {'name': 'Wednesday Morning', 'dayofweek': '2', 'hour_from': 7, 'hour_to': 11, 'day_period': 'morning'}), + (0, 0, {'name': 'Wednesday Afternoon', 'dayofweek': '2', 'hour_from': 13, 'hour_to': 17, 'day_period': 'afternoon'}), + (0, 0, {'name': 'Thursday Morning', 'dayofweek': '3', 'hour_from': 7, 'hour_to': 11, 'day_period': 'morning'}), + (0, 0, {'name': 'Thursday Afternoon', 'dayofweek': '3', 'hour_from': 13, 'hour_to': 17, 'day_period': 'afternoon'}), + (0, 0, {'name': 'Friday Morning', 'dayofweek': '4', 'hour_from': 7, 'hour_to': 11, 'day_period': 'morning'}), + (0, 0, {'name': 'Friday Afternoon', 'dayofweek': '4', 'hour_from': 13, 'hour_to': 17, 'day_period': 'afternoon'}) + ] + }) + hk_employee = self.env['hr.employee'].create({ + 'name': 'HK Employee', + 'resource_calendar_id': hk_resource_calendar_id.id, + }) + self.env.company.resource_calendar_id = hk_resource_calendar_id + self.env['hr.contract'].create({ + 'date_start': datetime(2023, 8, 1), + 'name': 'Test Contract', + 'resource_calendar_id': hk_resource_calendar_id.id, + 'wage': 1000, + 'employee_id': hk_employee.id, + 'state': 'open', + }) + hk_employee.generate_work_entries(datetime(2023, 8, 1), datetime(2023, 8, 1)) + work_entries = self.env['hr.work.entry'].search([('employee_id', '=', hk_employee.id)]) + self.assertEqual(work_entries[0].date_start, datetime(2023, 7, 31, 23, 0)) diff --git a/tests/test_work_intervals.py b/tests/test_work_intervals.py new file mode 100644 index 0000000..70543c2 --- /dev/null +++ b/tests/test_work_intervals.py @@ -0,0 +1,70 @@ +from odoo.addons.hr_work_entry_contract.models.hr_work_intervals import WorkIntervals +from odoo.tests.common import TransactionCase + + +class TestIntervals(TransactionCase): + + def ints(self, pairs): + recs = self.env['base'] + return [(a, b, recs) for a, b in pairs] + + def test_union(self): + def check(a, b): + a, b = self.ints(a), self.ints(b) + self.assertEqual(list(WorkIntervals(a)), b) + + check([(1, 2), (3, 4)], [(1, 2), (3, 4)]) + check([(1, 2), (2, 4)], [(1, 2), (2, 4)]) + check([(1, 3), (2, 4)], [(1, 4)]) + check([(1, 4), (2, 3)], [(1, 4)]) + check([(1, 4), (1, 4)], [(1, 4)]) + check([(3, 4), (1, 2)], [(1, 2), (3, 4)]) + check([(2, 4), (1, 2)], [(1, 2), (2, 4)]) + check([(2, 4), (1, 3)], [(1, 4)]) + check([(2, 3), (1, 4)], [(1, 4)]) + + def test_intersection(self): + def check(a, b, c): + a, b, c = self.ints(a), self.ints(b), self.ints(c) + self.assertEqual(list(WorkIntervals(a) & WorkIntervals(b)), c) + + check([(10, 20)], [(5, 8)], []) + check([(10, 20)], [(5, 10)], []) + check([(10, 20)], [(5, 15)], [(10, 15)]) + check([(10, 20)], [(5, 20)], [(10, 20)]) + check([(10, 20)], [(5, 25)], [(10, 20)]) + check([(10, 20)], [(10, 15)], [(10, 15)]) + check([(10, 20)], [(10, 20)], [(10, 20)]) + check([(10, 20)], [(10, 25)], [(10, 20)]) + check([(10, 20)], [(15, 18)], [(15, 18)]) + check([(10, 20)], [(15, 20)], [(15, 20)]) + check([(10, 20)], [(15, 25)], [(15, 20)]) + check([(10, 20)], [(20, 25)], []) + check( + [(0, 5), (10, 15), (20, 25), (30, 35)], + [(6, 7), (9, 12), (13, 17), (22, 23), (24, 40)], + [(10, 12), (13, 15), (22, 23), (24, 25), (30, 35)], + ) + + def test_difference(self): + def check(a, b, c): + a, b, c = self.ints(a), self.ints(b), self.ints(c) + self.assertEqual(list(WorkIntervals(a) - WorkIntervals(b)), c) + + check([(10, 20)], [(5, 8)], [(10, 20)]) + check([(10, 20)], [(5, 10)], [(10, 20)]) + check([(10, 20)], [(5, 15)], [(15, 20)]) + check([(10, 20)], [(5, 20)], []) + check([(10, 20)], [(5, 25)], []) + check([(10, 20)], [(10, 15)], [(15, 20)]) + check([(10, 20)], [(10, 20)], []) + check([(10, 20)], [(10, 25)], []) + check([(10, 20)], [(15, 18)], [(10, 15), (18, 20)]) + check([(10, 20)], [(15, 20)], [(10, 15)]) + check([(10, 20)], [(15, 25)], [(10, 15)]) + check([(10, 20)], [(20, 25)], [(10, 20)]) + check( + [(0, 5), (10, 15), (20, 25), (30, 35)], + [(6, 7), (9, 12), (13, 17), (22, 23), (24, 40)], + [(0, 5), (12, 13), (20, 22), (23, 24)], + ) diff --git a/views/hr_contract_views.xml b/views/hr_contract_views.xml new file mode 100644 index 0000000..97fb055 --- /dev/null +++ b/views/hr_contract_views.xml @@ -0,0 +1,14 @@ + + + + hr.contract.view.form.inherit.work.entry + hr.contract + + + + + + + + + diff --git a/views/hr_work_entry_views.xml b/views/hr_work_entry_views.xml new file mode 100644 index 0000000..bcddd29 --- /dev/null +++ b/views/hr_work_entry_views.xml @@ -0,0 +1,40 @@ + + + + hr.work.entry.contract.view.calendar.inherit + hr.work.entry + + + + work_entries_calendar + + + + + + hr.work.entry.contract.view.form.inherit + hr.work.entry + + + +
+ +
+
+
+
+ + + hr.work.entry.type.contract.view.form.inherit + hr.work.entry.type + + + + + + + + +
diff --git a/wizard/__init__.py b/wizard/__init__.py new file mode 100644 index 0000000..51aaddc --- /dev/null +++ b/wizard/__init__.py @@ -0,0 +1,4 @@ +# -*- coding:utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import hr_work_entry_regeneration_wizard diff --git a/wizard/hr_work_entry_regeneration_wizard.py b/wizard/hr_work_entry_regeneration_wizard.py new file mode 100644 index 0000000..62e48f7 --- /dev/null +++ b/wizard/hr_work_entry_regeneration_wizard.py @@ -0,0 +1,113 @@ +# -*- coding:utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models, _ +from odoo.exceptions import ValidationError + +from dateutil.relativedelta import relativedelta + +class HrWorkEntryRegenerationWizard(models.TransientModel): + _name = 'hr.work.entry.regeneration.wizard' + _description = 'Regenerate Employee Work Entries' + + earliest_available_date = fields.Date('Earliest date', compute='_compute_earliest_available_date') + earliest_available_date_message = fields.Char(readonly=True, store=False, default='') + latest_available_date = fields.Date('Latest date', compute='_compute_latest_available_date') + latest_available_date_message = fields.Char(readonly=True, store=False, default='') + date_from = fields.Date('From', required=True, default=lambda self: self.env.context.get('date_start')) + date_to = fields.Date('To', required=True, compute='_compute_date_to', store=True, + readonly=False, default=lambda self: self.env.context.get('date_end')) + employee_ids = fields.Many2many('hr.employee', string='Employees', required=True) + validated_work_entry_ids = fields.Many2many('hr.work.entry', string='Work Entries Within Interval', + compute='_compute_validated_work_entry_ids') + search_criteria_completed = fields.Boolean(compute='_compute_search_criteria_completed') + valid = fields.Boolean(compute='_compute_valid') + + @api.depends('date_from') + def _compute_date_to(self): + for wizard in self: + wizard.date_to = wizard.date_from and wizard.date_from + relativedelta(months=+1, day=1, days=-1) + + @api.depends('employee_ids') + def _compute_earliest_available_date(self): + for wizard in self: + dates = wizard.employee_ids.contract_ids.mapped('date_generated_from') + wizard.earliest_available_date = min(dates) if dates else None + + @api.depends('employee_ids') + def _compute_latest_available_date(self): + for wizard in self: + dates = wizard.employee_ids.contract_ids.mapped('date_generated_to') + wizard.latest_available_date = max(dates) if dates else None + + @api.depends('date_from', 'date_to', 'employee_ids') + def _compute_validated_work_entry_ids(self): + for wizard in self: + validated_work_entry_ids = self.env['hr.work.entry'] + if wizard.search_criteria_completed: + search_domain = [('employee_id', 'in', wizard.employee_ids.ids), + ('date_start', '>=', wizard.date_from), + ('date_stop', '<=', wizard.date_to), + ('state', '=', 'validated')] + validated_work_entry_ids = self.env['hr.work.entry'].search(search_domain, order="date_start") + wizard.validated_work_entry_ids = validated_work_entry_ids + + @api.depends('validated_work_entry_ids') + def _compute_valid(self): + for wizard in self: + wizard.valid = wizard.search_criteria_completed and len(wizard.validated_work_entry_ids) == 0 + + @api.depends('date_from', 'date_to', 'employee_ids') + def _compute_search_criteria_completed(self): + for wizard in self: + wizard.search_criteria_completed = wizard.date_from and wizard.date_to and wizard.employee_ids and wizard.earliest_available_date and wizard.latest_available_date + + @api.onchange('date_from', 'date_to', 'employee_ids') + def _check_dates(self): + for wizard in self: + wizard.earliest_available_date_message = '' + wizard.latest_available_date_message = '' + if wizard.search_criteria_completed: + if wizard.date_from > wizard.date_to: + date_from = wizard.date_from + wizard.date_from = wizard.date_to + wizard.date_to = date_from + if wizard.earliest_available_date and wizard.date_from < wizard.earliest_available_date: + wizard.date_from = wizard.earliest_available_date + wizard.earliest_available_date_message = 'The earliest available date is {date}' \ + .format(date=self._date_to_string(wizard.earliest_available_date)) + if wizard.latest_available_date and wizard.date_to > wizard.latest_available_date: + wizard.date_to = wizard.latest_available_date + wizard.latest_available_date_message = 'The latest available date is {date}' \ + .format(date=self._date_to_string(wizard.latest_available_date)) + + @api.model + def _date_to_string(self, date): + if not date: + return '' + user_date_format = self.env['res.lang']._lang_get(self.env.user.lang).date_format + return date.strftime(user_date_format) + + def _work_entry_fields_to_nullify(self): + return ['active'] + + def regenerate_work_entries(self): + self.ensure_one() + if not self.env.context.get('work_entry_skip_validation'): + if not self.valid: + raise ValidationError(_("In order to regenerate the work entries, you need to provide the wizard with an employee_id, a date_from and a date_to. In addition to that, the time interval defined by date_from and date_to must not contain any validated work entries.")) + + if self.date_from < self.earliest_available_date or self.date_to > self.latest_available_date: + raise ValidationError(_("The from date must be >= '%(earliest_available_date)s' and the to date must be <= '%(latest_available_date)s', which correspond to the generated work entries time interval.", earliest_available_date=self._date_to_string(self.earliest_available_date), latest_available_date=self._date_to_string(self.latest_available_date))) + + date_from = max(self.date_from, self.earliest_available_date) if self.earliest_available_date else self.date_from + date_to = min(self.date_to, self.latest_available_date) if self.latest_available_date else self.date_to + work_entries = self.env['hr.work.entry'].search([ + ('employee_id', 'in', self.employee_ids.ids), + ('date_stop', '>=', date_from), + ('date_start', '<=', date_to), + ('state', '!=', 'validated')]) + + write_vals = {field: False for field in self._work_entry_fields_to_nullify()} + work_entries.write(write_vals) + self.employee_ids.generate_work_entries(date_from, date_to, True) diff --git a/wizard/hr_work_entry_regeneration_wizard_views.xml b/wizard/hr_work_entry_regeneration_wizard_views.xml new file mode 100644 index 0000000..89a3c10 --- /dev/null +++ b/wizard/hr_work_entry_regeneration_wizard_views.xml @@ -0,0 +1,71 @@ + + + + hr_work_entry_regeneration_wizard + hr.work.entry.regeneration.wizard + +
+ + + + +
+
+ + +
+ +
+ +
+
+ + +
+ +
+
+
+
+ Warning: The work entry regeneration will delete all manual changes on the selected period. +
+ + +
+
You are not allowed to regenerate validated work entries
+ + + + + + + + + +
+
+
+ +
+
+ + Work Entry Regeneration + hr.work.entry.regeneration.wizard + form + new + +