diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/microsoft_calendar | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/microsoft_calendar')
81 files changed, 21124 insertions, 0 deletions
diff --git a/addons/microsoft_calendar/__init__.py b/addons/microsoft_calendar/__init__.py new file mode 100644 index 00000000..ef909eb6 --- /dev/null +++ b/addons/microsoft_calendar/__init__.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import controllers +from . import models +from . import utils +from . import wizard + +from odoo import api, SUPERUSER_ID +import uuid + + +def init_initiating_microsoft_uuid(cr, registry): + """ Sets the company name as the default value for the initiating + party name on all existing companies once the module is installed. """ + env = api.Environment(cr, SUPERUSER_ID, {}) + config_parameter = env['ir.config_parameter'].sudo() + microsoft_guid = config_parameter.get_param('microsoft_calendar.microsoft_guid', False) + if not microsoft_guid: + config_parameter.set_param('microsoft_calendar.microsoft_guid', str(uuid.uuid4())) diff --git a/addons/microsoft_calendar/__manifest__.py b/addons/microsoft_calendar/__manifest__.py new file mode 100644 index 00000000..292ff86b --- /dev/null +++ b/addons/microsoft_calendar/__manifest__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +{ + 'name': 'Outlook Calendar', + 'version': '1.0', + 'category': 'Productivity', + 'description': "", + 'depends': ['microsoft_account', 'calendar'], + 'qweb': ['static/src/xml/*.xml'], + 'data': [ + 'data/microsoft_calendar_data.xml', + 'security/ir.model.access.csv', + 'wizard/reset_account_views.xml', + 'views/res_config_settings_views.xml', + 'views/res_users_views.xml', + 'views/microsoft_calendar_views.xml', + 'views/microsoft_calendar_templates.xml', + ], + 'demo': [], + 'installable': True, + 'auto_install': False, + 'post_init_hook': 'init_initiating_microsoft_uuid', + 'license': 'LGPL-3', +} diff --git a/addons/microsoft_calendar/controllers/__init__.py b/addons/microsoft_calendar/controllers/__init__.py new file mode 100644 index 00000000..5d4b25db --- /dev/null +++ b/addons/microsoft_calendar/controllers/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import main diff --git a/addons/microsoft_calendar/controllers/main.py b/addons/microsoft_calendar/controllers/main.py new file mode 100644 index 00000000..5e10e6a2 --- /dev/null +++ b/addons/microsoft_calendar/controllers/main.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import http +from odoo.http import request +from odoo.addons.microsoft_calendar.utils.microsoft_calendar import MicrosoftCalendarService + + +class MicrosoftCalendarController(http.Controller): + + @http.route('/microsoft_calendar/sync_data', type='json', auth='user') + def sync_data(self, model, **kw): + """ This route/function is called when we want to synchronize Odoo + calendar with Microsoft Calendar. + Function return a dictionary with the status : need_config_from_admin, need_auth, + need_refresh, success if not calendar_event + The dictionary may contains an url, to allow Odoo Client to redirect user on + this URL for authorization for example + """ + if model == 'calendar.event': + MicrosoftCal = MicrosoftCalendarService(request.env['microsoft.service']) + + # Checking that admin have already configured Microsoft API for microsoft synchronization ! + client_id = request.env['ir.config_parameter'].sudo().get_param('microsoft_calendar_client_id') + + if not client_id or client_id == '': + action_id = '' + if MicrosoftCal._can_authorize_microsoft(request.env.user): + action_id = request.env.ref('base_setup.action_general_configuration').id + return { + "status": "need_config_from_admin", + "url": '', + "action": action_id + } + + # Checking that user have already accepted Odoo to access his calendar ! + if not MicrosoftCal.is_authorized(request.env.user): + url = MicrosoftCal._microsoft_authentication_url(from_url=kw.get('fromurl')) + return { + "status": "need_auth", + "url": url + } + # If App authorized, and user access accepted, We launch the synchronization + need_refresh = request.env.user.sudo()._sync_microsoft_calendar(MicrosoftCal) + return { + "status": "need_refresh" if need_refresh else "no_new_event_from_microsoft", + "url": '' + } + + return {"status": "success"} diff --git a/addons/microsoft_calendar/data/microsoft_calendar_data.xml b/addons/microsoft_calendar/data/microsoft_calendar_data.xml new file mode 100644 index 00000000..f41a1d38 --- /dev/null +++ b/addons/microsoft_calendar/data/microsoft_calendar_data.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<odoo> + <data> + <record forcecreate="True" id="ir_cron_sync_all_cals" model="ir.cron"> + <field name="name">Outlook: synchronization</field> + <field name="model_id" ref="model_res_users"/> + <field name="state">code</field> + <field name="code"> +model._sync_all_microsoft_calendar() + </field> + <field name="user_id" ref="base.user_root" /> + <field name="interval_number">12</field> + <field name="interval_type">hours</field> + <field name="numbercall">-1</field> + <field eval="False" name="doall" /> + </record> + </data> +</odoo> diff --git a/addons/microsoft_calendar/i18n/ar.po b/addons/microsoft_calendar/i18n/ar.po new file mode 100644 index 00000000..2676a87e --- /dev/null +++ b/addons/microsoft_calendar/i18n/ar.po @@ -0,0 +1,391 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Sherif Abd Ekmoniem <sherif.tsupport@gmail.com>, 2020 +# Mustafa Rawi <mustafa@cubexco.com>, 2020 +# Akram Alfusayal <akram_ma@hotmail.com>, 2020 +# amrnegm <amrnegm.01@gmail.com>, 2020 +# hoxhe Aits <hoxhe0@gmail.com>, 2020 +# Osama Ahmaro <osamaahmaro@gmail.com>, 2020 +# Ahmed AL-Haddad <ahmed@utech-sa.com>, 2020 +# Zuhair Hammadi <zuhair12@gmail.com>, 2020 +# Talal Kamal <tka@odoo.com>, 2020 +# Tasneem Sarhan <tsa@odoo.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Tasneem Sarhan <tsa@odoo.com>, 2020\n" +"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "نشط" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "حدث التقويم" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "الغاء" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "معرف العميل" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "سر العميل" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "ضبط الاعدادات" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "إعدادات التكوين" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "تأكيد" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "أنشئ بواسطة" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "أنشئ في" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "المُعرف" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"إذا تم تحويل قيمة الحقل نشط إلى خطأ، يمكنك إخفاء معلومات التنبيه للفعالية " +"دون إزالتها." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "آخر تحديث بواسطة" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "آخر تحديث في" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "المزامنة التالية" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "التنبيهات" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "التحويل" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"حدث خطأ خلال إنشاء كلمة السر الخاصة بك. ربما يكون كود الترخيص غير صالح أو " +"منتهي الصلاحية [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "المستخدم" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "المستخدمون" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/bg.po b/addons/microsoft_calendar/i18n/bg.po new file mode 100644 index 00000000..e2d4a294 --- /dev/null +++ b/addons/microsoft_calendar/i18n/bg.po @@ -0,0 +1,386 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Igor Sheludko <igor.sheludko@gmail.com>, 2020 +# aleksandar ivanov, 2020 +# Albena Mincheva <albena_vicheva@abv.bg>, 2020 +# Maria Boyadjieva <marabo2000@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Maria Boyadjieva <marabo2000@gmail.com>, 2020\n" +"Language-Team: Bulgarian (https://www.transifex.com/odoo/teams/41243/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Активен" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Календар Събитие" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Откажи" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "ИН на клиент" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Клиентска тайна" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Настройки конфигурация" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Конфигурация" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Потвърдете" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Създадено от" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Създадено на" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Име за показване" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Ако активното поле е настроено на 'грешно', то ще ви позволи да скриете " +"информацията, свързана със сигнала за събитието, без да я премахвате." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Последно променено на" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Последно обновено от" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Последно обновено на" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Следваща синхронизация" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Известие" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Редиректване" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Нещо се обърка при създаването на токена Ви. Възможно е кодът Ви за " +"оторизация да е невалиден или вече да е изтекъл [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Потребител" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Потребители" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/bn.po b/addons/microsoft_calendar/i18n/bn.po new file mode 100644 index 00000000..12ff5580 --- /dev/null +++ b/addons/microsoft_calendar/i18n/bn.po @@ -0,0 +1,379 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2021 +# Abu Zafar <azmikbal@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Abu Zafar <azmikbal@gmail.com>, 2021\n" +"Language-Team: Bengali (https://www.transifex.com/odoo/teams/41243/bn/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: bn\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "সক্রিয়" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "বাতিল" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "খদ্দের আইডি" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "খদ্দের গোপন" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "রূপরেখা নির্ধারণ" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "কনফিগারেশন" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "নিশ্চিত করুন" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "দ্বারা সৃষ্টি" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "তৈরি" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "প্রদর্শন নাম" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "আইডি " + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "সর্বশেষ সংশোধিত" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "সর্বশেষ আপডেট করেছেন" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "সর্বশেষ আপডেট হয়েছে" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "ব্যবহারকারীরা" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/ca.po b/addons/microsoft_calendar/i18n/ca.po new file mode 100644 index 00000000..b7fe577b --- /dev/null +++ b/addons/microsoft_calendar/i18n/ca.po @@ -0,0 +1,389 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Marc Tormo i Bochaca <mtbochaca@gmail.com>, 2020 +# Bàrbara Partegàs <barbararof@gmail.com>, 2020 +# Quim - eccit <quim@eccit.com>, 2020 +# Manel Fernandez Ramirez <manelfera@outlook.com>, 2020 +# M Palau <mpalau@tda.ad>, 2020 +# Arnau Ros, 2020 +# Josep Anton Belchi, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Josep Anton Belchi, 2021\n" +"Language-Team: Catalan (https://www.transifex.com/odoo/teams/41243/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Actiu" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Cancel·la" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "ID de client" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Contrasenya client" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Configuració" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Configuració" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Confirmar" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Creat per" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Creat el" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Nom mostrat" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Si el camp actiu és fals, li permetrà ocultar la notificació d'avís de " +"l'esdeveniment sense esborrar-lo." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Última modificació el " + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Última actualització per" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Última actualització el" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Següent sincronització" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Notificació " + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Redirecció" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Alguna cosa ha anat malament durant la generació del token. Pot ser el teu " +"Codi d'Autorització no és vàlid o ha expirat [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Usuari" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Usuaris" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/ckb.po b/addons/microsoft_calendar/i18n/ckb.po new file mode 100644 index 00000000..e4bf411d --- /dev/null +++ b/addons/microsoft_calendar/i18n/ckb.po @@ -0,0 +1,378 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Haval Abdulkarim <haval.abdulkarim@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Haval Abdulkarim <haval.abdulkarim@gmail.com>, 2020\n" +"Language-Team: Central Kurdish (https://www.transifex.com/odoo/teams/41243/ckb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ckb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "%(reminder_type)s - %(duration)s ڕۆژ" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "%(reminder_type)s - %(duration)s کاتژمێر" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "%(reminder_type)s - %(duration)s خولەک" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "(بێ ناونیشان)" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "چالاک" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "ڕووداوی ڕۆژمێر" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "پاشگەزبوونەوە" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "شێوەپێدانی ڕێکخستنەکان" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "شێوهپێدان" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "پشتڕاستکردنەوە" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "دروستکراوە لەلایەن" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "دروستکراوە لە" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "سڕینەوە لە ئۆدۆ" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "سڕینەوە لە هەردووکیان" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "پیشاندانی ناو" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ناسنامە" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "دواین دەستکاری لە" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "دواین تازەکردنەوە لەلایەن" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "دواین تازەکردنەوە لە" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "ئاگانامە" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "ڕۆژمێری Outlook" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "بەکارهێنەر" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "بەکارهێنەرەکان" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/cs.po b/addons/microsoft_calendar/i18n/cs.po new file mode 100644 index 00000000..850a0cd8 --- /dev/null +++ b/addons/microsoft_calendar/i18n/cs.po @@ -0,0 +1,392 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Jan Horzinka <jan.horzinka@centrum.cz>, 2020 +# Michal Veselý <michal@veselyberanek.net>, 2020 +# karolína schusterová <karolina.schusterova@vdp.sk>, 2021 +# trendspotter, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: trendspotter, 2021\n" +"Language-Team: Czech (https://www.transifex.com/odoo/teams/41243/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: cs\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "%(reminder_type)s - %(duration)s Dny" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "%(reminder_type)s - %(duration)s Hodin" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "%(reminder_type)s - %(duration)s Minut" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "%s - V době události" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "(Bez názvu)" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Aktivní" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" +"Synchronizaci aplikace Outlook musí před jejím použitím nakonfigurovat " +"správce!" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Událost kalendáře" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Zrušit" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "Client ID" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Klientské tajemství" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Nastavení konfigurace" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Konfigurace" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Potvrdit" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Vytvořeno od" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Vytvořeno" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "Smazat z Odoo" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "Smazat z obou" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "Smazat z aktuálního účtu Kalendáře Microsoft" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Zobrazované jméno" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "Pravidlo opakování události" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Pokud je aktivní pole nastaveno na hodnotu false, umožní vám skrýt informace" +" o alarmu události bez jeho odebrání." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Naposled změněno" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Naposledy upraveno od" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Naposled upraveno" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "Nechte je nedotčené" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "Microsoft Client_id" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "Microsoft Client_key" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "Modifikovaný výskyt se kříží nebo překrývá se sousedním výskytem." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Příští aktualizace" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Upozornění" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "Outlook kalendář" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "Outlook: synchronizace" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Přesměrování" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "Obnovit účet" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "Obnovení účtu kalendáře aplikace Outlook" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Během vaší generace tokenů se něco pokazilo. Možný váš autorizační kód je " +"neplatný nebo již vypršel [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "Synchronizovat s <b>Outlookem</b>" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "Synchronizace s aplikací Outlook" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "Synchronizace záznamu s Kalendářem společnosti Microsoft" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "Synchronizujte všechny existující události" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "Synchronizovat pouze nové události" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" +"Synchronizace aplikace Outlook musí být nakonfigurována, než ji budete moci " +"používat, chcete to udělat nyní?" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "Účet pro službu Kalendář aplikace Outlook není nakonfigurován." + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "To ovlivní pouze události, jejichž vlastníkem je uživatel" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Uživatel" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "Existující události uživatele" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Uživatelé" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" +"Budete přesměrováni do aplikace Outlook, abyste autorizovali přístup ke " +"svému kalendáři." diff --git a/addons/microsoft_calendar/i18n/da.po b/addons/microsoft_calendar/i18n/da.po new file mode 100644 index 00000000..3b4507a5 --- /dev/null +++ b/addons/microsoft_calendar/i18n/da.po @@ -0,0 +1,403 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Joe Hansen <joedalton2@yahoo.dk>, 2020 +# Martin Trigaux, 2020 +# Hans Henrik Gabelgaard <hhg@gabelgaard.org>, 2020 +# Morten Schou <ms@msteknik.dk>, 2020 +# Jesper Carstensen <jc@danodoo.dk>, 2020 +# Sanne Kristensen <sanne@vkdata.dk>, 2020 +# Ejner Sønniksen <ejner@vkdata.dk>, 2020 +# lhmflexerp <lhm@flexerp.dk>, 2020 +# Mads Søndergaard, 2020 +# Mads Søndergaard <mads@vkdata.dk>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Mads Søndergaard <mads@vkdata.dk>, 2021\n" +"Language-Team: Danish (https://www.transifex.com/odoo/teams/41243/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "%(reminder_type)s - %(duration)s Dage" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "%(reminder_type)s - %(duration)s Timer" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "%(reminder_type)s - %(duration)s Minutter" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "%s - På tidspunktet for begivenheden" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "(Ingen titel)" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Aktiv" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" +"En administrator skal konfigurere Outlook Synkronisering før du kan gøre " +"brug af det!" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Kalender begivenhed" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Annullér" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "Kunde ID" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Klienthemmelighed" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Konfigurer opsætning" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Konfiguration" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Bekræft" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Oprettet af" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Oprettet den" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "Slet fra Odoo" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "Slet fra begge" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "Slet fra den nuværende Microsoft Kalender konto" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Vis navn" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "Begivenhed Gentagelses Regel" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" +"For korrekt synkronisering mellem Odoo og Outlook Kalenderen, skal alle deltagere have en email adresse. Dog adlyder visse begivenheder ikke denne betingelse. Så længe begivenhederne ikke er korrekte, vil kalenderne ikke blive synkroniseret.\n" +"Enten opdater begivenhederne/deltagerne, eller arkiver disse begivenheder %s:\n" +"%s" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Hvis det aktive felt er sat til sand, vil det give dig mulighed for at " +"skjule begivenheds alarmen uden at fjerne den." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Sidst ændret den" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Sidst opdateret af" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Sidst opdateret den" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "Lad dem være uberørte" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "Microsoft Kalender Konto Nulstil" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "Microsoft Kalender Begivenhed ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "Microsoft Kalender ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "Microsoft Kalender Gentagelse ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "Microsoft Client_id" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "Microsoft Client_key" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "Microsoft Næste Synkronisering Token" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "Microsoft Gentagelse Master ID" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" +"Modificeret gentagelse krydser eller overlapper tilstødende forekomst." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "Behøver Synkronisering M" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Næste synkronisering" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Påmindelse" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "Outlook Kalender" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "Outlook: synkronisering" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Omdirigering" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "Nulstil Konto" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "Nulstil Outlook Kalender Konto" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Noget gik galt under din token generering. Måske er din autoriserings kode " +"ugyldig eller allered eudløbet [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "Synkroniser med <b>Outlook</b>" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "Synkroniseret med Outlook" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "Synkroniser et datasæt med Microsoft Kalender" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "Synkroniser alle eksisterende begivenheder" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "Synkroniser kun nye begivenheder" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" +"Outlook Synkroniseringen skal konfigureres før du kan bruge den, vil du gøre" +" det nu?" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "Kontoen for Outlook Kalender service er ikke konfigureret." + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "Dette vil kun påvirke begivenheder hvor brugeren er ejeren" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Bruger" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "Brugers Eksisterende Begivenheder" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Brugere" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" +"Du kan ikke slette et datasæt synkroniseret med Outlook Kalender, arkiver " +"den i stedet." + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" +"Du vil blive omdirigeret til Outlook for at autorisere adgangen til din " +"kalender." diff --git a/addons/microsoft_calendar/i18n/de.po b/addons/microsoft_calendar/i18n/de.po new file mode 100644 index 00000000..e46830af --- /dev/null +++ b/addons/microsoft_calendar/i18n/de.po @@ -0,0 +1,385 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Jérôme JEK <jek@odoo.com>, 2020 +# Kevin Harrings <kha@odoo.com>, 2021 +# Andreas Schmidt <schmigo@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Andreas Schmidt <schmigo@gmail.com>, 2021\n" +"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Aktiv" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Kalender Veranstaltung" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Abbrechen" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "Client ID" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Client Secret" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Konfiguration " + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Konfiguration" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Bestätigen" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Erstellt von" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Erstellt am" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Anzeigename" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "Regel wiederkehrendes Ereignis" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Wenn das Aktiv-Feld deaktiviert wird, wird die Erinnerung ausgeblendet ohne " +"sie zu entfernen" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Zuletzt geändert am" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Zuletzt aktualisiert durch" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Zuletzt aktualisiert am" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Nächste Synchronisierung" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Benachrichtigung" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "Outlook-Kalender" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Umleitung" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Während der Generierung des Tokens ist ein Fehler aufgetreten. Eventuell ist" +" Ihr Autorisierungscode ungültig oder bereits abgelaufen [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Benutzer" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Benutzer" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/el.po b/addons/microsoft_calendar/i18n/el.po new file mode 100644 index 00000000..2d238211 --- /dev/null +++ b/addons/microsoft_calendar/i18n/el.po @@ -0,0 +1,382 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Kostas Goutoudis <goutoudis@gmail.com>, 2020 +# Alexandros Kapetanios <alexandros@gnugr.org>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Alexandros Kapetanios <alexandros@gnugr.org>, 2021\n" +"Language-Team: Greek (https://www.transifex.com/odoo/teams/41243/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Σε Ισχύ" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Ακύρωση" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "Client ID" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Client Secret" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Ρυθμίσεις διαμόρφωσης" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Διαμόρφωση" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Επιβεβαίωση" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Δημιουργήθηκε από" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Δημιουργήθηκε στις" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Εμφάνιση Ονόματος" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "Κωδικός" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Εάν το ενεργό πεδίο έχει οριστεί ως ψευδές, θα σας επιτρέψει να αποκρύψετε " +"τις πληροφορίες ειδοποίησης συμβάντος χωρίς να την καταργήσετε." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Τελευταία τροποποίηση στις" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Τελευταία Ενημέρωση από" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Τελευταία Ενημέρωση στις" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Επόμενος Συγχρονισμός" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Ειδοποίηση" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Ανακατεύθυνση" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Χρήστης" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Χρήστες" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/eo.po b/addons/microsoft_calendar/i18n/eo.po new file mode 100644 index 00000000..c61ea0d5 --- /dev/null +++ b/addons/microsoft_calendar/i18n/eo.po @@ -0,0 +1,364 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 13:45+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Language-Team: Esperanto (https://www.transifex.com/odoo/teams/41243/eo/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: eo\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/es.po b/addons/microsoft_calendar/i18n/es.po new file mode 100644 index 00000000..b3f42eba --- /dev/null +++ b/addons/microsoft_calendar/i18n/es.po @@ -0,0 +1,385 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Jesús Alan Ramos Rodríguez <alan.ramos@jarsa.com.mx>, 2021 +# José Cabrera Lozano <jose.cabrera@edukative.es>, 2021 +# Braulio D. López Vázquez <bdl@odoo.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Braulio D. López Vázquez <bdl@odoo.com>, 2021\n" +"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "%(reminder_type)s - %(duration)s Días" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "%(reminder_type)s - %(duration)s Horas" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "%(reminder_type)s - %(duration)s Minutos" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "(Sin título)" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Activo" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Calendario de eventos" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "ID de cliente" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Palabra secreta de cliente" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Opciones de configuración" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Configuración" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Confirmar" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "Eliminar de Odoo" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "Eliminar de ambos" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "Regla de recurrencia de evento" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Si el campo activo es falso, le permitirá ocultar la notificación de aviso " +"del evento sin eliminarlo." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Última modificación el" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "Dejarlos intactos" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Siguiente sincronización" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Notificación" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "Calendario de Outlook" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Redirección" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "Restablecer cuenta" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Algo salió mal durante la generación del token. Es probable que el código de" +" autorización sea inválido o esté expirado [%s]." + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "Sincroniza todos los eventos existentes" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "Sincroniza únicamente los eventos nuevos" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "Esto solo afectará eventos para los que el usuario es el propietario" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Usuario" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "Eventos existentes del usuario" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Usuarios" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/es_MX.po b/addons/microsoft_calendar/i18n/es_MX.po new file mode 100644 index 00000000..cf59e484 --- /dev/null +++ b/addons/microsoft_calendar/i18n/es_MX.po @@ -0,0 +1,395 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Cécile Collart <cco@odoo.com>, 2021 +# Patricia Gutiérrez Capetillo <pagc@odoo.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Patricia Gutiérrez Capetillo <pagc@odoo.com>, 2021\n" +"Language-Team: Spanish (Mexico) (https://www.transifex.com/odoo/teams/41243/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "%(reminder_type)s - %(duration)s Días" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "%(reminder_type)s - %(duration)s Horas" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "%(reminder_type)s - %(duration)s Minutos" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "%s - Al momento del evento" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "(Sin título)" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Activo" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" +"Un administrador necesita configurar la sincronización de Outlook antes de " +"poder usarla." + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Calendario de eventos" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "ID de cliente" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Palabra secreta de cliente" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Opciones de configuración" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Configuración" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Confirmar" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "Eliminar de Odoo" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "Eliminar de ambos" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "Eliminar la cuenta actual de Microsoft Calendar" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "Regla de recurrencia de evento" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" +"Para que la sincronización entre Odoo y Outlook sea correcta, todos los asistentes deben tener un correo electrónico. Sin embargo, algunos eventos no respetan esta condición. Los calendarios no se sincronizarán si los eventos están incorrectos.\n" +"Deberá actualizar los eventos o asistentes o archivar estos eventos %s:\n" +"%s" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Si el campo activo es falso, le permitirá ocultar la notificación de aviso " +"del evento sin eliminarlo." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Última modificación el" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "Déjelos intactos" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "Restablecer la cuenta de Microsoft Calendar" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "ID del evento de Microsoft calendar" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "ID de Microsoft Calendar" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "Recurrencia del ID de Microsoft Calendar" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "Microsoft Client_id" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "Microsoft Client_key" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "Siguiente token de sincronización de Microsoft " + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "Master ID de recurrencia de Microsoft" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" +"La ocurrencia modificada está cruzando o se está superponiendo a una " +"ocurrencia adyacente. " + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "Necesita sincronización M" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Siguiente sincronización" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Notificación" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "Calendario de Outlook" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "Outlook: sincronización" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Redirección" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "Restablecer cuenta" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "Restablecer la cuenta de Outlook Calendar" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Algo salió mal durante la generación del token. Es probable que el código de" +" autorización sea inválido o esté expirado [%s]." + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "Sincronizar con <b>Outlook</b>" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "Sincronizado con Outlook" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "Sincronice un registro con Microsoft Calendar" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "Sincroniza todos los eventos existentes" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "Sincroniza únicamente los eventos nuevos" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" +"Se necesita configurar la sincronización de Outlook antes de poder usarla, " +"¿quiere hacerlo ahora?" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "La cuenta para el servicio de Outlook Calendar no está configurada." + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "Esto solo afectará eventos para los que el usuario es el propietario" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Usuario" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "Eventos existentes del usuario" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Usuarios" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" +"No puede borrar un registro sincronizado con Outlook Calendar, archívelo." + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" +"Será redirigido a la página de Google para que autorice el acceso a su " +"calendario " diff --git a/addons/microsoft_calendar/i18n/et.po b/addons/microsoft_calendar/i18n/et.po new file mode 100644 index 00000000..76b67535 --- /dev/null +++ b/addons/microsoft_calendar/i18n/et.po @@ -0,0 +1,386 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Arma Gedonsky <armagedonsky@hot.ee>, 2020 +# Eneli Õigus <enelioigus@gmail.com>, 2020 +# Martin Aavastik <martin@avalah.ee>, 2020 +# Piia Paurson <piia@avalah.ee>, 2020 +# Triine Aavik <triine@avalah.ee>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Triine Aavik <triine@avalah.ee>, 2021\n" +"Language-Team: Estonian (https://www.transifex.com/odoo/teams/41243/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Aktiivne" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Kalendrisündmus" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Tühista" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "Kliendi ID" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Kliendi saladus" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Seadistused" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Seadistus" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Kinnitage" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Loonud" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Loodud" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Kuva nimi" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "Sündmuse kordumise reegel" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Viimati muudetud (millal)" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Viimati uuendatud (kelle poolt)" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Viimati uuendatud" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Märge" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "Outlook kalender" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Teie \"token\"-i genereerimisel läks midagi valesti. Võimalik, et teie " +"autoriseerimiskood on vale või aegunud [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Kasutaja" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Kasutajad" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/eu.po b/addons/microsoft_calendar/i18n/eu.po new file mode 100644 index 00000000..ef239996 --- /dev/null +++ b/addons/microsoft_calendar/i18n/eu.po @@ -0,0 +1,388 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2021 +# oihane <oihanecruce@gmail.com>, 2021 +# Eneko <eastigarraga@codesyntax.com>, 2021 +# Mikel Lizarralde <mikellizarralde@gmail.com>, 2021 +# 61590936fa9bf290362ee306eeabf363_944dd10 <a8bfd5a0b49b9c8455f33fc521764cc3_680674>, 2021 +# Iñaki Ibarrola <inakiibarrola@yahoo.es>, 2021 +# Victor Laskurain <blaskurain@binovo.es>, 2021 +# Maialen Rodriguez <maialenrodriguez98@gmail.com>, 2021 +# Nagore <nruiz@codesyntax.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Nagore <nruiz@codesyntax.com>, 2021\n" +"Language-Team: Basque (https://www.transifex.com/odoo/teams/41243/eu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: eu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Aktiboa" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Ezeztatu" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "Bezeroaren ID-a" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Bezero sekretua " + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Konfigurazio ezarpenak" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Konfigurazioa" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Baieztatu" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Nork sortua" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Noiz sortua" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Izena erakutsi" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Eremu aktiboa faltsu moduan zehazten bada, gertakizunaren alarma ezkutatzen " +"utziko dizu hau kendu beharrik gabe." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Azken aldaketa" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Azkenengoz eguneratu zuena" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Azken eguneraketa noiz" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Jakinarazpena" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Erabiltzailea" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Erabiltzaileak" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/fa.po b/addons/microsoft_calendar/i18n/fa.po new file mode 100644 index 00000000..cfce6643 --- /dev/null +++ b/addons/microsoft_calendar/i18n/fa.po @@ -0,0 +1,383 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Hamid Darabi, 2020 +# Hamed Mohammadi <hamed@dehongi.com>, 2020 +# Mohsen Mohammadi <iammohsen.123@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Mohsen Mohammadi <iammohsen.123@gmail.com>, 2021\n" +"Language-Team: Persian (https://www.transifex.com/odoo/teams/41243/fa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fa\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "فعال" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "رخداد گاهشمار" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "لغو" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "شناسه مشتری" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "رمز کلاینت" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "تنظیمات پیکربندی" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "پیکربندی" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "تایید" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "ایجاد توسط" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "ایجاد شده در" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "نام نمایشی" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "شناسه" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"اگر فیلد فعال روی نادرست تعیین شود، به شما اجازه میدهد هشدار رویداد را " +"پنهان کنید بودن اینکه آن را حذف کنید." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "آخرین تغییر در" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "آخرین به روز رسانی توسط" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "آخرین به روز رسانی در" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "اعلان" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "کاربر" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "کاربران" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/fi.po b/addons/microsoft_calendar/i18n/fi.po new file mode 100644 index 00000000..2f7c7f90 --- /dev/null +++ b/addons/microsoft_calendar/i18n/fi.po @@ -0,0 +1,387 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Eino Mäkitalo <eino.makitalo@netitbe.fi>, 2020 +# Martin Trigaux, 2020 +# Kari Lindgren <kari.lindgren@emsystems.fi>, 2020 +# Miku Laitinen <miku.laitinen@gmail.com>, 2020 +# Jarmo Kortetjärvi <jarmo.kortetjarvi@gmail.com>, 2020 +# Tuomo Aura <tuomo.aura@web-veistamo.fi>, 2020 +# Veikko Väätäjä <veikko.vaataja@gmail.com>, 2020 +# Jussi Heikkilä <jussi.heikkila@panimo.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Jussi Heikkilä <jussi.heikkila@panimo.com>, 2020\n" +"Language-Team: Finnish (https://www.transifex.com/odoo/teams/41243/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Aktiivinen" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Kalenteritapahtuma" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Peruuta" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "Asiakkaan tunniste/ID" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Client Secret" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Konfiguraatioasetukset" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Asetukset" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Vahvista" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Luonut" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Luotu" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Näyttönimi" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "Tunniste (ID)" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Viimeksi muokattu" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Viimeksi päivitetty" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Viimeksi päivitetty" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Ilmoitus" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Jotain meni pieleen tokenin luonnissa. Valtuutusavain saattaaa olla " +"vanhentunut [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Käyttäjä" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Käyttäjät" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/fr.po b/addons/microsoft_calendar/i18n/fr.po new file mode 100644 index 00000000..0e75b2f6 --- /dev/null +++ b/addons/microsoft_calendar/i18n/fr.po @@ -0,0 +1,398 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Aurélien Pillevesse <aurelienpillevesse@hotmail.fr>, 2020 +# Gilles Mangin <gilles.mangin@phidias.fr>, 2020 +# Cécile Collart <cco@odoo.com>, 2020 +# Jonathan Quique <jqu@odoo.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Jonathan Quique <jqu@odoo.com>, 2021\n" +"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "%(reminder_type)s - %(duration)s Jours" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "%(reminder_type)s - %(duration)s Heures" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "%(reminder_type)s - %(duration)s Minutes" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "%s - Au moment de l'événément" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Actif" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" +"Un administrateur doit configurer la synchronisation d'Outlook avant que " +"vous puissiez l'utiliser !" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Evénement du calendrier" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Annuler" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "ID d'application (client)" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Secret client" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Paramètres de config" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Configuration" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Confirmer" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "Supprimer dans Odoo" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "Supprimer de part et d'autre" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "Supprimer du compte Microsoft Calendar actuel" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "Règle de récurrence de l'événement" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" +"Pour une synchronisation correcte entre Odoo et le calendrier Outlook, tous les participants doivent avoir une adresse e-mail. Cependant, certains événements ne respectent pas cette condition. Tant que les événements sont incorrects, les calendriers ne seront pas synchronisés.\n" +"Mettez à jour les événements et les participants ou archivez ces événements %s:\n" +"%s" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Si le champ actif est décoché, il vous permet de désactiver l'alarme de cet " +"événement sans la supprimer." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "Ne les modifiez pas" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "Réinitialisation du compte Microsoft Calendar" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Prochaine synchronisation" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Notification" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "Calendrier Outlook" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Redirection" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Une erreur est survenue durant la génération du jeton. Votre code " +"d'autorisation est peut être invalide ou expiré [%s]." + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "Synchroniser avec <b>Outlook</b>" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "Synchronisé avec Outlook" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "Synchroniser un enregistrement avec Microsoft Calendar" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "Synchroniser tous les événements existants" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "Synchroniser uniquement les nouveaux événements" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" +"La synchronisation d'Outlook doit être configurée avant que vous puissiez " +"l'utiliser, voulez-vous le faire maintenant ?" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "Le compte pour le Calendrier Outlook n'est pas configuré." + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" +"Cela n'affectera que les événements dont l'utilisateur est le responsable" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Utilisateur" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "Événements existants de l'utilisateur" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Utilisateurs" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" +"Vous ne pouvez pas supprimer un enregistrement synchronisé avec le " +"Calendrier Outlook, vous devez plutôt l'archiver." + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" +"Vous allez être redirigé vers Outlook pour autoriser l'accès à votre " +"calendrier." diff --git a/addons/microsoft_calendar/i18n/he.po b/addons/microsoft_calendar/i18n/he.po new file mode 100644 index 00000000..fdca8616 --- /dev/null +++ b/addons/microsoft_calendar/i18n/he.po @@ -0,0 +1,388 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# ExcaliberX <excaliberx@gmail.com>, 2020 +# Yihya Hugirat <hugirat@gmail.com>, 2020 +# דודי מלכה <Dudimalka6@gmail.com>, 2020 +# ZVI BLONDER <ZVIBLONDER@gmail.com>, 2020 +# Ofir Blum <ofir.blum@gmail.com>, 2020 +# Lilach Gilliam <lilach.gilliam@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Lilach Gilliam <lilach.gilliam@gmail.com>, 2021\n" +"Language-Team: Hebrew (https://www.transifex.com/odoo/teams/41243/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: he\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "פעיל" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "אירוע לוח שנה" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "בטל" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "מזהה לקוח" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "סיסמת לקוח" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "הגדר הגדרות" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "תצורה" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "אשר" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "נוצר ע\"י" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "נוצר ב-" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "מחק מהמערכת" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "מחק משניהם" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "שם תצוגה" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "כלל ארוע חוזר" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "מזהה" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"אם השדה הפעיל מוגדר כ- לא נכון, הוא יאפשר להסתיר את מידע אזעקת האירוע מבלי " +"להסיר אותו." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "שונה לאחרונה ב - " + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "עודכן לאחרונה ע\"י" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "עדכון אחרון ב" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "עזוב אותם ללא שינוי" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "הסנכרון הבא" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "התראה" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "הפניה מחדש" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "אפס חשבון" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"אירעה שגיאה במהלך יצירת הטוקן שלך. יתכן כי קוד האישור שלך לא תקין או שפג " +"תוקפו [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "סנכרן את כל הארועים הקיימים" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "סנכרן את כל הארועים החדשים" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "ישפיע על ארועים של המשתמש" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "משתמש" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "ארועים של המשתמש" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "משתמשים" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/hi.po b/addons/microsoft_calendar/i18n/hi.po new file mode 100644 index 00000000..38fc70cb --- /dev/null +++ b/addons/microsoft_calendar/i18n/hi.po @@ -0,0 +1,378 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Martin Trigaux, 2021\n" +"Language-Team: Hindi (https://www.transifex.com/odoo/teams/41243/hi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "रद्द" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/hr.po b/addons/microsoft_calendar/i18n/hr.po new file mode 100644 index 00000000..03c2db08 --- /dev/null +++ b/addons/microsoft_calendar/i18n/hr.po @@ -0,0 +1,387 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Vladimir Olujić <olujic.vladimir@storm.hr>, 2020 +# Karolina Tonković <karolina.tonkovic@storm.hr>, 2020 +# Tina Milas, 2020 +# Bole <bole@dajmi5.com>, 2021 +# Helena Viher <viherhelena@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Helena Viher <viherhelena@gmail.com>, 2021\n" +"Language-Team: Croatian (https://www.transifex.com/odoo/teams/41243/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Aktivan" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Događaj na kalendaru" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Odustani" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "ID klijenta" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Tajni klijent" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Postavke" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Postava" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Potvrdi" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Naziv" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "Pravilo recidiva događaja" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Ako polje aktivno isključite, to vam omogućuje da sakrijete alarm događaja " +"bez brisanja istog." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Zadnja promjena" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Promijenio" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Vrijeme promjene" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Sljedeća sinhronizacija" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Obavijest" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Preusmjeravanje" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Nešto nije prošlo u redu pri generiranju vašeg tokena. Možda je vaš Kod " +"Autorizacije već istekao [%s]." + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Korisnik" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Korisnici" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/hu.po b/addons/microsoft_calendar/i18n/hu.po new file mode 100644 index 00000000..23fec1d4 --- /dev/null +++ b/addons/microsoft_calendar/i18n/hu.po @@ -0,0 +1,388 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2021 +# krnkris, 2021 +# gezza <geza.nagy@oregional.hu>, 2021 +# Ákos Nagy <akos.nagy@oregional.hu>, 2021 +# Daniel Gerstenbrand <daniel.gerstenbrand@gmail.com>, 2021 +# Zsolt Godó <zsolttokio@gmail.com>, 2021 +# Tamás Németh <ntomasz81@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Tamás Németh <ntomasz81@gmail.com>, 2021\n" +"Language-Team: Hungarian (https://www.transifex.com/odoo/teams/41243/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "%(reminder_type)s - %(duration)s nap" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "%(reminder_type)s - %(duration)s óra" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "%(reminder_type)s - %(duration)s perc" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "(Nincs cím)" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Aktív" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Naptári esemény" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Visszavonás" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "Ügyfél azonosító" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Ügyfél titok" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Beállítások módosítása" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Konfiguráció" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Megerősítés" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Létrehozta" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Létrehozva" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "Törlés az Odoo-ból" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "Törlés mindkettőből" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Név megjelenítése" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "Azonosító" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Ha egy aktív mező hamisra állított, akkor lehetővé teszi az esemény riasztás" +" információ eltüntetését annak törlése nélkül." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Legutóbb módosítva" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Frissítette" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Frissítve " + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "Hagyja őket érintetlenül" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Következő szinkronizáció" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Értesítés" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "Outlook naptár" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "Outlook: szinkronizálás" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Átirányítás" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Valami rosszul sikerült a token létrehozásakor. Talán az engedélyezési kódja" +" már lejárt [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "Minden létező esemény szinkronizálása" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "Csak az új események szinkronizálása" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Felhasználó" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Felhasználók" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/id.po b/addons/microsoft_calendar/i18n/id.po new file mode 100644 index 00000000..7f75335f --- /dev/null +++ b/addons/microsoft_calendar/i18n/id.po @@ -0,0 +1,386 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# William Surya Permana <zarambie_game@yahoo.com>, 2020 +# Wahyu Setiawan <wahyusetiaaa@gmail.com>, 2020 +# oon arfiandwi <oon.arfiandwi@gmail.com>, 2020 +# pnyet <david@zeromail.us>, 2020 +# Bonny Useful <bonny.useful@gmail.com>, 2020 +# Ryanto The <ry.the77@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Ryanto The <ry.the77@gmail.com>, 2020\n" +"Language-Team: Indonesian (https://www.transifex.com/odoo/teams/41243/id/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: id\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Aktif" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Batal" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "Client ID" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Klien Rahasia" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Pengaturan Konfigurasi" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Konfigurasi" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Konfirmasi" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Dibuat oleh" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Dibuat pada" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Nama Tampilan" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Jika kolom aktif distel ke Salah, Anda dapat menyembunyikan informasi alarm " +"acara tanpa menghapusnya." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Terakhir diubah pada" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Terakhir diperbarui oleh" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Terakhir diperbarui pada" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Notifikasi" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Pengguna" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Pengguna" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/it.po b/addons/microsoft_calendar/i18n/it.po new file mode 100644 index 00000000..cb5e04ca --- /dev/null +++ b/addons/microsoft_calendar/i18n/it.po @@ -0,0 +1,389 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Sergio Zanchetta <primes2h@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Sergio Zanchetta <primes2h@gmail.com>, 2021\n" +"Language-Team: Italian (https://www.transifex.com/odoo/teams/41243/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "%(reminder_type)s - %(duration)s giorni" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "%(reminder_type)s - %(duration)s ore" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "%(reminder_type)s - %(duration)s minuti" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "(Nessun titolo)" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Attivo" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" +"Per essere utilizzata, la sincronizzazione Outlook deve essere configurata " +"da un amministratore." + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Evento in calendario" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Annulla" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "ID cliente" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Chiave privata client" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Impostazioni di configurazione" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Configurazione" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Conferma" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Data creazione" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "Elimina da Odoo" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "Elimina da entrambi" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "Elimina dall'account calendario Microsoft corrente" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "Regola per ricorrenza evento" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Se il campo Attivo è impostato a falso, consente di nascondere le " +"informazioni di avviso eventi senza rimuoverle." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "Nessuna modifica" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "Ripristino account calendario Microsoft" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "ID evento calendario Microsoft" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "ID calendario Microsoft" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "ID ricorrenza calendario Microsoft" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "Client_id Microsoft" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "Client_key Microsoft" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Prossima sincronizzazione" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Notifica" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "Calendario Outlook" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "Outlook: sincronizzazione" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Reindirizzamento" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "Ripristina account" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "Ripristino account calendario Outlook" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"La generazione del token non è andata a buon fine. È probabile che il codice" +" di autorizzazione non sia valido o sia già scaduto [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "Sincronizza con <b>Outlook</b>" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "Sincronizzato con Outlook" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "Sincronizza tutti gli eventi presenti" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "Sincronizza solo i nuovi eventi" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" +"Per essere usata, la sincronizzazione Outlook deve essere configurata, " +"procedere ora?" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "Account non configurato per il service calendario Outlook." + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Utente" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "Eventi utente presenti" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Utenti" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" +"Impossibile eliminare un record sincronizzato con il calendario Outlook, " +"procedere invece all'archiviazione." + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/ja.po b/addons/microsoft_calendar/i18n/ja.po new file mode 100644 index 00000000..c160af3d --- /dev/null +++ b/addons/microsoft_calendar/i18n/ja.po @@ -0,0 +1,382 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Shunho Kin <s-kin@shonan-innovation.co.jp>, 2020 +# Martin Trigaux, 2020 +# Yoshi Tashiro (Quartile) <tashiro@roomsfor.hk>, 2020 +# Norimichi Sugimoto <norimichi.sugimoto@tls-ltd.co.jp>, 2020 +# Noma Yuki, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Noma Yuki, 2020\n" +"Language-Team: Japanese (https://www.transifex.com/odoo/teams/41243/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "%(reminder_type)s - %(duration)s 日" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "%(reminder_type)s - %(duration)s 時間" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "%(reminder_type)s - %(duration)s 分" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "(タイトルなし)" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "有効" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "カレンダーイベント" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "取消" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "クライアントID" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "クライアントシークレット" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "コンフィグ設定" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "設定" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "確認" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "作成者" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "作成日" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "Odooから削除" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "両方から削除" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "表示名" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "イベント再発ルール" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "アクティブなフィールドがfalseに設定されると、それを削除せずにイベントのアラーム情報を非表示にすることができます。" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "最終更新日" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "最終更新者" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "最終更新日" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "未編集のままにする" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "次の同期" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "通知" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "Outlook カレンダー" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "リダイレクション" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "アカウントリセット" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "トークンの生成中に何か問題が発生しました。 承認コードが無効であるかすでに失効している可能性があります [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "全てのイベントを同期する" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "新しいイベントのみを同期する" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "これは、ユーザーが所有者であるイベントにのみ影響します" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "ユーザ" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "ユーザーの既存のイベント" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "ユーザ" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/ka.po b/addons/microsoft_calendar/i18n/ka.po new file mode 100644 index 00000000..1a6b8223 --- /dev/null +++ b/addons/microsoft_calendar/i18n/ka.po @@ -0,0 +1,382 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Davit Matchakhelidze <david.machakhelidze@gmail.com>, 2021 +# Mari Khomeriki <mari.khomeriki@maxinai.com>, 2021 +# Saba Khmaladze <skhmaladze@uglt.org>, 2021 +# Martin Trigaux, 2021 +# Giorgi Melitauri <gmelitauri@live.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Giorgi Melitauri <gmelitauri@live.com>, 2021\n" +"Language-Team: Georgian (https://www.transifex.com/odoo/teams/41243/ka/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ka\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "აქტიური" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "გაუქმება" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "კონფიგურაციის პარამეტრები" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "კონფიგურაცია" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "დამოწმება" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "შემქმნელი" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "შექმნის თარიღი" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "სახელი" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "იდენტიფიკატორი/ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "ბოლოს განახლებულია" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "ბოლოს განაახლა" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "ბოლოს განახლდა" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "მომხმარებელი" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "მომხმარებლები" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/km.po b/addons/microsoft_calendar/i18n/km.po new file mode 100644 index 00000000..7a25cca7 --- /dev/null +++ b/addons/microsoft_calendar/i18n/km.po @@ -0,0 +1,382 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Sengtha Chay <sengtha@gmail.com>, 2020 +# Lux Sok <sok.lux@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Lux Sok <sok.lux@gmail.com>, 2020\n" +"Language-Team: Khmer (https://www.transifex.com/odoo/teams/41243/km/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: km\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "សកម្ម" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "លុបចោល" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "អត្តលេខរបស់អតិថិជន" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "អាថ៌កំបាំងអតិថិជន" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "កំណត់រចនាសម្ព័ន្ធ" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "កំណត់ផ្លាស់ប្តូរ" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "បញ្ជាក់" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "បង្កើតដោយ" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "បង្កើតនៅ" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "ឈ្មោះសំរាប់បង្ហាញ" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "អត្តសញ្ញាណ" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"ប្រសិនបើវាលសកម្មត្រូវបានកំណត់ទៅមិនពិតវានឹងអនុញ្ញាតឱ្យអ្នកលាក់ព័ត៌មានការជូនដំណឹងព្រឹត្តិការណ៍ដោយមិនយកវាចេញ។" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "កាលបរិច្ឆេតកែប្រែចុងក្រោយ" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "ផ្លាស់ប្តូរចុងក្រោយ" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "ផ្លាស់ប្តូរចុងក្រោយ" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "សេចក្តីជូនដំណឹង" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "ដែលមានការផ្លាស់ប្តូរ" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"មានបញ្ហាអ្វីមួយកើតឡើងក្នុងជំនាន់ជំនាន់អ្នកតំណាង។ " +"ប្រហែលជាលេខកូដការអនុញ្ញាតរបស់អ្នកមិនត្រឹមត្រូវឬផុតកំណត់ [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "អ្នកប្រើប្រាស់" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "អ្នកប្រើ" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/ko.po b/addons/microsoft_calendar/i18n/ko.po new file mode 100644 index 00000000..78650c29 --- /dev/null +++ b/addons/microsoft_calendar/i18n/ko.po @@ -0,0 +1,380 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Link Up링크업 <linkup.way@gmail.com>, 2020 +# JH CHOI <hwangtog@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: JH CHOI <hwangtog@gmail.com>, 2021\n" +"Language-Team: Korean (https://www.transifex.com/odoo/teams/41243/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "활성" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "행사 일정표" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "취소" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "고객 ID" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "고객 비밀키" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "설정 구성" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "구성" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "확인" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "작성자" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "작성일" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "이름 표시" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "일정 반복 규칙" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "사용중인 필드를 아니오로 설정하면 일정 알람 정보를 제거하지 않고 숨길 수 있습니다." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "최근 수정" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "최근 갱신한 사람" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "최근 갱신 날짜" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "알림" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "아웃룩 달력" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "반송" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "토큰 생성 중에 문제가 발생했습니다. 인증 코드가 잘못되었거나 이미 만료되었을 수 있습니다. [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "사용자" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "사용자" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/lt.po b/addons/microsoft_calendar/i18n/lt.po new file mode 100644 index 00000000..145e913f --- /dev/null +++ b/addons/microsoft_calendar/i18n/lt.po @@ -0,0 +1,388 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2021 +# UAB "Draugiški sprendimai" <transifex@draugiskisprendimai.lt>, 2021 +# Silvija Butko <silvija.butko@gmail.com>, 2021 +# Monika Raciunaite <monika.raciunaite@gmail.com>, 2021 +# digitouch UAB <digitouchagencyeur@gmail.com>, 2021 +# Linas Versada <linaskrisiukenas@gmail.com>, 2021 +# Gailius Kazlauskas <gailius@vialaurea.lt>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Gailius Kazlauskas <gailius@vialaurea.lt>, 2021\n" +"Language-Team: Lithuanian (https://www.transifex.com/odoo/teams/41243/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: lt\n" +"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Aktyvus" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Įvykis kalendoriuje" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Atšaukti" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "Kliento ID" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Kliento slaptas kodas" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Konfigūracijos nustatymai" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Konfigūracija" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Patvirtinti" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Sukūrė" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Sukurta" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Rodomas pavadinimas" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Jei aktyvus laukas bus pažymėtas kaip neigiamas, tai leis jums paslėpti " +"renginio signalo informaciją jos nepašalinant." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Paskutinį kartą keista" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Paskutinį kartą atnaujino" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Paskutinį kartą atnaujinta" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Pranešimas" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Peradresavimas" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Generuojant prieigos kodą įvyko klaida. Galbūt jūsų patvirtinimo kodas " +"nebegalioja ar yra neteisingas [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Vartotojas" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Vartotojai" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/lv.po b/addons/microsoft_calendar/i18n/lv.po new file mode 100644 index 00000000..491c992e --- /dev/null +++ b/addons/microsoft_calendar/i18n/lv.po @@ -0,0 +1,380 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Arnis Putniņš <arnis@allegro.lv>, 2020 +# ievaputnina <ievai.putninai@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: ievaputnina <ievai.putninai@gmail.com>, 2020\n" +"Language-Team: Latvian (https://www.transifex.com/odoo/teams/41243/lv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: lv\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Aktīvs Sistēmā" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Atcelt" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Konfigurācijas iestatījumi" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Uzstādījumi" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Apstiprināt" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Izveidoja" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Izveidots" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Attēlotais nosaukums" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Pēdējoreiz modificēts" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Pēdējoreiz atjaunoja" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Pēdējoreiz atjaunots" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Paziņojums" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Lietotājs" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Lietotāji" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/microsoft_calendar.pot b/addons/microsoft_calendar/i18n/microsoft_calendar.pot new file mode 100644 index 00000000..84ca654e --- /dev/null +++ b/addons/microsoft_calendar/i18n/microsoft_calendar.pot @@ -0,0 +1,374 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-11-27 11:24+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/mn.po b/addons/microsoft_calendar/i18n/mn.po new file mode 100644 index 00000000..686d2d68 --- /dev/null +++ b/addons/microsoft_calendar/i18n/mn.po @@ -0,0 +1,384 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Baskhuu Lodoikhuu <baskhuujacara@gmail.com>, 2020 +# Martin Trigaux, 2020 +# tserendavaa tsogtoo <tseegii011929@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: tserendavaa tsogtoo <tseegii011929@gmail.com>, 2020\n" +"Language-Team: Mongolian (https://www.transifex.com/odoo/teams/41243/mn/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: mn\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Идэвхитэй" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Календарийн арга хэмжээ" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Цуцлах" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "Клиент ID" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Нууц харилцагч" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Тохиргооны тохируулга" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Тохиргоо" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Илгээх" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Үүсгэсэн этгээд" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Үүсгэсэн огноо" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Дэлгэрэнгүй нэр" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Идэвхтэй талбарыг худал гэж тохируулбал арга хэмжээний сэрүүлэгийг " +"устгалгүйгээр нуух боломжтой." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Сүүлд зассан огноо" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Сүүлд зассан этгээд" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Сүүлд зассан огноо" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Дараагийн ижилтгэл" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Мэдэгдэл" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Дахин хандалт" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Тасалбарыг боловсруулах үед алдаа гарлаа. Магадгүй таны Баталгаажуулах Код " +"буруу эсвэл хугацаа нь дууссан байх [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Хэрэглэгч" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Хэрэглэгчид" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/nb.po b/addons/microsoft_calendar/i18n/nb.po new file mode 100644 index 00000000..9dcf43cb --- /dev/null +++ b/addons/microsoft_calendar/i18n/nb.po @@ -0,0 +1,381 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Marius Stedjan <marius@stedjan.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Marius Stedjan <marius@stedjan.com>, 2020\n" +"Language-Team: Norwegian Bokmål (https://www.transifex.com/odoo/teams/41243/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Aktiv" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Kalenderhendelse" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Avbryt" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "Klient-ID" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Klienthemmelighet" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Konfigurasjonsinnstillinger" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Konfigurasjon" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Bekreft" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Opprettet av" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Opprettet" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Visningsnavn" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Du kan gjemme hendelsesalarmen, uten å fjerne den, ved å sette Aktiv-feltet " +"til usann." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Sist endret" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Sist oppdatert av" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Sist oppdatert" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Varsling" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Omdirigering" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Bruker" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Brukere" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/nl.po b/addons/microsoft_calendar/i18n/nl.po new file mode 100644 index 00000000..9e97b250 --- /dev/null +++ b/addons/microsoft_calendar/i18n/nl.po @@ -0,0 +1,398 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Yenthe Van Ginneken <yenthespam@gmail.com>, 2020 +# Odoo Experts Consultants <consultants@odooexperts.nl>, 2020 +# Erwin van der Ploeg (Odoo Experts) <erwin@odooexperts.nl>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Erwin van der Ploeg (Odoo Experts) <erwin@odooexperts.nl>, 2021\n" +"Language-Team: Dutch (https://www.transifex.com/odoo/teams/41243/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "%(reminder_type)s - %(duration)s Dagen" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "%(reminder_type)s - %(duration)s Uren" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "%(reminder_type)s - %(duration)s Minuten" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "%s - Op het moment van de afspraak" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "(Geen titel)" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Actief" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" +"Een beheerder moet Outlook-synchronisatie configureren voordat u deze kunt " +"gebruiken!" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Agenda gebeurtenis" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Annuleren" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "Client ID" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Client Secret" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Configuratie instellingen" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Configuratie" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Bevestigen" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Aangemaakt door" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Aangemaakt op" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "Verwijderen van Odoo" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "Verwijderen van beide" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "Verwijderen uit het huidige Microsoft Agenda-account." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Schermnaam" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "Afspraak terugkeerpatroon" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" +"Voor een correcte synchronisatie tussen Odoo en Outlook-agenda moeten alle aanwezigen een e-mailadres hebben. Bij sommige afspraken wordt deze voorwaarde echter niet gerespecteerd. Zolang deze afspraken niet kloppen, worden de agenda's niet gesynchroniseerd.\n" +"Werk de afspraken / deelnemers bij of archiveer deze afspraken %s:\n" +"%s" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Als het actief veld niet is aangevinkt, heeft u de mogelijkheid om het " +"evenement alarm te verbergen zonder deze te verwijderen." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Laatst gewijzigd op" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Laatst bijgewerkt door" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Laatst bijgewerkt op" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "Laat onaangeraakt" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "Microsoft Agenda-account opnieuw instellen." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "Id voor Microsoft Agenda-evenement." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "Microsoft agenda Id" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "Herhaling-ID voor Microsoft-agenda." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "Microsoft Client_id" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "Microsoft Client_key" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "Microsoft Next Sync-token" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "Hoofd-ID voor Microsoft-terugkeerpatroon" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "Aangepaste afspraak kruist of overlapt een aangrenzende afspraak." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "Need Sync M" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Volgende synchronisatie" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Melding" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "Outlook Calendar" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "Outlook: synchronisatie" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Doorverwijzing" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "Account opnieuw instellen" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "Reset Outlook Agenda-account" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Er is iets fout gegaan tijdens het genereren van het token. Mogelijk is uw " +"authenticatie code foutief of al vervallen [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "Synchroniseer met <b>Outlook</b>" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "Gesynchroniseerd met Outlook" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "Synchroniseer een record met Microsoft Agenda." + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "Synchroniseer alle bestaande evenementen." + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "Synchroniseer alleen nieuwe evenementen." + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" +"De Outlook synchronisatie moet geconfigureerd worden voordat u deze kan " +"gebruiken. Wilt u dit nu doen?" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "Het account voor de Outlook-agendaservice is niet geconfigureerd." + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" +"Dit heeft alleen gevolgen voor evenementen waarvan de gebruiker de eigenaar " +"is." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Gebruiker" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "Bestaande gebeurtenissen van de gebruiker." + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Gebruikers" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" +"U kunt een record dat is gesynchroniseerd met Outlook-agenda niet " +"verwijderen, maar archiveren." + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" +"U wordt doorgestuurd naar Outlook om de toegang tot uw agenda te " +"autoriseren." diff --git a/addons/microsoft_calendar/i18n/pl.po b/addons/microsoft_calendar/i18n/pl.po new file mode 100644 index 00000000..1c6d3124 --- /dev/null +++ b/addons/microsoft_calendar/i18n/pl.po @@ -0,0 +1,401 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Dariusz Żbikowski <darek@krokus.com.pl>, 2020 +# Grzegorz Grzelak <grzegorz.grzelak@openglobe.pl>, 2020 +# Grażyna Grzelak <grazyna.grzelak@openglobe.pl>, 2020 +# Piotr Szlązak <szlazakpiotr@gmail.com>, 2020 +# Marcin Młynarczyk <mlynarczyk@gmail.com>, 2020 +# Andrzej Donczew <a.donczew@hadron.eu.com>, 2020 +# Piotr Cierkosz <piotr.w.cierkosz@gmail.com>, 2020 +# Paweł Wodyński <pw@myodoo.pl>, 2020 +# Maksym <ms@myodoo.pl>, 2020 +# Natalia Gros <nag@odoo.com>, 2020 +# Piotr Strębski <strebski@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Piotr Strębski <strebski@gmail.com>, 2021\n" +"Language-Team: Polish (https://www.transifex.com/odoo/teams/41243/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "%(reminder_type)s - %(duration)s dni" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "%(reminder_type)s - %(duration)s godzin" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "%(reminder_type)s - %(duration)s minut" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "%s - O czasie wydarzenia" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "(Brak tytułu)" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Aktywne" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" +"Administrator musi wpierw skonfigurować synchronizację z Outlook przed " +"korzystaniem z tej usługi!" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Wydarzenie w kalendarzu" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Anuluj" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "Identyfikator klienta" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Client Secret" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Ustawienia konfiguracji" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Konfiguracja" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Potwierdź" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Utworzona przez" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Utworzono" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "Usunięte z Odoo" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "Usunięte z obu" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "Usuń z bieżącego konta Kalendarza Microsoft" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Nazwa wyświetlana" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "Reguła powtarzania zdarzeń" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Jeśli przestawisz pole Aktywne na False, to ukryjesz alarm zdarzenia bez " +"usuwania go. " + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Data ostatniej modyfikacji" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Ostatnio aktualizowane przez" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Data ostatniej aktualizacji" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "Zostaw je nietknięte" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "ID Kalendarza Microsoft" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Następna synchronizacja" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Powiadomienie" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "Kalendarz Outlook" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "Outlook: synchronizacja" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Przekierowanie" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "Zresetuj konto" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "Zresetuj konto Kalendarza Outlook" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Coś poszło nie tak podczas generowania tokena. Może twój kod autoryzacji " +"jest zły lub już obecnie wygasły [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "Zsynchronizuj z <b>Outlook</b>" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "Zsynchronizowane z Outlook" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "Zsynchronizuj rekord z Kalendarzem Microsoft" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "Zsynchronizuj wszystkie istniejące wydarzenia" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "Zsynchronizuj tylko nowe wydarzenia" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" +"Synchronizacja Outlook musi zostać skonfigurowana przed użyciem, czy chcesz " +"to zrobić teraz?" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "Konto usługi Kalendarza Outlook nie jest skonfigurowane." + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" +"Będzie to miało wpływ tylko na wydarzenia, których właścicielem jest " +"użytkownik" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Użytkownik" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "Istniejące wydarzenia użytkownika" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Użytkownicy" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" +"Zostaniesz przekierowany do Outlooka celem uwierzytelnienia dostępu do " +"swojego kalendarza." diff --git a/addons/microsoft_calendar/i18n/pt.po b/addons/microsoft_calendar/i18n/pt.po new file mode 100644 index 00000000..79a8dd5a --- /dev/null +++ b/addons/microsoft_calendar/i18n/pt.po @@ -0,0 +1,387 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Manuela Silva <manuelarodsilva@gmail.com>, 2020 +# Pedro Castro Silva <pedrocs@exo.pt>, 2020 +# Nuno Silva <nuno.silva@arxi.pt>, 2020 +# Reinaldo Ramos <reinaldo.ramos@arxi.pt>, 2020 +# Pedro Filipe <pedro2.10@hotmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Pedro Filipe <pedro2.10@hotmail.com>, 2020\n" +"Language-Team: Portuguese (https://www.transifex.com/odoo/teams/41243/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Ativo" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Evento do Calendário" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "Id. de Cliente" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Segredo do Cliente" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Configurações" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Configuração" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Confirmar" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Nome" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Se o campo ativo for definido como falso, permitirá ocultar a informação do " +"alarme de evento sem a remover." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Última Modificação em" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Última Atualização por" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Última Atualização em" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Sincronização Seguinte" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Notificação" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Algo correu mal durante a geração do token. É possível que o seu Código de " +"Autorização seja inválido ou já tenha expirado [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Utilizador" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Utilizadores" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/pt_BR.po b/addons/microsoft_calendar/i18n/pt_BR.po new file mode 100644 index 00000000..63354dd8 --- /dev/null +++ b/addons/microsoft_calendar/i18n/pt_BR.po @@ -0,0 +1,399 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Rodrigo de Almeida Sottomaior Macedo <rmsolucoeseminformatica@protonmail.com>, 2020 +# Martin Trigaux, 2020 +# Mateus Lopes <mateus1@gmail.com>, 2020 +# grazziano <gra.negocia@gmail.com>, 2020 +# Sávio Castelo <savio591@hotmail.com>, 2020 +# André Augusto Firmino Cordeiro <a.cordeito@gmail.com>, 2020 +# Kevin Harrings <kha@odoo.com>, 2020 +# Éder Brito <britoederr@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Éder Brito <britoederr@gmail.com>, 2021\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/odoo/teams/41243/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "%(reminder_type)s - %(duration)s Dias" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "%(reminder_type)s - %(duration)s Horas" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "%(reminder_type)s - %(duration)s Minutos" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "%s - Na hora do evento" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "(Sem título)" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Ativo" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" +"Um administrador precisa configurar a Sincronização do Outlook antes que " +"você possa usá-la!" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Evento Calendário" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "ID do Cliente" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Segredo do Cliente" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Definições de Configuração" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Configuração" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Confirmar" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "Excluir do Odoo" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "Excluir de ambos" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "Excluir da conta atual do Microsoft Calendar" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Nome exibido" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "Regra de Recorrência de Evento" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Se o campo ativo é definido como falso, permite ocultar a informação de " +"eventos de alarme sem removê-los." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Última modificação em" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Última atualização por" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Última atualização em" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "Deixe-os intocados" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "Redefinir Conta de Calendário Microsoft" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "ID de Evento de Calendário Microsoft" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "ID de Calendário Microsoft" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "ID de Recorrência de Calendário Microsoft" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "Microsoft Client_id" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "Microsoft Client_key" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "Microsoft Next Sync Token" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "Microsoft Recurrence Master Id" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" +"A ocorrência modificada é a ocorrência de cruzamento ou sobreposição " +"adjacente." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "Necessita de sincronização M" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Próxima Sincronização" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Notificação" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "Outlook Calendar" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "Outlook: sincronização" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Redirecionar" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "Redefinir Conta" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "Redefinir Conta de Calendário Outlook" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Algo deu errado ao gerar seu token. Talvez seja porque seu código de " +"autorização seja inválido ou expirou [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "Sincronizar com <b>Outlook</b>" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "Sincronizado com Outlook" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "Sincronize um registro com o Calendário Microsoft" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "Sincronizar todos os eventos existentes" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "Sincronizar apenas próximos eventos" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" +"A Sincronização do Outlook precisa ser configurada antes que você possa usá-" +"la. Quer fazer isso agora?" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "A conta para o serviço de Calendário Outlook não está configurada." + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "Isso afetará apenas os eventos dos quais o usuário é o proprietário" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Usuário" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "Eventos Existentes do Usuário" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Usuários" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" +"Você não pode excluir um registro sincronizado com o Calendário do Outlook; " +"em vez disso, arquive-o." + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" +"Você será redirecionado para o Outlook para autorizar o acesso ao seu " +"calendário." diff --git a/addons/microsoft_calendar/i18n/ro.po b/addons/microsoft_calendar/i18n/ro.po new file mode 100644 index 00000000..7dba5bc3 --- /dev/null +++ b/addons/microsoft_calendar/i18n/ro.po @@ -0,0 +1,392 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Dorin Hongu <dhongu@gmail.com>, 2020 +# Foldi Robert <foldirobert@nexterp.ro>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Foldi Robert <foldirobert@nexterp.ro>, 2021\n" +"Language-Team: Romanian (https://www.transifex.com/odoo/teams/41243/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "%(reminder_type)s - %(duration)s Zile" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "%(reminder_type)s - %(duration)s Ore" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "%(reminder_type)s - %(duration)s Minute" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "%s - La momentul evenimentului" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "(Fără Titlu)" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Activ" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" +"Un administrator trebuie să configureze sincronizarea Outlook înainte de ao " +"putea folosi!" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Eveniment Calendar" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Anulează" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "ID Client" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Secret Client" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Setări de configurare" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Configurare" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Confirmă" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Creat de" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Creat în" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "Șterge din Odoo" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "Șterge din amandouă" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "Ștergeți din contul curent Microsoft Calendar" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Nume afișat" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "Regula de reapariție a evenimentelor" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Dacă câmpul nu este setat, vă permite să ascundeți evenimentul fără să-l " +"eliminați." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Ultima modificare la" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Ultima actualizare făcută de" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Ultima actualizare pe" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "Lăsați-le neatinse" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "Resetare cont Microsoft Calendar" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Sincronizarea urmatoare" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Notificare" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "Calendar Outlook" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "Outlook: Sincronizare" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Redirecționare" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "Resetare Cont" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Ceva nu a funcționat în timpul generației dvs. de simboluri. Poate că Codul " +"dvs. de autorizare este nevalid sau deja expirat [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "Sincronizare <b>cu Outlook</b>" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "Sincronizat cu Outlook" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "Sincronizați o înregistrare cu Microsoft Calendar" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "Sincronizați toate evenimentele existente" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "Sincronizați numai evenimente noi" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" +"Sincronizarea Outlook trebuie configurată înainte de ao putea utiliza, " +"doriți să o faceți acum?" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "Contul pentru serviciul Outlook Calendar nu este configurat." + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" +"Acest lucru va afecta doar evenimentele pentru care utilizatorul este " +"proprietar" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Operator" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "Evenimente existente ale utilizatorului" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Utilizatori" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" +"Veți fi redirecționat către Outlook pentru a autoriza accesul la calendarul " +"dvs." diff --git a/addons/microsoft_calendar/i18n/ru.po b/addons/microsoft_calendar/i18n/ru.po new file mode 100644 index 00000000..8ddef734 --- /dev/null +++ b/addons/microsoft_calendar/i18n/ru.po @@ -0,0 +1,386 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Ivan Yelizariev // IEL <yelizariev@itpp.dev>, 2020 +# Irina Fedulova <istartlin@gmail.com>, 2020 +# Сергей Шебанин <sergey@shebanin.ru>, 2021 +# ILMIR <karamov@it-projects.info>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: ILMIR <karamov@it-projects.info>, 2021\n" +"Language-Team: Russian (https://www.transifex.com/odoo/teams/41243/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Активно" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Событие в календаре" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Отменить" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "ID клиента" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Секретный ключ клиента" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Конфигурационные настройки" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Настройка" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Подтвердить" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Создал" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Создан" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Отображаемое имя" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "Идентификатор" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Если поле «Активен» имеет значение Истина, можно будет скрыть информацию об " +"уведомлении о событии не удаляя её." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Последнее изменение" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Последний раз обновил" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Последнее обновление" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Следующая синхронизация" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Уведомление" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "Календарь Outlook" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Перенаправление" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Что-то пошло не так во время генерации токенов. Возможно, ваш код " +"авторизации недействителен или уже устарел [ %s ]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Пользователь" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Пользователи" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/si.po b/addons/microsoft_calendar/i18n/si.po new file mode 100644 index 00000000..276c5fce --- /dev/null +++ b/addons/microsoft_calendar/i18n/si.po @@ -0,0 +1,374 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Language-Team: Sinhala (https://www.transifex.com/odoo/teams/41243/si/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: si\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/sk.po b/addons/microsoft_calendar/i18n/sk.po new file mode 100644 index 00000000..4e58fd28 --- /dev/null +++ b/addons/microsoft_calendar/i18n/sk.po @@ -0,0 +1,388 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Matus Krnac <matus.krnac@gmail.com>, 2020 +# Jaroslav Bosansky <jaro.bosansky@ekoenergo.sk>, 2020 +# Stefan Stieranka <stieranka@itec.sk>, 2020 +# gebri <gebri@inmail.sk>, 2020 +# Jan Prokop, 2020 +# Rastislav Brencic <rastislav.brencic@azet.sk>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Rastislav Brencic <rastislav.brencic@azet.sk>, 2020\n" +"Language-Team: Slovak (https://www.transifex.com/odoo/teams/41243/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "%(reminder_type)s - %(duration)s Dni" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "%(reminder_type)s - %(duration)s hodiny" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "%(reminder_type)s - %(duration)s minuty" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "(Žiadny nadpis)" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Aktívne" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Udalosť kalendára" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Zrušené" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "ID klienta" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Tajný kľúč klienta" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Nastavenia konfigurácie" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Konfigurácia" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Potvrdiť" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Vytvoril" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Vytvorené" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "Odstrániť z Odoo" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "Odstrániť z oboch" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Zobrazovaný názov" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "Pravidlo opakovania udalosti" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Ak je aktívne pole nastavené na False, umožní Vám schovať informáciu " +"upozornenia bez jej odtránenia." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Posledná úprava" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Naposledy upravoval" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Naposledy upravované" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "Nechajte ich nedotknuté" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Ďalšia synchronizácia" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Notifikácia" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "Outlook kalendár" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Presmerovanie" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "Obnoviť účet" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Niečo sa pokazilo počas generovania vášho tokenu. Možno je váš autorizačný " +"kód neplatný alebo už expirovaný [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "Synchronizujte všetky existujúce udalosti" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "Synchronizujte iba nové udalosti" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "Toto ovplyvní iba udalosti, ktorých vlastníkom je užívateľ" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Užívateľ" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "Existujúce udalosti používateľa" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Užívatelia" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/sl.po b/addons/microsoft_calendar/i18n/sl.po new file mode 100644 index 00000000..64b43286 --- /dev/null +++ b/addons/microsoft_calendar/i18n/sl.po @@ -0,0 +1,385 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2021 +# Matjaz Mozetic <m.mozetic@matmoz.si>, 2021 +# Vida Potočnik <vida.potocnik@mentis.si>, 2021 +# laznikd <laznik@mentis.si>, 2021 +# matjaz k <matjaz@mentis.si>, 2021 +# Grega Vavtar <grega@hbs.si>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Grega Vavtar <grega@hbs.si>, 2021\n" +"Language-Team: Slovenian (https://www.transifex.com/odoo/teams/41243/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Aktivno" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Prekliči" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "Client ID" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Odjemalčeva tajna šifra" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Uredi nastavitve" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Nastavitve" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Potrdi" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Ustvaril" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Ustvarjeno" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Prikazani naziv" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Če je aktivno polje označeno, bo dovoljeno skriti alarm dogodka ne da bi ga " +"bilo treba brisati." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Zadnjič spremenjeno" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Zadnji posodobil" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Zadnjič posodobljeno" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Obvestilo" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Uporabnik" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Uporabniki" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/sv.po b/addons/microsoft_calendar/i18n/sv.po new file mode 100644 index 00000000..676a3c48 --- /dev/null +++ b/addons/microsoft_calendar/i18n/sv.po @@ -0,0 +1,384 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Kristoffer Grundström <lovaren@gmail.com>, 2021 +# Martin Trigaux, 2021 +# Anders Wallenquist <anders.wallenquist@vertel.se>, 2021 +# Haojun Zou <apollo_zhj@msn.com>, 2021 +# Han Wong <han.wong@vertel.se>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Han Wong <han.wong@vertel.se>, 2021\n" +"Language-Team: Swedish (https://www.transifex.com/odoo/teams/41243/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Aktiv" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Kalenderhändelse" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Avbryt" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "Klient-ID" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Klienthemlighet" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Konfigurationsinställningar" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Konfiguration" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Bekräfta" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Skapad av" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Skapad den" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Visningsnamn" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Om det aktiva fältet är falskt, tillåter det dig att gömma händelselarm utan" +" att radera det." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Senast redigerad" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Senast uppdaterad av" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Senast uppdaterad" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Avisering" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Användare" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Användare" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/th.po b/addons/microsoft_calendar/i18n/th.po new file mode 100644 index 00000000..ec585107 --- /dev/null +++ b/addons/microsoft_calendar/i18n/th.po @@ -0,0 +1,381 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Khwunchai Jaengsawang <khwunchai.j@ku.th>, 2020 +# Somchart Jabsung <jabsung.s@gmail.com>, 2020 +# Odoo Thaidev <odoothaidev@gmail.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Odoo Thaidev <odoothaidev@gmail.com>, 2020\n" +"Language-Team: Thai (https://www.transifex.com/odoo/teams/41243/th/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "เปิดใช้งาน" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "ปฎิทินกิจกรรม" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "ยกเลิก" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "Client ID" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Client Secret" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "การตั้งค่า" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "การกำหนดค่า" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "ยืนยัน" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "สร้างโดย" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "สร้างเมื่อ" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "ชื่อที่ใช้แสดง" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "รหัส" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "แก้ไขครั้งสุดท้ายเมื่อ" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "อัพเดทครั้งสุดท้ายโดย" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "อัพเดทครั้งสุดท้ายเมื่อ" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "การแจ้งเตือน" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "ผู้ใช้งาน" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "ผู้ใช้งาน" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/tr.po b/addons/microsoft_calendar/i18n/tr.po new file mode 100644 index 00000000..183d2ec6 --- /dev/null +++ b/addons/microsoft_calendar/i18n/tr.po @@ -0,0 +1,391 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Ediz Duman <neps1192@gmail.com>, 2020 +# Martin Trigaux, 2020 +# Levent Karakaş <levent@mektup.at>, 2020 +# Murat Kaplan <muratk@projetgrup.com>, 2020 +# Ertuğrul Güreş <ertugrulg@projetgrup.com>, 2020 +# Gökhan Erdoğdu <gokhan.erdogdu@mechsoft.com.tr>, 2020 +# Umur Akın <umura@projetgrup.com>, 2020 +# ANIL TAN SAĞIR <anils@projetgrup.com>, 2020 +# abc Def <hdogan1974@gmail.com>, 2020 +# Nadir Gazioglu <nadirgazioglu@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Nadir Gazioglu <nadirgazioglu@gmail.com>, 2021\n" +"Language-Team: Turkish (https://www.transifex.com/odoo/teams/41243/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "%(reminder_type)s - %(duration)s Days" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "%(reminder_type)s - %(duration)s Hours" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "%(reminder_type)s - %(duration)s Minutes" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "%s - At time of event" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "(No title)" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Etkin" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Takvim Etkinliği" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "İptal et" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "Müşteri ID" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Müşteri Gizli Anahtarı" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Yapılandırma Ayarları" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Yapılandırma" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Onayla" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Oluşturan" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Oluşturulma" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "Delete from Odoo" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "Delete from both" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "Delete from the current Microsoft Calendar account" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Görünüm Adı" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "Event Recurrence Rule" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Şayet aktif alanı etkin değil olarak ayarlanırsa, etkinlik alarmını " +"etkinliği kaldırmanıza gerek kalmadan kapayabilirsiniz." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Son Düzenleme" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Son Güncelleyen" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Son Güncelleme" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "Leave them untouched" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "Microsoft Calendar Account Reset" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "Microsoft Calendar Event Id" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "Microsoft Calendar Id" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "Microsoft Calendar Recurrence Id" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "Microsoft Client_id" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "Microsoft Client_key" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "Microsoft Next Sync Token" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "Microsoft Recurrence Master Id" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "Modified occurrence is crossing or overlapping adjacent occurrence." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "Need Sync M" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Sonraki Senkronizasyon" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Bildirimler" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "Outlook Takvim" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Yeniden Yönlendirme" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "Reset Account" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Kimliğinizi üretirken bir şeyler ters gitti. Belki Yetkilendirme Kodunuz " +"geçti veya süresi dolmuş [1%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "Synchronize a record with Microsoft Calendar" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "Synchronize all existing events" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "Synchronize only new events" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "This will only affect events for which the user is the owner" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Kullanıcı" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "User's Existing Events" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Kullanıcılar" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/uk.po b/addons/microsoft_calendar/i18n/uk.po new file mode 100644 index 00000000..6635295e --- /dev/null +++ b/addons/microsoft_calendar/i18n/uk.po @@ -0,0 +1,383 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Alina Lisnenko <alinasemeniuk1@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Alina Lisnenko <alinasemeniuk1@gmail.com>, 2021\n" +"Language-Team: Ukrainian (https://www.transifex.com/odoo/teams/41243/uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "%(reminder_type)s - %(duration)s днів" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "%(reminder_type)s - %(duration)s годин" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "%(reminder_type)s - %(duration)s хвилин" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "(Немає заголовка)" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Активно" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Календар подій" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Скасувати" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "ID клієнта" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Пароль клієнта" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Налаштування" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Налаштування" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Підтвердити" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Створив" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Створено" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "Видалити з Odoo" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "Видалити з обох" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Відобразити назву" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "Правило повторюваної події" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Якщо активне поле налаштовано невірно, ви зможете приховати інформацію про " +"сповіщення події, не видаляючи її." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Останні зміни" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Востаннє оновив" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Останнє оновлення" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "Залиште його незміненим" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "Id події Календаря Microsoft" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "Id Календаря Microsoft" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "Microsoft Client_id" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "Microsoft Client_key" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "Токен синхронізації Microsoft Next" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Наступна синхронізація" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Сповіщення" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "Календар Outlook" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Перенаправлення" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "Скинути обліковий запис" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Щось пішло не так під час вашої генерації токенів. Може, ваш код авторизації" +" недійсний або вже минув [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "Синхронізувати всі існуючі події" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "Синхронізувати лише нові події" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "Це вплине лише на ті події, де користувач є власником" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Користувач" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "Існуючі події користувача" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Користувачі" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/ur.po b/addons/microsoft_calendar/i18n/ur.po new file mode 100644 index 00000000..24d123b8 --- /dev/null +++ b/addons/microsoft_calendar/i18n/ur.po @@ -0,0 +1,374 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Language-Team: Urdu (https://www.transifex.com/odoo/teams/41243/ur/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ur\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/vi.po b/addons/microsoft_calendar/i18n/vi.po new file mode 100644 index 00000000..b222dee0 --- /dev/null +++ b/addons/microsoft_calendar/i18n/vi.po @@ -0,0 +1,386 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# fanha99 <fanha99@hotmail.com>, 2020 +# Duy BQ <duybq86@gmail.com>, 2020 +# Dao Nguyen <trucdao.uel@gmail.com>, 2020 +# Nancy Momoland <thanhnguyen.icsc@gmail.com>, 2020 +# Trần Hà <tranthuha13590@gmail.com>, 2021 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: Trần Hà <tranthuha13590@gmail.com>, 2021\n" +"Language-Team: Vietnamese (https://www.transifex.com/odoo/teams/41243/vi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: vi\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "%(reminder_type)s - %(duration)s Days" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "%(reminder_type)s - %(duration)s Hours" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "%(reminder_type)s - %(duration)s Minutes" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "%s - At time of event" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "(No title)" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "Có hiệu lực" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "Lịch sự kiện" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "Hủy" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "Client ID" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "Client Secret" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "Thiết lập cấu hình" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "Cấu hình" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "Xác nhận" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "Tạo bởi" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "Thời điểm tạo" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "Delete from Odoo" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "Delete from both" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "Delete from the current Microsoft Calendar account" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "Tên hiển thị" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "Quy tắc lặp lại sự kiện" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" +"Nếu trường Hiệu lực được thiết lập là false, thông tin báo động sự kiện có " +"thể được ẩn đi mà không cần xoá nó." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "Sửa lần cuối vào" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "Cập nhật lần cuối bởi" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "Cập nhật lần cuối vào" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "Leave them untouched" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "Microsoft Calendar Account Reset" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "Microsoft Calendar Event Id" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "Microsoft Calendar Id" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "Microsoft Calendar Recurrence Id" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "Microsoft Client_id" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "Microsoft Client_key" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "Microsoft Next Sync Token" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "Microsoft Recurrence Master Id" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "Modified occurrence is crossing or overlapping adjacent occurrence." + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "Need Sync M" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "Đồng bộ kế tiếp" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "Thông báo" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "Lịch Outlook" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "Chuyển hướng" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "Reset Account" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "" +"Đã xảy ra lỗi trong quá trình tạo mã Token của bạn. Có thể Mã ủy quyền của " +"bạn không hợp lệ hoặc đã hết hạn [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "Synchronize a record with Microsoft Calendar" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "Synchronize all existing events" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "Synchronize only new events" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "This will only affect events for which the user is the owner" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "Người dùng" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "User's Existing Events" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "Người dùng" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/zh_CN.po b/addons/microsoft_calendar/i18n/zh_CN.po new file mode 100644 index 00000000..3a2d1619 --- /dev/null +++ b/addons/microsoft_calendar/i18n/zh_CN.po @@ -0,0 +1,384 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# Martin Trigaux, 2020 +# Jeffery CHEN Fan <jeffery9@gmail.com>, 2020 +# liAnGjiA <liangjia@qq.com>, 2020 +# 敬雲 林 <chingyun@yuanchih-consult.com>, 2020 +# Jeanphy <hzh0292@qq.com>, 2020 +# Felix Yang - Elico Corp <felixyangsh@aliyun.com>, 2020 +# 稀饭~~ <wangwhai@qq.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: 稀饭~~ <wangwhai@qq.com>, 2020\n" +"Language-Team: Chinese (China) (https://www.transifex.com/odoo/teams/41243/zh_CN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "%(reminder_type)s-%(duration)s天数。" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "%(reminder_type)s-%(duration)s小时" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "%(reminder_type)s-%(duration)s分钟" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "(无标题)" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "启用" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "日历事件" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "取消" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "客户ID" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "客户密钥" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "配置设置" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "基础配置" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "确认" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "创建人" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "创建时间" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "从 Odoo 中删除" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "从两者中删除" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "显示名称" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "事件重复规则" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "如果启用字段设为false,它将允许你隐藏提醒信息而不需要删除它。" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "最后修改日" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "最后更新人" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "最后更新时间" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "保持原封不动" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "下一个同步" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "通知" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "Outlook日历" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "重定向" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "重置帐户" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "令牌生成过程中出错了。或许您的授权码无效已过期 [%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "同步所有现有事件" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "仅同步新事件" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "这只会影响用户作为所有者的事件" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "用户" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "用户的现有事件" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "用户" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/i18n/zh_TW.po b/addons/microsoft_calendar/i18n/zh_TW.po new file mode 100644 index 00000000..a7dcbbf8 --- /dev/null +++ b/addons/microsoft_calendar/i18n/zh_TW.po @@ -0,0 +1,378 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * microsoft_calendar +# +# Translators: +# 敬雲 林 <chingyun@yuanchih-consult.com>, 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 11:24+0000\n" +"PO-Revision-Date: 2020-09-07 08:14+0000\n" +"Last-Translator: 敬雲 林 <chingyun@yuanchih-consult.com>, 2020\n" +"Language-Team: Chinese (Taiwan) (https://www.transifex.com/odoo/teams/41243/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Days" +msgstr "%(reminder_type)s - %(duration)s 天" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Hours" +msgstr "%(reminder_type)s - %(duration)s 小時" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%(reminder_type)s - %(duration)s Minutes" +msgstr "%(reminder_type)s - %(duration)s 分鐘" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "%s - At time of event" +msgstr "%s - 在活動期間。" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "(No title)" +msgstr "( 無標題 )" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__active +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__active +msgid "Active" +msgstr "啟用" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"An administrator needs to configure Outlook Synchronization before you can " +"use it!" +msgstr "管理員需要先配置 Outlook 同步,然後才能使用它!" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "日曆活動" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Cancel" +msgstr "取消" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client ID" +msgstr "客戶端 ID" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.res_config_settings_view_form +msgid "Client Secret" +msgstr "客戶秘鑰" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_config_settings +msgid "Config Settings" +msgstr "配置設定" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Configuration" +msgstr "配置" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Confirm" +msgstr "確認" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_uid +msgid "Created by" +msgstr "創立者" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__create_date +msgid "Created on" +msgstr "創建時間" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_odoo +msgid "Delete from Odoo" +msgstr "從 Odoo 紀錄刪除" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_both +msgid "Delete from both" +msgstr "從兩者紀錄刪除" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__delete_microsoft +msgid "Delete from the current Microsoft Calendar account" +msgstr "從微軟日曆帳戶中刪除。" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__display_name +msgid "Display Name" +msgstr "顯示名稱" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_calendar_recurrence +msgid "Event Recurrence Rule" +msgstr "活動重複規則" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "" +"For a correct synchronization between Odoo and Outlook Calendar, all attendees must have an email address. However, some events do not respect this condition. As long as the events are incorrect, the calendars will not be synchronized.\n" +"Either update the events/attendees or archive these events %s:\n" +"%s" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_attendee__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__id +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__id +msgid "ID" +msgstr "ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_calendar_event__active +msgid "" +"If the active field is set to false, it will allow you to hide the event " +"alarm information without removing it." +msgstr "如果有效字段設為false,它將允許您隱藏活動提醒資訊而不需要刪除它。" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users____last_update +msgid "Last Modified on" +msgstr "最後修改於" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_uid +msgid "Last Updated by" +msgstr "最後更新者" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__write_date +msgid "Last Updated on" +msgstr "最後更新於" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__delete_policy__dont_delete +msgid "Leave them untouched" +msgstr "保持原始資訊" + +#. module: microsoft_calendar +#: model:ir.actions.act_window,name:microsoft_calendar.microsoft_calendar_reset_account_action +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_account_reset +msgid "Microsoft Calendar Account Reset" +msgstr "微軟日曆帳戶重置" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_id +msgid "Microsoft Calendar Event Id" +msgstr "微軟日曆活動 ID" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__microsoft_id +msgid "Microsoft Calendar Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__microsoft_id +msgid "Microsoft Calendar Recurrence Id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_id +msgid "Microsoft Client_id" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_config_settings__cal_microsoft_client_secret +msgid "Microsoft Client_key" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_res_users__microsoft_calendar_sync_token +msgid "Microsoft Next Sync Token" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__microsoft_recurrence_master_id +msgid "Microsoft Recurrence Master Id" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Modified occurrence is crossing or overlapping adjacent occurrence." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_event__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_calendar_recurrence__need_sync_m +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_sync__need_sync_m +msgid "Need Sync M" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__sync_policy +msgid "Next Synchronization" +msgstr "下一次同步" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/calendar.py:0 +#, python-format +msgid "Notification" +msgstr "通知" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Outlook Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.actions.server,name:microsoft_calendar.ir_cron_sync_all_cals_ir_actions_server +#: model:ir.cron,cron_name:microsoft_calendar.ir_cron_sync_all_cals +#: model:ir.cron,name:microsoft_calendar.ir_cron_sync_all_cals +msgid "Outlook: synchronization" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Redirection" +msgstr "重導向" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.view_users_form +msgid "Reset Account" +msgstr "" + +#. module: microsoft_calendar +#: model_terms:ir.ui.view,arch_db:microsoft_calendar.microsoft_calendar_reset_account_view_form +msgid "Reset Outlook Calendar Account" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "" +"Something went wrong during your token generation. Maybe your Authorization " +"Code is invalid or already expired [%s]" +msgstr "金鑰生成過程中出現錯誤。或許您的授權碼無效已過期[%s]" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Sync with <b>Outlook</b>" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "Synched with Outlook" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_microsoft_calendar_sync +msgid "Synchronize a record with Microsoft Calendar" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__all +msgid "Synchronize all existing events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields.selection,name:microsoft_calendar.selection__microsoft_calendar_account_reset__sync_policy__new +msgid "Synchronize only new events" +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"The Outlook Synchronization needs to be configured before you can use it, do" +" you want to do it now?" +msgstr "" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/res_users.py:0 +#, python-format +msgid "The account for the Outlook Calendar service is not configured." +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,help:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "This will only affect events for which the user is the owner" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__user_id +msgid "User" +msgstr "使用者" + +#. module: microsoft_calendar +#: model:ir.model.fields,field_description:microsoft_calendar.field_microsoft_calendar_account_reset__delete_policy +msgid "User's Existing Events" +msgstr "" + +#. module: microsoft_calendar +#: model:ir.model,name:microsoft_calendar.model_res_users +msgid "Users" +msgstr "使用者" + +#. module: microsoft_calendar +#: code:addons/microsoft_calendar/models/microsoft_sync.py:0 +#, python-format +msgid "" +"You cannot delete a record synchronized with Outlook Calendar, archive it " +"instead." +msgstr "" + +#. module: microsoft_calendar +#. openerp-web +#: code:addons/microsoft_calendar/static/src/js/microsoft_calendar.js:0 +#, python-format +msgid "" +"You will be redirected to Outlook to authorize the access to your calendar." +msgstr "" diff --git a/addons/microsoft_calendar/models/__init__.py b/addons/microsoft_calendar/models/__init__.py new file mode 100644 index 00000000..a87bf35b --- /dev/null +++ b/addons/microsoft_calendar/models/__init__.py @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import res_config_settings +from . import microsoft_sync +from . import calendar +from . import calendar_recurrence_rule +from . import res_users +from . import calendar_attendee diff --git a/addons/microsoft_calendar/models/calendar.py b/addons/microsoft_calendar/models/calendar.py new file mode 100644 index 00000000..625587c0 --- /dev/null +++ b/addons/microsoft_calendar/models/calendar.py @@ -0,0 +1,411 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import pytz +from dateutil.parser import parse +from dateutil.relativedelta import relativedelta + +from odoo import api, fields, models, _ +from odoo.exceptions import UserError, ValidationError + +ATTENDEE_CONVERTER_O2M = { + 'needsAction': 'notresponded', + 'tentative': 'tentativelyaccepted', + 'declined': 'declined', + 'accepted': 'accepted' +} +ATTENDEE_CONVERTER_M2O = { + 'notResponded': 'needsAction', + 'tentativelyAccepted': 'tentative', + 'declined': 'declined', + 'accepted': 'accepted', + 'organizer': 'accepted', +} +MAX_RECURRENT_EVENT = 720 + +class Meeting(models.Model): + _name = 'calendar.event' + _inherit = ['calendar.event', 'microsoft.calendar.sync'] + + microsoft_id = fields.Char('Microsoft Calendar Event Id') + microsoft_recurrence_master_id = fields.Char('Microsoft Recurrence Master Id') + + @api.model + def _get_microsoft_synced_fields(self): + return {'name', 'description', 'allday', 'start', 'date_end', 'stop', + 'user_id', 'privacy', + 'attendee_ids', 'alarm_ids', 'location', 'show_as', 'active'} + + @api.model_create_multi + def create(self, vals_list): + return super().create([ + dict(vals, need_sync_m=False) if vals.get('recurrency') else vals + for vals in vals_list + ]) + + def write(self, values): + recurrence_update_setting = values.get('recurrence_update') + if recurrence_update_setting in ('all_events', 'future_events') and len(self) == 1: + values = dict(values, need_sync_m=False) + elif recurrence_update_setting == 'self_only' and 'start' in values: + previous_event_before_write = self.recurrence_id.calendar_event_ids.filtered(lambda e: e.start.date() < self.start.date() and e != self) + new_start = parse(values['start']).date() + previous_event_after_write = self.recurrence_id.calendar_event_ids.filtered(lambda e: e.start.date() < new_start and e != self) + if previous_event_before_write != previous_event_after_write: + # Outlook returns a 400 error if you try to synchronize an occurrence of this type. + raise UserError(_("Modified occurrence is crossing or overlapping adjacent occurrence.")) + return super().write(values) + + def _get_microsoft_sync_domain(self): + return [('partner_ids.user_ids', 'in', self.env.user.id)] + + @api.model + def _microsoft_to_odoo_values(self, microsoft_event, default_reminders=(), default_values={}): + if microsoft_event.is_cancelled(): + return {'active': False} + + sensitivity_o2m = { + 'normal': 'public', + 'private': 'private', + 'confidential': 'confidential', + } + + commands_attendee, commands_partner = self._odoo_attendee_commands_m(microsoft_event) + timeZone_start = pytz.timezone(microsoft_event.start.get('timeZone')) + timeZone_stop = pytz.timezone(microsoft_event.end.get('timeZone')) + start = parse(microsoft_event.start.get('dateTime')).astimezone(timeZone_start).replace(tzinfo=None) + if microsoft_event.isAllDay: + stop = parse(microsoft_event.end.get('dateTime')).astimezone(timeZone_stop).replace(tzinfo=None) - relativedelta(days=1) + else: + stop = parse(microsoft_event.end.get('dateTime')).astimezone(timeZone_stop).replace(tzinfo=None) + values = { + **default_values, + 'name': microsoft_event.subject or _("(No title)"), + 'description': microsoft_event.bodyPreview, + 'location': microsoft_event.location and microsoft_event.location.get('displayName') or False, + 'user_id': microsoft_event.owner(self.env).id, + 'privacy': sensitivity_o2m.get(microsoft_event.sensitivity, self.default_get(['privacy'])['privacy']), + 'attendee_ids': commands_attendee, + 'partner_ids': commands_partner, + 'allday': microsoft_event.isAllDay, + 'start': start, + 'stop': stop, + 'show_as': 'free' if microsoft_event.showAs == 'free' else 'busy', + 'recurrency': microsoft_event.is_recurrent() + } + + values['microsoft_id'] = microsoft_event.id + if microsoft_event.is_recurrent(): + values['microsoft_recurrence_master_id'] = microsoft_event.seriesMasterId + + alarm_commands = self._odoo_reminders_commands_m(microsoft_event) + if alarm_commands: + values['alarm_ids'] = alarm_commands + + return values + + @api.model + def _microsoft_to_odoo_recurrence_values(self, microsoft_event, default_reminders=(), values={}): + timeZone_start = pytz.timezone(microsoft_event.start.get('timeZone')) + timeZone_stop = pytz.timezone(microsoft_event.end.get('timeZone')) + start = parse(microsoft_event.start.get('dateTime')).astimezone(timeZone_start).replace(tzinfo=None) + if microsoft_event.isAllDay: + stop = parse(microsoft_event.end.get('dateTime')).astimezone(timeZone_stop).replace(tzinfo=None) - relativedelta(days=1) + else: + stop = parse(microsoft_event.end.get('dateTime')).astimezone(timeZone_stop).replace(tzinfo=None) + values['microsoft_id'] = microsoft_event.id + values['microsoft_recurrence_master_id'] = microsoft_event.seriesMasterId + values['start'] = start + values['stop'] = stop + return values + + @api.model + def _odoo_attendee_commands_m(self, microsoft_event): + commands_attendee = [] + commands_partner = [] + + microsoft_attendees = microsoft_event.attendees or [] + emails = [a.get('emailAddress').get('address') for a in microsoft_attendees] + existing_attendees = self.env['calendar.attendee'] + if microsoft_event.exists(self.env): + existing_attendees = self.env['calendar.attendee'].search([ + ('event_id', '=', microsoft_event.odoo_id(self.env)), + ('email', 'in', emails)]) + elif self.env.user.partner_id.email not in emails: + commands_attendee += [(0, 0, {'state': 'accepted', 'partner_id': self.env.user.partner_id.id})] + commands_partner += [(4, self.env.user.partner_id.id)] + attendees_by_emails = {a.email: a for a in existing_attendees} + for attendee in microsoft_attendees: + email = attendee.get('emailAddress').get('address') + state = ATTENDEE_CONVERTER_M2O.get(attendee.get('status').get('response')) + + if email in attendees_by_emails: + # Update existing attendees + commands_attendee += [(1, attendees_by_emails[email].id, {'state': state})] + else: + # Create new attendees + partner = self.env['res.partner'].find_or_create(email) + commands_attendee += [(0, 0, {'state': state, 'partner_id': partner.id})] + commands_partner += [(4, partner.id)] + if attendee.get('emailAddress').get('name') and not partner.name: + partner.name = attendee.get('emailAddress').get('name') + for odoo_attendee in attendees_by_emails.values(): + # Remove old attendees + if odoo_attendee.email not in emails: + commands_attendee += [(2, odoo_attendee.id)] + commands_partner += [(3, odoo_attendee.partner_id.id)] + return commands_attendee, commands_partner + + @api.model + def _odoo_reminders_commands_m(self, microsoft_event): + reminders_commands = [] + if microsoft_event.isReminderOn: + event_id = self.browse(microsoft_event.odoo_id(self.env)) + alarm_type_label = _("Notification") + + minutes = microsoft_event.reminderMinutesBeforeStart or 0 + alarm = self.env['calendar.alarm'].search([ + ('alarm_type', '=', 'notification'), + ('duration_minutes', '=', minutes) + ], limit=1) + if alarm and alarm not in event_id.alarm_ids: + reminders_commands = [(4, alarm.id)] + elif not alarm: + if minutes == 0: + interval = 'minutes' + duration = minutes + name = _("%s - At time of event", alarm_type_label) + elif minutes % (60*24) == 0: + interval = 'days' + duration = minutes / 60 / 24 + name = _( + "%(reminder_type)s - %(duration)s Days", + reminder_type=alarm_type_label, + duration=duration, + ) + elif minutes % 60 == 0: + interval = 'hours' + duration = minutes / 60 + name = _( + "%(reminder_type)s - %(duration)s Hours", + reminder_type=alarm_type_label, + duration=duration, + ) + else: + interval = 'minutes' + duration = minutes + name = _( + "%(reminder_type)s - %(duration)s Minutes", + reminder_type=alarm_type_label, + duration=duration, + ) + reminders_commands = [(0, 0, {'duration': duration, 'interval': interval, 'name': name, 'alarm_type': 'notification'})] + + alarm_to_rm = event_id.alarm_ids.filtered(lambda a: a.alarm_type == 'notification' and a.id != alarm.id) + if alarm_to_rm: + reminders_commands += [(3, a.id) for a in alarm_to_rm] + + else: + event_id = self.browse(microsoft_event.odoo_id(self.env)) + alarm_to_rm = event_id.alarm_ids.filtered(lambda a: a.alarm_type == 'notification') + if alarm_to_rm: + reminders_commands = [(3, a.id) for a in alarm_to_rm] + return reminders_commands + + def _get_attendee_status_o2m(self, attendee): + if self.user_id and self.user_id == attendee.partner_id.user_id: + return 'organizer' + return ATTENDEE_CONVERTER_O2M.get(attendee.state, 'None') + + def _microsoft_values(self, fields_to_sync, initial_values={}): + values = dict(initial_values) + if not fields_to_sync: + return values + + values['id'] = self.microsoft_id + microsoft_guid = self.env['ir.config_parameter'].sudo().get_param('microsoft_calendar.microsoft_guid', False) + values['singleValueExtendedProperties'] = [{ + 'id': 'String {%s} Name odoo_id' % microsoft_guid, + 'value': str(self.id), + }, { + 'id': 'String {%s} Name owner_odoo_id' % microsoft_guid, + 'value': str(self.user_id.id), + }] + + if self.microsoft_recurrence_master_id and 'type' not in values: + values['seriesMasterId'] = self.microsoft_recurrence_master_id + values['type'] = 'exception' + + if 'name' in fields_to_sync: + values['subject'] = self.name or '' + + if 'description' in fields_to_sync: + values['body'] = { + 'content': self.description or '', + 'contentType': "text", + } + + if any(x in fields_to_sync for x in ['allday', 'start', 'date_end', 'stop']): + if self.allday: + start = {'dateTime': self.start_date.isoformat(), 'timeZone': 'Europe/London'} + end = {'dateTime': (self.stop_date + relativedelta(days=1)).isoformat(), 'timeZone': 'Europe/London'} + else: + start = {'dateTime': pytz.utc.localize(self.start).isoformat(), 'timeZone': 'Europe/London'} + end = {'dateTime': pytz.utc.localize(self.stop).isoformat(), 'timeZone': 'Europe/London'} + + values['start'] = start + values['end'] = end + values['isAllDay'] = self.allday + + if 'location' in fields_to_sync: + values['location'] = {'displayName': self.location or ''} + + if 'alarm_ids' in fields_to_sync: + alarm_id = self.alarm_ids.filtered(lambda a: a.alarm_type == 'notification')[:1] + values['isReminderOn'] = bool(alarm_id) + values['reminderMinutesBeforeStart'] = alarm_id.duration_minutes + + if 'user_id' in fields_to_sync: + values['organizer'] = {'emailAddress': {'address': self.user_id.email or '', 'name': self.user_id.display_name or ''}} + values['isOrganizer'] = self.user_id == self.env.user + + if 'attendee_ids' in fields_to_sync: + attendees = self.attendee_ids.filtered(lambda att: att.partner_id not in self.user_id.partner_id) + values['attendees'] = [ + { + 'emailAddress': {'address': attendee.email or '', 'name': attendee.display_name or ''}, + 'status': {'response': self._get_attendee_status_o2m(attendee)} + } for attendee in attendees] + + if 'privacy' in fields_to_sync or 'show_as' in fields_to_sync: + values['showAs'] = self.show_as + sensitivity_o2m = { + 'public': 'normal', + 'private': 'private', + 'confidential': 'confidential', + } + values['sensitivity'] = sensitivity_o2m.get(self.privacy) + + if 'active' in fields_to_sync and not self.active: + values['isCancelled'] = True + + if values.get('type') == 'seriesMaster': + recurrence = self.recurrence_id + pattern = { + 'interval': recurrence.interval + } + if recurrence.rrule_type in ['daily', 'weekly']: + pattern['type'] = recurrence.rrule_type + else: + prefix = 'absolute' if recurrence.month_by == 'date' else 'relative' + pattern['type'] = prefix + recurrence.rrule_type.capitalize() + + if recurrence.month_by == 'date': + pattern['dayOfMonth'] = recurrence.day + + if recurrence.month_by == 'day' or recurrence.rrule_type == 'weekly': + pattern['daysOfWeek'] = [ + weekday_name for weekday_name, weekday in { + 'monday': recurrence.mo, + 'tuesday': recurrence.tu, + 'wednesday': recurrence.we, + 'thursday': recurrence.th, + 'friday': recurrence.fr, + 'saturday': recurrence.sa, + 'sunday': recurrence.su, + }.items() if weekday] + pattern['firstDayOfWeek'] = 'sunday' + + if recurrence.rrule_type == 'monthly' and recurrence.month_by == 'day': + byday_selection = { + '1': 'first', + '2': 'second', + '3': 'third', + '4': 'fourth', + '-1': 'last', + } + pattern['index'] = byday_selection[recurrence.byday] + + rule_range = { + 'startDate': (recurrence.dtstart.date()).isoformat() + } + + if recurrence.end_type == 'count': # e.g. stop after X occurence + rule_range['numberOfOccurrences'] = min(recurrence.count, MAX_RECURRENT_EVENT) + rule_range['type'] = 'numbered' + elif recurrence.end_type == 'forever': + rule_range['numberOfOccurrences'] = MAX_RECURRENT_EVENT + rule_range['type'] = 'numbered' + elif recurrence.end_type == 'end_date': # e.g. stop after 12/10/2020 + rule_range['endDate'] = recurrence.until.isoformat() + rule_range['type'] = 'endDate' + + values['recurrence'] = { + 'pattern': pattern, + 'range': rule_range + } + + return values + + def _ensure_attendees_have_email(self): + invalid_event_ids = self.env['calendar.event'].search_read( + domain=[('id', 'in', self.ids), ('attendee_ids.partner_id.email', '=', False)], + fields=['display_time', 'display_name'], + order='start', + ) + if invalid_event_ids: + list_length_limit = 50 + total_invalid_events = len(invalid_event_ids) + invalid_event_ids = invalid_event_ids[:list_length_limit] + invalid_events = ['\t- %s: %s' % (event['display_time'], event['display_name']) + for event in invalid_event_ids] + invalid_events = '\n'.join(invalid_events) + details = "(%d/%d)" % (list_length_limit, total_invalid_events) if list_length_limit < total_invalid_events else "(%d)" % total_invalid_events + raise ValidationError(_("For a correct synchronization between Odoo and Outlook Calendar, " + "all attendees must have an email address. However, some events do " + "not respect this condition. As long as the events are incorrect, " + "the calendars will not be synchronized." + "\nEither update the events/attendees or archive these events %s:" + "\n%s", details, invalid_events)) + + def _microsoft_values_occurence(self, initial_values={}): + values = dict(initial_values) + values['id'] = self.microsoft_id + microsoft_guid = self.env['ir.config_parameter'].sudo().get_param('microsoft_calendar.microsoft_guid', False) + values['singleValueExtendedProperties'] = [{ + 'id': 'String {%s} Name odoo_id' % microsoft_guid, + 'value': str(self.id), + }, { + 'id': 'String {%s} Name owner_odoo_id' % microsoft_guid, + 'value': str(self.user_id.id), + }] + + values['type'] = 'occurrence' + + if self.allday: + start = {'dateTime': self.start_date.isoformat(), 'timeZone': 'Europe/London'} + end = {'dateTime': (self.stop_date + relativedelta(days=1)).isoformat(), 'timeZone': 'Europe/London'} + else: + start = {'dateTime': pytz.utc.localize(self.start).isoformat(), 'timeZone': 'Europe/London'} + end = {'dateTime': pytz.utc.localize(self.stop).isoformat(), 'timeZone': 'Europe/London'} + + values['start'] = start + values['end'] = end + values['isAllDay'] = self.allday + + return values + + def _cancel_microsoft(self): + # only owner can delete => others refuse the event + user = self.env.user + my_cancelled_records = self.filtered(lambda e: e.user_id == user) + super(Meeting, my_cancelled_records)._cancel_microsoft() + attendees = (self - my_cancelled_records).attendee_ids.filtered(lambda a: a.partner_id == user.partner_id) + attendees.state = 'declined' + + def _notify_attendees(self): + # filter events before notifying attendees through calendar_alarm_manager + need_notifs = self.filtered(lambda event: event.alarm_ids and event.stop >= fields.Datetime.now()) + partners = need_notifs.partner_ids + if partners: + self.env['calendar.alarm_manager']._notify_next_alarm(partners.ids) diff --git a/addons/microsoft_calendar/models/calendar_attendee.py b/addons/microsoft_calendar/models/calendar_attendee.py new file mode 100644 index 00000000..9a462c38 --- /dev/null +++ b/addons/microsoft_calendar/models/calendar_attendee.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import models + +from odoo.addons.microsoft_calendar.models.microsoft_sync import microsoft_calendar_token + + +class Attendee(models.Model): + _name = 'calendar.attendee' + _inherit = 'calendar.attendee' + + def _send_mail_to_attendees(self, template_xmlid, force_send=False, ignore_recurrence=False): + """ Override the super method + If not synced with Microsoft Outlook, let Odoo in charge of sending emails + Otherwise, Microsoft Outlook will send them + """ + with microsoft_calendar_token(self.env.user.sudo()) as token: + if not token: + super()._send_mail_to_attendees(template_xmlid, force_send, ignore_recurrence) diff --git a/addons/microsoft_calendar/models/calendar_recurrence_rule.py b/addons/microsoft_calendar/models/calendar_recurrence_rule.py new file mode 100644 index 00000000..431e01b6 --- /dev/null +++ b/addons/microsoft_calendar/models/calendar_recurrence_rule.py @@ -0,0 +1,118 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import re + +from odoo import api, fields, models +from dateutil.relativedelta import relativedelta + +from odoo.addons.microsoft_calendar.utils.microsoft_calendar import MicrosoftCalendarService + + +class RecurrenceRule(models.Model): + _name = 'calendar.recurrence' + _inherit = ['calendar.recurrence', 'microsoft.calendar.sync'] + + + # Don't sync by default. Sync only when the recurrence is applied + need_sync_m = fields.Boolean(default=False) + + microsoft_id = fields.Char('Microsoft Calendar Recurrence Id') + + def _apply_recurrence(self, specific_values_creation=None, no_send_edit=False): + events = self.calendar_event_ids + detached_events = super()._apply_recurrence(specific_values_creation, no_send_edit) + + microsoft_service = MicrosoftCalendarService(self.env['microsoft.service']) + + # If a synced event becomes a recurrence, the event needs to be deleted from + # Microsoft since it's now the recurrence which is synced. + # Those events are kept in the database and their microsoft_id is updated + # according to the recurrence microsoft_id, therefore we need to keep an inactive copy + # of those events with the original microsoft_id. The next sync will then correctly + # delete those events from Microsoft. + vals = [] + for event in events.filtered('microsoft_id'): + if event.active and event.microsoft_id and not event.recurrence_id.microsoft_id: + vals += [{ + 'name': event.name, + 'microsoft_id': event.microsoft_id, + 'start': event.start, + 'stop': event.stop, + 'active': False, + 'need_sync_m': True, + }] + event._microsoft_delete(microsoft_service, event.microsoft_id) + event.microsoft_id = False + self.env['calendar.event'].create(vals) + + if not no_send_edit: + for recurrence in self: + values = recurrence._microsoft_values(self._get_microsoft_synced_fields()) + if not values: + continue + values = values[0] + if not recurrence.microsoft_id: + recurrence._microsoft_insert(microsoft_service, values) + else: + recurrence._microsoft_patch(microsoft_service, recurrence.microsoft_id, values) + + self.calendar_event_ids.need_sync_m = False + return detached_events + + def _write_events(self, values, dtstart=None): + # If only some events are updated, sync those events. + # If all events are updated, sync the recurrence instead. + values['need_sync_m'] = bool(dtstart) + if not dtstart: + self.need_sync_m = True + return super()._write_events(values, dtstart=dtstart) + + def _get_microsoft_synced_fields(self): + return {'rrule'} | self.env['calendar.event']._get_microsoft_synced_fields() + + def _get_microsoft_sync_domain(self): + return [('calendar_event_ids.user_id', '=', self.env.user.id)] + + def _cancel_microsoft(self): + self.calendar_event_ids._cancel_microsoft() + self.microsoft_id = False # Set to False to avoid error with unlink from microsoft and avoid to synchronize. + self.unlink() + + @api.model + def _microsoft_to_odoo_values(self, microsoft_recurrence, default_reminders=(), default_values={}): + recurrence = microsoft_recurrence.get_recurrence() + + return { + **recurrence, + 'microsoft_id': microsoft_recurrence.id, + } + + def _microsoft_values(self, fields_to_sync): + events = self.calendar_event_ids.sorted('start') + events_outliers = self.calendar_event_ids.filtered(lambda e: not e.follow_recurrence) + normal_event = (events - events_outliers)[:1] or events[:1] + if not normal_event: + return {} + values = [normal_event._microsoft_values(fields_to_sync, initial_values={'type': 'seriesMaster'})] + + if self.microsoft_id: + values[0]['id'] = self.microsoft_id + for event in events_outliers: + event_value = event._microsoft_values(fields_to_sync) + values += [event_value] + + return values + + def _ensure_attendees_have_email(self): + self.calendar_event_ids.filtered(lambda e: e.active)._ensure_attendees_have_email() + + def _notify_attendees(self): + recurrences = self.filtered( + lambda recurrence: recurrence.base_event_id.alarm_ids and ( + not recurrence.until or recurrence.until >= fields.Date.today() - relativedelta(days=1) + ) and max(recurrence.calendar_event_ids.mapped('stop')) >= fields.Datetime.now() + ) + partners = recurrences.base_event_id.partner_ids + if partners: + self.env['calendar.alarm_manager']._notify_next_alarm(partners.ids) diff --git a/addons/microsoft_calendar/models/microsoft_sync.py b/addons/microsoft_calendar/models/microsoft_sync.py new file mode 100644 index 00000000..ab2189cc --- /dev/null +++ b/addons/microsoft_calendar/models/microsoft_sync.py @@ -0,0 +1,378 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import logging +from contextlib import contextmanager +from functools import wraps +import requests +import pytz +from dateutil.parser import parse + +from odoo import api, fields, models, registry, _ +from odoo.tools import ormcache_context +from odoo.exceptions import UserError +from odoo.osv import expression + +from odoo.addons.microsoft_calendar.utils.microsoft_event import MicrosoftEvent +from odoo.addons.microsoft_calendar.utils.microsoft_calendar import MicrosoftCalendarService +from odoo.addons.microsoft_account.models.microsoft_service import TIMEOUT + +_logger = logging.getLogger(__name__) + +MAX_RECURRENT_EVENT = 720 + + +# API requests are sent to Microsoft Calendar after the current transaction ends. +# This ensures changes are sent to Microsoft only if they really happened in the Odoo database. +# It is particularly important for event creation , otherwise the event might be created +# twice in Microsoft if the first creation crashed in Odoo. +def after_commit(func): + @wraps(func) + def wrapped(self, *args, **kwargs): + dbname = self.env.cr.dbname + context = self.env.context + uid = self.env.uid + + @self.env.cr.postcommit.add + def called_after(): + db_registry = registry(dbname) + with api.Environment.manage(), db_registry.cursor() as cr: + env = api.Environment(cr, uid, context) + try: + func(self.with_env(env), *args, **kwargs) + except Exception as e: + _logger.warning("Could not sync record now: %s" % self) + _logger.exception(e) + + return wrapped + +@contextmanager +def microsoft_calendar_token(user): + try: + yield user._get_microsoft_calendar_token() + except requests.HTTPError as e: + if e.response.status_code == 401: # Invalid token. + # The transaction should be rolledback, but the user's tokens + # should be reset. The user will be asked to authenticate again next time. + # Rollback manually first to avoid concurrent access errors/deadlocks. + user.env.cr.rollback() + with user.pool.cursor() as cr: + env = user.env(cr=cr) + user.with_env(env)._set_microsoft_auth_tokens(False, False, 0) + raise e + +class MicrosoftSync(models.AbstractModel): + _name = 'microsoft.calendar.sync' + _description = "Synchronize a record with Microsoft Calendar" + + microsoft_id = fields.Char('Microsoft Calendar Id', copy=False) + need_sync_m = fields.Boolean(default=True, copy=False) + active = fields.Boolean(default=True) + + def write(self, vals): + microsoft_service = MicrosoftCalendarService(self.env['microsoft.service']) + if 'microsoft_id' in vals: + self._from_microsoft_ids.clear_cache(self) + synced_fields = self._get_microsoft_synced_fields() + if 'need_sync_m' not in vals and vals.keys() & synced_fields: + fields_to_sync = [x for x in vals.keys() if x in synced_fields] + if fields_to_sync: + vals['need_sync_m'] = True + else: + fields_to_sync = [x for x in vals.keys() if x in synced_fields] + + result = super().write(vals) + for record in self.filtered('need_sync_m'): + if record.microsoft_id and fields_to_sync: + values = record._microsoft_values(fields_to_sync) + if not values: + continue + record._microsoft_patch(microsoft_service, record.microsoft_id, values, timeout=3) + + return result + + @api.model_create_multi + def create(self, vals_list): + if any(vals.get('microsoft_id') for vals in vals_list): + self._from_microsoft_ids.clear_cache(self) + records = super().create(vals_list) + + microsoft_service = MicrosoftCalendarService(self.env['microsoft.service']) + records_to_sync = records.filtered(lambda r: r.need_sync_m and r.active) + for record in records_to_sync: + record._microsoft_insert(microsoft_service, record._microsoft_values(self._get_microsoft_synced_fields()), timeout=3) + return records + + def unlink(self): + """We can't delete an event that is also in Microsoft Calendar. Otherwise we would + have no clue that the event must must deleted from Microsoft Calendar at the next sync. + """ + synced = self.filtered('microsoft_id') + if self.env.context.get('archive_on_error') and self._active_name: + synced.write({self._active_name: False}) + self = self - synced + elif synced: + raise UserError(_("You cannot delete a record synchronized with Outlook Calendar, archive it instead.")) + return super().unlink() + + @api.model + @ormcache_context('microsoft_ids', keys=('active_test',)) + def _from_microsoft_ids(self, microsoft_ids): + if not microsoft_ids: + return self.browse() + return self.search([('microsoft_id', 'in', microsoft_ids)]) + + def _sync_odoo2microsoft(self, microsoft_service: MicrosoftCalendarService): + if not self: + return + if self._active_name: + records_to_sync = self.filtered(self._active_name) + else: + records_to_sync = self + cancelled_records = self - records_to_sync + + records_to_sync._ensure_attendees_have_email() + updated_records = records_to_sync.filtered('microsoft_id') + new_records = records_to_sync - updated_records + for record in cancelled_records.filtered('microsoft_id'): + record._microsoft_delete(microsoft_service, record.microsoft_id) + for record in new_records: + values = record._microsoft_values(self._get_microsoft_synced_fields()) + if isinstance(values, dict): + record._microsoft_insert(microsoft_service, values) + else: + for value in values: + record._microsoft_insert(microsoft_service, value) + for record in updated_records: + values = record._microsoft_values(self._get_microsoft_synced_fields()) + if not values: + continue + record._microsoft_patch(microsoft_service, record.microsoft_id, values) + + def _cancel_microsoft(self): + self.microsoft_id = False + self.unlink() + + def _sync_recurrence_microsoft2odoo(self, microsoft_events: MicrosoftEvent): + recurrent_masters = microsoft_events.filter(lambda e: e.is_recurrence()) + recurrents = microsoft_events.filter(lambda e: e.is_recurrent_not_master()) + default_values = {'need_sync_m': False} + + new_recurrence = self.env['calendar.recurrence'] + + for recurrent_master in recurrent_masters: + new_calendar_recurrence = dict(self.env['calendar.recurrence']._microsoft_to_odoo_values(recurrent_master, (), default_values), need_sync_m=False) + to_create = recurrents.filter(lambda e: e.seriesMasterId == new_calendar_recurrence['microsoft_id']) + recurrents -= to_create + base_values = dict(self.env['calendar.event']._microsoft_to_odoo_values(recurrent_master, (), default_values), need_sync_m=False) + to_create_values = [] + if new_calendar_recurrence.get('end_type', False) in ['count', 'forever']: + to_create = list(to_create)[:MAX_RECURRENT_EVENT] + for recurrent_event in to_create: + if recurrent_event.type == 'occurrence': + value = self.env['calendar.event']._microsoft_to_odoo_recurrence_values(recurrent_event, (), base_values) + else: + value = self.env['calendar.event']._microsoft_to_odoo_values(recurrent_event, (), default_values) + + to_create_values += [dict(value, need_sync_m=False)] + + new_calendar_recurrence['calendar_event_ids'] = [(0, 0, to_create_value) for to_create_value in to_create_values] + new_recurrence_odoo = self.env['calendar.recurrence'].create(new_calendar_recurrence) + new_recurrence_odoo.base_event_id = new_recurrence_odoo.calendar_event_ids[0] if new_recurrence_odoo.calendar_event_ids else False + new_recurrence |= new_recurrence_odoo + + for recurrent_master_id in set([x.seriesMasterId for x in recurrents]): + recurrence_id = self.env['calendar.recurrence'].search([('microsoft_id', '=', recurrent_master_id)]) + to_update = recurrents.filter(lambda e: e.seriesMasterId == recurrent_master_id) + for recurrent_event in to_update: + if recurrent_event.type == 'occurrence': + value = self.env['calendar.event']._microsoft_to_odoo_recurrence_values(recurrent_event, (), {'need_sync_m': False}) + else: + value = self.env['calendar.event']._microsoft_to_odoo_values(recurrent_event, (), default_values) + existing_event = recurrence_id.calendar_event_ids.filtered(lambda e: e._range() == (value['start'], value['stop'])) + if not existing_event: + continue + value.pop('start') + value.pop('stop') + existing_event.write(value) + new_recurrence |= recurrence_id + return new_recurrence + + def _update_microsoft_recurrence(self, recurrence_event, events): + vals = dict(self.base_event_id._microsoft_to_odoo_values(recurrence_event, ()), need_sync_m=False) + vals['microsoft_recurrence_master_id'] = vals.pop('microsoft_id') + self.base_event_id.write(vals) + values = {} + default_values = {} + + normal_events = [] + events_to_update = events.filter(lambda e: e.seriesMasterId == self.microsoft_id) + if self.end_type in ['count', 'forever']: + events_to_update = list(events_to_update)[:MAX_RECURRENT_EVENT] + + for recurrent_event in events_to_update: + if recurrent_event.type == 'occurrence': + value = self.env['calendar.event']._microsoft_to_odoo_recurrence_values(recurrent_event, (), default_values) + normal_events += [recurrent_event.odoo_id(self.env)] + else: + value = self.env['calendar.event']._microsoft_to_odoo_values(recurrent_event, (), default_values) + self.env['calendar.event'].browse(recurrent_event.odoo_id(self.env)).with_context(no_mail_to_attendees=True, mail_create_nolog=True).write(dict(value, need_sync_m=False)) + if value.get('start') and value.get('stop'): + values[(self.id, value.get('start'), value.get('stop'))] = dict(value, need_sync_m=False) + + if (self.id, vals.get('start'), vals.get('stop')) in values: + base_event_vals = dict(vals) + base_event_vals.update(values[(self.id, vals.get('start'), vals.get('stop'))]) + self.base_event_id.write(base_event_vals) + + old_record = self._apply_recurrence(specific_values_creation=values, no_send_edit=True) + + vals.pop('microsoft_id', None) + vals.pop('start', None) + vals.pop('stop', None) + normal_events = [e for e in normal_events if e in self.calendar_event_ids.ids] + normal_event_ids = self.env['calendar.event'].browse(normal_events) - old_record + if normal_event_ids: + vals['follow_recurrence'] = True + (self.env['calendar.event'].browse(normal_events) - old_record).write(vals) + + old_record._cancel_microsoft() + if not self.base_event_id: + self.base_event_id = self._get_first_event(include_outliers=False) + + @api.model + def _sync_microsoft2odoo(self, microsoft_events: MicrosoftEvent, default_reminders=()): + """Synchronize Microsoft recurrences in Odoo. Creates new recurrences, updates + existing ones. + + :return: synchronized odoo + """ + existing = microsoft_events.exists(self.env) + new = microsoft_events - existing - microsoft_events.cancelled() + new_recurrent = new.filter(lambda e: e.is_recurrent()) + + default_values = {} + + odoo_values = [ + dict(self._microsoft_to_odoo_values(e, default_reminders, default_values), need_sync_m=False) + for e in (new - new_recurrent) + ] + new_odoo = self.with_context(dont_notify=True).create(odoo_values) + + synced_recurrent_records = self.with_context(dont_notify=True)._sync_recurrence_microsoft2odoo(new_recurrent) + if not self._context.get("dont_notify"): + new_odoo._notify_attendees() + synced_recurrent_records._notify_attendees() + + cancelled = existing.cancelled() + cancelled_odoo = self.browse(cancelled.odoo_ids(self.env)) + cancelled_odoo._cancel_microsoft() + + recurrent_cancelled = self.env['calendar.recurrence'].search([ + ('microsoft_id', 'in', (microsoft_events.cancelled() - cancelled).microsoft_ids())]) + recurrent_cancelled._cancel_microsoft() + + synced_records = new_odoo + cancelled_odoo + synced_recurrent_records.calendar_event_ids + + for mevent in (existing - cancelled).filter(lambda e: e.lastModifiedDateTime and not e.seriesMasterId): + # Last updated wins. + # This could be dangerous if microsoft server time and odoo server time are different + if mevent.is_recurrence(): + odoo_record = self.env['calendar.recurrence'].browse(mevent.odoo_id(self.env)) + else: + odoo_record = self.browse(mevent.odoo_id(self.env)) + odoo_record_updated = pytz.utc.localize(odoo_record.write_date) + updated = parse(mevent.lastModifiedDateTime or str(odoo_record_updated)) + if updated >= odoo_record_updated: + vals = dict(odoo_record._microsoft_to_odoo_values(mevent, default_reminders), need_sync_m=False) + odoo_record.write(vals) + if odoo_record._name == 'calendar.recurrence': + odoo_record._update_microsoft_recurrence(mevent, microsoft_events) + synced_recurrent_records |= odoo_record + else: + synced_records |= odoo_record + + return synced_records, synced_recurrent_records + + @after_commit + def _microsoft_delete(self, microsoft_service: MicrosoftCalendarService, microsoft_id, timeout=TIMEOUT): + with microsoft_calendar_token(self.env.user.sudo()) as token: + if token: + microsoft_service.delete(microsoft_id, token=token, timeout=timeout) + + @after_commit + def _microsoft_patch(self, microsoft_service: MicrosoftCalendarService, microsoft_id, values, timeout=TIMEOUT): + with microsoft_calendar_token(self.env.user.sudo()) as token: + if token: + self._ensure_attendees_have_email() + microsoft_service.patch(microsoft_id, values, token=token, timeout=timeout) + self.need_sync_m = False + + @after_commit + def _microsoft_insert(self, microsoft_service: MicrosoftCalendarService, values, timeout=TIMEOUT): + if not values: + return + with microsoft_calendar_token(self.env.user.sudo()) as token: + if token: + self._ensure_attendees_have_email() + microsoft_id = microsoft_service.insert(values, token=token, timeout=timeout) + self.write({ + 'microsoft_id': microsoft_id, + 'need_sync_m': False, + }) + + def _get_microsoft_records_to_sync(self, full_sync=False): + """Return records that should be synced from Odoo to Microsoft + + :param full_sync: If True, all events attended by the user are returned + :return: events + """ + domain = self._get_microsoft_sync_domain() + if not full_sync: + is_active_clause = (self._active_name, '=', True) if self._active_name else expression.TRUE_LEAF + domain = expression.AND([domain, [ + '|', + '&', ('microsoft_id', '=', False), is_active_clause, + ('need_sync_m', '=', True), + ]]) + return self.with_context(active_test=False).search(domain) + + @api.model + def _microsoft_to_odoo_values(self, microsoft_event: MicrosoftEvent, default_reminders=()): + """Implements this method to return a dict of Odoo values corresponding + to the Microsoft event given as parameter + :return: dict of Odoo formatted values + """ + raise NotImplementedError() + + def _microsoft_values(self, fields_to_sync): + """Implements this method to return a dict with values formatted + according to the Microsoft Calendar API + :return: dict of Microsoft formatted values + """ + raise NotImplementedError() + + def _ensure_attendees_have_email(self): + raise NotImplementedError() + + def _get_microsoft_sync_domain(self): + """Return a domain used to search records to synchronize. + e.g. return a domain to synchronize records owned by the current user. + """ + raise NotImplementedError() + + def _get_microsoft_synced_fields(self): + """Return a set of field names. Changing one of these fields + marks the record to be re-synchronized. + """ + raise NotImplementedError() + + def _notify_attendees(self): + """ Notify calendar event partners. + This is called when creating new calendar events in _sync_microsoft2odoo. + At the initialization of a synced calendar, Odoo requests all events for a specific + MicrosoftCalendar. Among those there will probably be lots of events that will never triggers a notification + (e.g. single events that occured in the past). Processing all these events through the notification procedure + of calendar.event.create is a possible performance bottleneck. This method aimed at alleviating that. + """ + raise NotImplementedError() diff --git a/addons/microsoft_calendar/models/res_config_settings.py b/addons/microsoft_calendar/models/res_config_settings.py new file mode 100644 index 00000000..38ac9565 --- /dev/null +++ b/addons/microsoft_calendar/models/res_config_settings.py @@ -0,0 +1,11 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models + + +class ResConfigSettings(models.TransientModel): + _inherit = 'res.config.settings' + + cal_microsoft_client_id = fields.Char("Microsoft Client_id", config_parameter='microsoft_calendar_client_id', default='') + cal_microsoft_client_secret = fields.Char("Microsoft Client_key", config_parameter='microsoft_calendar_client_secret', default='') diff --git a/addons/microsoft_calendar/models/res_users.py b/addons/microsoft_calendar/models/res_users.py new file mode 100644 index 00000000..dec51d17 --- /dev/null +++ b/addons/microsoft_calendar/models/res_users.py @@ -0,0 +1,104 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import logging +import requests +from odoo.addons.microsoft_calendar.models.microsoft_sync import microsoft_calendar_token +from datetime import timedelta + +from odoo import api, fields, models, _ +from odoo.exceptions import UserError +from odoo.loglevels import exception_to_unicode +from odoo.addons.microsoft_account.models.microsoft_service import MICROSOFT_TOKEN_ENDPOINT +from odoo.addons.microsoft_calendar.utils.microsoft_calendar import MicrosoftCalendarService, InvalidSyncToken + +_logger = logging.getLogger(__name__) + + +class User(models.Model): + _inherit = 'res.users' + + microsoft_calendar_sync_token = fields.Char('Microsoft Next Sync Token', copy=False) + + def _microsoft_calendar_authenticated(self): + return bool(self.sudo().microsoft_calendar_rtoken) + + def _get_microsoft_calendar_token(self): + self.ensure_one() + if self._is_microsoft_calendar_valid(): + self._refresh_microsoft_calendar_token() + return self.microsoft_calendar_token + + def _is_microsoft_calendar_valid(self): + return self.microsoft_calendar_token_validity and self.microsoft_calendar_token_validity < (fields.Datetime.now() + timedelta(minutes=1)) + + def _refresh_microsoft_calendar_token(self): + self.ensure_one() + get_param = self.env['ir.config_parameter'].sudo().get_param + client_id = get_param('microsoft_calendar_client_id') + client_secret = get_param('microsoft_calendar_client_secret') + + if not client_id or not client_secret: + raise UserError(_("The account for the Outlook Calendar service is not configured.")) + + headers = {"content-type": "application/x-www-form-urlencoded"} + data = { + 'refresh_token': self.microsoft_calendar_rtoken, + 'client_id': client_id, + 'client_secret': client_secret, + 'grant_type': 'refresh_token', + } + + try: + dummy, response, dummy = self.env['microsoft.service']._do_request(MICROSOFT_TOKEN_ENDPOINT, params=data, headers=headers, method='POST', preuri='') + ttl = response.get('expires_in') + self.write({ + 'microsoft_calendar_token': response.get('access_token'), + 'microsoft_calendar_token_validity': fields.Datetime.now() + timedelta(seconds=ttl), + }) + except requests.HTTPError as error: + if error.response.status_code == 400: # invalid grant + # Delete refresh token and make sure it's commited + with self.pool.cursor() as cr: + self.env.user.with_env(self.env(cr=cr)).write({'microsoft_calendar_rtoken': False}) + error_key = error.response.json().get("error", "nc") + error_msg = _("Something went wrong during your token generation. Maybe your Authorization Code is invalid or already expired [%s]", error_key) + raise UserError(error_msg) + + def _sync_microsoft_calendar(self, calendar_service: MicrosoftCalendarService): + self.ensure_one() + full_sync = not bool(self.microsoft_calendar_sync_token) + with microsoft_calendar_token(self) as token: + try: + events, next_sync_token, default_reminders = calendar_service.get_events(self.microsoft_calendar_sync_token, token=token) + except InvalidSyncToken: + events, next_sync_token, default_reminders = calendar_service.get_events(token=token) + full_sync = True + self.microsoft_calendar_sync_token = next_sync_token + + # Microsoft -> Odoo + recurrences = events.filter(lambda e: e.is_recurrent()) + synced_events, synced_recurrences = self.env['calendar.event']._sync_microsoft2odoo(events, default_reminders=default_reminders) if events else (self.env['calendar.event'], self.env['calendar.recurrence']) + + # Odoo -> Microsoft + recurrences = self.env['calendar.recurrence']._get_microsoft_records_to_sync(full_sync=full_sync) + recurrences -= synced_recurrences + recurrences._sync_odoo2microsoft(calendar_service) + synced_events |= recurrences.calendar_event_ids + + events = self.env['calendar.event']._get_microsoft_records_to_sync(full_sync=full_sync) + (events - synced_events)._sync_odoo2microsoft(calendar_service) + + return bool(events | synced_events) or bool(recurrences | synced_recurrences) + + @api.model + def _sync_all_microsoft_calendar(self): + """ Cron job """ + users = self.env['res.users'].search([('microsoft_calendar_rtoken', '!=', False)]) + microsoft = MicrosoftCalendarService(self.env['microsoft.service']) + for user in users: + _logger.info("Calendar Synchro - Starting synchronization for %s", user) + try: + user.with_user(user).sudo()._sync_microsoft_calendar(microsoft) + except Exception as e: + _logger.exception("[%s] Calendar Synchro - Exception : %s !", user, exception_to_unicode(e)) diff --git a/addons/microsoft_calendar/security/ir.model.access.csv b/addons/microsoft_calendar/security/ir.model.access.csv new file mode 100644 index 00000000..478501e7 --- /dev/null +++ b/addons/microsoft_calendar/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+microsoft_calendar_account_reset,microsoft_calendar_account_reset_access_right,model_microsoft_calendar_account_reset,base.group_system,1,1,1,0
diff --git a/addons/microsoft_calendar/static/description/icon.png b/addons/microsoft_calendar/static/description/icon.png Binary files differnew file mode 100644 index 00000000..b8734363 --- /dev/null +++ b/addons/microsoft_calendar/static/description/icon.png diff --git a/addons/microsoft_calendar/static/description/icon.svg b/addons/microsoft_calendar/static/description/icon.svg new file mode 100644 index 00000000..6056dc85 --- /dev/null +++ b/addons/microsoft_calendar/static/description/icon.svg @@ -0,0 +1,22 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="70" height="70" viewBox="0 0 70 70"> + <defs> + <path id="icon-a" d="M4,5.35309892e-14 C36.4160122,9.87060235e-15 58.0836068,-3.97961823e-14 65,5.07020818e-14 C69,6.733808e-14 70,1 70,5 C70,43.0488877 70,62.4235458 70,65 C70,69 69,70 65,70 C61,70 9,70 4,70 C1,70 7.10542736e-15,69 7.10542736e-15,65 C7.25721566e-15,62.4676575 3.83358709e-14,41.8005206 3.60818146e-14,5 C-1.13686838e-13,1 1,5.75716207e-14 4,5.35309892e-14 Z"/> + <linearGradient id="icon-c" x1="100%" x2="0%" y1="0%" y2="100%"> + <stop offset="0%" stop-color="#94B6C8"/> + <stop offset="100%" stop-color="#6A9EBA"/> + </linearGradient> + </defs> + <g fill="none" fill-rule="evenodd"> + <mask id="icon-b" fill="#fff"> + <use xlink:href="#icon-a"/> + </mask> + <g mask="url(#icon-b)"> + <rect width="70" height="70" fill="url(#icon-c)"/> + <path fill="#FFF" fill-opacity=".383" d="M4,1.8 L65,1.8 C67.6666667,1.8 69.3333333,1.13333333 70,-0.2 C70,2.46666667 70,3.46666667 70,2.8 L1.10547097e-14,2.8 C-1.65952376e-14,3.46666667 -2.9161925e-14,2.46666667 -2.66453526e-14,-0.2 C0.666666667,1.13333333 2,1.8 4,1.8 Z" transform="matrix(1 0 0 -1 0 2.8)"/> + <path fill="#393939" d="M4,53 C2,53 -7.10542736e-15,52.8543956 0,48.9230769 L2.12440903e-16,23.797368 L15,0 L54,0 L54,26.3118387 L57.7908529,26.3118387 L59,37.7115385 L49.1366936,53 L4,53 Z" opacity=".324" transform="translate(0 16)"/> + <path fill="#000" fill-opacity=".383" d="M4,4 L65,4 C67.6666667,4 69.3333333,3 70,1 C70,3.66666667 70,5 70,5 L1.77635684e-15,5 C1.77635684e-15,5 1.77635684e-15,3.66666667 1.77635684e-15,1 C0.666666667,3 2,4 4,4 Z" transform="translate(0 65)"/> + <path fill="#000" fill-rule="nonzero" d="M42.0955645,41.4315062 L42.0955645,28.7560864 L40.3833955,28.7560864 C40.2604632,29.4411054 40.0321745,30.0062307 39.6985283,30.4514643 C39.3648683,30.8967319 38.9521929,31.2477943 38.4604987,31.5046545 C37.986355,31.7615447 37.4507537,31.9413579 36.8536946,32.0440934 C36.2566271,32.1297334 35.6420039,32.1725451 35.0098218,32.1725307 L35.0098218,33.9192846 L39.8565751,33.9192846 L39.8565751,46.9685596 L41.0044957,46.9685596 C41.0029977,46.9790279 41.0014988,46.9895081 41,47 C41.6666667,47 42,47.3333333 42,48 C42,48.6666667 42,49 42,49 C40.6666667,49.6666667 40,50.3333333 40,51 C40,51.5412134 40.219684,52.3021107 40.6590519,53.282692 L15,53.282692 L15,24.0484615 L54.763358,24.0484615 L54.763358,37 C51.587786,37 49.6666667,37 49,37 C48.3333333,37 48,37.3333333 48,38 C48,38 48,38.3333333 48,39 C48,39.6666667 47.3333333,40 46,40 C44.6666667,40 43.6666667,40 43,40 C42.6985215,40 42.397043,40.4771687 42.0955645,41.4315062 Z M54.763358,23.0403846 L15,23.0403846 L15,18 L54.763358,18 L54.763358,23.0403846 Z M59.1120093,49.6163985 L60.7668484,50.585058 C60.9558409,50.6956709 61.043561,50.9244177 60.9788291,51.1357594 C60.5489654,52.5392703 59.8150519,53.807242 58.8551784,54.8603674 C58.7072273,55.022782 58.4680825,55.059636 58.279231,54.9491254 L56.6256345,53.9806234 C55.9298948,54.5851374 55.1300224,55.0541223 54.2662772,55.3639727 L54.2662772,57.3006617 C54.2662804,57.5219079 54.1150225,57.7135885 53.9021551,57.7620931 C52.5447646,58.0712105 51.0869171,58.0871979 49.661028,57.7623688 C49.4478436,57.7138157 49.2958963,57.5223205 49.2958963,57.3007404 L49.2958963,55.3639727 C48.4321428,55.0541404 47.6322673,54.5851537 46.936539,53.9806234 L45.2829425,54.9491254 C45.0940909,55.059636 44.8549462,55.022782 44.7069951,54.8603674 C43.7471604,53.807242 43.0132081,52.5392703 42.5833444,51.1357594 C42.5186125,50.9244571 42.6063326,50.6957102 42.795325,50.585058 L44.450203,49.6163985 C44.2839859,48.7026748 44.2839859,47.7658257 44.450203,46.852102 L42.7953639,45.8834424 C42.6063714,45.7728296 42.5186513,45.5440828 42.5833832,45.332741 C43.0132469,43.9292302 43.7471604,42.6612585 44.7070339,41.6081331 C44.8549851,41.4457185 45.0941298,41.4088644 45.2829813,41.5193751 L46.9365778,42.4878771 C47.6323176,41.8833631 48.4321899,41.4143782 49.2959351,41.1045278 L49.2959351,39.1677994 C49.2959319,38.9465532 49.4471898,38.7548726 49.6600572,38.706368 C51.0174478,38.3972506 52.4752952,38.3812631 53.9011843,38.7060923 C54.1143687,38.7546454 54.266316,38.9461406 54.266316,39.1677207 L54.266316,41.1044884 C55.1300695,41.4143207 55.929945,41.8833074 56.6256733,42.4878377 L58.2792698,41.5193357 C58.4681214,41.4088251 58.7072661,41.4456791 58.8552172,41.6080937 C59.8150519,42.6612191 60.5490043,43.9291908 60.9788679,45.3327017 C61.0435999,45.544004 60.9558797,45.7727509 60.7668873,45.8834031 L59.1120093,46.8520626 C59.2782268,47.7657995 59.2782268,48.7026616 59.1120093,49.6163985 Z M54.8876185,48.2342305 C54.8876185,46.497188 53.4940371,45.0839902 51.7811062,45.0839902 C50.0681752,45.0839902 48.6745938,46.497188 48.6745938,48.2342305 C48.6745938,49.9712731 50.0681752,51.3844709 51.7811062,51.3844709 C53.4940371,51.3844709 54.8876185,49.9712731 54.8876185,48.2342305 Z M25.3383523,20.6895722 C25.3383523,19.7564466 24.5910361,19 23.6691756,19 C22.7473152,19 22,19.7564466 22,20.6895722 C22,21.6226969 22.7473152,22.3791434 23.6691756,22.3791434 C24.5910361,22.3791434 25.3383523,21.6226969 25.3383523,20.6895722 Z M48.3383523,20.6895722 C48.3383523,19.7564466 47.5910361,19 46.6691756,19 C45.7473152,19 45,19.7564466 45,20.6895722 C45,21.6226969 45.7473152,22.3791434 46.6691756,22.3791434 C47.5910361,22.3791434 48.3383523,21.6226969 48.3383523,20.6895722 Z M26.4684862,38.4146042 C26.856901,38.3632372 27.2695974,38.3375505 27.7065763,38.3375419 C28.2082784,38.3375505 28.685711,38.4146128 29.1388753,38.56873 C29.5920244,38.705738 29.9804432,38.9283634 30.3041359,39.2366062 C30.6278103,39.5277389 30.8867565,39.8959263 31.0809766,40.3411707 C31.2751764,40.7693028 31.3722814,41.2659282 31.3722915,41.8310479 C31.3722814,42.3790542 31.2670842,42.8756796 31.0567001,43.3209262 C30.86248,43.749055 30.5954416,44.1172436 30.2555839,44.4254907 C29.9157069,44.716619 29.5191949,44.947806 29.0660468,45.1190547 C28.6128825,45.2731815 28.1354499,45.3502438 27.6337468,45.3502428 C26.4522968,45.3502438 25.5540767,44.9820564 24.9390823,44.2456783 C24.3240808,43.4921803 24.0003972,42.5246163 23.9680316,41.3429851 L21.9045489,41.3429851 C21.8883645,42.2848667 22.009746,43.1239918 22.2686932,43.8603645 C22.5438228,44.5967437 22.9322426,45.221807 23.4339538,45.7355554 C23.9356609,46.2321829 24.5425662,46.6174956 25.2546737,46.8914955 C25.966772,47.1483714 26.7597961,47.2768082 27.6337468,47.2768093 C28.4429491,47.2768082 29.2036045,47.156934 29.915716,46.9171833 C30.6439946,46.6774327 31.2751764,46.3263705 31.8092643,45.8639933 C32.343331,45.4016194 32.7641185,44.8279318 33.0716299,44.1429281 C33.3953013,43.4408047 33.5571425,42.635929 33.5571547,41.7282978 C33.5571425,40.6323023 33.2981963,39.6818635 32.780315,38.8769803 C32.2785937,38.0721121 31.501755,37.5497989 30.4497938,37.3100397 L30.4497938,37.2586641 C31.1133351,36.9332983 31.6716884,36.4537981 32.1248557,35.8201615 C32.5941851,35.1694222 32.8288558,34.4416088 32.828867,33.6367202 C32.8288558,32.797607 32.69129,32.0697936 32.4161706,31.4532779 C32.1572132,30.8367933 31.7930699,30.3316054 31.3237385,29.937713 C30.8543879,29.5438538 30.2960346,29.2527287 29.6486766,29.0643354 C29.0174867,28.8588534 28.3296598,28.7561033 27.5851948,28.7560851 C26.7274274,28.7561033 25.966772,28.9016664 25.3032256,29.1927733 C24.6558555,29.4839167 24.1136865,29.8863545 23.6767167,30.4000879 C23.2397419,30.9138557 22.899874,31.5303563 22.6571131,32.2495921 C22.4305335,32.9688579 22.3010609,33.765171 22.2686932,34.6385346 L24.332176,34.6385346 C24.3321719,34.1076707 24.3969093,33.6024827 24.5263859,33.1229686 C24.6558555,32.6434824 24.8500654,32.2239193 25.1090157,31.8642784 C25.3841422,31.5046685 25.7240101,31.222106 26.1286194,31.0165897 C26.5332175,30.7939804 27.0187423,30.6826676 27.5851948,30.6826515 C28.4591324,30.6826676 29.1874202,30.9309809 29.7700581,31.4275901 C30.3526797,31.9242316 30.6439946,32.652045 30.6440038,33.6110324 C30.6439946,34.1076707 30.5549808,34.5443589 30.3769643,34.9210972 C30.1989296,35.2807349 29.9561677,35.5889853 29.6486766,35.8458493 C29.3573536,36.0856106 29.0093946,36.2739857 28.6047975,36.4109754 C28.2163705,36.5308604 27.8036742,36.5907986 27.3667084,36.5907879 C27.2210444,36.5907986 27.0753874,36.5907986 26.9297356,36.5907879 C26.7840726,36.5907986 26.6303224,36.582236 26.4684862,36.5651001 L26.4684862,38.4146042 Z M13.808,57.508 L12.524,57.508 L12.524,56.716 L16.034,56.716 L16.034,57.508 L14.75,57.508 L14.75,61 L13.808,61 L13.808,57.508 Z M16.526,56.716 L17.852,56.716 L18.854,59.662 L18.866,59.662 L19.814,56.716 L21.14,56.716 L21.14,61 L20.258,61 L20.258,57.964 L20.246,57.964 L19.196,61 L18.47,61 L17.42,57.994 L17.408,57.994 L17.408,61 L16.526,61 L16.526,56.716 Z" opacity=".3"/> + <path fill="#FFF" fill-rule="nonzero" d="M42.0955645,39.4315062 L42.0955645,26.7560864 L40.3833955,26.7560864 C40.2604632,27.4411054 40.0321745,28.0062307 39.6985283,28.4514643 C39.3648683,28.8967319 38.9521929,29.2477943 38.4604987,29.5046545 C37.986355,29.7615447 37.4507537,29.9413579 36.8536946,30.0440934 C36.2566271,30.1297334 35.6420039,30.1725451 35.0098218,30.1725307 L35.0098218,31.9192846 L39.8565751,31.9192846 L39.8565751,44.9685596 L41.0044957,44.9685596 C41.0029977,44.9790279 41.0014988,44.9895081 41,45 C41.6666667,45 42,45.3333333 42,46 C42,46.6666667 42,47 42,47 C40.6666667,47.6666667 40,48.3333333 40,49 C40,49.5412134 40.219684,50.3021107 40.6590519,51.282692 L15,51.282692 L15,22.0484615 L54.763358,22.0484615 L54.763358,35 C51.587786,35 49.6666667,35 49,35 C48.3333333,35 48,35.3333333 48,36 C48,36 48,36.3333333 48,37 C48,37.6666667 47.3333333,38 46,38 C44.6666667,38 43.6666667,38 43,38 C42.6985215,38 42.397043,38.4771687 42.0955645,39.4315062 Z M54.763358,21.0403846 L15,21.0403846 L15,16 L54.763358,16 L54.763358,21.0403846 Z M59.1120093,47.6163985 L60.7668484,48.585058 C60.9558409,48.6956709 61.043561,48.9244177 60.9788291,49.1357594 C60.5489654,50.5392703 59.8150519,51.807242 58.8551784,52.8603674 C58.7072273,53.022782 58.4680825,53.059636 58.279231,52.9491254 L56.6256345,51.9806234 C55.9298948,52.5851374 55.1300224,53.0541223 54.2662772,53.3639727 L54.2662772,55.3006617 C54.2662804,55.5219079 54.1150225,55.7135885 53.9021551,55.7620931 C52.5447646,56.0712105 51.0869171,56.0871979 49.661028,55.7623688 C49.4478436,55.7138157 49.2958963,55.5223205 49.2958963,55.3007404 L49.2958963,53.3639727 C48.4321428,53.0541404 47.6322673,52.5851537 46.936539,51.9806234 L45.2829425,52.9491254 C45.0940909,53.059636 44.8549462,53.022782 44.7069951,52.8603674 C43.7471604,51.807242 43.0132081,50.5392703 42.5833444,49.1357594 C42.5186125,48.9244571 42.6063326,48.6957102 42.795325,48.585058 L44.450203,47.6163985 C44.2839859,46.7026748 44.2839859,45.7658257 44.450203,44.852102 L42.7953639,43.8834424 C42.6063714,43.7728296 42.5186513,43.5440828 42.5833832,43.332741 C43.0132469,41.9292302 43.7471604,40.6612585 44.7070339,39.6081331 C44.8549851,39.4457185 45.0941298,39.4088644 45.2829813,39.5193751 L46.9365778,40.4878771 C47.6323176,39.8833631 48.4321899,39.4143782 49.2959351,39.1045278 L49.2959351,37.1677994 C49.2959319,36.9465532 49.4471898,36.7548726 49.6600572,36.706368 C51.0174478,36.3972506 52.4752952,36.3812631 53.9011843,36.7060923 C54.1143687,36.7546454 54.266316,36.9461406 54.266316,37.1677207 L54.266316,39.1044884 C55.1300695,39.4143207 55.929945,39.8833074 56.6256733,40.4878377 L58.2792698,39.5193357 C58.4681214,39.4088251 58.7072661,39.4456791 58.8552172,39.6080937 C59.8150519,40.6612191 60.5490043,41.9291908 60.9788679,43.3327017 C61.0435999,43.544004 60.9558797,43.7727509 60.7668873,43.8834031 L59.1120093,44.8520626 C59.2782268,45.7657995 59.2782268,46.7026616 59.1120093,47.6163985 Z M54.8876185,46.2342305 C54.8876185,44.497188 53.4940371,43.0839902 51.7811062,43.0839902 C50.0681752,43.0839902 48.6745938,44.497188 48.6745938,46.2342305 C48.6745938,47.9712731 50.0681752,49.3844709 51.7811062,49.3844709 C53.4940371,49.3844709 54.8876185,47.9712731 54.8876185,46.2342305 Z M25.3383523,18.6895722 C25.3383523,17.7564466 24.5910361,17 23.6691756,17 C22.7473152,17 22,17.7564466 22,18.6895722 C22,19.6226969 22.7473152,20.3791434 23.6691756,20.3791434 C24.5910361,20.3791434 25.3383523,19.6226969 25.3383523,18.6895722 Z M48.3383523,18.6895722 C48.3383523,17.7564466 47.5910361,17 46.6691756,17 C45.7473152,17 45,17.7564466 45,18.6895722 C45,19.6226969 45.7473152,20.3791434 46.6691756,20.3791434 C47.5910361,20.3791434 48.3383523,19.6226969 48.3383523,18.6895722 Z M26.4684862,36.4146042 C26.856901,36.3632372 27.2695974,36.3375505 27.7065763,36.3375419 C28.2082784,36.3375505 28.685711,36.4146128 29.1388753,36.56873 C29.5920244,36.705738 29.9804432,36.9283634 30.3041359,37.2366062 C30.6278103,37.5277389 30.8867565,37.8959263 31.0809766,38.3411707 C31.2751764,38.7693028 31.3722814,39.2659282 31.3722915,39.8310479 C31.3722814,40.3790542 31.2670842,40.8756796 31.0567001,41.3209262 C30.86248,41.749055 30.5954416,42.1172436 30.2555839,42.4254907 C29.9157069,42.716619 29.5191949,42.947806 29.0660468,43.1190547 C28.6128825,43.2731815 28.1354499,43.3502438 27.6337468,43.3502428 C26.4522968,43.3502438 25.5540767,42.9820564 24.9390823,42.2456783 C24.3240808,41.4921803 24.0003972,40.5246163 23.9680316,39.3429851 L21.9045489,39.3429851 C21.8883645,40.2848667 22.009746,41.1239918 22.2686932,41.8603645 C22.5438228,42.5967437 22.9322426,43.221807 23.4339538,43.7355554 C23.9356609,44.2321829 24.5425662,44.6174956 25.2546737,44.8914955 C25.966772,45.1483714 26.7597961,45.2768082 27.6337468,45.2768093 C28.4429491,45.2768082 29.2036045,45.156934 29.915716,44.9171833 C30.6439946,44.6774327 31.2751764,44.3263705 31.8092643,43.8639933 C32.343331,43.4016194 32.7641185,42.8279318 33.0716299,42.1429281 C33.3953013,41.4408047 33.5571425,40.635929 33.5571547,39.7282978 C33.5571425,38.6323023 33.2981963,37.6818635 32.780315,36.8769803 C32.2785937,36.0721121 31.501755,35.5497989 30.4497938,35.3100397 L30.4497938,35.2586641 C31.1133351,34.9332983 31.6716884,34.4537981 32.1248557,33.8201615 C32.5941851,33.1694222 32.8288558,32.4416088 32.828867,31.6367202 C32.8288558,30.797607 32.69129,30.0697936 32.4161706,29.4532779 C32.1572132,28.8367933 31.7930699,28.3316054 31.3237385,27.937713 C30.8543879,27.5438538 30.2960346,27.2527287 29.6486766,27.0643354 C29.0174867,26.8588534 28.3296598,26.7561033 27.5851948,26.7560851 C26.7274274,26.7561033 25.966772,26.9016664 25.3032256,27.1927733 C24.6558555,27.4839167 24.1136865,27.8863545 23.6767167,28.4000879 C23.2397419,28.9138557 22.899874,29.5303563 22.6571131,30.2495921 C22.4305335,30.9688579 22.3010609,31.765171 22.2686932,32.6385346 L24.332176,32.6385346 C24.3321719,32.1076707 24.3969093,31.6024827 24.5263859,31.1229686 C24.6558555,30.6434824 24.8500654,30.2239193 25.1090157,29.8642784 C25.3841422,29.5046685 25.7240101,29.222106 26.1286194,29.0165897 C26.5332175,28.7939804 27.0187423,28.6826676 27.5851948,28.6826515 C28.4591324,28.6826676 29.1874202,28.9309809 29.7700581,29.4275901 C30.3526797,29.9242316 30.6439946,30.652045 30.6440038,31.6110324 C30.6439946,32.1076707 30.5549808,32.5443589 30.3769643,32.9210972 C30.1989296,33.2807349 29.9561677,33.5889853 29.6486766,33.8458493 C29.3573536,34.0856106 29.0093946,34.2739857 28.6047975,34.4109754 C28.2163705,34.5308604 27.8036742,34.5907986 27.3667084,34.5907879 C27.2210444,34.5907986 27.0753874,34.5907986 26.9297356,34.5907879 C26.7840726,34.5907986 26.6303224,34.582236 26.4684862,34.5651001 L26.4684862,36.4146042 Z M13.808,55.508 L12.524,55.508 L12.524,54.716 L16.034,54.716 L16.034,55.508 L14.75,55.508 L14.75,59 L13.808,59 L13.808,55.508 Z M16.526,54.716 L17.852,54.716 L18.854,57.662 L18.866,57.662 L19.814,54.716 L21.14,54.716 L21.14,59 L20.258,59 L20.258,55.964 L20.246,55.964 L19.196,59 L18.47,59 L17.42,55.994 L17.408,55.994 L17.408,59 L16.526,59 L16.526,54.716 Z"/> + </g> + </g> +</svg> diff --git a/addons/microsoft_calendar/static/src/img/calendar_outlook_32.png b/addons/microsoft_calendar/static/src/img/calendar_outlook_32.png Binary files differnew file mode 100644 index 00000000..78553f07 --- /dev/null +++ b/addons/microsoft_calendar/static/src/img/calendar_outlook_32.png diff --git a/addons/microsoft_calendar/static/src/js/microsoft_calendar.js b/addons/microsoft_calendar/static/src/js/microsoft_calendar.js new file mode 100644 index 00000000..dab5def9 --- /dev/null +++ b/addons/microsoft_calendar/static/src/js/microsoft_calendar.js @@ -0,0 +1,219 @@ +odoo.define('microsoft_calendar.CalendarView', function (require) { +"use strict"; + +var core = require('web.core'); +var Dialog = require('web.Dialog'); +var framework = require('web.framework'); +const CalendarView = require('calendar.CalendarView'); +const CalendarRenderer = require('calendar.CalendarRenderer'); +const CalendarController = require('calendar.CalendarController'); +const CalendarModel = require('calendar.CalendarModel'); +const viewRegistry = require('web.view_registry'); +const session = require('web.session'); + +var _t = core._t; + +const MicrosoftCalendarModel = CalendarModel.include({ + + /** + * @override + */ + init: function () { + this._super.apply(this, arguments); + this.microsoft_is_sync = true; + this.microsoft_pending_sync = false; + }, + + /** + * @override + */ + __get: function () { + var result = this._super.apply(this, arguments); + result.microsoft_is_sync = this.microsoft_is_sync; + return result; + }, + + /** + * @override + * @returns {Promise} + */ + async _loadCalendar() { + const _super = this._super.bind(this); + // When the calendar synchronization takes some time, prevents retriggering the sync while navigating the calendar. + if (this.microsoft_pending_sync) { + return _super(...arguments); + } + try { + await Promise.race([ + new Promise(resolve => setTimeout(resolve, 1000)), + this._syncMicrosoftCalendar(true) + ]); + } catch (error) { + if (error.event) { + error.event.preventDefault(); + } + console.error("Could not synchronize Outlook events now.", error); + this.microsoft_pending_sync = false; + } + return _super(...arguments); + }, + + _syncMicrosoftCalendar(shadow = false) { + var self = this; + this.microsoft_pending_sync = true; + return this._rpc({ + route: '/microsoft_calendar/sync_data', + params: { + model: this.modelName, + fromurl: window.location.href, + } + }, {shadow}).then(function (result) { + if (result.status === "need_config_from_admin" || result.status === "need_auth") { + self.microsoft_is_sync = false; + } else if (result.status === "no_new_event_from_microsoft" || result.status === "need_refresh") { + self.microsoft_is_sync = true; + } + self.microsoft_pending_sync = false; + return result + }); + }, + + archiveRecords: function (ids, model) { + return this._rpc({ + model: model, + method: 'action_archive', + args: [ids], + context: session.user_context, + }); + }, +}); + +const MicrosoftCalendarController = CalendarController.include({ + custom_events: _.extend({}, CalendarController.prototype.custom_events, { + syncMicrosoftCalendar: '_onSyncMicrosoftCalendar', + archiveRecord: '_onArchiveRecord', + }), + + + //-------------------------------------------------------------------------- + // Handlers + //-------------------------------------------------------------------------- + + /** + * Try to sync the calendar with Microsoft Calendar. According to the result + * from Microsoft API, this function may require an action of the user by the + * mean of a dialog. + * + * @private + * @returns {OdooEvent} event + */ + _onSyncMicrosoftCalendar: function (event) { + var self = this; + + return this.model._syncMicrosoftCalendar().then(function (o) { + if (o.status === "need_auth") { + Dialog.alert(self, _t("You will be redirected to Outlook to authorize the access to your calendar."), { + confirm_callback: function() { + framework.redirect(o.url); + }, + title: _t('Redirection'), + }); + } else if (o.status === "need_config_from_admin") { + if (!_.isUndefined(o.action) && parseInt(o.action)) { + Dialog.confirm(self, _t("The Outlook Synchronization needs to be configured before you can use it, do you want to do it now?"), { + confirm_callback: function() { + self.do_action(o.action); + }, + title: _t('Configuration'), + }); + } else { + Dialog.alert(self, _t("An administrator needs to configure Outlook Synchronization before you can use it!"), { + title: _t('Configuration'), + }); + } + } else if (o.status === "need_refresh") { + self.reload(); + } + }).then(event.data.on_always, event.data.on_always); + }, + + _onArchiveRecord: function (ev) { + var self = this; + Dialog.confirm(this, _t("Are you sure you want to archive this record ?"), { + confirm_callback: function () { + self.model.archiveRecords([ev.data.id], self.modelName).then(function () { + self.reload(); + }); + } + }); + }, +}); + +const MicrosoftCalendarRenderer = CalendarRenderer.include({ + events: _.extend({}, CalendarRenderer.prototype.events, { + 'click .o_microsoft_sync_button': '_onSyncMicrosoftCalendar', + }), + custom_events: _.extend({}, CalendarRenderer.prototype.custom_events, { + archive_event: '_onArchiveEvent', + }), + + //-------------------------------------------------------------------------- + // Private + //-------------------------------------------------------------------------- + + /** + * Adds the Sync with Outlook button in the sidebar + * + * @private + */ + _initSidebar: function () { + var self = this; + this._super.apply(this, arguments); + this.$microsoftButton = $(); + if (this.model === "calendar.event") { + if (this.state.microsoft_is_sync) { + this.$microsoftButton = $('<span/>', {html: _t("Synched with Outlook")}) + .addClass('o_microsoft_sync badge badge-pill badge-success') + .prepend($('<i/>', {class: "fa mr-2 fa-check"})) + .appendTo(self.$sidebar); + } else { + this.$microsoftButton = $('<button/>', {type: 'button', html: _t("Sync with <b>Outlook</b>")}) + .addClass('o_microsoft_sync_button oe_button btn btn-secondary') + .appendTo(self.$sidebar); + } + } + }, + + //-------------------------------------------------------------------------- + // Handlers + //-------------------------------------------------------------------------- + + /** + * Requests to sync the calendar with Microsoft Calendar + * + * @private + */ + _onSyncMicrosoftCalendar: function () { + var self = this; + var context = this.getSession().user_context; + this.$microsoftButton.prop('disabled', true); + this.trigger_up('syncMicrosoftCalendar', { + on_always: function () { + self.$microsoftButton.prop('disabled', false); + }, + }); + }, + + _onArchiveEvent: function (ev) { + this._unselectEvent(); + this.trigger_up('archiveRecord', {id: parseInt(ev.data.id, 10)}); + }, +}); + +return { + MicrosoftCalendarController, + MicrosoftCalendarModel, + MicrosoftCalendarRenderer, +}; + +}); diff --git a/addons/microsoft_calendar/static/src/js/microsoft_calendar_popover.js b/addons/microsoft_calendar/static/src/js/microsoft_calendar_popover.js new file mode 100644 index 00000000..2699e0b3 --- /dev/null +++ b/addons/microsoft_calendar/static/src/js/microsoft_calendar_popover.js @@ -0,0 +1,34 @@ +odoo.define('microsoft_calendar.MicrosoftCalendarPopover', function(require) { + "use strict"; + + const CalendarPopover = require('web.CalendarPopover'); + + const MicrosoftCalendarPopover = CalendarPopover.include({ + events: _.extend({}, CalendarPopover.prototype.events, { + 'click .o_cw_popover_archive_m': '_onClickPopoverArchive', + }), + + /** + * We only want one 'Archive' button in the popover + * so if Google Sync is also active, it takes precedence + * over this popvoer. + */ + isMEventSyncedAndArchivable() { + if (this.event.extendedProps.record.google_id === undefined) { + return this.event.extendedProps.record.microsoft_id; + } + return !this.event.extendedProps.record.google_id && this.event.extendedProps.record.microsoft_id + }, + + isEventDeletable() { + return !this.isMEventSyncedAndArchivable() && this._super(); + }, + + _onClickPopoverArchive: function (ev) { + ev.preventDefault(); + this.trigger_up('archive_event', {id: this.event.id}); + }, + }); + + return MicrosoftCalendarPopover; +}); diff --git a/addons/microsoft_calendar/static/src/scss/microsoft_calendar.scss b/addons/microsoft_calendar/static/src/scss/microsoft_calendar.scss new file mode 100644 index 00000000..2f1fa96b --- /dev/null +++ b/addons/microsoft_calendar/static/src/scss/microsoft_calendar.scss @@ -0,0 +1,14 @@ +.o_microsoft_sync_button { + margin: auto; + > img { + margin-right: 10px; + } +} +.o_microsoft_sync.badge { + border: none; +} + +img.calendar_img_tuto { + margin: 0 0 10px 50px; + border: 2px solid $o-brand-secondary; +} diff --git a/addons/microsoft_calendar/static/src/xml/microsoft_calendar_popover.xml b/addons/microsoft_calendar/static/src/xml/microsoft_calendar_popover.xml new file mode 100644 index 00000000..aace2731 --- /dev/null +++ b/addons/microsoft_calendar/static/src/xml/microsoft_calendar_popover.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<templates> + <t t-extend="Calendar.attendee.status.popover"> + <t t-jquery=".o_cw_popover_edit" t-operation="after"> + <a t-if="typeof widget.isMEventSyncedAndArchivable === 'function' and widget.isMEventSyncedAndArchivable() and widget.isEventDetailsVisible()" href="#" class="btn btn-secondary o_cw_popover_archive_m">Archive</a> + </t> + </t> +</templates> diff --git a/addons/microsoft_calendar/tests/__init__.py b/addons/microsoft_calendar/tests/__init__.py new file mode 100644 index 00000000..fb1d7b30 --- /dev/null +++ b/addons/microsoft_calendar/tests/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import test_sync_microsoft2odoo diff --git a/addons/microsoft_calendar/tests/test_sync_microsoft2odoo.py b/addons/microsoft_calendar/tests/test_sync_microsoft2odoo.py new file mode 100644 index 00000000..4da7bf36 --- /dev/null +++ b/addons/microsoft_calendar/tests/test_sync_microsoft2odoo.py @@ -0,0 +1,277 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo.addons.microsoft_calendar.utils.microsoft_calendar import MicrosoftCalendarService, MicrosoftEvent +from odoo.exceptions import ValidationError +import pytz +from datetime import datetime, date +from odoo.tests.common import SavepointCase +from dateutil.relativedelta import relativedelta + + +class TestSyncMicrosoft2Odoo(SavepointCase): + + @property + def now(self): + return pytz.utc.localize(datetime.now()).isoformat() + + def setUp(self): + super().setUp() + self.recurrence_id = 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA' + values = [ + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"ZS2uEVAVyU6BMZ3m6cHmtgAACyq4xQ=="', 'createdDateTime': '2020-05-06T07:03:49.1444085Z', 'lastModifiedDateTime': '2020-05-06T07:00:00Z', 'changeKey': 'ZS2uEVAVyU6BMZ3m6cHmtgAACyq4xQ==', 'categories': [], 'originalStartTimeZone': 'Romance Standard Time', 'originalEndTimeZone': 'Romance Standard Time', 'iCalUId': '040000008200E00074C5B7101A82E00800000000874F057E7423D601000D848B1B7F8C', 'reminderMinutesBeforeStart': 15, 'isReminderOn': True, 'hasAttachments': False, 'subject': 'My recurrent event', 'bodyPreview': '', 'importance': 'normal', 'sensitivity': 'normal', 'isAllDay': False, 'isCancelled': False, 'isOrganizer': True, 'IsRoomRequested': False, 'AutoRoomBookingStatus': 'None', 'responseRequested': True, 'seriesMasterId': None, 'showAs': 'busy', 'type': 'seriesMaster', 'webLink': 'https://outlook.live.com/owa/?itemid=AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFAAALLLTEAAAA&exvsurl=1&path=/calendar/item', 'onlineMeetingUrl': None, 'isOnlineMeeting': False, 'onlineMeetingProvider': 'unknown', 'AllowNewTimeProposals': True, 'IsDraft': False, 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'responseStatus': {'response': 'organizer', 'time': '0001-01-01T00:00:00Z'}, 'body': {'contentType': 'html', 'content': ''}, 'start': {'dateTime': '2020-05-03T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-03T16:00:00.0000000', 'timeZone': 'UTC'}, 'location': {'displayName': '', 'locationType': 'default', 'uniqueIdType': 'unknown', 'address': {}, 'coordinates': {}}, 'locations': [], 'recurrence': {'pattern': {'type': 'daily', 'interval': 1, 'month': 0, 'dayOfMonth': 0, 'firstDayOfWeek': 'sunday', 'index': 'first'}, 'range': {'type': 'endDate', 'startDate': '2020-05-03', 'endDate': '2020-05-05', 'recurrenceTimeZone': 'Romance Standard Time', 'numberOfOccurrences': 0}}, 'attendees': [], 'organizer': {'emailAddress': {'name': 'outlook_7BA43549E5FD4413@outlook.com', 'address': 'outlook_7BA43549E5FD4413@outlook.com'}}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAABlLa4RUBXJToExnebpwea2AAALKrjF"', 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'type': 'occurrence', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX7vTsS0AARgAAAkBy7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAAEA==', 'start': {'dateTime': '2020-05-03T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-03T16:00:00.0000000', 'timeZone': 'UTC'}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAABlLa4RUBXJToExnebpwea2AAALKrjF"', 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'type': 'occurrence', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX774WtQAAAEYAAAJAcu19N72jSr9Rp1mE2xWABwBlLa4RUBXJToExnebpwea2AAACAQ0AAABlLa4RUBXJToExnebpwea2AAAACyy0xAAAABA=', 'start': {'dateTime': '2020-05-04T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-04T16:00:00.0000000', 'timeZone': 'UTC'}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAABlLa4RUBXJToExnebpwea2AAALKrjF"', 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'type': 'occurrence', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX8IdBHsAARgAAAkBy7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAAEA==', 'start': {'dateTime': '2020-05-05T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-05T16:00:00.0000000', 'timeZone': 'UTC'}} + ] + + self.env['calendar.event']._sync_microsoft2odoo(MicrosoftEvent(values)) + + self.datetime_future = pytz.utc.localize(datetime.now() + relativedelta(days=1)).isoformat() + + def sync(self, events): + + self.env['calendar.event']._sync_microsoft2odoo(events) + + def test_new_microsoft_recurrence(self): + + recurrence = self.env['calendar.recurrence'].search([('microsoft_id', '=', self.recurrence_id)]) + events = recurrence.calendar_event_ids + self.assertTrue(recurrence, "It should have created an recurrence") + self.assertEqual(len(events), 3, "It should have created 3 events") + self.assertEqual(recurrence.base_event_id, events[0]) + self.assertEqual(events.mapped('name'), ['My recurrent event', 'My recurrent event', 'My recurrent event']) + self.assertFalse(events[0].allday) + self.assertEqual(events[0].start, datetime(2020, 5, 3, 14, 30)) + self.assertEqual(events[0].stop, datetime(2020, 5, 3, 16, 00)) + self.assertEqual(events[1].start, datetime(2020, 5, 4, 14, 30)) + self.assertEqual(events[1].stop, datetime(2020, 5, 4, 16, 00)) + self.assertEqual(events[2].start, datetime(2020, 5, 5, 14, 30)) + self.assertEqual(events[2].stop, datetime(2020, 5, 5, 16, 00)) + + def test_microsoft_recurrence_delete_one_event(self): + values = [ + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"ZS2uEVAVyU6BMZ3m6cHmtgAADIaZKQ=="', 'createdDateTime': '2020-05-06T07:03:49.1444085Z', 'lastModifiedDateTime': self.datetime_future, 'changeKey': 'ZS2uEVAVyU6BMZ3m6cHmtgAADIaZKQ==', 'categories': [], 'originalStartTimeZone': 'Romance Standard Time', 'originalEndTimeZone': 'Romance Standard Time', 'iCalUId': '040000008200E00074C5B7101A82E00800000000874F057E7423D601000000000000000010000000C6918C4B44D2D84586351FEC8B1B7F8C', 'reminderMinutesBeforeStart': 15, 'isReminderOn': True, 'hasAttachments': False, 'subject': 'My recurrent event', 'bodyPreview': '', 'importance': 'normal', 'sensitivity': 'normal', 'isAllDay': False, 'isCancelled': False, 'isOrganizer': True, 'IsRoomRequested': False, 'AutoRoomBookingStatus': 'None', 'responseRequested': True, 'seriesMasterId': None, 'showAs': 'busy', 'type': 'seriesMaster', 'webLink': 'https://outlook.live.com/owa/?itemid=AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA&exvsurl=1&path=/calendar/item', 'onlineMeetingUrl': None, 'isOnlineMeeting': False, 'onlineMeetingProvider': 'unknown', 'AllowNewTimeProposals': True, 'IsDraft': False, 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'responseStatus': {'response': 'organizer', 'time': '0001-01-01T00:00:00Z'}, 'body': {'contentType': 'html', 'content': ''}, 'start': {'dateTime': '2020-05-03T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-03T16:00:00.0000000', 'timeZone': 'UTC'}, 'location': {'displayName': '', 'locationType': 'default', 'uniqueIdType': 'unknown', 'address': {}, 'coordinates': {}}, 'locations': [], 'recurrence': {'pattern': {'type': 'daily', 'interval': 1, 'month': 0, 'dayOfMonth': 0, 'firstDayOfWeek': 'sunday', 'index': 'first'}, 'range': {'type': 'endDate', 'startDate': '2020-05-03', 'endDate': '2020-05-05', 'recurrenceTimeZone': 'Romance Standard Time', 'numberOfOccurrences': 0}}, 'attendees': [], 'organizer': {'emailAddress': {'name': 'outlook_7BA43549E5FD4413@outlook.com', 'address': 'outlook_7BA43549E5FD4413@outlook.com'}}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAABlLa4RUBXJToExnebpwea2AAAMhpkp"', 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'type': 'occurrence', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX7vTsS0AARgAAAkBy7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAAEA==', 'start': {'dateTime': '2020-05-03T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-03T16:00:00.0000000', 'timeZone': 'UTC'}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAABlLa4RUBXJToExnebpwea2AAAMhpkp"', 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'type': 'occurrence', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX8IdBHsAARgAAAkBy7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAAEA==', 'start': {'dateTime': '2020-05-05T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-05T16:00:00.0000000', 'timeZone': 'UTC'}} + ] + + self.env['calendar.event']._sync_microsoft2odoo(MicrosoftEvent(values)) + + recurrence = self.env['calendar.recurrence'].search([('microsoft_id', '=', self.recurrence_id)]) + events = self.env['calendar.event'].search([('recurrence_id', '=', recurrence.id)], order='start asc') + self.assertTrue(recurrence, "It should keep the recurrence") + self.assertEqual(len(events), 2, "It should keep 2 events") + self.assertEqual(recurrence.base_event_id, events[0]) + self.assertEqual(events.mapped('name'), ['My recurrent event', 'My recurrent event']) + + def test_microsoft_recurrence_change_name_one_event(self): + values = [ + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"ZS2uEVAVyU6BMZ3m6cHmtgAADIaZKQ=="', 'createdDateTime': '2020-05-06T07:03:49.1444085Z', 'lastModifiedDateTime': self.datetime_future, 'changeKey': 'ZS2uEVAVyU6BMZ3m6cHmtgAADIaZKQ==', 'categories': [], 'originalStartTimeZone': 'Romance Standard Time', 'originalEndTimeZone': 'Romance Standard Time', 'iCalUId': '040000008200E00074C5B7101A82E00800000000874F057E7423D601000000000000000010000000C6918C4B44D2D84586351FEC8B1B7F8C', 'reminderMinutesBeforeStart': 15, 'isReminderOn': True, 'hasAttachments': False, 'subject': 'My recurrent event', 'bodyPreview': '', 'importance': 'normal', 'sensitivity': 'normal', 'isAllDay': False, 'isCancelled': False, 'isOrganizer': True, 'IsRoomRequested': False, 'AutoRoomBookingStatus': 'None', 'responseRequested': True, 'seriesMasterId': None, 'showAs': 'busy', 'type': 'seriesMaster', 'webLink': 'https://outlook.live.com/owa/?itemid=AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA&exvsurl=1&path=/calendar/item', 'onlineMeetingUrl': None, 'isOnlineMeeting': False, 'onlineMeetingProvider': 'unknown', 'AllowNewTimeProposals': True, 'IsDraft': False, 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'responseStatus': {'response': 'organizer', 'time': '0001-01-01T00:00:00Z'}, 'body': {'contentType': 'html', 'content': ''}, 'start': {'dateTime': '2020-05-03T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-03T16:00:00.0000000', 'timeZone': 'UTC'}, 'location': {'displayName': '', 'locationType': 'default', 'uniqueIdType': 'unknown', 'address': {}, 'coordinates': {}}, 'locations': [], 'recurrence': {'pattern': {'type': 'daily', 'interval': 1, 'month': 0, 'dayOfMonth': 0, 'firstDayOfWeek': 'sunday', 'index': 'first'}, 'range': {'type': 'endDate', 'startDate': '2020-05-03', 'endDate': '2020-05-05', 'recurrenceTimeZone': 'Romance Standard Time', 'numberOfOccurrences': 0}}, 'attendees': [], 'organizer': {'emailAddress': {'name': 'outlook_7BA43549E5FD4413@outlook.com', 'address': 'outlook_7BA43549E5FD4413@outlook.com'}}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAABlLa4RUBXJToExnebpwea2AAAMhpkp"', 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'type': 'occurrence', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX7vTsS0AARgAAAkBy7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAAEA==', 'start': {'dateTime': '2020-05-03T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-03T16:00:00.0000000', 'timeZone': 'UTC'}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"ZS2uEVAVyU6BMZ3m6cHmtgAADIaZKQ=="', 'createdDateTime': '2020-05-06T08:01:32.4884797Z', 'lastModifiedDateTime': self.datetime_future, 'changeKey': 'ZS2uEVAVyU6BMZ3m6cHmtgAADIaZKQ==', 'categories': [], 'originalStartTimeZone': 'Romance Standard Time', 'originalEndTimeZone': 'Romance Standard Time', 'iCalUId': '040000008200E00074C5B7101A82E00807E40504874F057E7423D601000000000000000010000000C6918C4B44D2D84586351FEC8B1B7F8C', 'reminderMinutesBeforeStart': 15, 'isReminderOn': True, 'hasAttachments': False, 'subject': 'My recurrent event 2', 'bodyPreview': '', 'importance': 'normal', 'sensitivity': 'normal', 'originalStart': '2020-05-04T14:30:00Z', 'isAllDay': False, 'isCancelled': False, 'isOrganizer': True, 'IsRoomRequested': False, 'AutoRoomBookingStatus': 'None', 'responseRequested': True, 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'showAs': 'busy', 'type': 'exception', 'webLink': 'https://outlook.live.com/owa/?itemid=AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX774WtQAAAEYAAAJAcu19N72jSr9Rp1mE2xWABwBlLa4RUBXJToExnebpwea2AAACAQ0AAABlLa4RUBXJToExnebpwea2AAAACyy0xAAAABA%3D&exvsurl=1&path=/calendar/item', 'onlineMeetingUrl': None, 'isOnlineMeeting': False, 'onlineMeetingProvider': 'unknown', 'AllowNewTimeProposals': True, 'IsDraft': False, 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX774WtQAAAEYAAAJAcu19N72jSr9Rp1mE2xWABwBlLa4RUBXJToExnebpwea2AAACAQ0AAABlLa4RUBXJToExnebpwea2AAAACyy0xAAAABA=', 'responseStatus': {'response': 'organizer', 'time': '0001-01-01T00:00:00Z'}, 'body': {'contentType': 'html', 'content': ''}, 'start': {'dateTime': '2020-05-04T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-04T16:00:00.0000000', 'timeZone': 'UTC'}, 'location': {'displayName': '', 'locationType': 'default', 'uniqueIdType': 'unknown', 'address': {}, 'coordinates': {}}, 'locations': [], 'attendees': [], 'organizer': {'emailAddress': {'name': 'outlook_7BA43549E5FD4413@outlook.com', 'address': 'outlook_7BA43549E5FD4413@outlook.com'}}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAABlLa4RUBXJToExnebpwea2AAAMhpkp"', 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'type': 'occurrence', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX8IdBHsAARgAAAkBy7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAAEA==', 'start': {'dateTime': '2020-05-05T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-05T16:00:00.0000000', 'timeZone': 'UTC'}} + ] + + self.env['calendar.event']._sync_microsoft2odoo(MicrosoftEvent(values)) + + recurrence = self.env['calendar.recurrence'].search([('microsoft_id', '=', self.recurrence_id)]) + events = self.env['calendar.event'].search([('recurrence_id', '=', recurrence.id)], order='start asc') + self.assertTrue(recurrence, "It should have created an recurrence") + self.assertEqual(len(events), 3, "It should have created 3 events") + self.assertEqual(recurrence.base_event_id, events[0]) + self.assertEqual(events.mapped('name'), ['My recurrent event', 'My recurrent event 2', 'My recurrent event']) + + def test_microsoft_recurrence_change_name_all_event(self): + values = [ + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"ZS2uEVAVyU6BMZ3m6cHmtgAADIaZKQ=="', 'createdDateTime': '2020-05-06T07:03:49.1444085Z', 'lastModifiedDateTime': self.datetime_future, 'changeKey': 'ZS2uEVAVyU6BMZ3m6cHmtgAADIaZKQ==', 'categories': [], 'originalStartTimeZone': 'Romance Standard Time', 'originalEndTimeZone': 'Romance Standard Time', 'iCalUId': '040000008200E00074C5B7101A82E00800000000874F057E7423D601000000000000000010000000C6918C4B44D2D84586351FEC8B1B7F8C', 'reminderMinutesBeforeStart': 15, 'isReminderOn': True, 'hasAttachments': False, 'subject': 'My recurrent event 2', 'bodyPreview': '', 'importance': 'normal', 'sensitivity': 'normal', 'isAllDay': False, 'isCancelled': False, 'isOrganizer': True, 'IsRoomRequested': False, 'AutoRoomBookingStatus': 'None', 'responseRequested': True, 'seriesMasterId': None, 'showAs': 'busy', 'type': 'seriesMaster', 'webLink': 'https://outlook.live.com/owa/?itemid=AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA&exvsurl=1&path=/calendar/item', 'onlineMeetingUrl': None, 'isOnlineMeeting': False, 'onlineMeetingProvider': 'unknown', 'AllowNewTimeProposals': True, 'IsDraft': False, 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'responseStatus': {'response': 'organizer', 'time': '0001-01-01T00:00:00Z'}, 'body': {'contentType': 'html', 'content': ''}, 'start': {'dateTime': '2020-05-03T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-03T16:00:00.0000000', 'timeZone': 'UTC'}, 'location': {'displayName': '', 'locationType': 'default', 'uniqueIdType': 'unknown', 'address': {}, 'coordinates': {}}, 'locations': [], 'recurrence': {'pattern': {'type': 'daily', 'interval': 1, 'month': 0, 'dayOfMonth': 0, 'firstDayOfWeek': 'sunday', 'index': 'first'}, 'range': {'type': 'endDate', 'startDate': '2020-05-03', 'endDate': '2020-05-05', 'recurrenceTimeZone': 'Romance Standard Time', 'numberOfOccurrences': 0}}, 'attendees': [], 'organizer': {'emailAddress': {'name': 'outlook_7BA43549E5FD4413@outlook.com', 'address': 'outlook_7BA43549E5FD4413@outlook.com'}}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAABlLa4RUBXJToExnebpwea2AAAMhpkp"', 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'type': 'occurrence', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX7vTsS0AARgAAAkBy7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAAEA==', 'start': {'dateTime': '2020-05-03T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-03T16:00:00.0000000', 'timeZone': 'UTC'}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAABlLa4RUBXJToExnebpwea2AAAMhpkp"', 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'type': 'occurrence', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX774WtQAAAEYAAAJAcu19N72jSr9Rp1mE2xWABwBlLa4RUBXJToExnebpwea2AAACAQ0AAABlLa4RUBXJToExnebpwea2AAAACyy0xAAAABA=', 'start': {'dateTime': '2020-05-04T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-04T16:00:00.0000000', 'timeZone': 'UTC'}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAABlLa4RUBXJToExnebpwea2AAAMhpkp"', 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'type': 'occurrence', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX8IdBHsAARgAAAkBy7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAAEA==', 'start': {'dateTime': '2020-05-05T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-05T16:00:00.0000000', 'timeZone': 'UTC'}} + ] + + self.env['calendar.event']._sync_microsoft2odoo(MicrosoftEvent(values)) + + recurrence = self.env['calendar.recurrence'].search([('microsoft_id', '=', self.recurrence_id)]) + events = self.env['calendar.event'].search([('recurrence_id', '=', recurrence.id)], order='start asc') + self.assertTrue(recurrence, "It should keep the recurrence") + self.assertEqual(len(events), 3, "It should keep the 3 events") + self.assertEqual(recurrence.base_event_id, events[0]) + self.assertEqual(events.mapped('name'), ['My recurrent event 2', 'My recurrent event 2', 'My recurrent event 2']) + + def test_microsoft_recurrence_change_date_one_event(self): + values = [ + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"ZS2uEVAVyU6BMZ3m6cHmtgAADIaZPA=="', 'createdDateTime': '2020-05-06T07:03:49.1444085Z', 'lastModifiedDateTime': self.datetime_future, 'changeKey': 'ZS2uEVAVyU6BMZ3m6cHmtgAADIaZPA==', 'categories': [], 'originalStartTimeZone': 'Romance Standard Time', 'originalEndTimeZone': 'Romance Standard Time', 'iCalUId': '040000008200E00074C5B7101A82E00800000000874F057E7423D601000000000000000010000000C6918C4B44D2D84586351FEC8B1B7F8C', 'reminderMinutesBeforeStart': 15, 'isReminderOn': True, 'hasAttachments': False, 'subject': 'My recurrent event', 'bodyPreview': '', 'importance': 'normal', 'sensitivity': 'normal', 'isAllDay': False, 'isCancelled': False, 'isOrganizer': True, 'IsRoomRequested': False, 'AutoRoomBookingStatus': 'None', 'responseRequested': True, 'seriesMasterId': None, 'showAs': 'busy', 'type': 'seriesMaster', 'webLink': 'https://outlook.live.com/owa/?itemid=AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA&exvsurl=1&path=/calendar/item', 'onlineMeetingUrl': None, 'isOnlineMeeting': False, 'onlineMeetingProvider': 'unknown', 'AllowNewTimeProposals': True, 'IsDraft': False, 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'responseStatus': {'response': 'organizer', 'time': '0001-01-01T00:00:00Z'}, 'body': {'contentType': 'html', 'content': ''}, 'start': {'dateTime': '2020-05-03T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-03T16:00:00.0000000', 'timeZone': 'UTC'}, 'location': {'displayName': '', 'locationType': 'default', 'uniqueIdType': 'unknown', 'address': {}, 'coordinates': {}}, 'locations': [], 'recurrence': {'pattern': {'type': 'daily', 'interval': 1, 'month': 0, 'dayOfMonth': 0, 'firstDayOfWeek': 'sunday', 'index': 'first'}, 'range': {'type': 'endDate', 'startDate': '2020-05-03', 'endDate': '2020-05-05', 'recurrenceTimeZone': 'Romance Standard Time', 'numberOfOccurrences': 0}}, 'attendees': [], 'organizer': {'emailAddress': {'name': 'outlook_7BA43549E5FD4413@outlook.com', 'address': 'outlook_7BA43549E5FD4413@outlook.com'}}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAABlLa4RUBXJToExnebpwea2AAAMhpk8"', 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'type': 'occurrence', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX7vTsS0AARgAAAkBy7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAAEA==', 'start': {'dateTime': '2020-05-03T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-03T16:00:00.0000000', 'timeZone': 'UTC'}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"ZS2uEVAVyU6BMZ3m6cHmtgAADIaZPA=="', 'createdDateTime': '2020-05-06T08:41:52.1067613Z', 'lastModifiedDateTime': self.datetime_future, 'changeKey': 'ZS2uEVAVyU6BMZ3m6cHmtgAADIaZPA==', 'categories': [], 'originalStartTimeZone': 'Romance Standard Time', 'originalEndTimeZone': 'Romance Standard Time', 'iCalUId': '040000008200E00074C5B7101A82E00807E40504874F057E7423D601000000000000000010000000C6918C4B44D2D84586351FEC8B1B7F8C', 'reminderMinutesBeforeStart': 15, 'isReminderOn': True, 'hasAttachments': False, 'subject': 'My recurrent event', 'bodyPreview': '', 'importance': 'normal', 'sensitivity': 'normal', 'originalStart': '2020-05-04T14:30:00Z', 'isAllDay': False, 'isCancelled': False, 'isOrganizer': True, 'IsRoomRequested': False, 'AutoRoomBookingStatus': 'None', 'responseRequested': True, 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'showAs': 'busy', 'type': 'exception', 'webLink': 'https://outlook.live.com/owa/?itemid=AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX774WtQAAAEYAAAJAcu19N72jSr9Rp1mE2xWABwBlLa4RUBXJToExnebpwea2AAACAQ0AAABlLa4RUBXJToExnebpwea2AAAACyy0xAAAABA%3D&exvsurl=1&path=/calendar/item', 'onlineMeetingUrl': None, 'isOnlineMeeting': False, 'onlineMeetingProvider': 'unknown', 'AllowNewTimeProposals': True, 'IsDraft': False, 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX774WtQAAAEYAAAJAcu19N72jSr9Rp1mE2xWABwBlLa4RUBXJToExnebpwea2AAACAQ0AAABlLa4RUBXJToExnebpwea2AAAACyy0xAAAABA=', 'responseStatus': {'response': 'organizer', 'time': '0001-01-01T00:00:00Z'}, 'body': {'contentType': 'html', 'content': ''}, 'start': {'dateTime': '2020-05-04T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-04T17:00:00.0000000', 'timeZone': 'UTC'}, 'location': {'displayName': '', 'locationType': 'default', 'uniqueIdType': 'unknown', 'address': {}, 'coordinates': {}}, 'locations': [], 'attendees': [], 'organizer': {'emailAddress': {'name': 'outlook_7BA43549E5FD4413@outlook.com', 'address': 'outlook_7BA43549E5FD4413@outlook.com'}}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAABlLa4RUBXJToExnebpwea2AAAMhpk8"', 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'type': 'occurrence', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX8IdBHsAARgAAAkBy7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAAEA==', 'start': {'dateTime': '2020-05-05T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-05T16:00:00.0000000', 'timeZone': 'UTC'}} + ] + + self.env['calendar.event']._sync_microsoft2odoo(MicrosoftEvent(values)) + + recurrence = self.env['calendar.recurrence'].search([('microsoft_id', '=', self.recurrence_id)]) + events = self.env['calendar.event'].search([('recurrence_id', '=', recurrence.id)], order='start asc') + special_event = self.env['calendar.event'].search([('microsoft_id', '=', 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX774WtQAAAEYAAAJAcu19N72jSr9Rp1mE2xWABwBlLa4RUBXJToExnebpwea2AAACAQ0AAABlLa4RUBXJToExnebpwea2AAAACyy0xAAAABA=')]) + self.assertTrue(recurrence, "It should have created an recurrence") + self.assertTrue(special_event, "It should have created an special event") + self.assertEqual(len(events), 3, "It should have created 3 events") + self.assertTrue(special_event in events) + self.assertEqual(recurrence.base_event_id, events[0]) + self.assertEqual(events.mapped('name'), ['My recurrent event', 'My recurrent event', 'My recurrent event']) + event_not_special = events - special_event + self.assertEqual(event_not_special[0].start, datetime(2020, 5, 3, 14, 30)) + self.assertEqual(event_not_special[0].stop, datetime(2020, 5, 3, 16, 00)) + self.assertEqual(event_not_special[1].start, datetime(2020, 5, 5, 14, 30)) + self.assertEqual(event_not_special[1].stop, datetime(2020, 5, 5, 16, 00)) + self.assertEqual(special_event.start, datetime(2020, 5, 4, 14, 30)) + self.assertEqual(special_event.stop, datetime(2020, 5, 4, 17, 00)) + + def test_microsoft_recurrence_delete_first_event(self): + values = [ + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"ZS2uEVAVyU6BMZ3m6cHmtgAADI/Bnw=="', 'createdDateTime': '2020-05-06T07:03:49.1444085Z', 'lastModifiedDateTime': self.datetime_future, 'changeKey': 'ZS2uEVAVyU6BMZ3m6cHmtgAADI/Bnw==', 'categories': [], 'originalStartTimeZone': 'Romance Standard Time', 'originalEndTimeZone': 'Romance Standard Time', 'iCalUId': '040000008200E00074C5B7101A82E00800000000874F057E7423D601000000000000000010000000C6918C4B44D2D84586351FEC8B1B7F8C', 'reminderMinutesBeforeStart': 15, 'isReminderOn': True, 'hasAttachments': False, 'subject': 'My recurrent event', 'bodyPreview': '', 'importance': 'normal', 'sensitivity': 'normal', 'isAllDay': False, 'isCancelled': False, 'isOrganizer': True, 'IsRoomRequested': False, 'AutoRoomBookingStatus': 'None', 'responseRequested': True, 'seriesMasterId': None, 'showAs': 'busy', 'type': 'seriesMaster', 'webLink': 'https://outlook.live.com/owa/?itemid=AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA&exvsurl=1&path=/calendar/item', 'onlineMeetingUrl': None, 'isOnlineMeeting': False, 'onlineMeetingProvider': 'unknown', 'AllowNewTimeProposals': True, 'IsDraft': False, 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'responseStatus': {'response': 'organizer', 'time': '0001-01-01T00:00:00Z'}, 'body': {'contentType': 'html', 'content': ''}, 'start': {'dateTime': '2020-05-03T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-03T16:00:00.0000000', 'timeZone': 'UTC'}, 'location': {'displayName': '', 'locationType': 'default', 'uniqueIdType': 'unknown', 'address': {}, 'coordinates': {}}, 'locations': [], 'recurrence': {'pattern': {'type': 'daily', 'interval': 1, 'month': 0, 'dayOfMonth': 0, 'firstDayOfWeek': 'sunday', 'index': 'first'}, 'range': {'type': 'endDate', 'startDate': '2020-05-03', 'endDate': '2020-05-05', 'recurrenceTimeZone': 'Romance Standard Time', 'numberOfOccurrences': 0}}, 'attendees': [], 'organizer': {'emailAddress': {'name': 'outlook_7BA43549E5FD4413@outlook.com', 'address': 'outlook_7BA43549E5FD4413@outlook.com'}}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAABlLa4RUBXJToExnebpwea2AAAMj8Gf"', 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'type': 'occurrence', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX774WtQAAAEYAAAJAcu19N72jSr9Rp1mE2xWABwBlLa4RUBXJToExnebpwea2AAACAQ0AAABlLa4RUBXJToExnebpwea2AAAACyy0xAAAABA=', 'start': {'dateTime': '2020-05-04T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-04T16:00:00.0000000', 'timeZone': 'UTC'}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAABlLa4RUBXJToExnebpwea2AAAMj8Gf"', 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'type': 'occurrence', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX8IdBHsAARgAAAkBy7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAAEA==', 'start': {'dateTime': '2020-05-05T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-05T16:00:00.0000000', 'timeZone': 'UTC'}} + ] + + self.env['calendar.event']._sync_microsoft2odoo(MicrosoftEvent(values)) + + recurrence = self.env['calendar.recurrence'].search([('microsoft_id', '=', self.recurrence_id)]) + events = self.env['calendar.event'].search([('recurrence_id', '=', recurrence.id)], order='start asc') + self.assertTrue(recurrence, "It should have created an recurrence") + self.assertEqual(len(events), 2, "It should left 2 events") + self.assertEqual(recurrence.base_event_id, events[0]) + self.assertEqual(events[0].start, datetime(2020, 5, 4, 14, 30)) + self.assertEqual(events[0].stop, datetime(2020, 5, 4, 16, 00)) + self.assertEqual(events[1].start, datetime(2020, 5, 5, 14, 30)) + self.assertEqual(events[1].stop, datetime(2020, 5, 5, 16, 00)) + + # Now we delete lastest event in Outlook. + values = [ + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"ZS2uEVAVyU6BMZ3m6cHmtgAADI/Bpg=="', 'createdDateTime': '2020-05-06T07:03:49.1444085Z', 'lastModifiedDateTime': self.datetime_future, 'changeKey': 'ZS2uEVAVyU6BMZ3m6cHmtgAADI/Bpg==', 'categories': [], 'originalStartTimeZone': 'Romance Standard Time', 'originalEndTimeZone': 'Romance Standard Time', 'iCalUId': '040000008200E00074C5B7101A82E00800000000874F057E7423D601000000000000000010000000C6918C4B44D2D84586351FEC8B1B7F8C', 'reminderMinutesBeforeStart': 15, 'isReminderOn': True, 'hasAttachments': False, 'subject': 'My recurrent event', 'bodyPreview': '', 'importance': 'normal', 'sensitivity': 'normal', 'isAllDay': False, 'isCancelled': False, 'isOrganizer': True, 'IsRoomRequested': False, 'AutoRoomBookingStatus': 'None', 'responseRequested': True, 'seriesMasterId': None, 'showAs': 'busy', 'type': 'seriesMaster', 'webLink': 'https://outlook.live.com/owa/?itemid=AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA&exvsurl=1&path=/calendar/item', 'onlineMeetingUrl': None, 'isOnlineMeeting': False, 'onlineMeetingProvider': 'unknown', 'AllowNewTimeProposals': True, 'IsDraft': False, 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'responseStatus': {'response': 'organizer', 'time': '0001-01-01T00:00:00Z'}, 'body': {'contentType': 'html', 'content': ''}, 'start': {'dateTime': '2020-05-03T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-03T16:00:00.0000000', 'timeZone': 'UTC'}, 'location': {'displayName': '', 'locationType': 'default', 'uniqueIdType': 'unknown', 'address': {}, 'coordinates': {}}, 'locations': [], 'recurrence': {'pattern': {'type': 'daily', 'interval': 1, 'month': 0, 'dayOfMonth': 0, 'firstDayOfWeek': 'sunday', 'index': 'first'}, 'range': {'type': 'endDate', 'startDate': '2020-05-03', 'endDate': '2020-05-05', 'recurrenceTimeZone': 'Romance Standard Time', 'numberOfOccurrences': 0}}, 'attendees': [], 'organizer': {'emailAddress': {'name': 'outlook_7BA43549E5FD4413@outlook.com', 'address': 'outlook_7BA43549E5FD4413@outlook.com'}}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAABlLa4RUBXJToExnebpwea2AAAMj8Gm"', 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'type': 'occurrence', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX774WtQAAAEYAAAJAcu19N72jSr9Rp1mE2xWABwBlLa4RUBXJToExnebpwea2AAACAQ0AAABlLa4RUBXJToExnebpwea2AAAACyy0xAAAABA=', 'start': {'dateTime': '2020-05-04T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-04T16:00:00.0000000', 'timeZone': 'UTC'}} + ] + + self.env['calendar.event']._sync_microsoft2odoo(MicrosoftEvent(values)) + + events = self.env['calendar.event'].search([('recurrence_id', '=', recurrence.id)], order='start asc') + self.assertEqual(len(events), 1, "It should have created 1 events") + self.assertEqual(recurrence.base_event_id, events[0]) + + # Now, we change end datetime of recurrence in Outlook, so all recurrence is recreated (even deleted events) + values = [ + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"ZS2uEVAVyU6BMZ3m6cHmtgAADI/Bqg=="', 'createdDateTime': '2020-05-06T07:03:49.1444085Z', 'lastModifiedDateTime': self.datetime_future, 'changeKey': 'ZS2uEVAVyU6BMZ3m6cHmtgAADI/Bqg==', 'categories': [], 'originalStartTimeZone': 'Romance Standard Time', 'originalEndTimeZone': 'Romance Standard Time', 'iCalUId': '040000008200E00074C5B7101A82E00800000000874F057E7423D601000000000000000010000000C6918C4B44D2D84586351FEC8B1B7F8C', 'reminderMinutesBeforeStart': 15, 'isReminderOn': True, 'hasAttachments': False, 'subject': 'My recurrent event', 'bodyPreview': '', 'importance': 'normal', 'sensitivity': 'normal', 'isAllDay': False, 'isCancelled': False, 'isOrganizer': True, 'IsRoomRequested': False, 'AutoRoomBookingStatus': 'None', 'responseRequested': True, 'seriesMasterId': None, 'showAs': 'busy', 'type': 'seriesMaster', 'webLink': 'https://outlook.live.com/owa/?itemid=AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA&exvsurl=1&path=/calendar/item', 'onlineMeetingUrl': None, 'isOnlineMeeting': False, 'onlineMeetingProvider': 'unknown', 'AllowNewTimeProposals': True, 'IsDraft': False, 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'responseStatus': {'response': 'organizer', 'time': '0001-01-01T00:00:00Z'}, 'body': {'contentType': 'html', 'content': ''}, 'start': {'dateTime': '2020-05-03T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-03T16:30:00.0000000', 'timeZone': 'UTC'}, 'location': {'displayName': '', 'locationType': 'default', 'uniqueIdType': 'unknown', 'address': {}, 'coordinates': {}}, 'locations': [], 'recurrence': {'pattern': {'type': 'daily', 'interval': 1, 'month': 0, 'dayOfMonth': 0, 'firstDayOfWeek': 'sunday', 'index': 'first'}, 'range': {'type': 'endDate', 'startDate': '2020-05-03', 'endDate': '2020-05-05', 'recurrenceTimeZone': 'Romance Standard Time', 'numberOfOccurrences': 0}}, 'attendees': [], 'organizer': {'emailAddress': {'name': 'outlook_7BA43549E5FD4413@outlook.com', 'address': 'outlook_7BA43549E5FD4413@outlook.com'}}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAABlLa4RUBXJToExnebpwea2AAAMj8Gq"', 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'type': 'occurrence', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX7vTsS0AARgAAAkBy7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAAEA==', 'start': {'dateTime': '2020-05-03T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-03T16:30:00.0000000', 'timeZone': 'UTC'}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAABlLa4RUBXJToExnebpwea2AAAMj8Gq"', 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'type': 'occurrence', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX774WtQAAAEYAAAJAcu19N72jSr9Rp1mE2xWABwBlLa4RUBXJToExnebpwea2AAACAQ0AAABlLa4RUBXJToExnebpwea2AAAACyy0xAAAABA=', 'start': {'dateTime': '2020-05-04T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-04T16:30:00.0000000', 'timeZone': 'UTC'}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAABlLa4RUBXJToExnebpwea2AAAMj8Gq"', 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'type': 'occurrence', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX8IdBHsAARgAAAkBy7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAAEA==', 'start': {'dateTime': '2020-05-05T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-05T16:30:00.0000000', 'timeZone': 'UTC'}} + ] + + self.env['calendar.event']._sync_microsoft2odoo(MicrosoftEvent(values)) + + events = self.env['calendar.event'].search([('recurrence_id', '=', recurrence.id)], order='start asc') + self.assertEqual(len(events), 3, "It should have created 3 events") + self.assertEqual(recurrence.base_event_id, events[0]) + self.assertEqual(events.mapped('name'), ['My recurrent event', 'My recurrent event', 'My recurrent event']) + self.assertEqual(events[0].start, datetime(2020, 5, 3, 14, 30)) + self.assertEqual(events[0].stop, datetime(2020, 5, 3, 16, 30)) + self.assertEqual(events[1].start, datetime(2020, 5, 4, 14, 30)) + self.assertEqual(events[1].stop, datetime(2020, 5, 4, 16, 30)) + self.assertEqual(events[2].start, datetime(2020, 5, 5, 14, 30)) + self.assertEqual(events[2].stop, datetime(2020, 5, 5, 16, 30)) + + def test_microsoft_recurrence_split_recurrence(self): + values = [ + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"ZS2uEVAVyU6BMZ3m6cHmtgAADI/Dig=="', 'createdDateTime': '2020-05-06T07:03:49.1444085Z', 'lastModifiedDateTime': self.datetime_future, 'changeKey': 'ZS2uEVAVyU6BMZ3m6cHmtgAADI/Dig==', 'categories': [], 'originalStartTimeZone': 'Romance Standard Time', 'originalEndTimeZone': 'Romance Standard Time', 'iCalUId': '040000008200E00074C5B7101A82E00800000000874F057E7423D601000000000000000010000000C6918C4B44D2D84586351FEC8B1B7F8C', 'reminderMinutesBeforeStart': 15, 'isReminderOn': True, 'hasAttachments': False, 'subject': 'My recurrent event', 'bodyPreview': '', 'importance': 'normal', 'sensitivity': 'normal', 'isAllDay': False, 'isCancelled': False, 'isOrganizer': True, 'IsRoomRequested': False, 'AutoRoomBookingStatus': 'None', 'responseRequested': True, 'seriesMasterId': None, 'showAs': 'busy', 'type': 'seriesMaster', 'webLink': 'https://outlook.live.com/owa/?itemid=AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA&exvsurl=1&path=/calendar/item', 'onlineMeetingUrl': None, 'isOnlineMeeting': False, 'onlineMeetingProvider': 'unknown', 'AllowNewTimeProposals': True, 'IsDraft': False, 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'responseStatus': {'response': 'organizer', 'time': '0001-01-01T00:00:00Z'}, 'body': {'contentType': 'html', 'content': ''}, 'start': {'dateTime': '2020-05-03T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-03T16:30:00.0000000', 'timeZone': 'UTC'}, 'location': {'displayName': '', 'locationType': 'default', 'uniqueIdType': 'unknown', 'address': {}, 'coordinates': {}}, 'locations': [], 'recurrence': {'pattern': {'type': 'daily', 'interval': 1, 'month': 0, 'dayOfMonth': 0, 'firstDayOfWeek': 'sunday', 'index': 'first'}, 'range': {'type': 'endDate', 'startDate': '2020-05-03', 'endDate': '2020-05-03', 'recurrenceTimeZone': 'Romance Standard Time', 'numberOfOccurrences': 0}}, 'attendees': [], 'organizer': {'emailAddress': {'name': 'outlook_7BA43549E5FD4413@outlook.com', 'address': 'outlook_7BA43549E5FD4413@outlook.com'}}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"ZS2uEVAVyU6BMZ3m6cHmtgAADI/Dkw=="', 'createdDateTime': '2020-05-06T13:24:10.0507138Z', 'lastModifiedDateTime': self.datetime_future, 'changeKey': 'ZS2uEVAVyU6BMZ3m6cHmtgAADI/Dkw==', 'categories': [], 'originalStartTimeZone': 'Romance Standard Time', 'originalEndTimeZone': 'Romance Standard Time', 'iCalUId': '040000008200E00074C5B7101A82E008000000001A4457A0A923D601000000000000000010000000476AE6084FD718418262DA1AE3E41411', 'reminderMinutesBeforeStart': 15, 'isReminderOn': True, 'hasAttachments': False, 'subject': 'My recurrent event', 'bodyPreview': '', 'importance': 'normal', 'sensitivity': 'normal', 'isAllDay': False, 'isCancelled': False, 'isOrganizer': True, 'IsRoomRequested': False, 'AutoRoomBookingStatus': 'None', 'responseRequested': True, 'seriesMasterId': None, 'showAs': 'busy', 'type': 'seriesMaster', 'webLink': 'https://outlook.live.com/owa/?itemid=AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAAMkgQrAAAA&exvsurl=1&path=/calendar/item', 'onlineMeetingUrl': None, 'isOnlineMeeting': False, 'onlineMeetingProvider': 'unknown', 'AllowNewTimeProposals': True, 'IsDraft': False, 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAAMkgQrAAAA', 'responseStatus': {'response': 'organizer', 'time': '0001-01-01T00:00:00Z'}, 'body': {'contentType': 'html', 'content': ''}, 'start': {'dateTime': '2020-05-04T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-04T17:00:00.0000000', 'timeZone': 'UTC'}, 'location': {'displayName': '', 'locationType': 'default', 'uniqueIdType': 'unknown', 'address': {}, 'coordinates': {}}, 'locations': [], 'recurrence': {'pattern': {'type': 'daily', 'interval': 1, 'month': 0, 'dayOfMonth': 0, 'firstDayOfWeek': 'sunday', 'index': 'first'}, 'range': {'type': 'endDate', 'startDate': '2020-05-04', 'endDate': '2020-05-06', 'recurrenceTimeZone': 'Romance Standard Time', 'numberOfOccurrences': 0}}, 'attendees': [], 'organizer': {'emailAddress': {'name': 'outlook_7BA43549E5FD4413@outlook.com', 'address': 'outlook_7BA43549E5FD4413@outlook.com'}}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAABlLa4RUBXJToExnebpwea2AAAMj8OK"', 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', 'type': 'occurrence', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX7vTsS0AARgAAAkBy7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAAEA==', 'start': {'dateTime': '2020-05-03T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-03T16:30:00.0000000', 'timeZone': 'UTC'}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAABlLa4RUBXJToExnebpwea2AAAMj8OT"', 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAAMkgQrAAAA', 'type': 'occurrence', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX774WtQAAAEYAAAJAcu19N72jSr9Rp1mE2xWABwBlLa4RUBXJToExnebpwea2AAACAQ0AAABlLa4RUBXJToExnebpwea2AAAADJIEKwAAABA=', 'start': {'dateTime': '2020-05-04T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-04T17:00:00.0000000', 'timeZone': 'UTC'}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"ZS2uEVAVyU6BMZ3m6cHmtgAADI/Dkw=="', 'createdDateTime': '2020-05-06T13:25:05.9240043Z', 'lastModifiedDateTime': self.datetime_future, 'changeKey': 'ZS2uEVAVyU6BMZ3m6cHmtgAADI/Dkw==', 'categories': [], 'originalStartTimeZone': 'Romance Standard Time', 'originalEndTimeZone': 'Romance Standard Time', 'iCalUId': '040000008200E00074C5B7101A82E00807E405051A4457A0A923D601000000000000000010000000476AE6084FD718418262DA1AE3E41411', 'reminderMinutesBeforeStart': 15, 'isReminderOn': True, 'hasAttachments': False, 'subject': 'My recurrent event 2', 'bodyPreview': '', 'importance': 'normal', 'sensitivity': 'normal', 'originalStart': '2020-05-05T14:30:00Z', 'isAllDay': False, 'isCancelled': False, 'isOrganizer': True, 'IsRoomRequested': False, 'AutoRoomBookingStatus': 'None', 'responseRequested': True, 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAAMkgQrAAAA', 'showAs': 'busy', 'type': 'exception', 'webLink': 'https://outlook.live.com/owa/?itemid=AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX8IdBHsAARgAAAkBy7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAAMkgQrAAAAEA%3D%3D&exvsurl=1&path=/calendar/item', 'onlineMeetingUrl': None, 'isOnlineMeeting': False, 'onlineMeetingProvider': 'unknown', 'AllowNewTimeProposals': True, 'IsDraft': False, 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX8IdBHsAARgAAAkBy7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAAMkgQrAAAAEA==', 'responseStatus': {'response': 'organizer', 'time': '0001-01-01T00:00:00Z'}, 'body': {'contentType': 'html', 'content': ''}, 'start': {'dateTime': '2020-05-05T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-05T17:00:00.0000000', 'timeZone': 'UTC'}, 'location': {'displayName': '', 'locationType': 'default', 'uniqueIdType': 'unknown', 'address': {}, 'coordinates': {}}, 'locations': [], 'attendees': [], 'organizer': {'emailAddress': {'name': 'outlook_7BA43549E5FD4413@outlook.com', 'address': 'outlook_7BA43549E5FD4413@outlook.com'}}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAABlLa4RUBXJToExnebpwea2AAAMj8OT"', 'seriesMasterId': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAAMkgQrAAAA', 'type': 'occurrence', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoBUQAICADX8VBriIAARgAAAkBy7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAAMkgQrAAAAEA==', 'start': {'dateTime': '2020-05-06T14:30:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2020-05-06T17:00:00.0000000', 'timeZone': 'UTC'}} + ] + + self.env['calendar.event']._sync_microsoft2odoo(MicrosoftEvent(values)) + recurrence_1 = self.env['calendar.recurrence'].search([('microsoft_id', '=', self.recurrence_id)]) + recurrence_2 = self.env['calendar.recurrence'].search([('microsoft_id', '=', 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAAMkgQrAAAA')]) + + events_1 = self.env['calendar.event'].search([('recurrence_id', '=', recurrence_1.id)], order='start asc') + events_2 = self.env['calendar.event'].search([('recurrence_id', '=', recurrence_2.id)], order='start asc') + self.assertTrue(recurrence_1, "It should have created an recurrence") + self.assertTrue(recurrence_2, "It should have created an recurrence") + self.assertEqual(len(events_1), 1, "It should left 1 event") + self.assertEqual(len(events_2), 3, "It should have created 3 events") + self.assertEqual(recurrence_1.base_event_id, events_1[0]) + self.assertEqual(recurrence_2.base_event_id, events_2[0]) + self.assertEqual(events_1.mapped('name'), ['My recurrent event']) + self.assertEqual(events_2.mapped('name'), ['My recurrent event', 'My recurrent event 2', 'My recurrent event']) + self.assertEqual(events_1[0].start, datetime(2020, 5, 3, 14, 30)) + self.assertEqual(events_1[0].stop, datetime(2020, 5, 3, 16, 30)) + self.assertEqual(events_2[0].start, datetime(2020, 5, 4, 14, 30)) + self.assertEqual(events_2[0].stop, datetime(2020, 5, 4, 17, 00)) + self.assertEqual(events_2[1].start, datetime(2020, 5, 5, 14, 30)) + self.assertEqual(events_2[1].stop, datetime(2020, 5, 5, 17, 00)) + self.assertEqual(events_2[2].start, datetime(2020, 5, 6, 14, 30)) + self.assertEqual(events_2[2].stop, datetime(2020, 5, 6, 17, 00)) + + def test_microsoft_recurrence_delete(self): + recurrence_id = self.env['calendar.recurrence'].search([('microsoft_id', '=', self.recurrence_id)]) + event_ids = self.env['calendar.event'].search([('recurrence_id', '=', recurrence_id.id)], order='start asc').ids + values = [{'@odata.type': '#microsoft.graph.event', 'id': 'AQ8PojGtrADQATM3ZmYAZS0yY2MAMC00MDg1LTAwAi0wMAoARgAAA0By7X03vaNKv1GnWYTbFYAHAGUtrhFQFclOgTGd5unB5rYAAAIBDQAAAGUtrhFQFclOgTGd5unB5rYAAAALLLTEAAAA', '@removed': {'reason': 'deleted'}}] + + self.env['calendar.event']._sync_microsoft2odoo(MicrosoftEvent(values)) + + recurrence = self.env['calendar.recurrence'].search([('microsoft_id', '=', self.recurrence_id)]) + events = self.env['calendar.event'].browse(event_ids).exists() + self.assertFalse(recurrence, "It should remove recurrence") + self.assertFalse(events, "It should remove all events") + + def test_attendees_must_have_email(self): + """ + Synching with a partner without mail raises a ValidationError because Microsoft don't accept attendees without one. + """ + MicrosoftCal = MicrosoftCalendarService(self.env['microsoft.service']) + partner = self.env['res.partner'].create({ + 'name': 'SuperPartner', + }) + event = self.env['calendar.event'].create({ + 'name': "SuperEvent", + 'start': datetime(2020, 3, 16, 11, 0), + 'stop': datetime(2020, 3, 16, 13, 0), + 'partner_ids': [(4, partner.id)], + }) + with self.assertRaises(ValidationError): + event._sync_odoo2microsoft(MicrosoftCal) + + def test_cancel_occurence_of_recurrent_event(self): + """ The user is invited to a recurrent event. When synced, all events are present, there are three occurrences: + - 07/15/2021, 15:00-15:30 + - 07/16/2021, 15:00-15:30 + - 07/17/2021, 15:00-15:30 + Then, the organizer cancels the second occurrence -> The latter should not be displayed anymore + """ + microsoft_id = 'AQMkADAwATM3ZmYAZS0zZmMyLWYxYjQtMDACLTAwCgBGAAADZ59RIxdyh0Kt-MXfyCpfwAcApynKRnkCyUmnqILQHcLZEQAAAgENAAAApynKRnkCyUmnqILQHcLZEQAAAARKsSQAAAA=' + # self.env.user.partner_id.email = "odoo_bf_user01@outlook.com" + first_sync_values = [ + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"pynKRnkCyUmnqILQHcLZEQAABElcNQ=="', 'createdDateTime': '2021-07-15T14:47:40.2996962Z', 'lastModifiedDateTime': '2021-07-15T14:47:40.3783507Z', 'changeKey': 'pynKRnkCyUmnqILQHcLZEQAABElcNQ==', 'categories': [], 'transactionId': None, 'originalStartTimeZone': 'Romance Standard Time', 'originalEndTimeZone': 'Romance Standard Time', 'iCalUId': '040000008200E00074C5B7101A82E00800000000B35B3B5A8879D70100000000000000001000000008A0949F4EC0A1479E4ED178D87EF679', 'reminderMinutesBeforeStart': 15, 'isReminderOn': True, 'hasAttachments': False, 'subject': 'Recurrent Event 1646', 'bodyPreview': '', 'importance': 'normal', 'sensitivity': 'normal', 'isAllDay': False, 'isCancelled': False, 'isOrganizer': False, 'IsRoomRequested': False, 'AutoRoomBookingStatus': 'None', 'responseRequested': True, 'seriesMasterId': None, 'showAs': 'tentative', 'type': 'seriesMaster', 'webLink': 'https://outlook.live.com/owa/?itemid=AQMkADAwATM3ZmYAZS0zZmMyLWYxYjQtMDACLTAwCgBGAAADZ59RIxdyh0Kt%2FMXfyCpfwAcApynKRnkCyUmnqILQHcLZEQAAAgENAAAApynKRnkCyUmnqILQHcLZEQAAAARKsSQAAAA%3D&exvsurl=1&path=/calendar/item', 'onlineMeetingUrl': None, 'isOnlineMeeting': False, 'onlineMeetingProvider': 'unknown', 'allowNewTimeProposals': True, 'OccurrenceId': None, 'isDraft': False, 'hideAttendees': False, 'CalendarEventClassifications': [], 'AutoRoomBookingOptions': None, 'onlineMeeting': None, 'id': microsoft_id, 'responseStatus': {'response': 'notResponded', 'time': '0001-01-01T00:00:00Z'}, 'body': {'contentType': 'html', 'content': ''}, 'start': {'dateTime': '2021-07-15T15:00:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2021-07-15T15:30:00.0000000', 'timeZone': 'UTC'}, 'location': {'displayName': '', 'locationType': 'default', 'uniqueIdType': 'unknown', 'address': {}, 'coordinates': {}}, 'locations': [], 'recurrence': {'pattern': {'type': 'daily', 'interval': 1, 'month': 0, 'dayOfMonth': 0, 'firstDayOfWeek': 'sunday', 'index': 'first'}, 'range': {'type': 'endDate', 'startDate': '2021-07-15', 'endDate': '2021-07-17', 'recurrenceTimeZone': 'Romance Standard Time', 'numberOfOccurrences': 0}}, 'attendees': [{'type': 'required', 'status': {'response': 'none', 'time': '0001-01-01T00:00:00Z'}, 'emailAddress': {'name': 'Odoo02 Outlook02', 'address': 'odoo_bf_user02@outlook.com'}}, {'type': 'required', 'status': {'response': 'none', 'time': '0001-01-01T00:00:00Z'}, 'emailAddress': {'name': 'Odoo01 Outlook01', 'address': 'odoo_bf_user01@outlook.com'}}], 'organizer': {'emailAddress': {'name': 'Odoo02 Outlook02', 'address': 'odoo_bf_user02@outlook.com'}}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAACnKcpGeQLJSaeogtAdwtkRAAAESVw1"', 'seriesMasterId': ('%s' % microsoft_id), 'type': 'occurrence', 'id': 'AQMkADAwATM3ZmYAZS0zZmMyLWYxYjQtMDACLTAwCgFRAAgIANlHI305wABGAAACZ59RIxdyh0Kt-MXfyCpfwAcApynKRnkCyUmnqILQHcLZEQAAAgENAAAApynKRnkCyUmnqILQHcLZEQAAAARKsSQAAAAQ', 'start': {'dateTime': '2021-07-15T15:00:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2021-07-15T15:30:00.0000000', 'timeZone': 'UTC'}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAACnKcpGeQLJSaeogtAdwtkRAAAESVw1"', 'seriesMasterId': microsoft_id, 'type': 'occurrence', 'id': 'AQMkADAwATM3ZmYAZS0zZmMyLWYxYjQtMDACLTAwCgFRAAgIANlH7KejgABGAAACZ59RIxdyh0Kt-MXfyCpfwAcApynKRnkCyUmnqILQHcLZEQAAAgENAAAApynKRnkCyUmnqILQHcLZEQAAAARKsSQAAAAQ', 'start': {'dateTime': '2021-07-16T15:00:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2021-07-16T15:30:00.0000000', 'timeZone': 'UTC'}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAACnKcpGeQLJSaeogtAdwtkRAAAESVw1"', 'seriesMasterId': microsoft_id, 'type': 'occurrence', 'id': 'AQMkADAwATM3ZmYAZS0zZmMyLWYxYjQtMDACLTAwCgFRAAgIANlItdINQABGAAACZ59RIxdyh0Kt-MXfyCpfwAcApynKRnkCyUmnqILQHcLZEQAAAgENAAAApynKRnkCyUmnqILQHcLZEQAAAARKsSQAAAAQ', 'start': {'dateTime': '2021-07-17T15:00:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2021-07-17T15:30:00.0000000', 'timeZone': 'UTC'}} + ] + second_sync_values = [ + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"pynKRnkCyUmnqILQHcLZEQAABElcUw=="', 'createdDateTime': '2021-07-15T14:47:40.2996962Z', 'lastModifiedDateTime': '2021-07-15T14:51:25.2560888Z', 'changeKey': 'pynKRnkCyUmnqILQHcLZEQAABElcUw==', 'categories': [], 'transactionId': None, 'originalStartTimeZone': 'Romance Standard Time', 'originalEndTimeZone': 'Romance Standard Time', 'iCalUId': '040000008200E00074C5B7101A82E00800000000B35B3B5A8879D70100000000000000001000000008A0949F4EC0A1479E4ED178D87EF679', 'reminderMinutesBeforeStart': 15, 'isReminderOn': True, 'hasAttachments': False, 'subject': 'Recurrent Event 1646', 'bodyPreview': '', 'importance': 'normal', 'sensitivity': 'normal', 'isAllDay': False, 'isCancelled': False, 'isOrganizer': False, 'IsRoomRequested': False, 'AutoRoomBookingStatus': 'None', 'responseRequested': True, 'seriesMasterId': None, 'showAs': 'tentative', 'type': 'seriesMaster', 'webLink': 'https://outlook.live.com/owa/?itemid=AQMkADAwATM3ZmYAZS0zZmMyLWYxYjQtMDACLTAwCgBGAAADZ59RIxdyh0Kt%2FMXfyCpfwAcApynKRnkCyUmnqILQHcLZEQAAAgENAAAApynKRnkCyUmnqILQHcLZEQAAAARKsSQAAAA%3D&exvsurl=1&path=/calendar/item', 'onlineMeetingUrl': None, 'isOnlineMeeting': False, 'onlineMeetingProvider': 'unknown', 'allowNewTimeProposals': True, 'OccurrenceId': None, 'isDraft': False, 'hideAttendees': False, 'CalendarEventClassifications': [], 'id': microsoft_id, 'responseStatus': {'response': 'notResponded', 'time': '0001-01-01T00:00:00Z'}, 'body': {'contentType': 'html', 'content': ''}, 'start': {'dateTime': '2021-07-15T15:00:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2021-07-15T15:30:00.0000000', 'timeZone': 'UTC'}, 'location': {'displayName': '', 'locationType': 'default', 'uniqueIdType': 'unknown', 'address': {}, 'coordinates': {}}, 'locations': [], 'recurrence': {'pattern': {'type': 'daily', 'interval': 1, 'month': 0, 'dayOfMonth': 0, 'firstDayOfWeek': 'sunday', 'index': 'first'}, 'range': {'type': 'endDate', 'startDate': '2021-07-15', 'endDate': '2021-07-17', 'recurrenceTimeZone': 'Romance Standard Time', 'numberOfOccurrences': 0}}, 'attendees': [{'type': 'required', 'status': {'response': 'none', 'time': '0001-01-01T00:00:00Z'}, 'emailAddress': {'name': 'Odoo02 Outlook02', 'address': 'odoo_bf_user02@outlook.com'}}, {'type': 'required', 'status': {'response': 'none', 'time': '0001-01-01T00:00:00Z'}, 'emailAddress': {'name': 'Odoo01 Outlook01', 'address': 'odoo_bf_user01@outlook.com'}}], 'organizer': {'emailAddress': {'name': 'Odoo02 Outlook02', 'address': 'odoo_bf_user02@outlook.com'}}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAACnKcpGeQLJSaeogtAdwtkRAAAESVxT"', 'seriesMasterId': microsoft_id, 'type': 'occurrence', 'id': 'AQMkADAwATM3ZmYAZS0zZmMyLWYxYjQtMDACLTAwCgFRAAgIANlHI305wABGAAACZ59RIxdyh0Kt-MXfyCpfwAcApynKRnkCyUmnqILQHcLZEQAAAgENAAAApynKRnkCyUmnqILQHcLZEQAAAARKsSQAAAAQ', 'start': {'dateTime': '2021-07-15T15:00:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2021-07-15T15:30:00.0000000', 'timeZone': 'UTC'}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"pynKRnkCyUmnqILQHcLZEQAABElcUw=="', 'createdDateTime': '2021-07-15T14:51:25.1366139Z', 'lastModifiedDateTime': '2021-07-15T14:51:25.136614Z', 'changeKey': 'pynKRnkCyUmnqILQHcLZEQAABElcUw==', 'categories': [], 'transactionId': None, 'originalStartTimeZone': 'Romance Standard Time', 'originalEndTimeZone': 'Romance Standard Time', 'iCalUId': '040000008200E00074C5B7101A82E00807E50710B35B3B5A8879D70100000000000000001000000008A0949F4EC0A1479E4ED178D87EF679', 'reminderMinutesBeforeStart': 15, 'isReminderOn': True, 'hasAttachments': False, 'subject': 'Canceled: Recurrent Event 1646', 'bodyPreview': '', 'importance': 'high', 'sensitivity': 'normal', 'originalStart': '2021-07-16T15:00:00Z', 'isAllDay': False, 'isCancelled': True, 'isOrganizer': False, 'IsRoomRequested': False, 'AutoRoomBookingStatus': 'None', 'responseRequested': True, 'seriesMasterId': microsoft_id, 'showAs': 'free', 'type': 'exception', 'webLink': 'https://outlook.live.com/owa/?itemid=AQMkADAwATM3ZmYAZS0zZmMyLWYxYjQtMDACLTAwCgFRAAgIANlH7KejgABGAAACZ59RIxdyh0Kt%2FMXfyCpfwAcApynKRnkCyUmnqILQHcLZEQAAAgENAAAApynKRnkCyUmnqILQHcLZEQAAAARKsSQAAAAQ&exvsurl=1&path=/calendar/item', 'onlineMeetingUrl': None, 'isOnlineMeeting': False, 'onlineMeetingProvider': 'unknown', 'allowNewTimeProposals': True, 'OccurrenceId': ('OID.%s.2021-07-16' % microsoft_id), 'isDraft': False, 'hideAttendees': False, 'CalendarEventClassifications': [], 'id': 'AQMkADAwATM3ZmYAZS0zZmMyLWYxYjQtMDACLTAwCgFRAAgIANlH7KejgABGAAACZ59RIxdyh0Kt-MXfyCpfwAcApynKRnkCyUmnqILQHcLZEQAAAgENAAAApynKRnkCyUmnqILQHcLZEQAAAARKsSQAAAAQ', 'responseStatus': {'response': 'notResponded', 'time': '0001-01-01T00:00:00Z'}, 'body': {'contentType': 'html', 'content': '<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r\n<meta name="Generator" content="Microsoft Exchange Server">\r\n<!-- converted from text -->\r\n<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style></head>\r\n<body>\r\n<font size="2"><span style="font-size:11pt;"><div class="PlainText"> </div></span></font>\r\n</body>\r\n</html>\r\n'}, 'start': {'dateTime': '2021-07-16T15:00:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2021-07-16T15:30:00.0000000', 'timeZone': 'UTC'}, 'location': {'displayName': '', 'locationType': 'default', 'uniqueIdType': 'unknown', 'address': {}, 'coordinates': {}}, 'locations': [], 'attendees': [{'type': 'required', 'status': {'response': 'none', 'time': '0001-01-01T00:00:00Z'}, 'emailAddress': {'name': 'Odoo02 Outlook02', 'address': 'odoo_bf_user02@outlook.com'}}, {'type': 'required', 'status': {'response': 'none', 'time': '0001-01-01T00:00:00Z'}, 'emailAddress': {'name': 'Odoo01 Outlook01', 'address': 'odoo_bf_user01@outlook.com'}}], 'organizer': {'emailAddress': {'name': 'Odoo02 Outlook02', 'address': 'odoo_bf_user02@outlook.com'}}}, + {'@odata.type': '#microsoft.graph.event', '@odata.etag': 'W/"DwAAABYAAACnKcpGeQLJSaeogtAdwtkRAAAESVxT"', 'seriesMasterId': microsoft_id, 'type': 'occurrence', 'id': 'AQMkADAwATM3ZmYAZS0zZmMyLWYxYjQtMDACLTAwCgFRAAgIANlItdINQABGAAACZ59RIxdyh0Kt-MXfyCpfwAcApynKRnkCyUmnqILQHcLZEQAAAgENAAAApynKRnkCyUmnqILQHcLZEQAAAARKsSQAAAAQ', 'start': {'dateTime': '2021-07-17T15:00:00.0000000', 'timeZone': 'UTC'}, 'end': {'dateTime': '2021-07-17T15:30:00.0000000', 'timeZone': 'UTC'}} + ] + + self.env['calendar.event']._sync_microsoft2odoo(MicrosoftEvent(first_sync_values)) + recurrent_event = self.env['calendar.recurrence'].search([('microsoft_id', '=', 'AQMkADAwATM3ZmYAZS0zZmMyLWYxYjQtMDACLTAwCgBGAAADZ59RIxdyh0Kt-MXfyCpfwAcApynKRnkCyUmnqILQHcLZEQAAAgENAAAApynKRnkCyUmnqILQHcLZEQAAAARKsSQAAAA=')]) + self.assertEqual(len(recurrent_event.calendar_event_ids), 3) + + # Need to cheat on the write date, otherwise the second sync won't update the events + recurrent_event.write_date = datetime(2021, 7, 15, 14, 00) + + self.env['calendar.event']._sync_microsoft2odoo(MicrosoftEvent(second_sync_values)) + self.assertEqual(len(recurrent_event.calendar_event_ids), 2) + self.assertEqual(recurrent_event.calendar_event_ids[0].start, datetime(2021, 7, 15, 15, 00)) + self.assertEqual(recurrent_event.calendar_event_ids[0].stop, datetime(2021, 7, 15, 15, 30)) + self.assertEqual(recurrent_event.calendar_event_ids[1].start, datetime(2021, 7, 17, 15, 00)) + self.assertEqual(recurrent_event.calendar_event_ids[1].stop, datetime(2021, 7, 17, 15, 30)) diff --git a/addons/microsoft_calendar/utils/__init__.py b/addons/microsoft_calendar/utils/__init__.py new file mode 100644 index 00000000..15a47c3f --- /dev/null +++ b/addons/microsoft_calendar/utils/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. +from . import microsoft_calendar +from . import microsoft_event diff --git a/addons/microsoft_calendar/utils/microsoft_calendar.py b/addons/microsoft_calendar/utils/microsoft_calendar.py new file mode 100644 index 00000000..04029468 --- /dev/null +++ b/addons/microsoft_calendar/utils/microsoft_calendar.py @@ -0,0 +1,105 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import requests +import json +import logging + +from werkzeug import urls + +from odoo import api, _ +from odoo.addons.microsoft_calendar.utils.microsoft_event import MicrosoftEvent +from odoo.addons.microsoft_account.models.microsoft_service import TIMEOUT + + +_logger = logging.getLogger(__name__) + +def requires_auth_token(func): + def wrapped(self, *args, **kwargs): + if not kwargs.get('token'): + raise AttributeError("An authentication token is required") + return func(self, *args, **kwargs) + return wrapped + +class InvalidSyncToken(Exception): + pass + +class MicrosoftCalendarService(): + + def __init__(self, microsoft_service): + self.microsoft_service = microsoft_service + + @requires_auth_token + def get_events(self, sync_token=None, token=None, timeout=TIMEOUT): + url = "/v1.0/me/calendarView/delta" + headers = {'Content-type': 'application/json', 'Authorization': 'Bearer %s' % token} + params = {} + if sync_token: + params['$deltatoken'] = sync_token + else: + params['startDateTime'] = '2016-12-01T00:00:00Z' + params['endDateTime'] = '2030-1-01T00:00:00Z' + try: + status, data, time = self.microsoft_service._do_request(url, params, headers, method='GET', timeout=timeout) + except requests.HTTPError as e: + if e.response.status_code == 410 and 'fullSyncRequired' in str(e.response.content): + raise InvalidSyncToken("Invalid sync token. Full sync required") + raise e + + events = data.get('value', []) + next_page_token = data.get('@odata.nextLink') + while next_page_token: + status, data, time = self.microsoft_service._do_request(next_page_token, {}, headers, preuri='', method='GET', timeout=timeout) + next_page_token = data.get('@odata.nextLink') + events += data.get('value', []) + + next_sync_token_url = data.get('@odata.deltaLink') + next_sync_token = urls.url_parse(next_sync_token_url).decode_query().get('$deltatoken', False) + + default_reminders = data.get('defaultReminders') + + return MicrosoftEvent(events), next_sync_token, default_reminders + + @requires_auth_token + def insert(self, values, token=None, timeout=TIMEOUT): + url = "/v1.0/me/calendar/events" + headers = {'Content-type': 'application/json', 'Authorization': 'Bearer %s' % token} + if not values.get('id'): + values.pop('id', None) + status, data, time = self.microsoft_service._do_request(url, json.dumps(values), headers, method='POST', timeout=timeout) + return data['id'] + + @requires_auth_token + def patch(self, event_id, values, token=None, timeout=TIMEOUT): + url = "/v1.0/me/calendar/events/%s" % event_id + headers = {'Content-type': 'application/json', 'Authorization': 'Bearer %s' % token} + self.microsoft_service._do_request(url, json.dumps(values), headers, method='PATCH', timeout=timeout) + + @requires_auth_token + def delete(self, event_id, token=None, timeout=TIMEOUT): + url = "/v1.0/me/calendar/events/%s" % event_id + headers = {'Authorization': 'Bearer %s' % token} + params = {} + try: + self.microsoft_service._do_request(url, params, headers=headers, method='DELETE', timeout=timeout) + except requests.HTTPError as e: + # For some unknown reason Microsoft can also return a 403 response when the event is already cancelled. + if e.response.status_code not in (410, 403): + raise e + _logger.info("Microsoft event %s was already deleted" % event_id) + + ##################################### + ## MANAGE CONNEXION TO MICROSOFT ## + ##################################### + + def is_authorized(self, user): + return bool(user.sudo().microsoft_calendar_rtoken) + + def _get_calendar_scope(self): + return 'offline_access openid Calendars.ReadWrite' + + def _microsoft_authentication_url(self, from_url='http://www.odoo.com'): + return self.microsoft_service._get_authorize_uri(from_url, service='calendar', scope=self._get_calendar_scope()) + + def _can_authorize_microsoft(self, user): + return user.has_group('base.group_erp_manager') diff --git a/addons/microsoft_calendar/utils/microsoft_event.py b/addons/microsoft_calendar/utils/microsoft_event.py new file mode 100644 index 00000000..333c4511 --- /dev/null +++ b/addons/microsoft_calendar/utils/microsoft_event.py @@ -0,0 +1,223 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. +from odoo.api import model +from typing import Iterator, Mapping +from collections import abc + + +class MicrosoftEvent(abc.Set): + """This helper class holds the values of a Microsoft event. + Inspired by Odoo recordset, one instance can be a single Microsoft event or a + (immutable) set of Microsoft events. + All usual set operations are supported (union, intersection, etc). + + :param iterable: iterable of MicrosoftCalendar instances or iterable of dictionnaries + + """ + + def __init__(self, iterable=()): + self._events = {} + for item in iterable: + if isinstance(item, self.__class__): + self._events[item.id] = item._events[item.id] + elif isinstance(item, Mapping): + self._events[item.get('id')] = item + else: + raise ValueError("Only %s or iterable of dict are supported" % self.__class__.__name__) + + def __iter__(self) -> Iterator['MicrosoftEvent']: + return iter(MicrosoftEvent([vals]) for vals in self._events.values()) + + def __contains__(self, microsoft_event): + return microsoft_event.id in self._events + + def __len__(self): + return len(self._events) + + def __bool__(self): + return bool(self._events) + + def __getattr__(self, name): + # ensure_one + try: + event, = self._events.keys() + except ValueError: + raise ValueError("Expected singleton: %s" % self) + event_id = list(self._events.keys())[0] + return self._events[event_id].get(name) + + def __repr__(self): + return '%s%s' % (self.__class__.__name__, self.ids) + + @property + def ids(self): + return tuple(e.id for e in self) + + def microsoft_ids(self): + return tuple(e.id for e in self) + + def odoo_id(self, env): + self.odoo_ids(env) # load ids + return self._odoo_id + + def _meta_odoo_id(self, microsoft_guid): + """Returns the Odoo id stored in the Microsoft Event metadata. + This id might not actually exists in the database. + """ + if self.singleValueExtendedProperties: + o_id = [prop['value'] for prop in self.singleValueExtendedProperties if prop['id'] == 'String {%s} Name odoo_id' % microsoft_guid][0] + return int(o_id) + + def odoo_ids(self, env): + ids = tuple(e._odoo_id for e in self if e._odoo_id) + if len(ids) == len(self): + return ids + found = self._load_odoo_ids_from_db(env) + unsure = self - found + if unsure: + unsure._load_odoo_ids_from_metadata(env) + + return tuple(e._odoo_id for e in self) + + def _load_odoo_ids_from_metadata(self, env): + model_env = self._get_model(env) + microsoft_guid = env['ir.config_parameter'].sudo().get_param('microsoft_calendar.microsoft_guid', False) + unsure_odoo_ids = tuple(e._meta_odoo_id(microsoft_guid) for e in self) + odoo_events = model_env.browse(_id for _id in unsure_odoo_ids if _id) + + # Extended properties are copied when splitting a recurrence Microsoft side. + # Hence, we may have two Microsoft recurrences linked to the same Odoo id. + # Therefore, we only consider Odoo records without microsoft id when trying + # to match events. + o_ids = odoo_events.exists().filtered(lambda e: not e.microsoft_id).ids + for e in self: + odoo_id = e._meta_odoo_id(microsoft_guid) + if odoo_id in o_ids: + e._events[e.id]['_odoo_id'] = odoo_id + + def _load_odoo_ids_from_db(self, env): + model_env = self._get_model(env) + odoo_events = model_env.with_context(active_test=False)._from_microsoft_ids(self.ids).with_env(env) + mapping = {e.microsoft_id: e.id for e in odoo_events} + existing_microsoft_ids = odoo_events.mapped('microsoft_id') + for e in self: + odoo_id = mapping.get(e.id) + if odoo_id: + e._events[e.id]['_odoo_id'] = odoo_id + return self.filter(lambda e: e.id in existing_microsoft_ids) + + def owner(self, env): + # Owner/organizer could be desynchronised between Microsoft and Odoo. + # Let userA, userB be two new users (never synced to Microsoft before). + # UserA creates an event in Odoo (he is the owner) but userB syncs first. + # There is no way to insert the event into userA's calendar since we don't have + # any authentication access. The event is therefore inserted into userB's calendar + # (he is the orginizer in Microsoft). The "real" owner (in Odoo) is stored as an + # extended property. There is currently no support to "transfert" ownership when + # userA syncs his calendar the first time. + if self.singleValueExtendedProperties: + microsoft_guid = env['ir.config_parameter'].sudo().get_param('microsoft_calendar.microsoft_guid', False) + real_owner_id = [prop['value'] for prop in self.singleValueExtendedProperties if prop['id'] == 'String {%s} Name owner_odoo_id' % microsoft_guid][0] + real_owner = real_owner_id and env['res.users'].browse(int(real_owner_id)) + else: + real_owner_id = False + + if real_owner_id and real_owner.exists(): + return real_owner + elif self.isOrganizer: + return env.user + elif self.organizer and self.organizer.get('emailAddress') and self.organizer.get('emailAddress').get('address'): + # In Microsoft: 1 email = 1 user; but in Odoo several users might have the same email + return env['res.users'].search([('email', '=', self.organizer.get('emailAddress').get('address'))], limit=1) + else: + return env['res.users'] + + def filter(self, func) -> 'MicrosoftEvent': + return MicrosoftEvent(e for e in self if func(e)) + + def is_recurrence(self): + return self.type == 'seriesMaster' + + def is_recurrent(self): + return bool(self.seriesMasterId or self.is_recurrence()) + + def is_recurrent_not_master(self): + return bool(self.seriesMasterId) + + def get_recurrence(self): + if not self.recurrence: + return {} + pattern = self.recurrence['pattern'] + range = self.recurrence['range'] + end_type_dict = { + 'endDate': 'end_date', + 'noEnd': 'forever', + 'numbered': 'count', + } + type_dict = { + 'absoluteMonthly': 'monthly', + 'relativeMonthly': 'monthly', + 'absoluteYearly': 'yearly', + 'relativeYearly': 'yearly', + } + index_dict = { + 'first': '1', + 'second': '2', + 'third': '3', + 'fourth': '4', + 'last': '-1', + } + rrule_type = type_dict.get(pattern['type'], pattern['type']) + interval = pattern['interval'] + if rrule_type == 'yearly': + interval *= 12 + result = { + 'rrule_type': rrule_type, + 'end_type': end_type_dict.get(range['type'], False), + 'interval': interval, + 'count': range['numberOfOccurrences'], + 'day': pattern['dayOfMonth'], + 'byday': index_dict.get(pattern['index'], False), + 'until': range['type'] == 'endDate' and range['endDate'], + } + + month_by_dict = { + 'absoluteMonthly': 'date', + 'relativeMonthly': 'day', + 'absoluteYearly': 'date', + 'relativeYearly': 'day', + } + month_by = month_by_dict.get(pattern['type'], False) + if month_by: + result['month_by'] = month_by + + week_days = [x[:2] for x in pattern.get('daysOfWeek', [])] + for week_day in ['mo', 'tu', 'we', 'th', 'fr', 'sa', 'su']: + result[week_day] = week_day in week_days + if week_days: + result['weekday'] = week_days[0].upper() + return result + + def is_cancelled(self): + return bool(self.isCancelled or (self.__getattr__('@removed') and self.__getattr__('@removed').get('reason') == 'deleted')) + + def is_recurrence_outlier(self): + return bool(self.originalStartTime) + + def cancelled(self): + return self.filter(lambda e: e.is_cancelled()) + + def exists(self, env) -> 'MicrosoftEvent': + recurrences = self.filter(MicrosoftEvent.is_recurrence) + events = self - recurrences + recurrences.odoo_ids(env) + events.odoo_ids(env) + + return self.filter(lambda e: e._odoo_id) + + def _get_model(self, env): + if all(e.is_recurrence() for e in self): + return env['calendar.recurrence'] + if all(not e.is_recurrence() for e in self): + return env['calendar.event'] + raise TypeError("Mixing Microsoft events and Microsoft recurrences") diff --git a/addons/microsoft_calendar/views/microsoft_calendar_templates.xml b/addons/microsoft_calendar/views/microsoft_calendar_templates.xml new file mode 100644 index 00000000..e9852051 --- /dev/null +++ b/addons/microsoft_calendar/views/microsoft_calendar_templates.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <template id="assets_backend" name="microsoft_calendar assets" inherit_id="web.assets_backend"> + <xpath expr="." position="inside"> + <link rel="stylesheet" type="text/scss" href="/microsoft_calendar/static/src/scss/microsoft_calendar.scss"/> + <script type="text/javascript" src="/microsoft_calendar/static/src/js/microsoft_calendar_popover.js"></script> + <script type="text/javascript" src="/microsoft_calendar/static/src/js/microsoft_calendar.js"></script> + </xpath> + </template> +</odoo> diff --git a/addons/microsoft_calendar/views/microsoft_calendar_views.xml b/addons/microsoft_calendar/views/microsoft_calendar_views.xml new file mode 100644 index 00000000..dd0db461 --- /dev/null +++ b/addons/microsoft_calendar/views/microsoft_calendar_views.xml @@ -0,0 +1,13 @@ +<?xml version="1.0"?> +<odoo> + <record id="view_microsoft_calendar_event" model="ir.ui.view"> + <field name="name">microsoft_calendar.event.calendar</field> + <field name="model">calendar.event</field> + <field name="inherit_id" ref="calendar.view_calendar_event_calendar"/> + <field name="arch" type="xml"> + <field name="attendee_status" position="after"> + <field name="microsoft_id" invisible="1"/> + </field> + </field> + </record> +</odoo> diff --git a/addons/microsoft_calendar/views/res_config_settings_views.xml b/addons/microsoft_calendar/views/res_config_settings_views.xml new file mode 100644 index 00000000..4156b7a3 --- /dev/null +++ b/addons/microsoft_calendar/views/res_config_settings_views.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <record id="res_config_settings_view_form" model="ir.ui.view"> + <field name="name">res.config.settings.view.form.inherit.microsoft.calendar</field> + <field name="model">res.config.settings</field> + <field name="inherit_id" ref="base_setup.res_config_settings_view_form"/> + <field name="arch" type="xml"> + <div id="msg_module_microsoft_calendar" position="replace"> + <div class="content-group" attrs="{'invisible': [('module_microsoft_calendar','=',False)]}"> + <div class="mt16 row"> + <label for="cal_microsoft_client_id" string="Client ID" class="col-3 col-lg-3 o_light_label"/> + <field name="cal_microsoft_client_id" nolabel="1"/> + <label for="cal_microsoft_client_secret" string="Client Secret" class="col-3 col-lg-3 o_light_label"/> + <field name="cal_microsoft_client_secret" password="True" nolabel="1"/> + </div> + </div> + </div> + </field> + </record> +</odoo> diff --git a/addons/microsoft_calendar/views/res_users_views.xml b/addons/microsoft_calendar/views/res_users_views.xml new file mode 100644 index 00000000..e15de470 --- /dev/null +++ b/addons/microsoft_calendar/views/res_users_views.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + + <record id="view_users_form" model="ir.ui.view"> + <field name="name">res.users.form</field> + <field name="model">res.users</field> + <field name="inherit_id" ref="base.view_users_form"/> + <field name="arch" type="xml"> + <notebook colspan="4" position="inside"> + <page string="Outlook Calendar" name="calendar" groups="base.group_system"> + <group> + <field name="microsoft_calendar_rtoken" readonly="1"/> + <field name="microsoft_calendar_token" readonly="1"/> + <field name="microsoft_calendar_token_validity" readonly="1"/> + <field name="microsoft_calendar_sync_token" readonly="1"/> + </group> + <button + string="Reset Account" class="btn btn-secondary" + type="action" name="%(microsoft_calendar_reset_account_action)d" + context="{'default_user_id': id}"/> + </page> + </notebook> + </field> + </record> + +</odoo> diff --git a/addons/microsoft_calendar/wizard/__init__.py b/addons/microsoft_calendar/wizard/__init__.py new file mode 100644 index 00000000..6e2f3e5d --- /dev/null +++ b/addons/microsoft_calendar/wizard/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import reset_account diff --git a/addons/microsoft_calendar/wizard/reset_account.py b/addons/microsoft_calendar/wizard/reset_account.py new file mode 100644 index 00000000..1a21a292 --- /dev/null +++ b/addons/microsoft_calendar/wizard/reset_account.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models + +from odoo.addons.microsoft_calendar.models.microsoft_sync import microsoft_calendar_token +from odoo.addons.microsoft_calendar.utils.microsoft_calendar import MicrosoftCalendarService + + +class ResetMicrosoftAccount(models.TransientModel): + _name = 'microsoft.calendar.account.reset' + _description = 'Microsoft Calendar Account Reset' + + user_id = fields.Many2one('res.users', required=True) + delete_policy = fields.Selection( + [('dont_delete', "Leave them untouched"), + ('delete_microsoft', "Delete from the current Microsoft Calendar account"), + ('delete_odoo', "Delete from Odoo"), + ('delete_both', "Delete from both"), + ], string="User's Existing Events", required=True, default='dont_delete', + help="This will only affect events for which the user is the owner") + sync_policy = fields.Selection([ + ('new', "Synchronize only new events"), + ('all', "Synchronize all existing events"), + ], string="Next Synchronization", required=True, default='new') + + def reset_account(self): + microsoft = MicrosoftCalendarService(self.env['microsoft.service']) + + events = self.env['calendar.event'].search([ + ('user_id', '=', self.user_id.id), + ('microsoft_id', '!=', False)]) + if self.delete_policy in ('delete_microsoft', 'delete_both'): + with microsoft_calendar_token(self.user_id) as token: + for event in events: + microsoft.delete(event.microsoft_id, token=token) + + if self.delete_policy in ('delete_odoo', 'delete_both'): + events.microsoft_id = False + events.unlink() + + if self.sync_policy == 'all': + events.write({ + 'microsoft_id': False, + 'need_sync_m': True, + }) + + self.user_id._set_microsoft_auth_tokens(False, False, 0) + self.user_id.write({ + 'microsoft_calendar_sync_token': False, + }) diff --git a/addons/microsoft_calendar/wizard/reset_account_views.xml b/addons/microsoft_calendar/wizard/reset_account_views.xml new file mode 100644 index 00000000..1646c6e9 --- /dev/null +++ b/addons/microsoft_calendar/wizard/reset_account_views.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <record id="microsoft_calendar_reset_account_view_form" model="ir.ui.view"> + <field name="name">microsoft.calendar.account.reset.form</field> + <field name="model">microsoft.calendar.account.reset</field> + <field name="arch" type="xml"> + <form> + <h1>Reset Outlook Calendar Account</h1> + <group> + <field name="delete_policy" widget="radio"/> + <field name="sync_policy" widget="radio"/> + </group> + + <footer> + <button name="reset_account" string="Confirm" type="object" class="btn-primary"/> + <button string="Cancel" class="btn-secondary" special="cancel" /> + </footer> + </form> + </field> + </record> + + <record id="microsoft_calendar_reset_account_action" model="ir.actions.act_window"> + <field name="name"></field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">microsoft.calendar.account.reset</field> + <field name="view_mode">form</field> + <field name="target">new</field> + </record> +</odoo> |
