diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/ar.po b/odoo-bringout-oca-ocb-hr/hr/i18n/ar.po index 43b2c49..93d6ff0 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/ar.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/ar.po @@ -15,8 +15,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" -"PO-Revision-Date: 2026-03-06 17:44+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" +"PO-Revision-Date: 2026-03-16 14:31+0000\n" "Last-Translator: \"Malaz Siddig Elsayed Abuidris (msea)\" \n" "Language-Team: Arabic \n" "Language: ar\n" @@ -25,7 +25,7 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" -"X-Generator: Weblate 5.16.1\n" +"X-Generator: Weblate 5.16.2\n" #. module: hr #. odoo-python @@ -350,6 +350,13 @@ msgid "" "is_trusted_bank_account\" class=\"text-success\">Trusted\n" " " msgstr "" +"\n" +" غير موثوق به\n" +" موثوق به\n" +" " #. module: hr #: model_terms:ir.ui.view,arch_db:hr.res_config_settings_view_form @@ -428,12 +435,12 @@ msgstr "الوقت المحدد للإجابة< #. module: hr #: model_terms:ir.ui.view,arch_db:hr.view_employee_form msgid "to" -msgstr "" +msgstr "إلى" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.view_partner_bank_form_inherit_hr msgid "%" -msgstr "" +msgstr "%" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.view_employee_form @@ -442,11 +449,14 @@ msgid "" " (User is Inactive)\n" " " msgstr "" +"\n" +" (المستخدم غير نشط)\n" +" " #. module: hr #: model_terms:ir.ui.view,arch_db:hr.view_employee_form msgid "Contract Overview" -msgstr "" +msgstr "نظرة عامة على العقد" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.res_config_settings_view_form @@ -471,120 +481,120 @@ msgstr "" #. module: hr #: model_terms:hr.job,website_description:hr.job_trainee msgid "Adaptability" -msgstr "" +msgstr "القدرة على التكيف" #. module: hr #: model_terms:hr.job,website_description:hr.job_consultant #: model_terms:hr.job,website_description:hr.job_cto #: model_terms:hr.job,website_description:hr.job_marketing msgid "Administrative Work" -msgstr "" +msgstr "الأعمال الإدارية" #. module: hr #: model_terms:hr.job,website_description:hr.job_developer #: model_terms:hr.job,website_description:hr.job_marketing #: model_terms:hr.job,website_description:hr.job_trainee msgid "Autonomy" -msgstr "" +msgstr "الاستقلالية" #. module: hr #: model_terms:hr.job,website_description:hr.job_trainee msgid "Be enthusiastic" -msgstr "" +msgstr "كن متحمسًا" #. module: hr #: model_terms:hr.job,website_description:hr.job_developer msgid "Client Interaction" -msgstr "" +msgstr "التفاعل مع العملاء" #. module: hr #: model_terms:hr.job,website_description:hr.job_cto msgid "Collaboration" -msgstr "" +msgstr "التعاون" #. module: hr #: model_terms:hr.job,website_description:hr.job_hrm msgid "Compliance and Regulations" -msgstr "" +msgstr "الامتثال واللوائح" #. module: hr #: model_terms:hr.job,website_description:hr.job_hrm msgid "Conflict Resolution" -msgstr "" +msgstr "حل النزاعات" #. module: hr #: model_terms:hr.job,website_description:hr.job_consultant #: model_terms:hr.job,website_description:hr.job_marketing msgid "Customer Relationship" -msgstr "" +msgstr "علاقات العملاء" #. module: hr #: model_terms:hr.job,website_description:hr.job_cto msgid "Cybersecurity" -msgstr "" +msgstr "الأمن السيبراني" #. module: hr #: model_terms:hr.job,website_description:hr.job_hrm msgid "Diversity and Inclusion" -msgstr "" +msgstr "التنوع والشمول" #. module: hr #: model_terms:hr.job,website_description:hr.job_consultant msgid "Innovation" -msgstr "" +msgstr "الابتكار" #. module: hr #: model_terms:hr.job,website_description:hr.job_cto msgid "Leadership" -msgstr "" +msgstr "القيادة" #. module: hr #: model_terms:hr.job,website_description:hr.job_trainee msgid "Learning" -msgstr "" +msgstr "التعلم" #. module: hr #: model_terms:hr.job,website_description:hr.job_developer msgid "Management" -msgstr "" +msgstr "الإدارة" #. module: hr #: model_terms:hr.job,website_description:hr.job_consultant #: model_terms:hr.job,website_description:hr.job_marketing msgid "Personal Evolution" -msgstr "" +msgstr "التطور الشخصي" #. module: hr #: model_terms:hr.job,website_description:hr.job_trainee msgid "Problem-Solving" -msgstr "" +msgstr "حل المشكلات" #. module: hr #: model_terms:hr.job,website_description:hr.job_developer msgid "Problem-solving" -msgstr "" +msgstr "حل المشكلات" #. module: hr #: model_terms:hr.job,website_description:hr.job_developer msgid "Skill Development" -msgstr "" +msgstr "تنمية المهارات" #. module: hr #: model_terms:hr.job,website_description:hr.job_hrm msgid "Talent Acquisition" -msgstr "" +msgstr "استقطاب المواهب" #. module: hr #: model_terms:hr.job,website_description:hr.job_consultant #: model_terms:hr.job,website_description:hr.job_hrm #: model_terms:hr.job,website_description:hr.job_marketing msgid "Technical Expertise" -msgstr "" +msgstr "الخبرة الفنية" #. module: hr #: model_terms:hr.job,website_description:hr.job_cto msgid "Technology Strategy" -msgstr "" +msgstr "استراتيجية التكنولوجيا" #. module: hr #: model_terms:hr.job,description:hr.job_hrm @@ -840,12 +850,12 @@ msgstr "المخصصات" #: model:ir.model.fields,field_description:hr.field_hr_employee__allowed_country_state_ids #: model:ir.model.fields,field_description:hr.field_hr_version__allowed_country_state_ids msgid "Allowed Country State" -msgstr "" +msgstr "الدولة المسموح بها" #. module: hr #: model:ir.model.fields,field_description:hr.field_hr_job__allowed_user_ids msgid "Allowed User" -msgstr "" +msgstr "المستخدم المسموح به" #. module: hr #: model:ir.model.fields,field_description:hr.field_hr_bank_account_allocation_wizard_line__amount @@ -1225,7 +1235,7 @@ msgstr "عدد المرفقات" #: model_terms:ir.ui.view,arch_db:hr.res_users_view_form #: model_terms:ir.ui.view,arch_db:hr.res_users_view_form_preferences msgid "Attendance PIN" -msgstr "" +msgstr "رقم التعريف الشخصي للحضور" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.view_employee_form @@ -1316,22 +1326,22 @@ msgstr "الحساب البنكي" #: code:addons/hr/models/hr_employee.py:0 #: model_terms:ir.ui.view,arch_db:hr.view_bank_account_allocation_wizard msgid "Bank Account Allocation" -msgstr "" +msgstr "تخصيص الحساب المصرفي" #. module: hr #: model:ir.model,name:hr.model_hr_bank_account_allocation_wizard_line msgid "Bank Account Allocation Line (Wizard)" -msgstr "" +msgstr "بند تخصيص الحساب المصرفي (مُعالِج)" #. module: hr #: model:ir.model,name:hr.model_hr_bank_account_allocation_wizard msgid "Bank Account Allocation Wizard" -msgstr "" +msgstr "مُعالِج تخصيص الحساب المصرفي" #. module: hr #: model:ir.actions.act_window,name:hr.action_bank_account_allocation_wizard msgid "Bank Account Allocations" -msgstr "" +msgstr "تخصيصات الحسابات المصرفية" #. module: hr #: model:ir.model,name:hr.model_res_partner_bank @@ -1360,7 +1370,7 @@ msgstr "اسم البنك" #: code:addons/hr/wizard/hr_bank_account_wizard.py:0 msgid "" "Bank account %s not found within the salary distribution of the employee" -msgstr "" +msgstr "تعذر إيجاد الحساب البنكي %s ضمن توزيع راتب الموظف " #. module: hr #: model:ir.model,name:hr.model_base @@ -1413,7 +1423,7 @@ msgstr "يوم الميلاد" #. odoo-javascript #: code:addons/hr/static/src/fields/boolean_radio.js:0 msgid "Boolean display as radio field with translatable labels" -msgstr "" +msgstr "عرض منطقي كحقل راديو مع تسميات قابلة للترجمة" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.view_bank_account_allocation_wizard @@ -1425,7 +1435,7 @@ msgstr "إلغاء" #. odoo-python #: code:addons/hr/models/hr_version.py:0 msgid "Cannot archive all the active versions of an employee." -msgstr "" +msgstr "لا يمكن أرشفة جميع الإصدارات النشطة للموظف." #. module: hr #. odoo-python @@ -1433,13 +1443,13 @@ msgstr "" msgid "" "Cannot modify multiple versions contract dates with different contracts at " "once." -msgstr "" +msgstr "لا يمكن تعديل تواريخ عقود متعددة مع عقود مختلفة في وقت واحد." #. module: hr #. odoo-python #: code:addons/hr/models/hr_version.py:0 msgid "Cannot unassign all the active versions of an employee." -msgstr "" +msgstr "لا يمكن إلغاء تعيين جميع الإصدارات النشطة للموظف." #. module: hr #: model:ir.model.fields,field_description:hr.field_hr_employee__certificate @@ -2170,7 +2180,7 @@ msgstr "المستند" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.view_employee_form msgid "Documents" -msgstr "" +msgstr "المستندات " #. module: hr #: model:ir.model.fields,field_description:hr.field_hr_employee__driving_license @@ -2181,7 +2191,7 @@ msgstr "رخصة القيادة" #. odoo-python #: code:addons/hr/models/hr_employee.py:0 msgid "Each amount percentage must be a number between 0 and 100." -msgstr "" +msgstr "يجب أن تكون كل نسبة مئوية رقماً بين 0 و 100." #. module: hr #: model_terms:hr.job,website_description:hr.job_consultant @@ -2302,7 +2312,7 @@ msgstr "الموظف" #. odoo-python #: code:addons/hr/models/hr_version.py:0 msgid "Employee %s must always have at least one active version." -msgstr "" +msgstr "يجب أن تكون لدى الموظف %s دائمًا نسخة واحدة على الأقل نشطة." #. module: hr #: model:ir.model,name:hr.model_hr_employee_category @@ -2344,13 +2354,13 @@ msgstr "خصائص الموظف" #: model_terms:ir.ui.view,arch_db:hr.hr_version_graph_view #: model_terms:ir.ui.view,arch_db:hr.hr_version_pivot_view msgid "Employee Records" -msgstr "" +msgstr "سجلات الموظفين" #. module: hr #: model:ir.model.fields,field_description:hr.field_account_setup_bank_manual_config__employee_salary_amount_is_percentage #: model:ir.model.fields,field_description:hr.field_res_partner_bank__employee_salary_amount_is_percentage msgid "Employee Salary Amount Is Percentage" -msgstr "" +msgstr "مبلغ راتب الموظف هو نسبة مئوية" #. module: hr #: model:ir.actions.act_window,name:hr.open_view_categ_form @@ -2382,7 +2392,7 @@ msgstr "نُسَخ الموظف" #: model:ir.model.fields,help:hr.field_res_users__bank_account_ids #: model:ir.model.fields,help:hr.field_res_users__employee_bank_account_ids msgid "Employee bank accounts to pay salaries" -msgstr "" +msgstr "حسابات الموظفين البنكية لدفع الرواتب من خلالها " #. module: hr #: model_terms:hr.job,website_description:hr.job_cto @@ -2393,12 +2403,12 @@ msgstr "تطوير الموظف هو محور أساسي" #: model_terms:ir.ui.view,arch_db:hr.hr_contract_template_form_view #: model_terms:ir.ui.view,arch_db:hr.view_employee_form msgid "Employee will be excluded from Pay Runs" -msgstr "" +msgstr "سيتم استبعاد الموظف من عمليات دفع الرواتب" #. module: hr #: model:ir.model.fields,field_description:hr.field_res_users__employee_bank_account_ids msgid "Employee's Bank Accounts" -msgstr "" +msgstr "حسابات الموظفين المصرفية" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.hr_employee_public_view_form @@ -2463,7 +2473,7 @@ msgstr "علامات تصنيف الموظفين" #. odoo-python #: code:addons/hr/models/hr_employee.py:0 msgid "Employees profile" -msgstr "" +msgstr "ملفات الموظفين التعريفية " #. module: hr #: model:ir.model.fields,field_description:hr.field_hr_job__contract_type_id @@ -2773,7 +2783,7 @@ msgstr "إعطاء المزيد من التفاصيل حول سبب أرشفة #. odoo-python #: code:addons/hr/models/res_partner.py:0 msgid "Go to contact" -msgstr "" +msgstr "انتقل إلى جهة الاتصال" #. module: hr #: model_terms:hr.job,website_description:hr.job_marketing @@ -2840,7 +2850,7 @@ msgstr "يحتوي على رسالة" #: model:ir.model.fields,field_description:hr.field_hr_employee__has_multiple_bank_accounts #: model:ir.model.fields,field_description:hr.field_res_partner_bank__employee_has_multiple_bank_accounts msgid "Has Multiple Bank Accounts" -msgstr "" +msgstr "حسابات مصرفية متعددة" #. module: hr #: model_terms:hr.job,website_description:hr.job_developer @@ -2857,7 +2867,7 @@ msgstr "التوظيف" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.view_hr_job_form msgid "Hiring Process" -msgstr "" +msgstr "عملية التوظيف" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.view_employee_form @@ -3011,7 +3021,7 @@ msgstr "إذا كان محددًا، فقد حدث خطأ في تسليم بعض #. module: hr #: model:ir.model.fields,help:hr.field_hr_departure_wizard__remove_related_user msgid "If checked, the related user will be removed from the system." -msgstr "" +msgstr "إذا تم تحديد هذا الخيار، فستتم إزالة المستخدم المعني من النظام." #. module: hr #: model:ir.model.fields,help:hr.field_hr_employee__active @@ -3159,12 +3169,12 @@ msgstr "نظام" #. module: hr #: model:ir.model.fields,field_description:hr.field_hr_employee__is_trusted_bank_account msgid "Is Trusted Bank Account" -msgstr "" +msgstr "حساب مصرفي موثوق به" #. module: hr #: model:ir.model.fields,field_description:hr.field_hr_employee_public__is_user msgid "Is User" -msgstr "" +msgstr "مستخدم " #. module: hr #: model_terms:hr.job,website_description:hr.job_cto @@ -3347,13 +3357,13 @@ msgstr "فلننشئ واحداً" #. odoo-javascript #: code:addons/hr/static/src/fields/boolean_radio.js:0 msgid "Link an element with the boolean False value." -msgstr "" +msgstr "اربط عنصراً بالقيمة المنطقية \"خطأ\"." #. module: hr #. odoo-javascript #: code:addons/hr/static/src/fields/boolean_radio.js:0 msgid "Link an element with the boolean True value." -msgstr "" +msgstr "اربط عنصراً بالقيمة المنطقية \"صحيح\"." #. module: hr #: model_terms:ir.ui.view,arch_db:hr.hr_version_wizard_view_form @@ -3405,7 +3415,7 @@ msgstr "المرفق الرئيسي" #: model_terms:ir.ui.view,arch_db:hr.res_users_view_form #: model_terms:ir.ui.view,arch_db:hr.res_users_view_form_preferences msgid "Main Work Location" -msgstr "" +msgstr "مكان العمل الرئيسي" #. module: hr #: model_terms:hr.job,website_description:hr.job_developer @@ -3598,7 +3608,7 @@ msgstr "عقد جديد" #. odoo-javascript #: code:addons/hr/static/src/components/versions_timeline/versions_timeline.xml:0 msgid "New Employee Record" -msgstr "" +msgstr "سجل الموظف الجديد" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.hr_employee_view_graph @@ -3666,7 +3676,7 @@ msgstr "لم يتم العثور على قالب" #. odoo-javascript #: code:addons/hr/static/src/components/versions_timeline/versions_timeline.js:0 msgid "No contract" -msgstr "" +msgstr "لا يوجد عقد" #. module: hr #: model_terms:hr.job,website_description:hr.job_consultant @@ -3680,7 +3690,7 @@ msgstr "لا مدراء غير متفهمين، أو أدوات سخيفة، أ #. module: hr #: model_terms:ir.ui.view,arch_db:hr.view_employee_form msgid "No user linked" -msgstr "" +msgstr "لا يوجد مستخدم مرتبط" #. module: hr #: model_terms:hr.job,website_description:hr.job_consultant @@ -3914,7 +3924,7 @@ msgstr "الشغف حول منتجات البرامج" #: model:ir.model.fields,field_description:hr.field_hr_employee__passport_expiration_date #: model:ir.model.fields,field_description:hr.field_hr_version__passport_expiration_date msgid "Passport Expiration Date" -msgstr "" +msgstr "تاريخ انتهاء صلاحية جواز السفر" #. module: hr #: model:ir.model.fields,field_description:hr.field_hr_employee__passport_id @@ -3926,7 +3936,7 @@ msgstr "رقم جواز السفر" #: model_terms:ir.ui.view,arch_db:hr.hr_contract_template_form_view #: model_terms:ir.ui.view,arch_db:hr.view_employee_form msgid "Pay Category" -msgstr "" +msgstr "فئة الأجر" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.view_employee_form @@ -4110,7 +4120,7 @@ msgstr "Previous internship or project experience" #. module: hr #: model:ir.model.fields,field_description:hr.field_hr_employee__primary_bank_account_id msgid "Primary Bank Account" -msgstr "" +msgstr "الحساب المصرفي الأساسي" #. module: hr #: model:ir.actions.report,name:hr.hr_employee_print_badge @@ -4229,7 +4239,7 @@ msgstr "Proven track record in innovation" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.view_employee_form msgid "Provide additional information about this version..." -msgstr "" +msgstr "قدّم معلومات إضافية عن هذه النسخة..." #. module: hr #: model_terms:hr.job,website_description:hr.job_consultant @@ -4466,12 +4476,12 @@ msgstr "رقم الضمان الاجتماعي" #: model_terms:ir.ui.view,arch_db:hr.view_employee_form #: model_terms:ir.ui.view,arch_db:hr.view_partner_bank_form_inherit_hr msgid "Salary Allocation" -msgstr "" +msgstr "تخصيص الرواتب" #. module: hr #: model:ir.model.fields,field_description:hr.field_hr_employee__salary_distribution msgid "Salary Distribution" -msgstr "" +msgstr "توزيع الرواتب" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.hr_contract_template_form_view @@ -4580,7 +4590,7 @@ msgstr "عرض أيقونة الموارد البشرية" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.hr_version_search_view msgid "Show all records whose next activity date is past" -msgstr "" +msgstr "عرض كافة السجلات التي مضى تاريخ نشاطها التالي" #. module: hr #: model:ir.model.fields,field_description:hr.field_hr_employee__birthday_public_display @@ -4883,6 +4893,7 @@ msgid "" "The employee is already in contract on %s. Please select a date outside " "existing contracts" msgstr "" +"لدى الموظف عقد بالفعل على %s. يرجى تحديد تاريخ خارج نطاق العقود الحالية" #. module: hr #: model:ir.model.constraint,message:hr.constraint_hr_job_no_of_recruitment_positive @@ -4898,6 +4909,12 @@ msgid "" msgstr "" "الحقول “%s” التي تحاول قراءتها غير متاحة لملفات التعريف العامة للموظفين." +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 @@ -4908,7 +4925,7 @@ msgstr "تم تعديل الحقول التالية بواسطة %s" #. odoo-python #: code:addons/hr/wizard/hr_departure_wizard.py:0 msgid "The following users have been archived: %s" -msgstr "" +msgstr "تمت أرشفة المستخدمين التاليين: %s" #. module: hr #. odoo-python diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/az.po b/odoo-bringout-oca-ocb-hr/hr/i18n/az.po index a4c51e5..e0a190f 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/az.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/az.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-15 11:28+0000\n" "Last-Translator: Weblate \n" "Language-Team: Azerbaijani \n" "Language-Team: Bulgarian , 2018\n" "Language-Team: Bosnian (https://www.transifex.com/odoo/teams/41243/bs/)\n" @@ -4656,6 +4656,12 @@ msgid "" "employee public profiles." msgstr "" +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/ca.po b/odoo-bringout-oca-ocb-hr/hr/i18n/ca.po index 2ac3fda..50b7e80 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/ca.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/ca.po @@ -32,7 +32,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2026-02-11 16:30+0000\n" "Last-Translator: \"Noemi Pla Garcia (nopl)\" \n" "Language-Team: Catalan \n" @@ -4744,6 +4744,12 @@ msgid "" "employee public profiles." msgstr "" +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/cs.po b/odoo-bringout-oca-ocb-hr/hr/i18n/cs.po index cf96890..c31090f 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/cs.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/cs.po @@ -22,7 +22,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2026-02-25 14:43+0000\n" "Last-Translator: \"Marta (wacm)\" \n" "Language-Team: Czech \n" @@ -30,8 +30,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : " -"(n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\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" "X-Generator: Weblate 5.14.3\n" #. module: hr @@ -4725,6 +4725,12 @@ msgid "" "employee public profiles." msgstr "" +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/da.po b/odoo-bringout-oca-ocb-hr/hr/i18n/da.po index 945c66f..51bfef7 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/da.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/da.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-15 11:28+0000\n" "Last-Translator: Weblate \n" "Language-Team: Danish \n" @@ -4902,6 +4902,12 @@ msgstr "" "De ønskede felter \"%s\" er ikke tilgængelige i offentlige " "medarbejderprofiler." +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/de.po b/odoo-bringout-oca-ocb-hr/hr/i18n/de.po index d491e64..3d01b9d 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/de.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/de.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2026-02-25 14:43+0000\n" "Last-Translator: \"Larissa Manderfeld (lman)\" \n" "Language-Team: German \n" @@ -4991,6 +4991,12 @@ msgstr "" "Die Felder „%s“, die Sie zu lesen versuchen, sind für öffentliche Profile " "von Mitarbeitern nicht verfügbar." +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/el.po b/odoo-bringout-oca-ocb-hr/hr/i18n/el.po index a2d94b2..be8e35b 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/el.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/el.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-15 11:29+0000\n" "Last-Translator: Weblate \n" "Language-Team: Greek \n" @@ -4678,6 +4678,12 @@ msgid "" "employee public profiles." msgstr "" +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/es.po b/odoo-bringout-oca-ocb-hr/hr/i18n/es.po index c1a1245..4351cc4 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/es.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/es.po @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2026-02-05 17:47+0000\n" "Last-Translator: \"Noemi Pla Garcia (nopl)\" \n" "Language-Team: Spanish \n" @@ -24,8 +24,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ((n != 0 && n % 1000000 == 0)" -" ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ((n != 0 && n % 1000000 == " +"0) ? 1 : 2);\n" "X-Generator: Weblate 5.14.3\n" #. module: hr @@ -165,8 +165,8 @@ msgid "" "" msgstr "" -"" +"" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.hr_employee_public_view_form @@ -186,8 +186,8 @@ msgid "" " " msgstr "" -"\n" +"\n" " " @@ -354,10 +354,11 @@ msgid "" " " msgstr "" "\n" -" No verificado\n" -" Verificado\n" +" No verificado\n" +" Verificado\n" " " #. module: hr @@ -4645,7 +4646,8 @@ msgstr "Mostrar icono de RR. HH." #. module: hr #: model_terms:ir.ui.view,arch_db:hr.hr_version_search_view msgid "Show all records whose next activity date is past" -msgstr "Mostrar todos los registros cuya próxima fecha de actividad haya pasado" +msgstr "" +"Mostrar todos los registros cuya próxima fecha de actividad haya pasado" #. module: hr #: model:ir.model.fields,field_description:hr.field_hr_employee__birthday_public_display @@ -4970,6 +4972,12 @@ msgstr "" "Los campos \"%s\" que está intentando leer, no están disponibles para los " "perfiles públicos de los empleados." +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 @@ -5593,8 +5601,8 @@ msgid "" "You are not allowed to access \"Employee\" (hr.employee) records.\n" "We can redirect you to the public employee list." msgstr "" -"No tienes permiso para acceder a los registros de «Empleados» (hr.employee)." -"\n" +"No tienes permiso para acceder a los registros de «Empleados» " +"(hr.employee).\n" "Podemos redirigirte a la lista pública de empleados." #. module: hr diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/es_419.po b/odoo-bringout-oca-ocb-hr/hr/i18n/es_419.po index f71dbde..d36e7c3 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/es_419.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/es_419.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server saas~18.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2026-02-26 16:07+0000\n" "Last-Translator: \"Fernanda Alvarez (mfar)\" \n" "Language-Team: Spanish (Latin America) \n" "Language-Team: Estonian \n" "Language-Team: Persian \n" @@ -4848,6 +4848,12 @@ msgid "" "employee public profiles." msgstr "" +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/fi.po b/odoo-bringout-oca-ocb-hr/hr/i18n/fi.po index f39b4b3..0131858 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/fi.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/fi.po @@ -34,7 +34,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2026-03-06 17:44+0000\n" "Last-Translator: Saara Hakanen \n" "Language-Team: Finnish \n" @@ -368,10 +368,11 @@ msgid "" " " msgstr "" "\n" -" Epäluotettava\n" -" Luotettava\n" +" Epäluotettava\n" +" Luotettava\n" " " #. module: hr @@ -466,8 +467,8 @@ msgid "" " " msgstr "" "\n" -" (Käyttäjä ei ole aktiivinen)" -"\n" +" (Käyttäjä ei ole " +"aktiivinen)\n" " " #. module: hr @@ -4953,6 +4954,12 @@ msgstr "" "Kentät \"%s\", joita yrität lukea, eivät ole saatavilla työntekijöiden " "julkisissa profiileissa." +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 @@ -5027,7 +5034,8 @@ msgstr "Tällä työntekijällä on jo käyttäjä." #. odoo-python #: code:addons/hr/models/hr_employee.py:0 msgid "This field %(field_name)s doesn't exist on this model (hr.version)." -msgstr "Tämä kenttä %(field_name)s ei ole olemassa tässä mallissa (hr.version)." +msgstr "" +"Tämä kenttä %(field_name)s ei ole olemassa tässä mallissa (hr.version)." #. module: hr #: model:ir.model.fields,help:hr.field_hr_employee__tz diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/fr.po b/odoo-bringout-oca-ocb-hr/hr/i18n/fr.po index 17e964c..5a1f9d3 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/fr.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/fr.po @@ -17,17 +17,17 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" -"PO-Revision-Date: 2026-02-18 17:57+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" +"PO-Revision-Date: 2026-03-14 09:33+0000\n" "Last-Translator: \"Manon Rondou (ronm)\" \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : " -"((n != 0 && n % 1000000 == 0) ? 1 : 2);\n" -"X-Generator: Weblate 5.14.3\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : ((n != 0 && n % " +"1000000 == 0) ? 1 : 2);\n" +"X-Generator: Weblate 5.16.2\n" #. module: hr #. odoo-python @@ -734,7 +734,7 @@ msgstr "Activités" #: model:ir.model.fields,field_description:hr.field_hr_employee__activity_exception_decoration #: model:ir.model.fields,field_description:hr.field_hr_version__activity_exception_decoration msgid "Activity Exception Decoration" -msgstr "Activité exception décoration" +msgstr "Indicateur d’exception d’activité" #. module: hr #: model:ir.model,name:hr.model_mail_activity_plan @@ -1482,8 +1482,8 @@ msgstr "" #: code:addons/hr/models/hr_version.py:0 msgid "Cannot unassign all the active versions of an employee." msgstr "" -"Il est impossible de retirer l’affectation de toutes les versions actives d’" -"un employé." +"Il est impossible de retirer l’affectation de toutes les versions actives " +"d’un employé." #. module: hr #: model:ir.model.fields,field_description:hr.field_hr_employee__certificate @@ -4980,6 +4980,12 @@ msgstr "" "Les champs “%s”, que vous essayez de lire ne sont pas disponibles pour les " "profils publics des employés." +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/he.po b/odoo-bringout-oca-ocb-hr/hr/i18n/he.po index 8fc31a8..1c558af 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/he.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/he.po @@ -30,7 +30,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-08 21:52+0000\n" "Last-Translator: Weblate \n" "Language-Team: Hebrew \n" @@ -4719,6 +4719,12 @@ msgid "" msgstr "" "השדות “%s”, אותם אתה מנסה לקרוא, אינם זמינים לפרופילים ציבוריים של עובדים." +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/hi.po b/odoo-bringout-oca-ocb-hr/hr/i18n/hi.po index a1a552a..cfc5cf7 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/hi.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/hi.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server saas~18.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-15 11:30+0000\n" "Last-Translator: Weblate \n" "Language-Team: Hindi \n" @@ -4855,6 +4855,12 @@ msgstr "" "फ़ील्ड “%s”, जिसे आप पढ़ने की कोशिश कर रहे हैं, वह कर्मचारी की सार्वजनिक प्रोफ़ाइल के लिए " "उपलब्ध नहीं है।" +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/hr.po b/odoo-bringout-oca-ocb-hr/hr/i18n/hr.po index c23b500..29206a6 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/hr.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/hr.po @@ -26,7 +26,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-08 19:06+0000\n" "Last-Translator: Weblate \n" "Language-Team: Croatian \n" "Language-Team: Hungarian \n" "Language-Team: Indonesian \n" "Language-Team: Italian \n" @@ -4956,6 +4956,12 @@ msgstr "" "I campi \"%s\" che stai tentando di leggere non sono disponibili per i " "profili pubblici del dipendente." +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/ja.po b/odoo-bringout-oca-ocb-hr/hr/i18n/ja.po index dc659ed..fc2e426 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/ja.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/ja.po @@ -17,11 +17,11 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2026-02-05 10:56+0000\n" "Last-Translator: \"Junko Augias (juau)\" \n" -"Language-Team: Japanese " -"\n" +"Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -3022,7 +3022,8 @@ msgstr "チェックされた場合、関連ユーザはシステムから削除 msgid "" "If the active field is set to False, it will allow you to hide the resource " "record without removing it." -msgstr "有効項目をFalse にセットすると、リソースレコードは削除することなく非表示にで" +msgstr "" +"有効項目をFalse にセットすると、リソースレコードは削除することなく非表示にで" "きます。" #. module: hr @@ -4898,6 +4899,12 @@ msgstr "" "読込もうとしているフィールド “%s”は、従業員の公開プロフィールでは使用できませ" "ん。" +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 @@ -4916,7 +4923,8 @@ msgstr "以下のユーザはアーカイブされました:%s" msgid "" "The following users have not been archived as they are still linked to " "another active employees: %s" -msgstr "以下のユーザは、まだ別の有効な従業員と関連付けられているため、アーカイブされ" +msgstr "" +"以下のユーザは、まだ別の有効な従業員と関連付けられているため、アーカイブされ" "ていません:%s" #. module: hr @@ -5327,7 +5335,8 @@ msgstr "この仕事の素晴らしい点" msgid "" "Whether the employee is a member of the active user's department or one of " "it's child department." -msgstr "その従業員が、有効ユーザの所属部門またはその子部門のメンバであるかどうか。" +msgstr "" +"その従業員が、有効ユーザの所属部門またはその子部門のメンバであるかどうか。" #. module: hr #: model:ir.model.fields,help:hr.field_res_partner__employee diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/kab.po b/odoo-bringout-oca-ocb-hr/hr/i18n/kab.po index d664508..3b7d685 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/kab.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/kab.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2017-11-16 08:08+0000\n" "Last-Translator: Martin Trigaux , 2017\n" "Language-Team: Kabyle (https://www.transifex.com/odoo/teams/41243/kab/)\n" @@ -4650,6 +4650,12 @@ msgid "" "employee public profiles." msgstr "" +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/ko.po b/odoo-bringout-oca-ocb-hr/hr/i18n/ko.po index 3aaa638..c3491c8 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/ko.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/ko.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2026-01-09 04:31+0000\n" "Last-Translator: \"Kwanghee Park (kwpa)\" \n" "Language-Team: Korean \n" @@ -4853,6 +4853,12 @@ msgid "" "employee public profiles." msgstr "불러오려는 “%s” 필드는 직원 공개 프로필에서 사용할 수 없습니다." +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/ku.po b/odoo-bringout-oca-ocb-hr/hr/i18n/ku.po index 482c24f..0c0cd48 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/ku.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/ku.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server saas~18.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-08 17:53+0000\n" "Last-Translator: Weblate \n" "Language-Team: Kurdish (Central) \n" "Language-Team: Lithuanian , 2022 @@ -9,34 +9,33 @@ # Anzelika Adejanova, 2022 # Arnis Putniņš , 2022 # Martin Trigaux, 2023 -# Armīns Jeltajevs , 2023 -# +# Armīns Jeltajevs , 2023, 2026. msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" -"PO-Revision-Date: 2022-09-22 05:46+0000\n" -"Last-Translator: Armīns Jeltajevs , 2023\n" -"Language-Team: Latvian (https://app.transifex.com/odoo/teams/41243/lv/)\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" +"PO-Revision-Date: 2026-03-14 20:05+0000\n" +"Last-Translator: Armīns Jeltajevs \n" +"Language-Team: Latvian \n" "Language: lv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " -"2);\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" +"X-Generator: Weblate 5.16.2\n" #. module: hr #. odoo-python #: code:addons/hr/models/hr_employee.py:0 msgid " Records" -msgstr "" +msgstr " Ieraksti" #. module: hr #: model:ir.model.fields,field_description:hr.field_res_company__hr_presence_control_email_amount #: model:ir.model.fields,field_description:hr.field_res_config_settings__hr_presence_control_email_amount msgid "# emails to send" -msgstr "" +msgstr "# e-pasti nosūtīšanai" #. module: hr #. odoo-python @@ -66,7 +65,7 @@ msgstr "" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.hr_contract_template_form_view msgid "/ month" -msgstr "" +msgstr "/ mēnesī" #. module: hr #: model_terms:hr.job,job_details:hr.job_consultant @@ -132,10 +131,13 @@ msgstr "" #. module: hr #. odoo-python #: code:addons/hr/models/hr_employee.py:0 +#, fuzzy msgid "" "Congratulations! May I recommend you to setup an onboarding plan?" msgstr "" +"Apsveicam! Vai varu Jums ieteikt izveidot uzņemšanas " +"plānu?A" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.hr_department_view_kanban @@ -152,6 +154,8 @@ msgid "" "" msgstr "" +"" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.hr_employee_public_view_form @@ -160,6 +164,7 @@ msgstr "" msgid "" "" msgstr "" +"" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.res_users_view_form @@ -176,30 +181,36 @@ msgstr "" msgid "" "" msgstr "" +"" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.hr_kanban_view_employees msgid "" "" msgstr "" +"" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.hr_employee_public_view_kanban #: model_terms:ir.ui.view,arch_db:hr.hr_kanban_view_employees msgid "" msgstr "" +"" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.hr_employee_public_view_kanban #: model_terms:ir.ui.view,arch_db:hr.hr_kanban_view_employees msgid "" -msgstr "" +msgstr "" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.hr_kanban_view_employees msgid "" "" msgstr "" +"" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.hr_employee_public_view_form @@ -209,6 +220,7 @@ msgstr "" msgid "" "" msgstr "" +"" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.hr_employee_public_view_form @@ -217,35 +229,36 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:hr.view_employee_form msgid "" msgstr "" +"" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.view_employee_form msgid "" -msgstr "" +msgstr "" #. module: hr #: model_terms:ir.actions.act_window,help:hr.hr_employee_public_action #: model_terms:ir.actions.act_window,help:hr.open_view_employee_list_my msgid "AI" -msgstr "" +msgstr "MI" #. module: hr #: model_terms:ir.actions.act_window,help:hr.hr_employee_public_action #: model_terms:ir.actions.act_window,help:hr.open_view_employee_list_my msgid "Dashboard" -msgstr "" +msgstr "Informācijas panelis" #. module: hr #: model_terms:ir.actions.act_window,help:hr.hr_employee_public_action #: model_terms:ir.actions.act_window,help:hr.open_view_employee_list_my msgid "Documents" -msgstr "" +msgstr "Dokumenti" #. module: hr #: model_terms:ir.actions.act_window,help:hr.hr_employee_public_action #: model_terms:ir.actions.act_window,help:hr.open_view_employee_list_my msgid "Fleet" -msgstr "" +msgstr "Autoparks" #. module: hr #: model_terms:ir.actions.act_window,help:hr.hr_employee_public_action @@ -257,31 +270,31 @@ msgstr "" #: model_terms:ir.actions.act_window,help:hr.hr_employee_public_action #: model_terms:ir.actions.act_window,help:hr.open_view_employee_list_my msgid "Leaves" -msgstr "" +msgstr "Atvaļinājumi" #. module: hr #: model_terms:ir.actions.act_window,help:hr.hr_employee_public_action #: model_terms:ir.actions.act_window,help:hr.open_view_employee_list_my msgid "Lunch" -msgstr "" +msgstr "Pusdienas" #. module: hr #: model_terms:ir.actions.act_window,help:hr.hr_employee_public_action #: model_terms:ir.actions.act_window,help:hr.open_view_employee_list_my msgid "Payroll" -msgstr "" +msgstr "Algas" #. module: hr #: model_terms:ir.actions.act_window,help:hr.hr_employee_public_action #: model_terms:ir.actions.act_window,help:hr.open_view_employee_list_my msgid "Performance" -msgstr "" +msgstr "Veiktspēja" #. module: hr #: model_terms:ir.actions.act_window,help:hr.hr_employee_public_action #: model_terms:ir.actions.act_window,help:hr.open_view_employee_list_my msgid "Planning" -msgstr "" +msgstr "Plānošana" #. module: hr #: model_terms:ir.actions.act_window,help:hr.hr_employee_public_action @@ -305,13 +318,13 @@ msgstr "" #: model_terms:ir.actions.act_window,help:hr.hr_employee_public_action #: model_terms:ir.actions.act_window,help:hr.open_view_employee_list_my msgid "Trainings" -msgstr "" +msgstr "Apmācības" #. module: hr #: model_terms:ir.actions.act_window,help:hr.hr_employee_public_action #: model_terms:ir.actions.act_window,help:hr.open_view_employee_list_my msgid "eLearning" -msgstr "" +msgstr "eMācības" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.view_employee_form @@ -4675,6 +4688,12 @@ msgid "" "employee public profiles." msgstr "" +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/mn.po b/odoo-bringout-oca-ocb-hr/hr/i18n/mn.po index fabfe7f..a54bc55 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/mn.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/mn.po @@ -28,7 +28,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-17 10:55+0000\n" "Last-Translator: Bayarkhuu Bataa \n" "Language-Team: Mongolian \n" "Language-Team: Burmese \n" @@ -4656,6 +4656,12 @@ msgid "" "employee public profiles." msgstr "" +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/nb.po b/odoo-bringout-oca-ocb-hr/hr/i18n/nb.po index 6c292f9..0d302cb 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/nb.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/nb.po @@ -17,7 +17,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-08 21:53+0000\n" "Last-Translator: Weblate \n" "Language-Team: Norwegian Bokmål \n" "Language-Team: Dutch \n" "Language: nl\n" @@ -23,7 +23,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.14.3\n" +"X-Generator: Weblate 5.16.2\n" #. module: hr #. odoo-python @@ -112,7 +112,7 @@ msgstr "12 dagen / jaar, waarvan
6 naar keuze." #: model_terms:hr.job,job_details:hr.job_marketing #: model_terms:hr.job,job_details:hr.job_trainee msgid "2 open days" -msgstr "2 opendeurdagen" +msgstr "2 dagen" #. module: hr #: model_terms:hr.job,job_details:hr.job_consultant @@ -695,9 +695,7 @@ msgstr "Actie gevraagd" #: model_terms:digest.tip,tip_description:hr.digest_tip_hr_0 msgid "" "Activate Remote Work to let Employees specify where they are working from." -msgstr "" -"Activeer Werken op afstand om medewerkers te laten aangeven waarvandaan ze " -"werken." +msgstr "Activeer Telewerk om medewerkers te laten aangeven waar ze werken." #. module: hr #: model:ir.model.fields,field_description:hr.field_hr_department__active @@ -2925,7 +2923,7 @@ msgstr "Eenheid woon-werkafstand" #: model:ir.model.fields,field_description:hr.field_hr_employee_public__hr_icon_display #: model:ir.model.fields,field_description:hr.field_resource_resource__hr_icon_display msgid "Hr Icon Display" -msgstr "HR-pictogramweergave" +msgstr "HR-icoonweergave" #. module: hr #: model:ir.model,name:hr.model_hr_manager_department_report @@ -2946,7 +2944,7 @@ msgstr "Personeelszaken" #. module: hr #: model:hr.job,name:hr.job_hrm msgid "Human Resources Manager" -msgstr "Personeelsbeheer manager" +msgstr "HR-manager" #. module: hr #: model:ir.model.fields,field_description:hr.field_discuss_channel__id @@ -3404,7 +3402,7 @@ msgstr "Demodata laden" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.view_employee_form msgid "Load a Template" -msgstr "Laad een sjabloon" +msgstr "Sjabloon laden" #. module: hr #: model_terms:ir.actions.act_window,help:hr.open_view_employee_list_my @@ -3493,7 +3491,7 @@ msgstr "Burgerlijke staat" #. module: hr #: model:hr.job,name:hr.job_marketing msgid "Marketing and Community Manager" -msgstr "Marketing en communicatie manager" +msgstr "Marketing- en communicatiemanager" #. module: hr #. odoo-python @@ -4624,7 +4622,7 @@ msgstr "Gebruiker delen" #: model:ir.model.fields,field_description:hr.field_hr_employee_public__show_hr_icon_display #: model:ir.model.fields,field_description:hr.field_resource_resource__show_hr_icon_display msgid "Show Hr Icon Display" -msgstr "Toon hr-pictogramweergave" +msgstr "Toon hr-icoonweergave" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.hr_version_search_view @@ -4953,6 +4951,12 @@ msgstr "" "De velden “%s”, die je probeert te bekijken, zijn niet beschikbaar voor " "openbare profielen van werknemers." +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/pl.po b/odoo-bringout-oca-ocb-hr/hr/i18n/pl.po index 9ac47b6..c66992a 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/pl.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/pl.po @@ -39,7 +39,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2026-02-25 14:44+0000\n" "Last-Translator: \"Marta (wacm)\" \n" "Language-Team: Polish \n" @@ -48,8 +48,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && " -"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || " -"(n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" +"(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" "X-Generator: Weblate 5.14.3\n" #. module: hr @@ -4968,6 +4968,12 @@ msgstr "" "Pola \"%s\", które starasz się odczytać są niedostępne dla publicznych " "profili pracowników." +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/pt.po b/odoo-bringout-oca-ocb-hr/hr/i18n/pt.po index 7efe181..44b34bc 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/pt.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/pt.po @@ -24,7 +24,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-08 19:02+0000\n" "Last-Translator: Weblate \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese (Brazil) \n" "Language-Team: Romanian \n" "Language-Team: Russian \n" @@ -18,9 +18,9 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=4; plural=" -"(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 " -": n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" "X-Generator: Weblate 5.14.3\n" #. module: hr @@ -4936,6 +4936,12 @@ msgstr "" "Поля «%s», которые вы пытаетесь просмотреть, недоступны в публичных профилях " "сотрудников." +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/sk.po b/odoo-bringout-oca-ocb-hr/hr/i18n/sk.po index eef1425..991d052 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/sk.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/sk.po @@ -16,17 +16,17 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" -"PO-Revision-Date: 2026-03-06 17:52+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" +"PO-Revision-Date: 2026-03-14 20:05+0000\n" "Last-Translator: Tomáš Píšek \n" "Language-Team: Slovak \n" "Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && " -"n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" -"X-Generator: Weblate 5.16.1\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" +"X-Generator: Weblate 5.16.2\n" #. module: hr #. odoo-python @@ -1249,7 +1249,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:hr.view_bank_account_allocation_wizard #: model_terms:ir.ui.view,arch_db:hr.view_users_simple_form msgid "Cancel" -msgstr "Zrušené" +msgstr "Zrušiť" #. module: hr #. odoo-python @@ -4693,6 +4693,12 @@ msgid "" "employee public profiles." msgstr "" +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/sl.po b/odoo-bringout-oca-ocb-hr/hr/i18n/sl.po index e20c261..cc7bf02 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/sl.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/sl.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-08 18:02+0000\n" "Last-Translator: Weblate \n" "Language-Team: Slovenian \n" "Language-Team: Serbian (Latin script) \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -40,7 +40,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.16.1\n" +"X-Generator: Weblate 5.16.2\n" #. module: hr #. odoo-python @@ -705,7 +705,7 @@ msgstr "Aktivitetsplan" #: model:ir.model.fields,field_description:hr.field_hr_employee__activity_state #: model:ir.model.fields,field_description:hr.field_hr_version__activity_state msgid "Activity State" -msgstr "Aktivitetstillstånd" +msgstr "Aktivitetsstatus" #. module: hr #: model:ir.model.fields,field_description:hr.field_hr_department__activity_type_icon @@ -1439,7 +1439,7 @@ msgstr "Företagets arbetstid" #. module: hr #: model:ir.model.fields,field_description:hr.field_hr_version__company_country_id msgid "Company country" -msgstr "Bolagets land" +msgstr "Företagets land" #. module: hr #: model:ir.model.fields,field_description:hr.field_res_users__employee_id @@ -2610,7 +2610,7 @@ msgstr "Heltid" #: model_terms:ir.ui.view,arch_db:hr.hr_version_search_view #: model_terms:ir.ui.view,arch_db:hr.view_employee_filter msgid "Future Activities" -msgstr "Framtida aktiviteter" +msgstr "Kommande aktiviteter" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.hr_version_search_view @@ -2859,7 +2859,8 @@ msgstr "Identifikations Nr" #: model:ir.model.fields,help:hr.field_hr_job__message_needaction #: model:ir.model.fields,help:hr.field_hr_version__message_needaction msgid "If checked, new messages require your attention." -msgstr "Om ikryssad, så finns det nya meddelanden som kräver din uppmärksamhet." +msgstr "" +"Om ikryssad, så finns det nya meddelanden som kräver din uppmärksamhet." #. module: hr #: model:ir.model.fields,help:hr.field_hr_department__message_has_error @@ -3166,7 +3167,7 @@ msgstr "Senast uppdaterad den" #: model_terms:ir.ui.view,arch_db:hr.hr_version_search_view #: model_terms:ir.ui.view,arch_db:hr.view_employee_filter msgid "Late Activities" -msgstr "Sena aktiviteter" +msgstr "Försenade aktiviteter" #. module: hr #: model:ir.actions.act_window,name:hr.plan_wizard_action @@ -3377,7 +3378,7 @@ msgstr "Meny" #: model:ir.model.fields,field_description:hr.field_hr_job__message_has_error #: model:ir.model.fields,field_description:hr.field_hr_version__message_has_error msgid "Message Delivery error" -msgstr "Meddelande gick inte att skicka" +msgstr "Leveransfelmeddelande" #. module: hr #: model:ir.model.fields,field_description:hr.field_hr_department__message_ids @@ -3411,7 +3412,7 @@ msgstr "Måste ha" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.view_employee_filter msgid "My Activities" -msgstr "Mina aktivieteter" +msgstr "Mina aktiviteter" #. module: hr #: model:ir.model.fields,field_description:hr.field_hr_department__my_activity_date_deadline @@ -3632,7 +3633,7 @@ msgstr "Antal meddelanden som kräver åtgärd" #: model:ir.model.fields,help:hr.field_hr_job__message_has_error_counter #: model:ir.model.fields,help:hr.field_hr_version__message_has_error_counter msgid "Number of messages with delivery error" -msgstr "Antal meddelanden som inte kunde skickas" +msgstr "Antal meddelanden med leveransfel" #. module: hr #: model:ir.model.fields,help:hr.field_hr_job__no_of_recruitment @@ -4687,8 +4688,8 @@ msgid "" "The ISO country code in two chars. \n" "You can use this field for quick search." msgstr "" -"ISO-landskoden med två tecken\n" -"Du kan använda det här fältet för snabb sökning." +"ISO-kod med två tecken.\n" +"Fältet används för snabbsökning." #. module: hr #: model_terms:hr.job,description:hr.job_marketing @@ -4765,6 +4766,12 @@ msgstr "" "Fälten \"%s\", som du försöker läsa, är inte tillgängliga för anställdas " "offentliga profiler." +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 @@ -4947,7 +4954,7 @@ msgstr "" #: model:ir.model.fields,field_description:hr.field_hr_bank_account_allocation_wizard_line__trusted #: model_terms:ir.ui.view,arch_db:hr.view_bank_account_allocation_line_list msgid "Trusted" -msgstr "Tillförlitlig" +msgstr "Betrodd" #. module: hr #: model_terms:ir.ui.view,arch_db:hr.view_bank_account_allocation_line_list diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/th.po b/odoo-bringout-oca-ocb-hr/hr/i18n/th.po index de23d6a..b071ead 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/th.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/th.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-08 21:53+0000\n" "Last-Translator: Weblate \n" "Language-Team: Thai \n" @@ -4838,6 +4838,12 @@ msgid "" "employee public profiles." msgstr "ฟิลด์ “%s” ที่คุณพยายามอ่านนั้นไม่พร้อมใช้งานสำหรับโปรไฟล์สาธารณะของพนักงาน" +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/tr.po b/odoo-bringout-oca-ocb-hr/hr/i18n/tr.po index 68244ae..3c8b73c 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/tr.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/tr.po @@ -31,7 +31,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-28 12:48+0000\n" "Last-Translator: \"Malaz Siddig Elsayed Abuidris (msea)\" \n" "Language-Team: Turkish \n" @@ -4952,6 +4952,12 @@ msgstr "" "Okumaya çalıştığınız “%s”, alanları çalışanların genel profilleri için " "kullanılamaz." +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/uk.po b/odoo-bringout-oca-ocb-hr/hr/i18n/uk.po index 4276ab4..123021c 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/uk.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/uk.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-08 19:01+0000\n" "Last-Translator: Weblate \n" "Language-Team: Ukrainian , 2025. -# "Thi Huong Nguyen (thng)" , 2025. +# "Thi Huong Nguyen (thng)" , 2025, 2026. # Weblate , 2025. msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" -"PO-Revision-Date: 2025-12-04 17:51+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" +"PO-Revision-Date: 2026-03-20 09:44+0000\n" "Last-Translator: \"Thi Huong Nguyen (thng)\" \n" "Language-Team: Vietnamese \n" @@ -28,7 +28,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.14.3\n" +"X-Generator: Weblate 5.16.2\n" #. module: hr #. odoo-python @@ -255,7 +255,7 @@ msgstr "AI" #: model_terms:ir.actions.act_window,help:hr.hr_employee_public_action #: model_terms:ir.actions.act_window,help:hr.open_view_employee_list_my msgid "Dashboard" -msgstr "Bảng điều khiển" +msgstr "Báo cáo tổng quan" #. module: hr #: model_terms:ir.actions.act_window,help:hr.hr_employee_public_action @@ -4910,6 +4910,12 @@ msgstr "" "Trường “%s” mà bạn đang muốn xem không khả dụng cho hồ sơ nhân viên công " "khai." +#. module: hr +#. odoo-python +#: code:addons/hr/models/hr_employee.py:0 +msgid "The following employees have the same work email address: %s" +msgstr "" + #. module: hr #. odoo-python #: code:addons/hr/models/res_users.py:0 diff --git a/odoo-bringout-oca-ocb-hr/hr/i18n/zh_CN.po b/odoo-bringout-oca-ocb-hr/hr/i18n/zh_CN.po index 599346e..696b61d 100644 --- a/odoo-bringout-oca-ocb-hr/hr/i18n/zh_CN.po +++ b/odoo-bringout-oca-ocb-hr/hr/i18n/zh_CN.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2026-01-07 05:53+0000\n" "Last-Translator: \"Chloe Wang (chwa)\" \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Traditional Han script) 0: # The employees should be working now according to their work schedule @@ -1026,29 +1023,36 @@ class HrEmployee(models.Model): '|', ('email_normalized', 'in', employee_emails), ('login', 'in', employee_emails), ]) + emp_by_email = self.grouped(lambda employee: email_normalize(employee.work_email)) + duplicate_emails = [email for email, employees in emp_by_email.items() if email and len(employees) > 1] old_users = [] new_users = [] users_without_emails = [] users_with_invalid_emails = [] users_with_existing_email = [] + employees_with_duplicate_email = [] for employee in self: + normalized_email = email_normalize(employee.work_email) if employee.user_id: old_users.append(employee.name) continue if not employee.work_email: users_without_emails.append(employee.name) continue - if not tools.email_normalize(employee.work_email): + if not normalized_email: users_with_invalid_emails.append(employee.name) continue - if email_normalize(employee.work_email) in conflicting_users.mapped('email_normalized'): + if normalized_email in conflicting_users.mapped('email_normalized'): users_with_existing_email.append(employee.name) continue + if normalized_email in duplicate_emails: + employees_with_duplicate_email.append(employee.name) + continue new_users.append({ 'create_employee_id': employee.id, 'name': employee.name, 'phone': employee.work_phone, - 'login': tools.email_normalize(employee.work_email), + 'login': normalized_email, 'partner_id': employee.work_contact_id.id, }) @@ -1078,6 +1082,10 @@ class HrEmployee(models.Model): message = _('User already exists with the same email for Employees %s', ', '.join(users_with_existing_email)) next_action = _get_user_creation_notification_action(message, 'warning', next_action) + if employees_with_duplicate_email: + message = _('The following employees have the same work email address: %s', ', '.join(employees_with_duplicate_email)) + next_action = _get_user_creation_notification_action(message, 'warning', next_action) + return next_action def _compute_display_name(self): diff --git a/odoo-bringout-oca-ocb-hr/hr/models/hr_version.py b/odoo-bringout-oca-ocb-hr/hr/models/hr_version.py index 173608c..8cea9d7 100644 --- a/odoo-bringout-oca-ocb-hr/hr/models/hr_version.py +++ b/odoo-bringout-oca-ocb-hr/hr/models/hr_version.py @@ -217,11 +217,12 @@ class HrVersion(models.Model): @api.depends("private_country_id") def _compute_allowed_country_state_ids(self): - states = self.env["res.country.state"].search([]) - for version in self: - if version.private_country_id: - version.allowed_country_state_ids = version.private_country_id.state_ids - else: + versions_with_countries = self.filtered("private_country_id") + for version in versions_with_countries: + version.allowed_country_state_ids = version.private_country_id.state_ids + if versions_without_countries := (self - versions_with_countries): + states = self.env["res.country.state"].search([]) + for version in versions_without_countries: version.allowed_country_state_ids = states @api.constrains('employee_id', 'contract_date_start', 'contract_date_end') diff --git a/odoo-bringout-oca-ocb-hr/hr/static/src/components/versions_timeline/versions_timeline.js b/odoo-bringout-oca-ocb-hr/hr/static/src/components/versions_timeline/versions_timeline.js index 5c12dd5..c686035 100644 --- a/odoo-bringout-oca-ocb-hr/hr/static/src/components/versions_timeline/versions_timeline.js +++ b/odoo-bringout-oca-ocb-hr/hr/static/src/components/versions_timeline/versions_timeline.js @@ -1,9 +1,7 @@ -import { onWillUpdateProps, useComponent, useState } from "@odoo/owl"; import { useDateTimePicker } from "@web/core/datetime/datetime_picker_hook"; import { Domain } from "@web/core/domain"; import { registry } from "@web/core/registry"; import { useService } from "@web/core/utils/hooks"; -import { getFieldDomain, useRecordObserver } from "@web/model/relational_model/utils"; import { statusBarField, StatusBarField } from "@web/views/fields/statusbar/statusbar_field"; import { _t } from "@web/core/l10n/translation"; @@ -16,38 +14,6 @@ export class VersionsTimeline extends StatusBarField { this.actionService = useService("action"); this.orm = useService("orm"); - if (this.field.type === "many2one") { - this.specialData = useSpecialDataNoCache((orm, props) => { - const { foldField, name: fieldName, record } = props; - const { relation } = record.fields[fieldName]; - const fieldNames = [ - "display_name", - "contract_type_id", - "contract_date_start", - "contract_date_end", - ]; - if (foldField) { - fieldNames.push(foldField); - } - const value = record.data[fieldName]; - let domain = getFieldDomain(record, fieldName, props.domain); - domain = Domain.and([ - [["employee_id", "=", props.record.evalContext.id]], - domain, - ]).toList(); - if (domain.length && value) { - domain = Domain.or([[["id", "=", value.id]], domain]).toList( - record.evalContext - ); - } - return orm.searchRead( - relation, - domain, - fieldNames.filter((fName) => fName in record.fields) - ); - }); - } - this.dateTimePicker = useDateTimePicker({ target: `datetime-picker-target-version`, onApply: (date) => { @@ -61,6 +27,24 @@ export class VersionsTimeline extends StatusBarField { }); } + /** @override **/ + getDomain() { + return Domain.and([super.getDomain(), + [["employee_id", "=", this.props.record.evalContext.id]]] + ).toList() + } + + /** @override **/ + getFieldNames() { + const fieldNames = super.getFieldNames(); + fieldNames.push([ + "contract_type_id", + "contract_date_start", + "contract_date_end", + ]); + return fieldNames.filter((fName) => fName in this.props.record.fields); + } + displayContractLines() { return ["contract_type_id", "contract_date_start", "contract_date_end"].every( (fieldName) => fieldName in this.props.record.fields @@ -74,6 +58,10 @@ export class VersionsTimeline extends StatusBarField { { date_version: date }, ]); + const { specialDataCaches } = this.props.record.model; + // Invalidate cache after creating new version. + Object.keys(specialDataCaches).forEach(key => delete specialDataCaches[key]); + await this.props.record.model.load({ context: { ...this.props.record.model.env.searchModel.context, @@ -132,24 +120,6 @@ export class VersionsTimeline extends StatusBarField { } } -export function useSpecialDataNoCache(loadFn) { - const component = useComponent(); - const orm = component.env.services.orm; - - /** @type {{ data: Record }} */ - const result = useState({ data: {} }); - useRecordObserver(async (record, props) => { - result.data = await loadFn(orm, { ...props, record }); - }); - onWillUpdateProps(async (props) => { - // useRecordObserver callback is not called when the record doesn't change - if (props.record.id === component.props.record.id) { - result.data = await loadFn(orm, props); - } - }); - return result; -} - export const versionsTimeline = { ...statusBarField, component: VersionsTimeline, diff --git a/odoo-bringout-oca-ocb-hr/hr/static/src/views/fields/many2one_avatar_employee_field/kanban_many2one_avatar_employee_field.xml b/odoo-bringout-oca-ocb-hr/hr/static/src/views/fields/many2one_avatar_employee_field/kanban_many2one_avatar_employee_field.xml index 028145d..d51c150 100644 --- a/odoo-bringout-oca-ocb-hr/hr/static/src/views/fields/many2one_avatar_employee_field/kanban_many2one_avatar_employee_field.xml +++ b/odoo-bringout-oca-ocb-hr/hr/static/src/views/fields/many2one_avatar_employee_field/kanban_many2one_avatar_employee_field.xml @@ -8,7 +8,7 @@ - + diff --git a/odoo-bringout-oca-ocb-hr/hr/tests/test_hr_employee.py b/odoo-bringout-oca-ocb-hr/hr/tests/test_hr_employee.py index db44600..eb44bd3 100644 --- a/odoo-bringout-oca-ocb-hr/hr/tests/test_hr_employee.py +++ b/odoo-bringout-oca-ocb-hr/hr/tests/test_hr_employee.py @@ -660,6 +660,12 @@ class TestHrEmployee(TestHrCommon): }, { 'name': 'Multi Email Employee', 'work_email': '"Name1" , "Name 2" ', + }, { + 'name': 'Duplicate Email Employee 1', + 'work_email': 'duplicate@example.com', + }, { + 'name': 'Duplicate Email Employee 2', + 'work_email': 'duplicate@example.com', }, ]) # Add an existing employee who already has a user to the employee list @@ -669,13 +675,15 @@ class TestHrEmployee(TestHrCommon): action = confirmed_employees.action_create_users() params = action.get('params') + self.assertEqual(params.get('message'), f"The following employees have the same work email address: {employees[6].name}, {employees[7].name}") + params = params.get('next').get('params') self.assertEqual(params.get('message'), f"User already exists with the same email for Employees {employees[0].name}, {employees[4].name}") params = params.get('next').get('params') self.assertEqual(params.get('message'), f"You need to set a valid work email address for {employees[2].name}, {employees[5].name}") params = params.get('next').get('params') self.assertEqual(params.get('message'), f"You need to set the work email address for {employees[3].name}") params = params.get('next').get('params') - self.assertEqual(params.get('message'), f"User already exists for Those Employees {employees[6].name}") + self.assertEqual(params.get('message'), f"User already exists for Those Employees {employees[8].name}") params = params.get('next').get('params') self.assertEqual(params.get('message'), f"Users {employees[1].name} creation successful") self.assertTrue(employees[1].user_id) diff --git a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/controllers/main.py b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/controllers/main.py index 0012497..c23c901 100644 --- a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/controllers/main.py +++ b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/controllers/main.py @@ -201,6 +201,14 @@ class HrAttendance(http.Controller): @http.route('/hr_attendance/employees_infos', type="jsonrpc", auth="public") def employees_infos(self, token, limit, offset, domain): + for condition in domain: + field_name, operator, _value = condition # Force '&' implicit syntax + if field_name not in ('name', 'department_id') or operator not in ('=', 'ilike'): + raise UserError(_( + "Invalid domain, use 'name' and/or 'department_id' fields " + "with '=' and/or 'ilike' operators.", + )) + company = self._get_company(token) if company: domain = Domain(domain) & Domain('company_id', '=', company.id) diff --git a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/ar.po b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/ar.po index 662d2a2..1eb7ea5 100644 --- a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/ar.po +++ b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/ar.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 15.5alpha1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-27 18:37+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2026-01-26 21:10+0000\n" "Last-Translator: \"Malaz Siddig Elsayed Abuidris (msea)\" \n" "Language-Team: Arabic \n" "Language-Team: Azerbaijani \n" "Language-Team: Bulgarian , 2018\n" "Language-Team: Bosnian (https://www.transifex.com/odoo/teams/41243/bs/)\n" @@ -1188,6 +1188,14 @@ msgstr "" msgid "Install" msgstr "" +#. module: hr_attendance +#. odoo-python +#: code:addons/hr_attendance/controllers/main.py:0 +msgid "" +"Invalid domain, use 'name' and/or 'department_id' fields with '=' and/or " +"'ilike' operators." +msgstr "" + #. module: hr_attendance #. odoo-javascript #: code:addons/hr_attendance/static/src/components/greetings/greetings.xml:0 diff --git a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/ca.po b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/ca.po index 06a8fa1..4506764 100644 --- a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/ca.po +++ b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/ca.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 15.5alpha1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-27 18:37+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-08 21:52+0000\n" "Last-Translator: Weblate \n" "Language-Team: Catalan \n" "Language-Team: Czech \n" "Language-Team: Danish \n" "Language-Team: German \n" "Language-Team: Greek \n" "Language-Team: Spanish \n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" +"PO-Revision-Date: 2026-03-14 09:44+0000\n" +"Last-Translator: \"Fernanda Alvarez (mfar)\" \n" "Language-Team: Spanish (Latin America) \n" "Language: es_419\n" @@ -19,7 +19,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.16.1\n" +"X-Generator: Weblate 5.16.2\n" #. module: hr_attendance #. odoo-python @@ -1247,6 +1247,14 @@ msgstr "Modo de entrada (salida)" msgid "Install" msgstr "Instalar" +#. module: hr_attendance +#. odoo-python +#: code:addons/hr_attendance/controllers/main.py:0 +msgid "" +"Invalid domain, use 'name' and/or 'department_id' fields with '=' and/or " +"'ilike' operators." +msgstr "" + #. module: hr_attendance #. odoo-javascript #: code:addons/hr_attendance/static/src/components/greetings/greetings.xml:0 @@ -2210,8 +2218,8 @@ msgid "" "Unable to get a valid location. Do you want to proceed with your check-in/" "out anyway?" msgstr "" -"No fue posible obtener una ubicación válida. ¿Quieres continuar con el " -"registro de tu hora de entrada o salida de todas formas?" +"No fue posible obtener una ubicación válida. ¿Deseas continuar con tu " +"registro de entrada o salida de todos modos?" #. module: hr_attendance #. odoo-python diff --git a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/et.po b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/et.po index fa6d173..374b3aa 100644 --- a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/et.po +++ b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/et.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 15.5alpha1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-27 18:37+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-08 19:04+0000\n" "Last-Translator: Weblate \n" "Language-Team: Estonian \n" "Language-Team: Persian \n" "Language-Team: Finnish \n" @@ -31,7 +31,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.14.3\n" +"X-Generator: Weblate 5.16.2\n" #. module: hr_attendance #. odoo-python @@ -1251,6 +1251,14 @@ msgstr "Syöttötila (ulos)" msgid "Install" msgstr "Asenna" +#. module: hr_attendance +#. odoo-python +#: code:addons/hr_attendance/controllers/main.py:0 +msgid "" +"Invalid domain, use 'name' and/or 'department_id' fields with '=' and/or " +"'ilike' operators." +msgstr "" + #. module: hr_attendance #. odoo-javascript #: code:addons/hr_attendance/static/src/components/greetings/greetings.xml:0 @@ -1356,12 +1364,12 @@ msgstr "Lataa näytetiedot" #. module: hr_attendance #: model_terms:ir.ui.view,arch_db:hr_attendance.view_attendance_tree msgid "Location (In)" -msgstr "" +msgstr "Sijainti (sisään)" #. module: hr_attendance #: model_terms:ir.ui.view,arch_db:hr_attendance.view_attendance_tree msgid "Location (Out)" -msgstr "" +msgstr "Sijainti (ulos)" #. module: hr_attendance #: model:ir.model.fields,field_description:hr_attendance.field_hr_attendance__in_longitude @@ -1716,7 +1724,7 @@ msgstr "Palvelun tarjoaa" #. odoo-javascript #: code:addons/hr_attendance/static/src/components/attendance_menu/attendance_menu.js:0 msgid "Proceed Anyway" -msgstr "" +msgstr "Jatka joka tapauksessa" #. module: hr_attendance #: model_terms:ir.ui.view,arch_db:hr_attendance.hr_attendance_overtime_ruleset_view_form @@ -2209,6 +2217,8 @@ msgid "" "Unable to get a valid location. Do you want to proceed with your check-in/" "out anyway?" msgstr "" +"Voimassa olevaa sijaintia ei löytynyt. Haluatko jatkaa sisään-/" +"uloskirjautumista siitä huolimatta?" #. module: hr_attendance #. odoo-python diff --git a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/fr.po b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/fr.po index 1257442..fe54ceb 100644 --- a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/fr.po +++ b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/fr.po @@ -14,8 +14,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 15.5alpha1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-27 18:37+0000\n" -"PO-Revision-Date: 2026-03-06 17:44+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" +"PO-Revision-Date: 2026-03-14 09:32+0000\n" "Last-Translator: \"Manon Rondou (ronm)\" \n" "Language-Team: French \n" @@ -25,7 +25,7 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : ((n != 0 && n % " "1000000 == 0) ? 1 : 2);\n" -"X-Generator: Weblate 5.16.1\n" +"X-Generator: Weblate 5.16.2\n" #. module: hr_attendance #. odoo-python @@ -351,7 +351,7 @@ msgstr "Approbateur présences" #. odoo-javascript #: code:addons/hr_attendance/static/src/components/attendance_menu/attendance_menu.js:0 msgid "Attendance Error" -msgstr "Erreur de présence" +msgstr "Erreur de pointage" #. module: hr_attendance #: model:ir.model.fields,field_description:hr_attendance.field_res_company__attendance_from_systray @@ -1259,6 +1259,14 @@ msgstr "Mode de saisie (fin)" msgid "Install" msgstr "Installer" +#. module: hr_attendance +#. odoo-python +#: code:addons/hr_attendance/controllers/main.py:0 +msgid "" +"Invalid domain, use 'name' and/or 'department_id' fields with '=' and/or " +"'ilike' operators." +msgstr "" + #. module: hr_attendance #. odoo-javascript #: code:addons/hr_attendance/static/src/components/greetings/greetings.xml:0 diff --git a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/he.po b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/he.po index f37cc85..a28c3ec 100644 --- a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/he.po +++ b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/he.po @@ -22,7 +22,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 15.5alpha1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-27 18:37+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-08 21:52+0000\n" "Last-Translator: Weblate \n" "Language-Team: Hebrew \n" "Language-Team: Hindi \n" "Language-Team: Croatian \n" "Language-Team: Hungarian \n" "Language-Team: Indonesian \n" "Language-Team: Italian \n" "Language-Team: Japanese , 2017\n" "Language-Team: Kabyle (https://www.transifex.com/odoo/teams/41243/kab/)\n" @@ -1185,6 +1185,14 @@ msgstr "" msgid "Install" msgstr "" +#. module: hr_attendance +#. odoo-python +#: code:addons/hr_attendance/controllers/main.py:0 +msgid "" +"Invalid domain, use 'name' and/or 'department_id' fields with '=' and/or " +"'ilike' operators." +msgstr "" + #. module: hr_attendance #. odoo-javascript #: code:addons/hr_attendance/static/src/components/greetings/greetings.xml:0 diff --git a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/ko.po b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/ko.po index 7d42ba0..de237a3 100644 --- a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/ko.po +++ b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/ko.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 15.5alpha1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-27 18:37+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2026-01-09 04:31+0000\n" "Last-Translator: \"Kwanghee Park (kwpa)\" \n" "Language-Team: Korean \n" "Language-Team: Kurdish (Central) \n" "Language-Team: Lithuanian , 2023\n" "Language-Team: Latvian (https://app.transifex.com/odoo/teams/41243/lv/)\n" @@ -1191,6 +1191,14 @@ msgstr "" msgid "Install" msgstr "" +#. module: hr_attendance +#. odoo-python +#: code:addons/hr_attendance/controllers/main.py:0 +msgid "" +"Invalid domain, use 'name' and/or 'department_id' fields with '=' and/or " +"'ilike' operators." +msgstr "" + #. module: hr_attendance #. odoo-javascript #: code:addons/hr_attendance/static/src/components/greetings/greetings.xml:0 diff --git a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/mn.po b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/mn.po index a40d477..62cb461 100644 --- a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/mn.po +++ b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/mn.po @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 15.5alpha1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-27 18:37+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-08 17:51+0000\n" "Last-Translator: Weblate \n" "Language-Team: Mongolian \n" "Language-Team: Burmese \n" "Language-Team: Norwegian Bokmål \n" "Language-Team: Dutch \n" "Language-Team: Polish \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese (Brazil) \n" "Language-Team: Romanian \n" "Language-Team: Russian \n" "Language-Team: Slovenian \n" "Language-Team: Serbian (Latin script) \n" "Language-Team: Swedish \n" @@ -31,7 +31,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.16.1\n" +"X-Generator: Weblate 5.16.2\n" #. module: hr_attendance #. odoo-python @@ -766,7 +766,7 @@ msgstr "Arbetar för närvarande" #. module: hr_attendance #: model:ir.ui.menu,name:hr_attendance.menu_hr_attendance_view_dashboard msgid "Dashboard" -msgstr "Instrumentpanel" +msgstr "Anslagstavla" #. module: hr_attendance #: model:ir.model.fields,field_description:hr_attendance.field_hr_attendance__date @@ -1224,6 +1224,14 @@ msgstr "Ingångsläge (ut)" msgid "Install" msgstr "Installera" +#. module: hr_attendance +#. odoo-python +#: code:addons/hr_attendance/controllers/main.py:0 +msgid "" +"Invalid domain, use 'name' and/or 'department_id' fields with '=' and/or " +"'ilike' operators." +msgstr "" + #. module: hr_attendance #. odoo-javascript #: code:addons/hr_attendance/static/src/components/greetings/greetings.xml:0 diff --git a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/th.po b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/th.po index 7628e96..142f74c 100644 --- a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/th.po +++ b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/th.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 15.5alpha1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-27 18:37+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-08 17:58+0000\n" "Last-Translator: Weblate \n" "Language-Team: Thai \n" "Language-Team: Turkish \n" "Language-Team: Ukrainian , 2025. -# "Thi Huong Nguyen (thng)" , 2025. +# "Thi Huong Nguyen (thng)" , 2025, 2026. # Weblate , 2025. msgid "" msgstr "" "Project-Id-Version: Odoo Server 15.5alpha1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-27 18:37+0000\n" -"PO-Revision-Date: 2025-12-04 17:51+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" +"PO-Revision-Date: 2026-03-20 09:44+0000\n" "Last-Translator: \"Thi Huong Nguyen (thng)\" \n" "Language-Team: Vietnamese \n" @@ -23,7 +23,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.14.3\n" +"X-Generator: Weblate 5.16.2\n" #. module: hr_attendance #. odoo-python @@ -772,7 +772,7 @@ msgstr "Đang làm việc" #. module: hr_attendance #: model:ir.ui.menu,name:hr_attendance.menu_hr_attendance_view_dashboard msgid "Dashboard" -msgstr "Bảng điều khiển" +msgstr "Báo cáo tổng quan" #. module: hr_attendance #: model:ir.model.fields,field_description:hr_attendance.field_hr_attendance__date @@ -1232,6 +1232,14 @@ msgstr "Chế độ nhập (Ra)" msgid "Install" msgstr "Cài đặt" +#. module: hr_attendance +#. odoo-python +#: code:addons/hr_attendance/controllers/main.py:0 +msgid "" +"Invalid domain, use 'name' and/or 'department_id' fields with '=' and/or " +"'ilike' operators." +msgstr "" + #. module: hr_attendance #. odoo-javascript #: code:addons/hr_attendance/static/src/components/greetings/greetings.xml:0 diff --git a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/zh_CN.po b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/zh_CN.po index 5063090..b603e13 100644 --- a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/zh_CN.po +++ b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/i18n/zh_CN.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 15.5alpha1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-27 18:37+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-12-20 09:34+0000\n" "Last-Translator: \"Chloe Wang (chwa)\" \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Traditional Han script) =', min(attendances.mapped('check_in')).date() + relativedelta(MO(-1))), - ]) for employee, attendances in self.filtered(lambda att: att.check_out).grouped('employee_id').items()] + domain_list = [] + for employee, attendances in self.filtered(lambda att: att.check_out).grouped('employee_id').items(): + tz = timezone(employee._get_tz()) + local_check_in = utc.localize(min(attendances.mapped('check_in'))).astimezone(tz) + local_check_out = utc.localize(max(attendances.mapped('check_out'))).astimezone(tz) + date_from = local_check_in.date() + relativedelta(weekday=MO(-1)) + date_to = local_check_out.date() + relativedelta(weekday=SU) + + domain_list.append(Domain.AND([ + Domain('employee_id', '=', employee.id), + Domain('date', '<=', date_to), + Domain('date', '>=', date_from), + ])) if not domain_list: return Domain.FALSE return Domain.OR(domain_list) if len(domain_list) > 1 else domain_list[0] @@ -280,7 +288,11 @@ class HrAttendance(models.Model): def _update_overtime(self, attendance_domain=None): if not attendance_domain: attendance_domain = self._get_overtimes_to_update_domain() - self.env['hr.attendance.overtime.line'].search(attendance_domain).unlink() + all_overtime_lines = self.env['hr.attendance.overtime.line'].search(attendance_domain) + manual_overtimes = set(all_overtime_lines.filtered( + lambda l: l.manual_duration != l.duration or l.status == 'to_approve' + ).mapped(lambda l: (l.employee_id.id, l.date))) + all_overtime_lines.unlink() all_attendances = (self | self.env['hr.attendance'].search(attendance_domain)).filtered_domain([('check_out', '!=', False)]) if not all_attendances: return @@ -305,9 +317,13 @@ class HrAttendance(models.Model): overtime_vals_list = [] for ruleset_sudo, ruleset_attendances in attendances_by_ruleset.items(): attendances_dates = list(chain(*ruleset_attendances._get_dates().values())) - overtime_vals_list.extend( - ruleset_sudo.rule_ids._generate_overtime_vals_v2(min(attendances_dates), max(attendances_dates), ruleset_attendances, schedules_intervals_by_employee) - ) + overtime_vals_list.extend([ + { + **val, + 'status': 'to_approve' + } if (val['employee_id'], val['date']) in manual_overtimes else val + for val in ruleset_sudo.rule_ids._generate_overtime_vals_v2(min(attendances_dates), max(attendances_dates), ruleset_attendances, schedules_intervals_by_employee) + ]) self.env['hr.attendance.overtime.line'].create(overtime_vals_list) self.env.add_to_compute(self._fields['overtime_hours'], all_attendances) self.env.add_to_compute(self._fields['validated_overtime_hours'], all_attendances) diff --git a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/models/hr_employee.py b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/models/hr_employee.py index 5c7f7ab..85fa851 100644 --- a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/models/hr_employee.py +++ b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/models/hr_employee.py @@ -82,7 +82,10 @@ class HrEmployee(models.Model): def _compute_total_overtime(self): mapped_validated_overtimes = dict( self.env['hr.attendance.overtime.line']._read_group( - domain=[('status', '=', 'approved')], + domain=[ + ('status', '=', 'approved'), + ('employee_id', 'in', self.ids), + ], groupby=['employee_id'], aggregates=['manual_duration:sum'] )) @@ -96,59 +99,66 @@ class HrEmployee(models.Model): """ now = fields.Datetime.now() now_utc = pytz.utc.localize(now) - for employee in self: - tz = pytz.timezone(employee.tz or 'UTC') + for timezone, employees in self.grouped('tz').items(): + tz = pytz.timezone(timezone or 'UTC') now_tz = now_utc.astimezone(tz) start_tz = now_tz.replace(day=1, hour=0, minute=0, second=0, microsecond=0) start_naive = start_tz.astimezone(pytz.utc).replace(tzinfo=None) end_tz = now_tz end_naive = end_tz.astimezone(pytz.utc).replace(tzinfo=None) - current_month_attendances = employee.attendance_ids.filtered( - lambda att: att.check_in >= start_naive and att.check_out and att.check_out <= end_naive - ) - hours = 0 - overtime_hours = 0 - for att in current_month_attendances: - hours += att.worked_hours or 0 - overtime_hours += att.validated_overtime_hours or 0 - employee.hours_last_month = round(hours, 2) - employee.hours_last_month_display = "%g" % employee.hours_last_month - # overtime_adjustments = sum( - # ot.duration or 0 - # for ot in employee.overtime_ids.filtered( - # lambda ot: ot.date >= start_tz.date() and ot.date <= end_tz.date() and ot.adjustment - # ) - # ) - employee.hours_last_month_overtime = round(overtime_hours, 2) + for employee in employees: + current_month_attendances = employee.attendance_ids.filtered( + lambda att: att.check_in >= start_naive and att.check_out and att.check_out <= end_naive + ) + hours = 0 + overtime_hours = 0 + for att in current_month_attendances: + hours += att.worked_hours or 0 + overtime_hours += att.validated_overtime_hours or 0 + employee.hours_last_month = round(hours, 2) + employee.hours_last_month_display = "%g" % employee.hours_last_month + # overtime_adjustments = sum( + # ot.duration or 0 + # for ot in employee.overtime_ids.filtered( + # lambda ot: ot.date >= start_tz.date() and ot.date <= end_tz.date() and ot.adjustment + # ) + # ) + employee.hours_last_month_overtime = round(overtime_hours, 2) def _compute_hours_today(self): now = fields.Datetime.now() now_utc = pytz.utc.localize(now) - for employee in self: + for timezone, employees in self.grouped('tz').items(): # start of day in the employee's timezone might be the previous day in utc - tz = pytz.timezone(employee.tz) - now_tz = now_utc.astimezone(tz) - start_tz = now_tz + relativedelta(hour=0, minute=0) # day start in the employee's timezone + tz = pytz.timezone(timezone or 'UTC') + start_tz = now_utc.astimezone(tz) + relativedelta(hour=0, minute=0) # day start in the employee's timezone start_naive = start_tz.astimezone(pytz.utc).replace(tzinfo=None) - attendances = self.env['hr.attendance'].search([ - ('employee_id', 'in', employee.ids), - ('check_in', '<=', now), - '|', ('check_out', '>=', start_naive), ('check_out', '=', False), - ], order='check_in asc') - hours_previously_today = 0 - worked_hours = 0 - attendance_worked_hours = 0 - for attendance in attendances: - delta = (attendance.check_out or now) - max(attendance.check_in, start_naive) - attendance_worked_hours = delta.total_seconds() / 3600.0 - worked_hours += attendance_worked_hours - hours_previously_today += attendance_worked_hours - employee.last_attendance_worked_hours = attendance_worked_hours - hours_previously_today -= attendance_worked_hours - employee.hours_previously_today = hours_previously_today - employee.hours_today = worked_hours + attendances_by_employee = dict(self.env['hr.attendance']._read_group( + [ + ('employee_id', 'in', employees.ids), + ('check_in', '<=', now), + '|', ('check_out', '>=', start_naive), ('check_out', '=', False), + ], + ['employee_id'], + ['id:recordset'], + )) + + for employee in employees: + attendances = attendances_by_employee.get(employee, self.env['hr.attendance']) + hours_previously_today = 0 + worked_hours = 0 + attendance_worked_hours = 0 + for attendance in attendances: + delta = (attendance.check_out or now) - max(attendance.check_in, start_naive) + attendance_worked_hours = delta.total_seconds() / 3600.0 + worked_hours += attendance_worked_hours + hours_previously_today += attendance_worked_hours + employee.last_attendance_worked_hours = attendance_worked_hours + hours_previously_today -= attendance_worked_hours + employee.hours_previously_today = hours_previously_today + employee.hours_today = worked_hours @api.depends('attendance_ids') def _compute_last_attendance_id(self): diff --git a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/tests/test_hr_attendance_overtime.py b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/tests/test_hr_attendance_overtime.py index efa360c..dcba442 100644 --- a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/tests/test_hr_attendance_overtime.py +++ b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/tests/test_hr_attendance_overtime.py @@ -825,8 +825,8 @@ class TestHrAttendanceOvertime(HttpCase): def test_no_validation_extra_hours_change(self): """ - In case of attendances requiring no validation, check that extra hours are not recomputed - if the value is different from `validated_hours` (meaning it has been modified by the user). + Check that manual edits are recomputed when updating another attendance, + but flags the record as 'to_approve' """ self.company.attendance_overtime_validation = "no_validation" @@ -842,7 +842,7 @@ class TestHrAttendanceOvertime(HttpCase): self.assertAlmostEqual(attendance.overtime_hours, 1, 2) self.assertAlmostEqual(attendance.validated_overtime_hours, 1, 2) - attendance.linked_overtime_ids.manual_duration = previous = 0.5 + attendance.linked_overtime_ids.manual_duration = 0.5 self.assertNotEqual(attendance.validated_overtime_hours, attendance.overtime_hours) # Create another attendance for the same employee @@ -851,7 +851,11 @@ class TestHrAttendanceOvertime(HttpCase): 'check_in': datetime(2023, 1, 4, 8, 0), 'check_out': datetime(2023, 1, 4, 18, 0) }) - self.assertEqual(attendance.validated_overtime_hours, previous, "Extra hours shouldn't be recomputed") + # The hours will now be recomputed + # But they should have the 'to_approve' status + self.assertEqual(attendance.linked_overtime_ids.status, 'to_approve', "Record should be flagged for approval") + self.assertAlmostEqual(attendance.linked_overtime_ids.duration, 1.0, 2, "Math should be reset to 1.0") + self.assertEqual(attendance.validated_overtime_hours, 0.0, "Validated hours should be 0 until approved") def _check_overtimes(self, overtimes, vals_list): self.assertEqual(len(overtimes), len(vals_list), "Wrong number of overtimes") diff --git a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/tests/test_hr_attendance_rulesets.py b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/tests/test_hr_attendance_rulesets.py index ab59c17..1f6bbf3 100644 --- a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/tests/test_hr_attendance_rulesets.py +++ b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/tests/test_hr_attendance_rulesets.py @@ -112,15 +112,16 @@ class TestHrAttendanceOvertime(TransactionCase): def test_weekly_overtime(self): """ Test weekly overtime for the 40-hour rule """ with freeze_time("2021-01-04"): - # Week: Mon-Fri, 10 hours/day = 50 hours total (40 expected + 10 overtime at 200%) - [ - self.env['hr.attendance'].create({ - 'employee_id': self.employee.id, # This employee have a calendar with no lunch + # Week: Mon-Fri, 10 hours/day = 50 hours total (10h daily OT + 8h weekly OT = 18h total) + attendance_vals = [ + { + 'employee_id': self.employee.id, 'check_in': datetime(2021, 1, day, 8, 0), 'check_out': datetime(2021, 1, day, 18, 0) - }) for day in range(4, 9) # Monday to Friday + } for day in range(4, 9) # Monday to Friday ] - self.assertAlmostEqual(self.employee.total_overtime, 10, 2, msg="He should work from 8-16h so each day he did 2 hours of overtime") + self.env['hr.attendance'].create(attendance_vals) + self.assertAlmostEqual(self.employee.total_overtime, 18, 2, msg="He should work from 8-16h so each day he did 2 hours of overtime") def test_multiple_attendances_same_day(self): """ Test multiple attendances in one day """ diff --git a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/tests/test_hr_attendance_undertime.py b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/tests/test_hr_attendance_undertime.py index 517014c..66e5a7a 100644 --- a/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/tests/test_hr_attendance_undertime.py +++ b/odoo-bringout-oca-ocb-hr_attendance/hr_attendance/tests/test_hr_attendance_undertime.py @@ -477,8 +477,8 @@ class TestHrAttendanceUndertime(HttpCase): def test_no_validation_extra_hours_change(self): """ - In case of attendances requiring no validation, check that extra hours are not recomputed - if the value is different from `validated_hours` (meaning it has been modified by the user). + Check that manual edits are recomputed when updating another attendance, + but flags the record as 'to_approve'. """ self.company.attendance_overtime_validation = "no_validation" @@ -494,7 +494,7 @@ class TestHrAttendanceUndertime(HttpCase): self.assertAlmostEqual(attendance.overtime_hours, -2, 2) self.assertAlmostEqual(attendance.validated_overtime_hours, -2, 2) - attendance.linked_overtime_ids.manual_duration = previous = -1.5 + attendance.linked_overtime_ids.manual_duration = -1.5 self.assertNotEqual(attendance.validated_overtime_hours, attendance.overtime_hours) # Create another attendance for the same employee @@ -503,7 +503,11 @@ class TestHrAttendanceUndertime(HttpCase): 'check_in': datetime(2023, 1, 4, 8, 0), 'check_out': datetime(2023, 1, 4, 18, 0), }) - self.assertEqual(attendance.validated_overtime_hours, previous, "Extra hours shouldn't be recomputed") + # The hours will now be recomputed + # But they should have the 'to_approve' status + self.assertEqual(attendance.linked_overtime_ids.status, 'to_approve', "Record should be flagged for approval") + self.assertAlmostEqual(attendance.linked_overtime_ids.duration, -2.0, 2, "Math should be reset to -2.0") + self.assertEqual(attendance.validated_overtime_hours, 0.0, "Validated hours should be 0 until approved") def test_overtime_employee_tolerance(self): self.ruleset.rule_ids[0].employee_tolerance = 10 / 60 diff --git a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/ar.po b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/ar.po index f2bb215..71fc27c 100644 --- a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/ar.po +++ b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/ar.po @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-20 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2026-01-05 14:58+0000\n" "Last-Translator: \"Malaz Siddig Elsayed Abuidris (msea)\" \n" "Language-Team: Arabic \n" "Language-Team: Azerbaijani \n" "Language-Team: Bulgarian , 2018\n" "Language-Team: Bosnian (https://www.transifex.com/odoo/teams/41243/bs/)\n" @@ -798,6 +798,7 @@ msgstr "" #. module: hr_expense #. odoo-python #: code:addons/hr_expense/models/account_move.py:0 +#: code:addons/hr_expense/models/account_payment.py:0 #: model:ir.model.fields,field_description:hr_expense.field_product_product__can_be_expensed #: model:ir.model.fields,field_description:hr_expense.field_product_template__can_be_expensed #: model:ir.ui.menu,name:hr_expense.menu_hr_expense_root diff --git a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/ca.po b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/ca.po index 30e2548..abac694 100644 --- a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/ca.po +++ b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/ca.po @@ -32,7 +32,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-20 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-08 21:52+0000\n" "Last-Translator: Weblate \n" "Language-Team: Catalan \n" "Language-Team: Czech = 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\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" "X-Generator: Weblate 5.14.3\n" #. module: hr_expense @@ -816,6 +816,7 @@ msgstr "" #. module: hr_expense #. odoo-python #: code:addons/hr_expense/models/account_move.py:0 +#: code:addons/hr_expense/models/account_payment.py:0 #: model:ir.model.fields,field_description:hr_expense.field_product_product__can_be_expensed #: model:ir.model.fields,field_description:hr_expense.field_product_template__can_be_expensed #: model:ir.ui.menu,name:hr_expense.menu_hr_expense_root diff --git a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/da.po b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/da.po index 88f9c89..d2972a4 100644 --- a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/da.po +++ b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/da.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-20 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-08 21:52+0000\n" "Last-Translator: Weblate \n" "Language-Team: Danish \n" "Language-Team: German \n" "Language-Team: Greek \n" "Language-Team: Spanish \n" "Language-Team: Spanish (Latin America) \n" "Language-Team: Estonian \n" "Language-Team: Persian \n" "Language-Team: Finnish \n" @@ -44,7 +44,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.16.1\n" +"X-Generator: Weblate 5.16.2\n" #. module: hr_expense #: model_terms:ir.ui.view,arch_db:hr_expense.report_expense @@ -840,6 +840,7 @@ msgstr "Kulu odottaa hyväksyntää" #. module: hr_expense #. odoo-python #: code:addons/hr_expense/models/account_move.py:0 +#: code:addons/hr_expense/models/account_payment.py:0 #: model:ir.model.fields,field_description:hr_expense.field_product_product__can_be_expensed #: model:ir.model.fields,field_description:hr_expense.field_product_template__can_be_expensed #: model:ir.ui.menu,name:hr_expense.menu_hr_expense_root @@ -1984,6 +1985,8 @@ msgid "" "The attachment (%(attachment_name)s) has not been added to the report due to " "the following error: '%(error)s'" msgstr "" +"Liitettä (%(attachment_name)s) ei lisätty raporttiin seuraavan virheen " +"takia: '%(error)s'" #. module: hr_expense #: model:ir.model.fields,help:hr_expense.field_res_company__expense_journal_id @@ -2182,7 +2185,7 @@ msgstr "Yksikköhinta" #. module: hr_expense #: model_terms:ir.ui.view,arch_db:hr_expense.report_expense msgid "Untaxed Amount" -msgstr "Veroton arvo" +msgstr "Veroton summa" #. module: hr_expense #. odoo-python diff --git a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/fr.po b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/fr.po index 04a255f..039443b 100644 --- a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/fr.po +++ b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/fr.po @@ -14,18 +14,18 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-20 18:35+0000\n" -"PO-Revision-Date: 2026-02-25 14:43+0000\n" -"Last-Translator: \"Dylan Kiss (dyki)\" \n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" +"PO-Revision-Date: 2026-03-14 09:33+0000\n" +"Last-Translator: \"Manon Rondou (ronm)\" \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : " -"((n != 0 && n % 1000000 == 0) ? 1 : 2);\n" -"X-Generator: Weblate 5.14.3\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : ((n != 0 && n % " +"1000000 == 0) ? 1 : 2);\n" +"X-Generator: Weblate 5.16.2\n" #. module: hr_expense #: model_terms:ir.ui.view,arch_db:hr_expense.report_expense @@ -201,7 +201,7 @@ msgstr "Activités" #. module: hr_expense #: model:ir.model.fields,field_description:hr_expense.field_hr_expense__activity_exception_decoration msgid "Activity Exception Decoration" -msgstr "Activité exception décoration" +msgstr "Indicateur d’exception d’activité" #. module: hr_expense #: model:ir.model.fields,field_description:hr_expense.field_hr_expense__activity_state @@ -824,6 +824,7 @@ msgstr "Dépense à approuver" #. module: hr_expense #. odoo-python #: code:addons/hr_expense/models/account_move.py:0 +#: code:addons/hr_expense/models/account_payment.py:0 #: model:ir.model.fields,field_description:hr_expense.field_product_product__can_be_expensed #: model:ir.model.fields,field_description:hr_expense.field_product_template__can_be_expensed #: model:ir.ui.menu,name:hr_expense.menu_hr_expense_root diff --git a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/he.po b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/he.po index 37dbef3..b228838 100644 --- a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/he.po +++ b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/he.po @@ -29,7 +29,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-20 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-08 21:52+0000\n" "Last-Translator: Weblate \n" "Language-Team: Hebrew \n" "Language-Team: Hindi \n" "Language-Team: Croatian \n" "Language-Team: Hungarian \n" "Language-Team: Indonesian \n" "Language-Team: Italian \n" "Language-Team: Japanese , 2017\n" "Language-Team: Kabyle (https://www.transifex.com/odoo/teams/41243/kab/)\n" @@ -795,6 +795,7 @@ msgstr "" #. module: hr_expense #. odoo-python #: code:addons/hr_expense/models/account_move.py:0 +#: code:addons/hr_expense/models/account_payment.py:0 #: model:ir.model.fields,field_description:hr_expense.field_product_product__can_be_expensed #: model:ir.model.fields,field_description:hr_expense.field_product_template__can_be_expensed #: model:ir.ui.menu,name:hr_expense.menu_hr_expense_root diff --git a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/ko.po b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/ko.po index c934d51..4c1f99e 100644 --- a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/ko.po +++ b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/ko.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-20 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2026-01-27 06:39+0000\n" "Last-Translator: \"Kwanghee Park (kwpa)\" \n" "Language-Team: Korean \n" "Language-Team: Kurdish (Central) \n" "Language-Team: Lithuanian , 2023\n" "Language-Team: Latvian (https://app.transifex.com/odoo/teams/41243/lv/)\n" @@ -805,6 +805,7 @@ msgstr "" #. module: hr_expense #. odoo-python #: code:addons/hr_expense/models/account_move.py:0 +#: code:addons/hr_expense/models/account_payment.py:0 #: model:ir.model.fields,field_description:hr_expense.field_product_product__can_be_expensed #: model:ir.model.fields,field_description:hr_expense.field_product_template__can_be_expensed #: model:ir.ui.menu,name:hr_expense.menu_hr_expense_root diff --git a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/mn.po b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/mn.po index 1879483..b07f253 100644 --- a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/mn.po +++ b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/mn.po @@ -26,7 +26,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-20 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-08 19:03+0000\n" "Last-Translator: Weblate \n" "Language-Team: Mongolian \n" "Language-Team: Burmese \n" "Language-Team: Norwegian Bokmål \n" "Language-Team: Dutch \n" "Language-Team: Polish =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" +"(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" "X-Generator: Weblate 5.14.3\n" #. module: hr_expense @@ -841,6 +841,7 @@ msgstr "Wydatki do zatwierdzenia" #. module: hr_expense #. odoo-python #: code:addons/hr_expense/models/account_move.py:0 +#: code:addons/hr_expense/models/account_payment.py:0 #: model:ir.model.fields,field_description:hr_expense.field_product_product__can_be_expensed #: model:ir.model.fields,field_description:hr_expense.field_product_template__can_be_expensed #: model:ir.ui.menu,name:hr_expense.menu_hr_expense_root diff --git a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/pt.po b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/pt.po index 039fd77..8017e52 100644 --- a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/pt.po +++ b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/pt.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-20 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-08 19:06+0000\n" "Last-Translator: Weblate \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese (Brazil) \n" "Language-Team: Romanian \n" "Language-Team: Russian =2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 " -": n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" "X-Generator: Weblate 5.14.3\n" #. module: hr_expense @@ -93,8 +93,8 @@ msgid "" "'Expense - %s - %s' % (object.employee_id.name, (object.name).replace('/', " "''))" msgstr "" -"'Расход - %s - %s' % (object.employee_id.name, (object.name).replace('/', '')" -")" +"'Расход - %s - %s' % (object.employee_id.name, (object.name).replace('/', " +"''))" #. module: hr_expense #: model_terms:ir.ui.view,arch_db:hr_expense.hr_expense_view_form @@ -820,6 +820,7 @@ msgstr "Расход к согласованию" #. module: hr_expense #. odoo-python #: code:addons/hr_expense/models/account_move.py:0 +#: code:addons/hr_expense/models/account_payment.py:0 #: model:ir.model.fields,field_description:hr_expense.field_product_product__can_be_expensed #: model:ir.model.fields,field_description:hr_expense.field_product_template__can_be_expensed #: model:ir.ui.menu,name:hr_expense.menu_hr_expense_root @@ -1441,7 +1442,8 @@ msgstr "Только расходы в статусе «Черновик» мо #. odoo-python #: code:addons/hr_expense/models/hr_expense.py:0 msgid "Only expense paid by the employee can be posted with the wizard" -msgstr "С помощью мастера можно провести только расходы, оплаченные сотрудником" +msgstr "" +"С помощью мастера можно провести только расходы, оплаченные сотрудником" #. module: hr_expense #. odoo-python @@ -1958,7 +1960,8 @@ msgstr "Ответственный за одобрение команды" #. odoo-python #: code:addons/hr_expense/models/hr_expense.py:0 msgid "The account %(name)s (%(code)s) is archived. Activate it to continue" -msgstr "Счет %(name)s (%(code)s) архивирован. Активируйте его, чтобы продолжить" +msgstr "" +"Счет %(name)s (%(code)s) архивирован. Активируйте его, чтобы продолжить" #. module: hr_expense #. odoo-python diff --git a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/sk.po b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/sk.po index e27b583..df65df2 100644 --- a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/sk.po +++ b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/sk.po @@ -16,8 +16,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-20 18:35+0000\n" -"PO-Revision-Date: 2026-03-06 17:52+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" +"PO-Revision-Date: 2026-03-14 20:05+0000\n" "Last-Translator: Tomáš Píšek \n" "Language-Team: Slovak \n" @@ -25,9 +25,9 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && " -"n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" -"X-Generator: Weblate 5.16.1\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" +"X-Generator: Weblate 5.16.2\n" #. module: hr_expense #: model_terms:ir.ui.view,arch_db:hr_expense.report_expense @@ -395,7 +395,7 @@ msgstr "Môže sa resetovať" #: model_terms:ir.ui.view,arch_db:hr_expense.hr_expense_refuse_wizard_view_form #: model_terms:ir.ui.view,arch_db:hr_expense.hr_expense_split msgid "Cancel" -msgstr "Zrušené" +msgstr "Zrušiť" #. module: hr_expense #: model:ir.model.fields,field_description:hr_expense.field_hr_expense__product_id @@ -811,6 +811,7 @@ msgstr "" #. module: hr_expense #. odoo-python #: code:addons/hr_expense/models/account_move.py:0 +#: code:addons/hr_expense/models/account_payment.py:0 #: model:ir.model.fields,field_description:hr_expense.field_product_product__can_be_expensed #: model:ir.model.fields,field_description:hr_expense.field_product_template__can_be_expensed #: model:ir.ui.menu,name:hr_expense.menu_hr_expense_root diff --git a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/sl.po b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/sl.po index e987357..d3de3c7 100644 --- a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/sl.po +++ b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/sl.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-20 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-08 19:18+0000\n" "Last-Translator: Weblate \n" "Language-Team: Slovenian \n" "Language-Team: Serbian (Latin script) \n" "Language-Team: Swedish \n" @@ -34,7 +34,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.16.1\n" +"X-Generator: Weblate 5.16.2\n" #. module: hr_expense #: model_terms:ir.ui.view,arch_db:hr_expense.report_expense @@ -139,7 +139,7 @@ msgstr "" #. module: hr_expense #: model_terms:ir.ui.view,arch_db:hr_expense.hr_expense_view_form msgid "Journal Entry" -msgstr "Verifikat" +msgstr "Bokföringspost" #. module: hr_expense #: model_terms:ir.ui.view,arch_db:hr_expense.res_config_settings_view_form @@ -212,7 +212,7 @@ msgstr "Aktivitet undantaget dekoration" #. module: hr_expense #: model:ir.model.fields,field_description:hr_expense.field_hr_expense__activity_state msgid "Activity State" -msgstr "Aktivitetstillstånd" +msgstr "Aktivitetsstatus" #. module: hr_expense #: model:ir.model.fields,field_description:hr_expense.field_hr_expense__activity_type_icon @@ -825,6 +825,7 @@ msgstr "" #. module: hr_expense #. odoo-python #: code:addons/hr_expense/models/account_move.py:0 +#: code:addons/hr_expense/models/account_payment.py:0 #: model:ir.model.fields,field_description:hr_expense.field_product_product__can_be_expensed #: model:ir.model.fields,field_description:hr_expense.field_product_template__can_be_expensed #: model:ir.ui.menu,name:hr_expense.menu_hr_expense_root @@ -929,7 +930,7 @@ msgstr "" #. module: hr_expense #: model_terms:ir.ui.view,arch_db:hr_expense.hr_expense_view_search msgid "Future Activities" -msgstr "Framtida aktiviteter" +msgstr "Kommande aktiviteter" #. module: hr_expense #. odoo-javascript @@ -1016,7 +1017,8 @@ msgstr "Ikon för att indikera en undantagsaktivitet." #. module: hr_expense #: model:ir.model.fields,help:hr_expense.field_hr_expense__message_needaction msgid "If checked, new messages require your attention." -msgstr "Om ikryssad, så finns det nya meddelanden som kräver din uppmärksamhet." +msgstr "" +"Om ikryssad, så finns det nya meddelanden som kräver din uppmärksamhet." #. module: hr_expense #: model:ir.model.fields,help:hr_expense.field_hr_expense__message_has_error @@ -1081,13 +1083,13 @@ msgstr "Allt börjar här - nu kör vi!" #: model:ir.model.fields,field_description:hr_expense.field_hr_expense_post_wizard__employee_journal_id #: model_terms:ir.ui.view,arch_db:hr_expense.hr_expense_post_wizard_view msgid "Journal" -msgstr "Verifikationsserie" +msgstr "Journal" #. module: hr_expense #: model:ir.model,name:hr_expense.model_account_move #: model:ir.model.fields,field_description:hr_expense.field_hr_expense__account_move_id msgid "Journal Entry" -msgstr "Verifikation" +msgstr "Bokföringspost" #. module: hr_expense #: model:mail.message.subtype,name:hr_expense.mt_expense_entry_delete @@ -1154,7 +1156,7 @@ msgstr "Senast uppdaterad den" #. module: hr_expense #: model_terms:ir.ui.view,arch_db:hr_expense.hr_expense_view_search msgid "Late Activities" -msgstr "Sena aktiviteter" +msgstr "Försenade aktiviteter" #. module: hr_expense #: model:ir.model.fields,field_description:hr_expense.field_res_config_settings__hr_expense_use_mailgateway @@ -1224,7 +1226,7 @@ msgstr "Måltider" #. module: hr_expense #: model:ir.model.fields,field_description:hr_expense.field_hr_expense__message_has_error msgid "Message Delivery error" -msgstr "Meddelande gick inte att skicka" +msgstr "Leveransfelmeddelande" #. module: hr_expense #: model:ir.model.fields,field_description:hr_expense.field_hr_expense__message_ids @@ -1244,7 +1246,7 @@ msgstr "Mitchell Admin" #. module: hr_expense #: model_terms:ir.ui.view,arch_db:hr_expense.hr_expense_view_search msgid "My Activities" -msgstr "Mina aktivieteter" +msgstr "Mina aktiviteter" #. module: hr_expense #: model:ir.model.fields,field_description:hr_expense.field_hr_expense__my_activity_date_deadline @@ -1372,7 +1374,7 @@ msgstr "Antal meddelanden som kräver en åtgärd" #. module: hr_expense #: model:ir.model.fields,help:hr_expense.field_hr_expense__message_has_error_counter msgid "Number of messages with delivery error" -msgstr "Antal meddelanden som inte kunde skickas" +msgstr "Antal meddelanden med leveransfel" #. module: hr_expense #. odoo-javascript @@ -1487,7 +1489,7 @@ msgstr "Partner" #. module: hr_expense #: model:ir.model,name:hr_expense.model_account_payment_register msgid "Pay" -msgstr "" +msgstr "Betala" #. module: hr_expense #: model:ir.model.fields,field_description:hr_expense.field_hr_expense__payment_method_line_id @@ -1691,7 +1693,7 @@ msgstr "Återbetala i lönebesked" #. module: hr_expense #: model:ir.model,name:hr_expense.model_ir_actions_report msgid "Report Action" -msgstr "Rapportera åtgärder" +msgstr "Rapporteringsåtgärd" #. module: hr_expense #: model:ir.model.fields,field_description:hr_expense.field_hr_expense__company_currency_id diff --git a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/th.po b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/th.po index 25b46ac..608ccb7 100644 --- a/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/th.po +++ b/odoo-bringout-oca-ocb-hr_expense/hr_expense/i18n/th.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-20 18:35+0000\n" +"POT-Creation-Date: 2026-03-20 18:35+0000\n" "PO-Revision-Date: 2025-11-08 21:53+0000\n" "Last-Translator: Weblate \n" "Language-Team: Thai \n" "Language-Team: Turkish \n" "Language-Team: Ukrainian \n" "Language-Team: Vietnamese \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Traditional Han script) - +