diff options
Diffstat (limited to 'apps/dav')
96 files changed, 2029 insertions, 823 deletions
diff --git a/apps/dav/appinfo/routes.php b/apps/dav/appinfo/routes.php index d0953add93f..91c1ba58ea2 100644 --- a/apps/dav/appinfo/routes.php +++ b/apps/dav/appinfo/routes.php @@ -11,9 +11,6 @@ return [ ['name' => 'invitation_response#decline', 'url' => '/invitation/decline/{token}', 'verb' => 'GET'], ['name' => 'invitation_response#options', 'url' => '/invitation/moreOptions/{token}', 'verb' => 'GET'], ['name' => 'invitation_response#processMoreOptionsResult', 'url' => '/invitation/moreOptions/{token}', 'verb' => 'POST'], - ['name' => 'example_content#getDefaultContact', 'url' => '/api/defaultcontact/contact', 'verb' => 'GET'], - ['name' => 'example_content#setDefaultContact', 'url' => '/api/defaultcontact/contact', 'verb' => 'PUT'], - ['name' => 'example_content#setEnableDefaultContact', 'url' => '/api/defaultcontact/config', 'verb' => 'PUT'], ], 'ocs' => [ ['name' => 'direct#getUrl', 'url' => '/api/v1/direct', 'verb' => 'POST'], diff --git a/apps/dav/composer/composer/autoload_classmap.php b/apps/dav/composer/composer/autoload_classmap.php index 312f30ca8c5..4c48f343c4c 100644 --- a/apps/dav/composer/composer/autoload_classmap.php +++ b/apps/dav/composer/composer/autoload_classmap.php @@ -366,7 +366,7 @@ return array( 'OCA\\DAV\\Server' => $baseDir . '/../lib/Server.php', 'OCA\\DAV\\ServerFactory' => $baseDir . '/../lib/ServerFactory.php', 'OCA\\DAV\\Service\\AbsenceService' => $baseDir . '/../lib/Service/AbsenceService.php', - 'OCA\\DAV\\Service\\DefaultContactService' => $baseDir . '/../lib/Service/DefaultContactService.php', + 'OCA\\DAV\\Service\\ExampleContactService' => $baseDir . '/../lib/Service/ExampleContactService.php', 'OCA\\DAV\\Service\\ExampleEventService' => $baseDir . '/../lib/Service/ExampleEventService.php', 'OCA\\DAV\\Settings\\Admin\\SystemAddressBookSettings' => $baseDir . '/../lib/Settings/Admin/SystemAddressBookSettings.php', 'OCA\\DAV\\Settings\\AvailabilitySettings' => $baseDir . '/../lib/Settings/AvailabilitySettings.php', diff --git a/apps/dav/composer/composer/autoload_static.php b/apps/dav/composer/composer/autoload_static.php index aeb354685bf..4d9166a2d5a 100644 --- a/apps/dav/composer/composer/autoload_static.php +++ b/apps/dav/composer/composer/autoload_static.php @@ -381,7 +381,7 @@ class ComposerStaticInitDAV 'OCA\\DAV\\Server' => __DIR__ . '/..' . '/../lib/Server.php', 'OCA\\DAV\\ServerFactory' => __DIR__ . '/..' . '/../lib/ServerFactory.php', 'OCA\\DAV\\Service\\AbsenceService' => __DIR__ . '/..' . '/../lib/Service/AbsenceService.php', - 'OCA\\DAV\\Service\\DefaultContactService' => __DIR__ . '/..' . '/../lib/Service/DefaultContactService.php', + 'OCA\\DAV\\Service\\ExampleContactService' => __DIR__ . '/..' . '/../lib/Service/ExampleContactService.php', 'OCA\\DAV\\Service\\ExampleEventService' => __DIR__ . '/..' . '/../lib/Service/ExampleEventService.php', 'OCA\\DAV\\Settings\\Admin\\SystemAddressBookSettings' => __DIR__ . '/..' . '/../lib/Settings/Admin/SystemAddressBookSettings.php', 'OCA\\DAV\\Settings\\AvailabilitySettings' => __DIR__ . '/..' . '/../lib/Settings/AvailabilitySettings.php', diff --git a/apps/dav/l10n/ar.js b/apps/dav/l10n/ar.js index 8b977d009c9..a058786dd54 100644 --- a/apps/dav/l10n/ar.js +++ b/apps/dav/l10n/ar.js @@ -290,6 +290,17 @@ OC.L10N.register( "Pick a start time for {dayName}" : "إختَر وقت البدء ليوم {dayName}", "Pick a end time for {dayName}" : "إختَر وقت الانتهاء ليوم {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "قم بتعيين حالة المستخدم تلقائيًا على \"عدم الإزعاج\" خارج نطاق أوقات التواجد لكتم جميع الإشعارات", + "Cancel" : "إلغاء", + "Import" : "إستيراد", + "Error while saving settings" : "خطأ أثناء حفظ الإعدادات", + "Contact reset successfully" : "تمّت إعادة تعيين جهة الاتصال بنجاحٍ", + "Error while resetting contact" : "خطأ أثناء إعادة تعيين جهة الاتصال", + "Contact imported successfully" : "تمّ استيراد جهة الاتصال بنجاحٍ", + "Error while importing contact" : "خطأ أثناء استيراد جهة الاتصال", + "Import contact" : "استيراد جهة اتصال", + "Reset to default" : "اعادة تعيين الافتراضيات", + "Import contacts" : "استيراد جهات اتصال", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "استيراد ملف .cvf جديد سوف يؤدي إلى حذف جهات الاتصال التلقائية الحالية واستبدالها بالجديدة. هل ترغب في الاستمرار؟", "Availability" : "أوقات التواجد ", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "إذا قمت بضبط ساعات عملك، سيرى الآخرون متى تكون خارج المكتب عندما يقومون بحجز اجتماع معك.", "Absence" : "غياب", @@ -306,19 +317,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "أرسل إشعارات للتذكير إلى المشتركين بالتقويم كذلك", "Reminders are always sent to organizers and attendees." : "إشعارات التذكير يتم إرسالها دائماً إلى مُنظّم أو مُنظّمي الحدث و المستهدفين بحضوره.", "Enable notifications for events via push" : "تمكين الإشعارات حول الأحداث عن طريق أسلوب دفع الإشعارات Push", - "Cancel" : "إلغاء", - "Import" : "إستيراد", - "Error while saving settings" : "خطأ أثناء حفظ الإعدادات", - "Contact reset successfully" : "تمّت إعادة تعيين جهة الاتصال بنجاحٍ", - "Error while resetting contact" : "خطأ أثناء إعادة تعيين جهة الاتصال", - "Contact imported successfully" : "تمّ استيراد جهة الاتصال بنجاحٍ", - "Error while importing contact" : "خطأ أثناء استيراد جهة الاتصال", - "Example Content" : "نموذج للمحتوى", - "Set example content to be created on new user first login." : "عيِّن نموذجاً للمحتوى ليتم إنشاؤه عند تسجيل المستخدِم دخوله لأول مرةٍ.", - "Import contact" : "استيراد جهة اتصال", - "Reset to default contact" : "إعادة التعيين لجهة اتصال تلقائية ", - "Import contacts" : "استيراد جهات اتصال", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "استيراد ملف .cvf جديد سوف يؤدي إلى حذف جهات الاتصال التلقائية الحالية واستبدالها بالجديدة. هل ترغب في الاستمرار؟", "There was an error updating your attendance status." : "حدث خطأ في تحديث حالة حضورك.", "Please contact the organizer directly." : "يرجى الاتصال بالمنظم مباشرةً", "Are you accepting the invitation?" : "هل تقبل الدعوة؟", diff --git a/apps/dav/l10n/ar.json b/apps/dav/l10n/ar.json index 26267cc12f8..212dc54ee03 100644 --- a/apps/dav/l10n/ar.json +++ b/apps/dav/l10n/ar.json @@ -288,6 +288,17 @@ "Pick a start time for {dayName}" : "إختَر وقت البدء ليوم {dayName}", "Pick a end time for {dayName}" : "إختَر وقت الانتهاء ليوم {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "قم بتعيين حالة المستخدم تلقائيًا على \"عدم الإزعاج\" خارج نطاق أوقات التواجد لكتم جميع الإشعارات", + "Cancel" : "إلغاء", + "Import" : "إستيراد", + "Error while saving settings" : "خطأ أثناء حفظ الإعدادات", + "Contact reset successfully" : "تمّت إعادة تعيين جهة الاتصال بنجاحٍ", + "Error while resetting contact" : "خطأ أثناء إعادة تعيين جهة الاتصال", + "Contact imported successfully" : "تمّ استيراد جهة الاتصال بنجاحٍ", + "Error while importing contact" : "خطأ أثناء استيراد جهة الاتصال", + "Import contact" : "استيراد جهة اتصال", + "Reset to default" : "اعادة تعيين الافتراضيات", + "Import contacts" : "استيراد جهات اتصال", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "استيراد ملف .cvf جديد سوف يؤدي إلى حذف جهات الاتصال التلقائية الحالية واستبدالها بالجديدة. هل ترغب في الاستمرار؟", "Availability" : "أوقات التواجد ", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "إذا قمت بضبط ساعات عملك، سيرى الآخرون متى تكون خارج المكتب عندما يقومون بحجز اجتماع معك.", "Absence" : "غياب", @@ -304,19 +315,6 @@ "Send reminder notifications to calendar sharees as well" : "أرسل إشعارات للتذكير إلى المشتركين بالتقويم كذلك", "Reminders are always sent to organizers and attendees." : "إشعارات التذكير يتم إرسالها دائماً إلى مُنظّم أو مُنظّمي الحدث و المستهدفين بحضوره.", "Enable notifications for events via push" : "تمكين الإشعارات حول الأحداث عن طريق أسلوب دفع الإشعارات Push", - "Cancel" : "إلغاء", - "Import" : "إستيراد", - "Error while saving settings" : "خطأ أثناء حفظ الإعدادات", - "Contact reset successfully" : "تمّت إعادة تعيين جهة الاتصال بنجاحٍ", - "Error while resetting contact" : "خطأ أثناء إعادة تعيين جهة الاتصال", - "Contact imported successfully" : "تمّ استيراد جهة الاتصال بنجاحٍ", - "Error while importing contact" : "خطأ أثناء استيراد جهة الاتصال", - "Example Content" : "نموذج للمحتوى", - "Set example content to be created on new user first login." : "عيِّن نموذجاً للمحتوى ليتم إنشاؤه عند تسجيل المستخدِم دخوله لأول مرةٍ.", - "Import contact" : "استيراد جهة اتصال", - "Reset to default contact" : "إعادة التعيين لجهة اتصال تلقائية ", - "Import contacts" : "استيراد جهات اتصال", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "استيراد ملف .cvf جديد سوف يؤدي إلى حذف جهات الاتصال التلقائية الحالية واستبدالها بالجديدة. هل ترغب في الاستمرار؟", "There was an error updating your attendance status." : "حدث خطأ في تحديث حالة حضورك.", "Please contact the organizer directly." : "يرجى الاتصال بالمنظم مباشرةً", "Are you accepting the invitation?" : "هل تقبل الدعوة؟", diff --git a/apps/dav/l10n/ast.js b/apps/dav/l10n/ast.js index 5b9dff11f0e..b0cba5d934f 100644 --- a/apps/dav/l10n/ast.js +++ b/apps/dav/l10n/ast.js @@ -195,6 +195,10 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Escueyi una hora de comienzu pal {dayName}", "Pick a end time for {dayName}" : "Escueyi una hora de fin pal {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Afitar automáticamente l'estáu a «Nun molestar» fuera de la disponibilidá pa desactivar tolos avisos.", + "Cancel" : "Encaboxar", + "Import" : "Importa", + "Error while saving settings" : "Hebo un error mentanto se guardaba la configuración", + "Reset to default" : "Reafitar los valores", "Availability" : "Disponibilidá", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Si configures les hores llaborales, les demás persones van ver cuando coles de la oficina al acutar una reunión.", "Absence" : "Ausencia", @@ -211,9 +215,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Unvia tamién avisos de recordatoriu pa les persones coles que se compartiere'l calendariu", "Reminders are always sent to organizers and attendees." : "Los recordatorios únviense siempres a organizadores y asistentes", "Enable notifications for events via push" : "Acriva los avisos automáticos pa los eventos", - "Cancel" : "Encaboxar", - "Import" : "Importa", - "Error while saving settings" : "Hebo un error mentanto se guardaba la configuración", "There was an error updating your attendance status." : "Hebo un error al anovar l'estáu de l'asistencia.", "Please contact the organizer directly." : "Ponte en contautu direutamente cola organización.", "Are you accepting the invitation?" : "¿Aceptes la invitación?", diff --git a/apps/dav/l10n/ast.json b/apps/dav/l10n/ast.json index d29a619d649..519aa700951 100644 --- a/apps/dav/l10n/ast.json +++ b/apps/dav/l10n/ast.json @@ -193,6 +193,10 @@ "Pick a start time for {dayName}" : "Escueyi una hora de comienzu pal {dayName}", "Pick a end time for {dayName}" : "Escueyi una hora de fin pal {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Afitar automáticamente l'estáu a «Nun molestar» fuera de la disponibilidá pa desactivar tolos avisos.", + "Cancel" : "Encaboxar", + "Import" : "Importa", + "Error while saving settings" : "Hebo un error mentanto se guardaba la configuración", + "Reset to default" : "Reafitar los valores", "Availability" : "Disponibilidá", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Si configures les hores llaborales, les demás persones van ver cuando coles de la oficina al acutar una reunión.", "Absence" : "Ausencia", @@ -209,9 +213,6 @@ "Send reminder notifications to calendar sharees as well" : "Unvia tamién avisos de recordatoriu pa les persones coles que se compartiere'l calendariu", "Reminders are always sent to organizers and attendees." : "Los recordatorios únviense siempres a organizadores y asistentes", "Enable notifications for events via push" : "Acriva los avisos automáticos pa los eventos", - "Cancel" : "Encaboxar", - "Import" : "Importa", - "Error while saving settings" : "Hebo un error mentanto se guardaba la configuración", "There was an error updating your attendance status." : "Hebo un error al anovar l'estáu de l'asistencia.", "Please contact the organizer directly." : "Ponte en contautu direutamente cola organización.", "Are you accepting the invitation?" : "¿Aceptes la invitación?", diff --git a/apps/dav/l10n/bg.js b/apps/dav/l10n/bg.js index 72a50572ab1..d8d27bc7d4b 100644 --- a/apps/dav/l10n/bg.js +++ b/apps/dav/l10n/bg.js @@ -138,6 +138,7 @@ OC.L10N.register( "{actor} updated contact {card} in address book {addressbook}" : "{actor} актуализира контакт {card} в адресна книга {addressbook}", "You updated contact {card} in address book {addressbook}" : "Вие актуализирахте контакт {card} в адресна книга {addressbook}", "A <strong>contact</strong> or <strong>address book</strong> was modified" : "Един <strong>contact</strong> или <strong>address book</strong> са променени", + "Accounts" : "Профили", "File is not updatable: %1$s" : "Файлът не подлежи на актуализиране: %1$s", "Could not write to final file, canceled by hook" : "Не можа да се запише в крайния файл, анулирано от кука", "Could not write file contents" : "Съдържанието на файла не можа да се запише", @@ -187,6 +188,10 @@ OC.L10N.register( "No working hours set" : "Няма зададено работно време", "Add slot" : "Добавяне на слот", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Автоматично задаване на потребителският статус на „Не безпокойте“ извън достъпността, за заглушаване на всички известия.", + "Cancel" : "Отказ", + "Import" : "Импортиране /внасяне/", + "Error while saving settings" : "Грешка при запазване на настройките", + "Reset to default" : "Настройки по подразбиране", "Availability" : "Работно време", "Absence" : "Отсъствия", "Configure your next absence period." : "Задай своето съобщение за отсъствие.", @@ -202,9 +207,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Изпращане на известия за напомняния и до споделящите календар", "Reminders are always sent to organizers and attendees." : "Напомнянията винаги се изпращат до организаторите и присъстващите.", "Enable notifications for events via push" : "Активиране на известията за събития чрез push", - "Cancel" : "Отказ", - "Import" : "Импортиране /внасяне/", - "Error while saving settings" : "Грешка при запазване на настройките", "There was an error updating your attendance status." : "Възникна грешка при актуализиране на състоянието на присъствието Ви.", "Please contact the organizer directly." : "Моля, свържете се директно с организатора.", "Are you accepting the invitation?" : "Приемате ли поканата?", diff --git a/apps/dav/l10n/bg.json b/apps/dav/l10n/bg.json index 76144d4e0e1..6ebc3b0f6ab 100644 --- a/apps/dav/l10n/bg.json +++ b/apps/dav/l10n/bg.json @@ -136,6 +136,7 @@ "{actor} updated contact {card} in address book {addressbook}" : "{actor} актуализира контакт {card} в адресна книга {addressbook}", "You updated contact {card} in address book {addressbook}" : "Вие актуализирахте контакт {card} в адресна книга {addressbook}", "A <strong>contact</strong> or <strong>address book</strong> was modified" : "Един <strong>contact</strong> или <strong>address book</strong> са променени", + "Accounts" : "Профили", "File is not updatable: %1$s" : "Файлът не подлежи на актуализиране: %1$s", "Could not write to final file, canceled by hook" : "Не можа да се запише в крайния файл, анулирано от кука", "Could not write file contents" : "Съдържанието на файла не можа да се запише", @@ -185,6 +186,10 @@ "No working hours set" : "Няма зададено работно време", "Add slot" : "Добавяне на слот", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Автоматично задаване на потребителският статус на „Не безпокойте“ извън достъпността, за заглушаване на всички известия.", + "Cancel" : "Отказ", + "Import" : "Импортиране /внасяне/", + "Error while saving settings" : "Грешка при запазване на настройките", + "Reset to default" : "Настройки по подразбиране", "Availability" : "Работно време", "Absence" : "Отсъствия", "Configure your next absence period." : "Задай своето съобщение за отсъствие.", @@ -200,9 +205,6 @@ "Send reminder notifications to calendar sharees as well" : "Изпращане на известия за напомняния и до споделящите календар", "Reminders are always sent to organizers and attendees." : "Напомнянията винаги се изпращат до организаторите и присъстващите.", "Enable notifications for events via push" : "Активиране на известията за събития чрез push", - "Cancel" : "Отказ", - "Import" : "Импортиране /внасяне/", - "Error while saving settings" : "Грешка при запазване на настройките", "There was an error updating your attendance status." : "Възникна грешка при актуализиране на състоянието на присъствието Ви.", "Please contact the organizer directly." : "Моля, свържете се директно с организатора.", "Are you accepting the invitation?" : "Приемате ли поканата?", diff --git a/apps/dav/l10n/ca.js b/apps/dav/l10n/ca.js index 634569e358e..6ed5523a0e5 100644 --- a/apps/dav/l10n/ca.js +++ b/apps/dav/l10n/ca.js @@ -290,6 +290,10 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Trieu una hora d'inici per a {dayName}", "Pick a end time for {dayName}" : "Trieu una hora de finalització per a {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Estableix automàticament l'estat de l'usuari com a \"No molesteu” fora de la disponibilitat per a silenciar totes les notificacions.", + "Cancel" : "Cancel·la", + "Import" : "Importa", + "Error while saving settings" : "S'ha produït un error en desar els paràmetres", + "Reset to default" : "Reinicialitza els valors per defecte", "Availability" : "Disponibilitat", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Si configureu el vostre horari laboral, la resta de persones veuran quan sou fora de l'oficina quan planifiquin una reunió.", "Absence" : "Absència", @@ -306,9 +310,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Envia també notificacions de recordatori als usuaris amb qui s'ha compartit el calendari", "Reminders are always sent to organizers and attendees." : "Sempre s'envien recordatoris als organitzadors i als assistents.", "Enable notifications for events via push" : "Habilita les notificacions automàtiques per als esdeveniments", - "Cancel" : "Cancel·la", - "Import" : "Importa", - "Error while saving settings" : "S'ha produït un error en desar els paràmetres", "There was an error updating your attendance status." : "S'ha produït un error en actualitzar l'estat d'assistència.", "Please contact the organizer directly." : "Contacteu amb l'organització directament.", "Are you accepting the invitation?" : "Accepteu la invitació?", diff --git a/apps/dav/l10n/ca.json b/apps/dav/l10n/ca.json index 88e6b809c75..88cb071325a 100644 --- a/apps/dav/l10n/ca.json +++ b/apps/dav/l10n/ca.json @@ -288,6 +288,10 @@ "Pick a start time for {dayName}" : "Trieu una hora d'inici per a {dayName}", "Pick a end time for {dayName}" : "Trieu una hora de finalització per a {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Estableix automàticament l'estat de l'usuari com a \"No molesteu” fora de la disponibilitat per a silenciar totes les notificacions.", + "Cancel" : "Cancel·la", + "Import" : "Importa", + "Error while saving settings" : "S'ha produït un error en desar els paràmetres", + "Reset to default" : "Reinicialitza els valors per defecte", "Availability" : "Disponibilitat", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Si configureu el vostre horari laboral, la resta de persones veuran quan sou fora de l'oficina quan planifiquin una reunió.", "Absence" : "Absència", @@ -304,9 +308,6 @@ "Send reminder notifications to calendar sharees as well" : "Envia també notificacions de recordatori als usuaris amb qui s'ha compartit el calendari", "Reminders are always sent to organizers and attendees." : "Sempre s'envien recordatoris als organitzadors i als assistents.", "Enable notifications for events via push" : "Habilita les notificacions automàtiques per als esdeveniments", - "Cancel" : "Cancel·la", - "Import" : "Importa", - "Error while saving settings" : "S'ha produït un error en desar els paràmetres", "There was an error updating your attendance status." : "S'ha produït un error en actualitzar l'estat d'assistència.", "Please contact the organizer directly." : "Contacteu amb l'organització directament.", "Are you accepting the invitation?" : "Accepteu la invitació?", diff --git a/apps/dav/l10n/cs.js b/apps/dav/l10n/cs.js index d841e581d64..c2d10ac429d 100644 --- a/apps/dav/l10n/cs.js +++ b/apps/dav/l10n/cs.js @@ -290,6 +290,25 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Vyberte začátek pro {dayName}", "Pick a end time for {dayName}" : "Vyberte konec pro {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "V době, kdy není k dispozici, automaticky nastavit stav uživatele na „Nerušit“ a ztlumit tak veškerá upozornění.", + "Cancel" : "Storno", + "Import" : "Naimportovat", + "Error while saving settings" : "Chyba při ukládání nastavení", + "Contact reset successfully" : "Kontakt úspěšně resetován", + "Error while resetting contact" : "Chyba při resetování kontaktu", + "Contact imported successfully" : "Kontakt úspěšně naimportován", + "Error while importing contact" : "Chyba při importování kontaktu", + "Import contact" : "Importovat kontakt", + "Reset to default" : "Vrátit zpět na výchozí hodnoty", + "Import contacts" : "Importovat kontakty", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Naimportování nového .vcf souboru smaže stávající výchozí kontakt a nahradí ho novým. Chcete pokračovat?", + "Failed to save example event creation setting" : "Nepodařilo se uložit nastavení vytváření události pro ukázku", + "Failed to upload the example event" : "Nepodařilo se nahrát událost pro ukázku", + "Custom example event was saved successfully" : "Uživatelsky určená událost pro ukázku byla úspěšně uložena", + "Failed to delete the custom example event" : "Nepodařilo se smazat uživatelsky určenou událost pro ukázku", + "Custom example event was deleted successfully" : "Uživatelsky určená událost pro ukázku byla úspěšně smazána", + "Import calendar event" : "Naimportovat událost kalendáře", + "Uploading a new event will overwrite the existing one." : "Nahrání nové události přepíše tu existující.", + "Upload event" : "Nahrát událost", "Availability" : "Dostupnost", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Když sem zadáte svou pracovní dobu, ostatní lidé při rezervování schůzky uvidí, kdy jste mimo kancelář.", "Absence" : "Nepřítomnost", @@ -306,19 +325,8 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Poslat připomínky také těm, kteří mají tento sdílený kalendář připojený", "Reminders are always sent to organizers and attendees." : "Připomínky jsou vždy poslány organizátorům a účastníkům.", "Enable notifications for events via push" : "Upozorňovat na události prostřednictvím služby push", - "Cancel" : "Storno", - "Import" : "Naimportovat", - "Error while saving settings" : "Chyba při ukládání nastavení", - "Contact reset successfully" : "Kontakt úspěšně resetován", - "Error while resetting contact" : "Chyba při resetování kontaktu", - "Contact imported successfully" : "Kontakt úspěšně naimportován", - "Error while importing contact" : "Chyba při importování kontaktu", - "Example Content" : "Obsah pro ukázku", - "Set example content to be created on new user first login." : "Nastavit obsah pro ukázku, který vytvořit při prvním přihlášení nového uživatele.", - "Import contact" : "Importovat kontakt", - "Reset to default contact" : "Vrátit na výchozí kontakt", - "Import contacts" : "Importovat kontakty", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Naimportování nového .vcf souboru smaže stávající výchozí kontakt a nahradí ho novým. Chcete pokračovat?", + "Example content" : "Obsah pro ukázku", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Obsah pro ukázku slouží pro předvedení funkcí Nextcloud. Výchozí obsah je dodáván s Nextcloud a je možné ho nahradit uživatelsky určeným.", "There was an error updating your attendance status." : "Vyskytla se chyba při aktualizaci vašeho stavu účasti.", "Please contact the organizer directly." : "Kontaktujte organizátora přímo.", "Are you accepting the invitation?" : "Přijímáte pozvání?", diff --git a/apps/dav/l10n/cs.json b/apps/dav/l10n/cs.json index 0aed37af86a..69be44bbd4e 100644 --- a/apps/dav/l10n/cs.json +++ b/apps/dav/l10n/cs.json @@ -288,6 +288,25 @@ "Pick a start time for {dayName}" : "Vyberte začátek pro {dayName}", "Pick a end time for {dayName}" : "Vyberte konec pro {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "V době, kdy není k dispozici, automaticky nastavit stav uživatele na „Nerušit“ a ztlumit tak veškerá upozornění.", + "Cancel" : "Storno", + "Import" : "Naimportovat", + "Error while saving settings" : "Chyba při ukládání nastavení", + "Contact reset successfully" : "Kontakt úspěšně resetován", + "Error while resetting contact" : "Chyba při resetování kontaktu", + "Contact imported successfully" : "Kontakt úspěšně naimportován", + "Error while importing contact" : "Chyba při importování kontaktu", + "Import contact" : "Importovat kontakt", + "Reset to default" : "Vrátit zpět na výchozí hodnoty", + "Import contacts" : "Importovat kontakty", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Naimportování nového .vcf souboru smaže stávající výchozí kontakt a nahradí ho novým. Chcete pokračovat?", + "Failed to save example event creation setting" : "Nepodařilo se uložit nastavení vytváření události pro ukázku", + "Failed to upload the example event" : "Nepodařilo se nahrát událost pro ukázku", + "Custom example event was saved successfully" : "Uživatelsky určená událost pro ukázku byla úspěšně uložena", + "Failed to delete the custom example event" : "Nepodařilo se smazat uživatelsky určenou událost pro ukázku", + "Custom example event was deleted successfully" : "Uživatelsky určená událost pro ukázku byla úspěšně smazána", + "Import calendar event" : "Naimportovat událost kalendáře", + "Uploading a new event will overwrite the existing one." : "Nahrání nové události přepíše tu existující.", + "Upload event" : "Nahrát událost", "Availability" : "Dostupnost", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Když sem zadáte svou pracovní dobu, ostatní lidé při rezervování schůzky uvidí, kdy jste mimo kancelář.", "Absence" : "Nepřítomnost", @@ -304,19 +323,8 @@ "Send reminder notifications to calendar sharees as well" : "Poslat připomínky také těm, kteří mají tento sdílený kalendář připojený", "Reminders are always sent to organizers and attendees." : "Připomínky jsou vždy poslány organizátorům a účastníkům.", "Enable notifications for events via push" : "Upozorňovat na události prostřednictvím služby push", - "Cancel" : "Storno", - "Import" : "Naimportovat", - "Error while saving settings" : "Chyba při ukládání nastavení", - "Contact reset successfully" : "Kontakt úspěšně resetován", - "Error while resetting contact" : "Chyba při resetování kontaktu", - "Contact imported successfully" : "Kontakt úspěšně naimportován", - "Error while importing contact" : "Chyba při importování kontaktu", - "Example Content" : "Obsah pro ukázku", - "Set example content to be created on new user first login." : "Nastavit obsah pro ukázku, který vytvořit při prvním přihlášení nového uživatele.", - "Import contact" : "Importovat kontakt", - "Reset to default contact" : "Vrátit na výchozí kontakt", - "Import contacts" : "Importovat kontakty", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Naimportování nového .vcf souboru smaže stávající výchozí kontakt a nahradí ho novým. Chcete pokračovat?", + "Example content" : "Obsah pro ukázku", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Obsah pro ukázku slouží pro předvedení funkcí Nextcloud. Výchozí obsah je dodáván s Nextcloud a je možné ho nahradit uživatelsky určeným.", "There was an error updating your attendance status." : "Vyskytla se chyba při aktualizaci vašeho stavu účasti.", "Please contact the organizer directly." : "Kontaktujte organizátora přímo.", "Are you accepting the invitation?" : "Přijímáte pozvání?", diff --git a/apps/dav/l10n/da.js b/apps/dav/l10n/da.js index 5642533a9bf..782f0a3b21b 100644 --- a/apps/dav/l10n/da.js +++ b/apps/dav/l10n/da.js @@ -290,6 +290,17 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Vælg et starttidspunkt for {dayName}", "Pick a end time for {dayName}" : "Vælg et sluttidspunkt for {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Indstil automatisk brugerstatus til \"Forstyr ikke\" uden for tilgængelighed for at slå alle notifikationer fra.", + "Cancel" : "Annuller", + "Import" : "Importér", + "Error while saving settings" : "Der opstod en fejl under lagring af indstillinger", + "Contact reset successfully" : "Kontakten blev nulstillet", + "Error while resetting contact" : "Fejl under nulstilling af kontakt", + "Contact imported successfully" : "Kontakten blev importeret", + "Error while importing contact" : "Fejl under import af kontakt", + "Import contact" : "Importér kontakt", + "Reset to default" : "Nulstil", + "Import contacts" : "Importér kontakter", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Import af en ny .vcf-fil vil slette den eksisterende standardkontakt og erstatte den med den nye. Vil du fortsætte?", "Availability" : "tilgængelighed", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Hvis du konfigurerer dine arbejdstider, vil andre se, når du er fraværende, når de booker et møde.", "Absence" : "Fravær", @@ -306,19 +317,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Send også påmindelsesmeddelelser til kalenderdelinger", "Reminders are always sent to organizers and attendees." : "Påmindelser sendes altid til arrangører og deltagere.", "Enable notifications for events via push" : "Aktiver notifikationer for begivenheder via push", - "Cancel" : "Annuller", - "Import" : "Importér", - "Error while saving settings" : "Der opstod en fejl under lagring af indstillinger", - "Contact reset successfully" : "Kontakten blev nulstillet", - "Error while resetting contact" : "Fejl under nulstilling af kontakt", - "Contact imported successfully" : "Kontakten blev importeret", - "Error while importing contact" : "Fejl under import af kontakt", - "Example Content" : "Eksempelindhold", - "Set example content to be created on new user first login." : "Indstil eksempel på indhold, der skal oprettes ved ny brugers første login.", - "Import contact" : "Importér kontakt", - "Reset to default contact" : "Nulstil til standardkontakt", - "Import contacts" : "Importér kontakter", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Import af en ny .vcf-fil vil slette den eksisterende standardkontakt og erstatte den med den nye. Vil du fortsætte?", "There was an error updating your attendance status." : "Der opstod en fejl under opdatering af din fremmødestatus.", "Please contact the organizer directly." : "Kontakt venligst arrangøren direkte.", "Are you accepting the invitation?" : "Accepter du invitationen?", diff --git a/apps/dav/l10n/da.json b/apps/dav/l10n/da.json index 5b7367a9dd2..1007a84bb10 100644 --- a/apps/dav/l10n/da.json +++ b/apps/dav/l10n/da.json @@ -288,6 +288,17 @@ "Pick a start time for {dayName}" : "Vælg et starttidspunkt for {dayName}", "Pick a end time for {dayName}" : "Vælg et sluttidspunkt for {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Indstil automatisk brugerstatus til \"Forstyr ikke\" uden for tilgængelighed for at slå alle notifikationer fra.", + "Cancel" : "Annuller", + "Import" : "Importér", + "Error while saving settings" : "Der opstod en fejl under lagring af indstillinger", + "Contact reset successfully" : "Kontakten blev nulstillet", + "Error while resetting contact" : "Fejl under nulstilling af kontakt", + "Contact imported successfully" : "Kontakten blev importeret", + "Error while importing contact" : "Fejl under import af kontakt", + "Import contact" : "Importér kontakt", + "Reset to default" : "Nulstil", + "Import contacts" : "Importér kontakter", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Import af en ny .vcf-fil vil slette den eksisterende standardkontakt og erstatte den med den nye. Vil du fortsætte?", "Availability" : "tilgængelighed", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Hvis du konfigurerer dine arbejdstider, vil andre se, når du er fraværende, når de booker et møde.", "Absence" : "Fravær", @@ -304,19 +315,6 @@ "Send reminder notifications to calendar sharees as well" : "Send også påmindelsesmeddelelser til kalenderdelinger", "Reminders are always sent to organizers and attendees." : "Påmindelser sendes altid til arrangører og deltagere.", "Enable notifications for events via push" : "Aktiver notifikationer for begivenheder via push", - "Cancel" : "Annuller", - "Import" : "Importér", - "Error while saving settings" : "Der opstod en fejl under lagring af indstillinger", - "Contact reset successfully" : "Kontakten blev nulstillet", - "Error while resetting contact" : "Fejl under nulstilling af kontakt", - "Contact imported successfully" : "Kontakten blev importeret", - "Error while importing contact" : "Fejl under import af kontakt", - "Example Content" : "Eksempelindhold", - "Set example content to be created on new user first login." : "Indstil eksempel på indhold, der skal oprettes ved ny brugers første login.", - "Import contact" : "Importér kontakt", - "Reset to default contact" : "Nulstil til standardkontakt", - "Import contacts" : "Importér kontakter", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Import af en ny .vcf-fil vil slette den eksisterende standardkontakt og erstatte den med den nye. Vil du fortsætte?", "There was an error updating your attendance status." : "Der opstod en fejl under opdatering af din fremmødestatus.", "Please contact the organizer directly." : "Kontakt venligst arrangøren direkte.", "Are you accepting the invitation?" : "Accepter du invitationen?", diff --git a/apps/dav/l10n/de.js b/apps/dav/l10n/de.js index 788e1bf2f75..3ba68d336ed 100644 --- a/apps/dav/l10n/de.js +++ b/apps/dav/l10n/de.js @@ -290,6 +290,25 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Eine Startzeit für {dayName} wählen", "Pick a end time for {dayName}" : "Eine Endezeit für {dayName} wählen", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Setze den Benutzerstatus außerhalb deiner Verfügbarkeit automatisch auf \"Nicht stören\", um alle Benachrichtigungen stumm zu schalten.", + "Cancel" : "Abbrechen", + "Import" : "Importieren", + "Error while saving settings" : "Fehler beim Speichern der Einstellungen", + "Contact reset successfully" : "Kontakt zurückgesetzt", + "Error while resetting contact" : "Fehler beim Zurücksetzen des Kontakts", + "Contact imported successfully" : "Kontakt importiert", + "Error while importing contact" : "Fehler beim Import des Kontakts", + "Import contact" : "Kontakt importieren", + "Reset to default" : "Auf Standard zurücksetzen ", + "Import contacts" : "Kontakte importieren", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Durch das Importieren einer neuen VCF-Datei wird der vorhandene Standardkontakt gelöscht und durch den neuen ersetzt. Fortsetzen?", + "Failed to save example event creation setting" : "Einstellung für die Beispiels-Ereigniserstellung konnte nicht gespeichert werden", + "Failed to upload the example event" : "Das Beispielsereignis konnte nicht hochgeladen werden", + "Custom example event was saved successfully" : "Benutzerdefiniertes Beispielereignis gespeichert", + "Failed to delete the custom example event" : "Benutzerdefiniertes Beispielsereignis konnte nicht gelöscht werden", + "Custom example event was deleted successfully" : "Benutzerdefiniertes Beispielsereignis wurde gelöscht", + "Import calendar event" : "Kalenderereignis importieren", + "Uploading a new event will overwrite the existing one." : "Das Hochladen eines neuen Ereignisses wird das bestehende Ereignis überschreiben.", + "Upload event" : "Ereignis hochladen", "Availability" : "Verfügbarkeit", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Wenn du deine Arbeitszeiten angibst, können andere beim Buchen einer Besprechung sehen, wann du nicht im Büro bist.", "Absence" : "Abwesenheit", @@ -306,19 +325,8 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Erinnerungsbenachrichtigungen auch an die freigegebenen Kalender senden", "Reminders are always sent to organizers and attendees." : "Erinnerungen werden immer an Organisatoren und Teilnehmer gesendet.", "Enable notifications for events via push" : "Benachrichtigungen für Termine per Push aktivieren", - "Cancel" : "Abbrechen", - "Import" : "Importieren", - "Error while saving settings" : "Fehler beim Speichern der Einstellungen", - "Contact reset successfully" : "Kontakt zurückgesetzt", - "Error while resetting contact" : "Fehler beim Zurücksetzen des Kontakts", - "Contact imported successfully" : "Kontakt importiert", - "Error while importing contact" : "Fehler beim Import des Kontakts", - "Example Content" : "Beispielinhalt", - "Set example content to be created on new user first login." : "Beispielinhalte festlegen, die bei der ersten Anmeldung eines neuen Benutzers erstellt werden sollen.", - "Import contact" : "Kontakt importieren", - "Reset to default contact" : "Standardkontakt zurücksetzen", - "Import contacts" : "Kontakte importieren", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Durch das Importieren einer neuen VCF-Datei wird der vorhandene Standardkontakt gelöscht und durch den neuen ersetzt. Fortsetzen?", + "Example content" : "Beispielsinhalt", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Beispielinhalte dienen dazu, die Funktionen von Nextcloud vorzustellen. Standardinhalte werden mit Nextcloud ausgeliefert und können durch benutzerdefinierte Inhalte ersetzt werden.", "There was an error updating your attendance status." : "Es ist ein Fehler beim Aktualisieren deines Teilnehmerstatus aufgetreten.", "Please contact the organizer directly." : "Bitte den Organisator direkt kontaktieren.", "Are you accepting the invitation?" : "Die Einladung annehmen?", diff --git a/apps/dav/l10n/de.json b/apps/dav/l10n/de.json index 32a5497bb4e..c152c3aa8cc 100644 --- a/apps/dav/l10n/de.json +++ b/apps/dav/l10n/de.json @@ -288,6 +288,25 @@ "Pick a start time for {dayName}" : "Eine Startzeit für {dayName} wählen", "Pick a end time for {dayName}" : "Eine Endezeit für {dayName} wählen", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Setze den Benutzerstatus außerhalb deiner Verfügbarkeit automatisch auf \"Nicht stören\", um alle Benachrichtigungen stumm zu schalten.", + "Cancel" : "Abbrechen", + "Import" : "Importieren", + "Error while saving settings" : "Fehler beim Speichern der Einstellungen", + "Contact reset successfully" : "Kontakt zurückgesetzt", + "Error while resetting contact" : "Fehler beim Zurücksetzen des Kontakts", + "Contact imported successfully" : "Kontakt importiert", + "Error while importing contact" : "Fehler beim Import des Kontakts", + "Import contact" : "Kontakt importieren", + "Reset to default" : "Auf Standard zurücksetzen ", + "Import contacts" : "Kontakte importieren", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Durch das Importieren einer neuen VCF-Datei wird der vorhandene Standardkontakt gelöscht und durch den neuen ersetzt. Fortsetzen?", + "Failed to save example event creation setting" : "Einstellung für die Beispiels-Ereigniserstellung konnte nicht gespeichert werden", + "Failed to upload the example event" : "Das Beispielsereignis konnte nicht hochgeladen werden", + "Custom example event was saved successfully" : "Benutzerdefiniertes Beispielereignis gespeichert", + "Failed to delete the custom example event" : "Benutzerdefiniertes Beispielsereignis konnte nicht gelöscht werden", + "Custom example event was deleted successfully" : "Benutzerdefiniertes Beispielsereignis wurde gelöscht", + "Import calendar event" : "Kalenderereignis importieren", + "Uploading a new event will overwrite the existing one." : "Das Hochladen eines neuen Ereignisses wird das bestehende Ereignis überschreiben.", + "Upload event" : "Ereignis hochladen", "Availability" : "Verfügbarkeit", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Wenn du deine Arbeitszeiten angibst, können andere beim Buchen einer Besprechung sehen, wann du nicht im Büro bist.", "Absence" : "Abwesenheit", @@ -304,19 +323,8 @@ "Send reminder notifications to calendar sharees as well" : "Erinnerungsbenachrichtigungen auch an die freigegebenen Kalender senden", "Reminders are always sent to organizers and attendees." : "Erinnerungen werden immer an Organisatoren und Teilnehmer gesendet.", "Enable notifications for events via push" : "Benachrichtigungen für Termine per Push aktivieren", - "Cancel" : "Abbrechen", - "Import" : "Importieren", - "Error while saving settings" : "Fehler beim Speichern der Einstellungen", - "Contact reset successfully" : "Kontakt zurückgesetzt", - "Error while resetting contact" : "Fehler beim Zurücksetzen des Kontakts", - "Contact imported successfully" : "Kontakt importiert", - "Error while importing contact" : "Fehler beim Import des Kontakts", - "Example Content" : "Beispielinhalt", - "Set example content to be created on new user first login." : "Beispielinhalte festlegen, die bei der ersten Anmeldung eines neuen Benutzers erstellt werden sollen.", - "Import contact" : "Kontakt importieren", - "Reset to default contact" : "Standardkontakt zurücksetzen", - "Import contacts" : "Kontakte importieren", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Durch das Importieren einer neuen VCF-Datei wird der vorhandene Standardkontakt gelöscht und durch den neuen ersetzt. Fortsetzen?", + "Example content" : "Beispielsinhalt", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Beispielinhalte dienen dazu, die Funktionen von Nextcloud vorzustellen. Standardinhalte werden mit Nextcloud ausgeliefert und können durch benutzerdefinierte Inhalte ersetzt werden.", "There was an error updating your attendance status." : "Es ist ein Fehler beim Aktualisieren deines Teilnehmerstatus aufgetreten.", "Please contact the organizer directly." : "Bitte den Organisator direkt kontaktieren.", "Are you accepting the invitation?" : "Die Einladung annehmen?", diff --git a/apps/dav/l10n/de_DE.js b/apps/dav/l10n/de_DE.js index ce9c993e027..efdf32b9c34 100644 --- a/apps/dav/l10n/de_DE.js +++ b/apps/dav/l10n/de_DE.js @@ -290,6 +290,25 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Eine Startzeit für {dayName} wählen", "Pick a end time for {dayName}" : "Eine Endezeit für {dayName} wählen", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Setzen Sie den Benutzerstatus außerhalb Ihrer Verfügbarkeit automatisch auf \"Nicht stören\", um alle Benachrichtigungen stumm zu schalten.", + "Cancel" : "Abbrechen", + "Import" : "Importieren", + "Error while saving settings" : "Fehler beim Speichern der Einstellungen", + "Contact reset successfully" : "Kontakt zurückgesetzt", + "Error while resetting contact" : "Fehler beim Zurücksetzen des Kontakts", + "Contact imported successfully" : "Kontakt importiert", + "Error while importing contact" : "Fehler beim Import des Kontakts", + "Import contact" : "Kontakt importieren", + "Reset to default" : "Auf Standard zurücksetzen ", + "Import contacts" : "Kontakte importieren", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Durch das Importieren einer neuen VCF-Datei wird der vorhandene Standardkontakt gelöscht und durch den neuen ersetzt. Fortsetzen?", + "Failed to save example event creation setting" : "Einstellung für die Beispiels-Terminerstellung konnte nicht gespeichert werden", + "Failed to upload the example event" : "Der Beispieltermin konnte nicht hochgeladen werden", + "Custom example event was saved successfully" : "Benutzerdefinierter Beispieltermin gespeichert", + "Failed to delete the custom example event" : "Benutzerdefinierter Beispieltermin konnte nicht gelöscht werden", + "Custom example event was deleted successfully" : "Benutzerdefinierter Beispieltermin wurde gelöscht", + "Import calendar event" : "Kalendertermin importieren", + "Uploading a new event will overwrite the existing one." : "Das Hochladen eines neuen Termins wird den bestehenden Termin überschreiben.", + "Upload event" : "Termin hochladen", "Availability" : "Verfügbarkeit", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Wenn Sie Ihre Arbeitszeiten angeben, können andere beim Buchen einer Besprechung sehen, wann Sie nicht im Büro sind.", "Absence" : "Abwesenheit", @@ -306,19 +325,8 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Erinnerungsbenachrichtigungen auch an die Kalenderfreigaben senden", "Reminders are always sent to organizers and attendees." : "Erinnerungen werden immer an Organisatoren und Teilnehmer gesendet.", "Enable notifications for events via push" : "Benachrichtigungen für Termine per Push aktivieren", - "Cancel" : "Abbrechen", - "Import" : "Importieren", - "Error while saving settings" : "Fehler beim Speichern der Einstellungen", - "Contact reset successfully" : "Kontakt zurückgesetzt", - "Error while resetting contact" : "Fehler beim Zurücksetzen des Kontakts", - "Contact imported successfully" : "Kontakt importiert", - "Error while importing contact" : "Fehler beim Import des Kontakts", - "Example Content" : "Beispielinhalt", - "Set example content to be created on new user first login." : "Beispielinhalte festlegen, die bei der ersten Anmeldung eines neuen Benutzers erstellt werden sollen.", - "Import contact" : "Kontakt importieren", - "Reset to default contact" : "Standardkontakt zurücksetzen", - "Import contacts" : "Kontakte importieren", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Durch das Importieren einer neuen VCF-Datei wird der vorhandene Standardkontakt gelöscht und durch den neuen ersetzt. Fortsetzen?", + "Example content" : "Beispielsinhalt", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Beispielinhalte dienen dazu, die Funktionen von Nextcloud vorzustellen. Standardinhalte werden mit Nextcloud ausgeliefert und können durch benutzerdefinierte Inhalte ersetzt werden.", "There was an error updating your attendance status." : "Es ist ein Fehler beim Aktualisieren Ihres Teilnehmerstatus aufgetreten.", "Please contact the organizer directly." : "Bitte den Organisator direkt kontaktieren.", "Are you accepting the invitation?" : "Die Einladung annehmen?", diff --git a/apps/dav/l10n/de_DE.json b/apps/dav/l10n/de_DE.json index 0e903fe8c06..7170849d1a9 100644 --- a/apps/dav/l10n/de_DE.json +++ b/apps/dav/l10n/de_DE.json @@ -288,6 +288,25 @@ "Pick a start time for {dayName}" : "Eine Startzeit für {dayName} wählen", "Pick a end time for {dayName}" : "Eine Endezeit für {dayName} wählen", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Setzen Sie den Benutzerstatus außerhalb Ihrer Verfügbarkeit automatisch auf \"Nicht stören\", um alle Benachrichtigungen stumm zu schalten.", + "Cancel" : "Abbrechen", + "Import" : "Importieren", + "Error while saving settings" : "Fehler beim Speichern der Einstellungen", + "Contact reset successfully" : "Kontakt zurückgesetzt", + "Error while resetting contact" : "Fehler beim Zurücksetzen des Kontakts", + "Contact imported successfully" : "Kontakt importiert", + "Error while importing contact" : "Fehler beim Import des Kontakts", + "Import contact" : "Kontakt importieren", + "Reset to default" : "Auf Standard zurücksetzen ", + "Import contacts" : "Kontakte importieren", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Durch das Importieren einer neuen VCF-Datei wird der vorhandene Standardkontakt gelöscht und durch den neuen ersetzt. Fortsetzen?", + "Failed to save example event creation setting" : "Einstellung für die Beispiels-Terminerstellung konnte nicht gespeichert werden", + "Failed to upload the example event" : "Der Beispieltermin konnte nicht hochgeladen werden", + "Custom example event was saved successfully" : "Benutzerdefinierter Beispieltermin gespeichert", + "Failed to delete the custom example event" : "Benutzerdefinierter Beispieltermin konnte nicht gelöscht werden", + "Custom example event was deleted successfully" : "Benutzerdefinierter Beispieltermin wurde gelöscht", + "Import calendar event" : "Kalendertermin importieren", + "Uploading a new event will overwrite the existing one." : "Das Hochladen eines neuen Termins wird den bestehenden Termin überschreiben.", + "Upload event" : "Termin hochladen", "Availability" : "Verfügbarkeit", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Wenn Sie Ihre Arbeitszeiten angeben, können andere beim Buchen einer Besprechung sehen, wann Sie nicht im Büro sind.", "Absence" : "Abwesenheit", @@ -304,19 +323,8 @@ "Send reminder notifications to calendar sharees as well" : "Erinnerungsbenachrichtigungen auch an die Kalenderfreigaben senden", "Reminders are always sent to organizers and attendees." : "Erinnerungen werden immer an Organisatoren und Teilnehmer gesendet.", "Enable notifications for events via push" : "Benachrichtigungen für Termine per Push aktivieren", - "Cancel" : "Abbrechen", - "Import" : "Importieren", - "Error while saving settings" : "Fehler beim Speichern der Einstellungen", - "Contact reset successfully" : "Kontakt zurückgesetzt", - "Error while resetting contact" : "Fehler beim Zurücksetzen des Kontakts", - "Contact imported successfully" : "Kontakt importiert", - "Error while importing contact" : "Fehler beim Import des Kontakts", - "Example Content" : "Beispielinhalt", - "Set example content to be created on new user first login." : "Beispielinhalte festlegen, die bei der ersten Anmeldung eines neuen Benutzers erstellt werden sollen.", - "Import contact" : "Kontakt importieren", - "Reset to default contact" : "Standardkontakt zurücksetzen", - "Import contacts" : "Kontakte importieren", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Durch das Importieren einer neuen VCF-Datei wird der vorhandene Standardkontakt gelöscht und durch den neuen ersetzt. Fortsetzen?", + "Example content" : "Beispielsinhalt", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Beispielinhalte dienen dazu, die Funktionen von Nextcloud vorzustellen. Standardinhalte werden mit Nextcloud ausgeliefert und können durch benutzerdefinierte Inhalte ersetzt werden.", "There was an error updating your attendance status." : "Es ist ein Fehler beim Aktualisieren Ihres Teilnehmerstatus aufgetreten.", "Please contact the organizer directly." : "Bitte den Organisator direkt kontaktieren.", "Are you accepting the invitation?" : "Die Einladung annehmen?", diff --git a/apps/dav/l10n/en_GB.js b/apps/dav/l10n/en_GB.js index f0f1d2e41c0..75233b334ed 100644 --- a/apps/dav/l10n/en_GB.js +++ b/apps/dav/l10n/en_GB.js @@ -290,6 +290,25 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Pick a start time for {dayName}", "Pick a end time for {dayName}" : "Pick a end time for {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications.", + "Cancel" : "Cancel", + "Import" : "Import", + "Error while saving settings" : "Error while saving settings", + "Contact reset successfully" : "Contact reset successfully", + "Error while resetting contact" : "Error while resetting contact", + "Contact imported successfully" : "Contact imported successfully", + "Error while importing contact" : "Error while importing contact", + "Import contact" : "Import contact", + "Reset to default" : "Reset to default", + "Import contacts" : "Import contacts", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?", + "Failed to save example event creation setting" : "Failed to save example event creation setting", + "Failed to upload the example event" : "Failed to upload the example event", + "Custom example event was saved successfully" : "Custom example event was saved successfully", + "Failed to delete the custom example event" : "Failed to delete the custom example event", + "Custom example event was deleted successfully" : "Custom example event was deleted successfully", + "Import calendar event" : "Import calendar event", + "Uploading a new event will overwrite the existing one." : "Uploading a new event will overwrite the existing one.", + "Upload event" : "Upload event", "Availability" : "Availability", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "If you configure your working hours, other people will see when you are out of office when they book a meeting.", "Absence" : "Absence", @@ -306,19 +325,8 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Send reminder notifications to calendar sharees as well", "Reminders are always sent to organizers and attendees." : "Reminders are always sent to organisers and attendees.", "Enable notifications for events via push" : "Enable notifications for events via push", - "Cancel" : "Cancel", - "Import" : "Import", - "Error while saving settings" : "Error while saving settings", - "Contact reset successfully" : "Contact reset successfully", - "Error while resetting contact" : "Error while resetting contact", - "Contact imported successfully" : "Contact imported successfully", - "Error while importing contact" : "Error while importing contact", - "Example Content" : "Example Content", - "Set example content to be created on new user first login." : "Set example content to be created on new user first login.", - "Import contact" : "Import contact", - "Reset to default contact" : "Reset to default contact", - "Import contacts" : "Import contacts", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?", + "Example content" : "Example content", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content.", "There was an error updating your attendance status." : "There was an error updating your attendance status.", "Please contact the organizer directly." : "Please contact the organiser directly.", "Are you accepting the invitation?" : "Are you accepting the invitation?", diff --git a/apps/dav/l10n/en_GB.json b/apps/dav/l10n/en_GB.json index 3be2ffda8f6..0fbdf464438 100644 --- a/apps/dav/l10n/en_GB.json +++ b/apps/dav/l10n/en_GB.json @@ -288,6 +288,25 @@ "Pick a start time for {dayName}" : "Pick a start time for {dayName}", "Pick a end time for {dayName}" : "Pick a end time for {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications.", + "Cancel" : "Cancel", + "Import" : "Import", + "Error while saving settings" : "Error while saving settings", + "Contact reset successfully" : "Contact reset successfully", + "Error while resetting contact" : "Error while resetting contact", + "Contact imported successfully" : "Contact imported successfully", + "Error while importing contact" : "Error while importing contact", + "Import contact" : "Import contact", + "Reset to default" : "Reset to default", + "Import contacts" : "Import contacts", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?", + "Failed to save example event creation setting" : "Failed to save example event creation setting", + "Failed to upload the example event" : "Failed to upload the example event", + "Custom example event was saved successfully" : "Custom example event was saved successfully", + "Failed to delete the custom example event" : "Failed to delete the custom example event", + "Custom example event was deleted successfully" : "Custom example event was deleted successfully", + "Import calendar event" : "Import calendar event", + "Uploading a new event will overwrite the existing one." : "Uploading a new event will overwrite the existing one.", + "Upload event" : "Upload event", "Availability" : "Availability", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "If you configure your working hours, other people will see when you are out of office when they book a meeting.", "Absence" : "Absence", @@ -304,19 +323,8 @@ "Send reminder notifications to calendar sharees as well" : "Send reminder notifications to calendar sharees as well", "Reminders are always sent to organizers and attendees." : "Reminders are always sent to organisers and attendees.", "Enable notifications for events via push" : "Enable notifications for events via push", - "Cancel" : "Cancel", - "Import" : "Import", - "Error while saving settings" : "Error while saving settings", - "Contact reset successfully" : "Contact reset successfully", - "Error while resetting contact" : "Error while resetting contact", - "Contact imported successfully" : "Contact imported successfully", - "Error while importing contact" : "Error while importing contact", - "Example Content" : "Example Content", - "Set example content to be created on new user first login." : "Set example content to be created on new user first login.", - "Import contact" : "Import contact", - "Reset to default contact" : "Reset to default contact", - "Import contacts" : "Import contacts", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?", + "Example content" : "Example content", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content.", "There was an error updating your attendance status." : "There was an error updating your attendance status.", "Please contact the organizer directly." : "Please contact the organiser directly.", "Are you accepting the invitation?" : "Are you accepting the invitation?", diff --git a/apps/dav/l10n/es.js b/apps/dav/l10n/es.js index 9cd488e0d85..22365efe29b 100644 --- a/apps/dav/l10n/es.js +++ b/apps/dav/l10n/es.js @@ -285,6 +285,10 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Elija una hora de inicio para {dayName}", "Pick a end time for {dayName}" : "Elija una hora fin para {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Cambiar automáticamente el estado del usuario a \"No molestar\" cuando no esté disponible para silenciar todas las notificaciones.", + "Cancel" : "Cancelar", + "Import" : "Importar", + "Error while saving settings" : "Error al guardar los ajustes", + "Reset to default" : "Reestablecer a predeterminado", "Availability" : "Disponibilidad", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Si configura sus horas laborales, otras personas verán cuando está fuera de la oficina cuando agenden una reunión.", "Absence" : "Ausencia", @@ -301,9 +305,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Enviar recordatorio también a los usuarios con los que se comparte el calendario", "Reminders are always sent to organizers and attendees." : "Los recordatorios siempre se envían a los organizadores y asistentes.", "Enable notifications for events via push" : "Activar notificaciones push para eventos", - "Cancel" : "Cancelar", - "Import" : "Importar", - "Error while saving settings" : "Error al guardar los ajustes", "There was an error updating your attendance status." : "Ha habido un error al actualizar tu estado de asistencia.", "Please contact the organizer directly." : "Por favor, contacta directamente con el organizador.", "Are you accepting the invitation?" : "¿Aceptas la invitación?", diff --git a/apps/dav/l10n/es.json b/apps/dav/l10n/es.json index 7a619583b51..bed92b5fd76 100644 --- a/apps/dav/l10n/es.json +++ b/apps/dav/l10n/es.json @@ -283,6 +283,10 @@ "Pick a start time for {dayName}" : "Elija una hora de inicio para {dayName}", "Pick a end time for {dayName}" : "Elija una hora fin para {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Cambiar automáticamente el estado del usuario a \"No molestar\" cuando no esté disponible para silenciar todas las notificaciones.", + "Cancel" : "Cancelar", + "Import" : "Importar", + "Error while saving settings" : "Error al guardar los ajustes", + "Reset to default" : "Reestablecer a predeterminado", "Availability" : "Disponibilidad", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Si configura sus horas laborales, otras personas verán cuando está fuera de la oficina cuando agenden una reunión.", "Absence" : "Ausencia", @@ -299,9 +303,6 @@ "Send reminder notifications to calendar sharees as well" : "Enviar recordatorio también a los usuarios con los que se comparte el calendario", "Reminders are always sent to organizers and attendees." : "Los recordatorios siempre se envían a los organizadores y asistentes.", "Enable notifications for events via push" : "Activar notificaciones push para eventos", - "Cancel" : "Cancelar", - "Import" : "Importar", - "Error while saving settings" : "Error al guardar los ajustes", "There was an error updating your attendance status." : "Ha habido un error al actualizar tu estado de asistencia.", "Please contact the organizer directly." : "Por favor, contacta directamente con el organizador.", "Are you accepting the invitation?" : "¿Aceptas la invitación?", diff --git a/apps/dav/l10n/es_EC.js b/apps/dav/l10n/es_EC.js index 0410fa088e8..bc36002e1e8 100644 --- a/apps/dav/l10n/es_EC.js +++ b/apps/dav/l10n/es_EC.js @@ -182,6 +182,10 @@ OC.L10N.register( "No working hours set" : "No se han establecido horas de trabajo", "Add slot" : "Agregar ranura", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Configurar automáticamente el estado del usuario como \"No molestar\" fuera de la disponibilidad para silenciar todas las notificaciones.", + "Cancel" : "Cancelar", + "Import" : "Importar", + "Error while saving settings" : "Error al guardar la configuración.", + "Reset to default" : "Restablecer al predeterminado", "Availability" : "Disponibilidad", "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "También instala la {calendarappstoreopen}aplicación Calendario{linkclose}, o {calendardocopen}conecta tu escritorio y móvil para sincronizar ↗{linkclose}.", "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Asegúrate de configurar correctamente {emailopen}el servidor de correo electrónico{linkclose}.", @@ -195,9 +199,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Enviar recordatorios a los asistentes del calendario también", "Reminders are always sent to organizers and attendees." : "Los recordatorios siempre se envían a los organizadores y asistentes.", "Enable notifications for events via push" : "Habilitar notificaciones para eventos mediante push", - "Cancel" : "Cancelar", - "Import" : "Importar", - "Error while saving settings" : "Error al guardar la configuración.", "There was an error updating your attendance status." : "Hubo un error al actualizar tu estado de asistencia.", "Please contact the organizer directly." : "Por favor, contacta directamente al organizador.", "Are you accepting the invitation?" : "¿Aceptas la invitación?", diff --git a/apps/dav/l10n/es_EC.json b/apps/dav/l10n/es_EC.json index 8f788ebe635..5e04a22c11b 100644 --- a/apps/dav/l10n/es_EC.json +++ b/apps/dav/l10n/es_EC.json @@ -180,6 +180,10 @@ "No working hours set" : "No se han establecido horas de trabajo", "Add slot" : "Agregar ranura", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Configurar automáticamente el estado del usuario como \"No molestar\" fuera de la disponibilidad para silenciar todas las notificaciones.", + "Cancel" : "Cancelar", + "Import" : "Importar", + "Error while saving settings" : "Error al guardar la configuración.", + "Reset to default" : "Restablecer al predeterminado", "Availability" : "Disponibilidad", "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "También instala la {calendarappstoreopen}aplicación Calendario{linkclose}, o {calendardocopen}conecta tu escritorio y móvil para sincronizar ↗{linkclose}.", "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Asegúrate de configurar correctamente {emailopen}el servidor de correo electrónico{linkclose}.", @@ -193,9 +197,6 @@ "Send reminder notifications to calendar sharees as well" : "Enviar recordatorios a los asistentes del calendario también", "Reminders are always sent to organizers and attendees." : "Los recordatorios siempre se envían a los organizadores y asistentes.", "Enable notifications for events via push" : "Habilitar notificaciones para eventos mediante push", - "Cancel" : "Cancelar", - "Import" : "Importar", - "Error while saving settings" : "Error al guardar la configuración.", "There was an error updating your attendance status." : "Hubo un error al actualizar tu estado de asistencia.", "Please contact the organizer directly." : "Por favor, contacta directamente al organizador.", "Are you accepting the invitation?" : "¿Aceptas la invitación?", diff --git a/apps/dav/l10n/es_MX.js b/apps/dav/l10n/es_MX.js index 49173be4447..4c58640df1a 100644 --- a/apps/dav/l10n/es_MX.js +++ b/apps/dav/l10n/es_MX.js @@ -220,6 +220,10 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Elija una hora de inicio para {dayName}", "Pick a end time for {dayName}" : "Elija una hora fin para {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Establecer automáticamente el estado de usuario como \"No molestar\" fuera de la disponibilidad para silenciar todas las notificaciones.", + "Cancel" : "Cancelar", + "Import" : "Importar", + "Error while saving settings" : "Error al guardar la configuración", + "Reset to default" : "Restablecer al predeterminado", "Availability" : "Disponibilidad", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Si configura sus horas laborales, otras personas verán cuándo está fuera de la oficina cuando agenden una reunión.", "Absence" : "Ausencia", @@ -236,9 +240,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Enviar recordatorio también a los usuarios con los que se comparte el calendario", "Reminders are always sent to organizers and attendees." : "Los recordatorios se envían siempre a los organizadores y asistentes.", "Enable notifications for events via push" : "Habilitar notificaciones para eventos mediante push", - "Cancel" : "Cancelar", - "Import" : "Importar", - "Error while saving settings" : "Error al guardar la configuración", "There was an error updating your attendance status." : "Ocurrió un error al actualizar su estado de asistencia.", "Please contact the organizer directly." : "Por favor, contacte al organizador directamente.", "Are you accepting the invitation?" : "¿Acepta la invitación?", diff --git a/apps/dav/l10n/es_MX.json b/apps/dav/l10n/es_MX.json index 3286179ba78..646747cfc68 100644 --- a/apps/dav/l10n/es_MX.json +++ b/apps/dav/l10n/es_MX.json @@ -218,6 +218,10 @@ "Pick a start time for {dayName}" : "Elija una hora de inicio para {dayName}", "Pick a end time for {dayName}" : "Elija una hora fin para {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Establecer automáticamente el estado de usuario como \"No molestar\" fuera de la disponibilidad para silenciar todas las notificaciones.", + "Cancel" : "Cancelar", + "Import" : "Importar", + "Error while saving settings" : "Error al guardar la configuración", + "Reset to default" : "Restablecer al predeterminado", "Availability" : "Disponibilidad", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Si configura sus horas laborales, otras personas verán cuándo está fuera de la oficina cuando agenden una reunión.", "Absence" : "Ausencia", @@ -234,9 +238,6 @@ "Send reminder notifications to calendar sharees as well" : "Enviar recordatorio también a los usuarios con los que se comparte el calendario", "Reminders are always sent to organizers and attendees." : "Los recordatorios se envían siempre a los organizadores y asistentes.", "Enable notifications for events via push" : "Habilitar notificaciones para eventos mediante push", - "Cancel" : "Cancelar", - "Import" : "Importar", - "Error while saving settings" : "Error al guardar la configuración", "There was an error updating your attendance status." : "Ocurrió un error al actualizar su estado de asistencia.", "Please contact the organizer directly." : "Por favor, contacte al organizador directamente.", "Are you accepting the invitation?" : "¿Acepta la invitación?", diff --git a/apps/dav/l10n/et_EE.js b/apps/dav/l10n/et_EE.js index 25cf3b104a1..2e915b6927b 100644 --- a/apps/dav/l10n/et_EE.js +++ b/apps/dav/l10n/et_EE.js @@ -290,6 +290,17 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Vali algusaeg: {dayName}", "Pick a end time for {dayName}" : "Vali lõpuaeg: {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Kõikide teavituste summutamiseks määra automaatselt kasutajale olek „Ära sega“ nendele aegadele, kus ta vaba ei ole.", + "Cancel" : "Tühista", + "Import" : "Impordi", + "Error while saving settings" : "Viga seadistuste salvestamisel", + "Contact reset successfully" : "Kontakti lähtestamine õnnestus", + "Error while resetting contact" : "Viga kontakti lähtestamisel", + "Contact imported successfully" : "Kontakti importimine õnnestus", + "Error while importing contact" : "Viga kontakti importimisel", + "Import contact" : "Impordi kontakt", + "Reset to default" : "Taasta vaikeseadistused", + "Import contacts" : "Impordi kontaktid", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Uue .vcf faili importimisel olemasolev vaikimisi kontakt kustutatakse ja asendatakse uuega. Kas sa soovid jätkata?", "Availability" : "Saadavus", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Kui seadistad oma tööajad, siis teised saavad kohtumise broneerimisel arvestada sellega, millal sind kohal pole.", "Absence" : "Äraolek", @@ -306,19 +317,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Saada meeldetuletused ka neile, kes ürituse on lisanud oma kalendrisse", "Reminders are always sent to organizers and attendees." : "Meeldetuletused on alati saadetud korraldajatele ja osalejatele.", "Enable notifications for events via push" : "Võta kasutusele tõuketeenustepõhised teavitused", - "Cancel" : "Tühista", - "Import" : "Impordi", - "Error while saving settings" : "Viga seadistuste salvestamisel", - "Contact reset successfully" : "Kontakti lähtestamine õnnestus", - "Error while resetting contact" : "Viga kontakti lähtestamisel", - "Contact imported successfully" : "Kontakti importimine õnnestus", - "Error while importing contact" : "Viga kontakti importimisel", - "Example Content" : "Sisunäidis", - "Set example content to be created on new user first login." : "Kirjelda näidissisu, mis uue kasutaja esimesel sisselogimisel luuakse.", - "Import contact" : "Impordi kontakt", - "Reset to default contact" : "Lähtesta vaikimisi kontakstiks", - "Import contacts" : "Impordi kontaktid", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Uue .vcf faili importimisel olemasolev vaikimisi kontakt kustutatakse ja asendatakse uuega. Kas sa soovid jätkata?", "There was an error updating your attendance status." : "Sinu osalemise oleku muutmisel tekkis viga.", "Please contact the organizer directly." : "Palun võta ühendust korraldajaga otse.", "Are you accepting the invitation?" : "Kas sa nõustud kutsega?", diff --git a/apps/dav/l10n/et_EE.json b/apps/dav/l10n/et_EE.json index 72a36787328..c01dc468808 100644 --- a/apps/dav/l10n/et_EE.json +++ b/apps/dav/l10n/et_EE.json @@ -288,6 +288,17 @@ "Pick a start time for {dayName}" : "Vali algusaeg: {dayName}", "Pick a end time for {dayName}" : "Vali lõpuaeg: {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Kõikide teavituste summutamiseks määra automaatselt kasutajale olek „Ära sega“ nendele aegadele, kus ta vaba ei ole.", + "Cancel" : "Tühista", + "Import" : "Impordi", + "Error while saving settings" : "Viga seadistuste salvestamisel", + "Contact reset successfully" : "Kontakti lähtestamine õnnestus", + "Error while resetting contact" : "Viga kontakti lähtestamisel", + "Contact imported successfully" : "Kontakti importimine õnnestus", + "Error while importing contact" : "Viga kontakti importimisel", + "Import contact" : "Impordi kontakt", + "Reset to default" : "Taasta vaikeseadistused", + "Import contacts" : "Impordi kontaktid", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Uue .vcf faili importimisel olemasolev vaikimisi kontakt kustutatakse ja asendatakse uuega. Kas sa soovid jätkata?", "Availability" : "Saadavus", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Kui seadistad oma tööajad, siis teised saavad kohtumise broneerimisel arvestada sellega, millal sind kohal pole.", "Absence" : "Äraolek", @@ -304,19 +315,6 @@ "Send reminder notifications to calendar sharees as well" : "Saada meeldetuletused ka neile, kes ürituse on lisanud oma kalendrisse", "Reminders are always sent to organizers and attendees." : "Meeldetuletused on alati saadetud korraldajatele ja osalejatele.", "Enable notifications for events via push" : "Võta kasutusele tõuketeenustepõhised teavitused", - "Cancel" : "Tühista", - "Import" : "Impordi", - "Error while saving settings" : "Viga seadistuste salvestamisel", - "Contact reset successfully" : "Kontakti lähtestamine õnnestus", - "Error while resetting contact" : "Viga kontakti lähtestamisel", - "Contact imported successfully" : "Kontakti importimine õnnestus", - "Error while importing contact" : "Viga kontakti importimisel", - "Example Content" : "Sisunäidis", - "Set example content to be created on new user first login." : "Kirjelda näidissisu, mis uue kasutaja esimesel sisselogimisel luuakse.", - "Import contact" : "Impordi kontakt", - "Reset to default contact" : "Lähtesta vaikimisi kontakstiks", - "Import contacts" : "Impordi kontaktid", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Uue .vcf faili importimisel olemasolev vaikimisi kontakt kustutatakse ja asendatakse uuega. Kas sa soovid jätkata?", "There was an error updating your attendance status." : "Sinu osalemise oleku muutmisel tekkis viga.", "Please contact the organizer directly." : "Palun võta ühendust korraldajaga otse.", "Are you accepting the invitation?" : "Kas sa nõustud kutsega?", diff --git a/apps/dav/l10n/eu.js b/apps/dav/l10n/eu.js index a40af9f6829..4deb8172bed 100644 --- a/apps/dav/l10n/eu.js +++ b/apps/dav/l10n/eu.js @@ -285,6 +285,10 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Hautatu hasiera ordu bat {dayName}(e)rako", "Pick a end time for {dayName}" : "Hautatu bukaera ordu bat {dayName}(e)rako", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Eskuragarri ez egotean, ezarri automatikoki erabiltzailearen egoera \"Ez molestatu\" moduan jakinarazpen guztiak isilarazteko.", + "Cancel" : "Utzi", + "Import" : "Inportatu", + "Error while saving settings" : "Errorea ezarpenak gordetzean", + "Reset to default" : "Berezarri balio lehenetsira", "Availability" : "Eskuragarritasuna", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Zure lan orduak konfiguratzen badituzu, beste pertsonek bulegotik kanpo zaudela ikusiko dute bilera bat erreserbatzen dutenean.", "Absence" : "Absentzia", @@ -301,9 +305,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Bidali gogorarazpen jakinarazpenak egutegi partekatzea dutenei ere", "Reminders are always sent to organizers and attendees." : "Gogorarazpenak beti bidaltzen zaizkie antolatzaileei eta parte-hartzaileei.", "Enable notifications for events via push" : "Gaitu push bidezko jakinarazpenak gertaerentzat", - "Cancel" : "Utzi", - "Import" : "Inportatu", - "Error while saving settings" : "Errorea ezarpenak gordetzean", "There was an error updating your attendance status." : "Errore bat gertatu da zure parte-hartze egoera eguneratzerakoan.", "Please contact the organizer directly." : "Mesedez jarri harremanetan antolatzailearekin zuzenean.", "Are you accepting the invitation?" : "Gonbidapena onartzen duzu?", diff --git a/apps/dav/l10n/eu.json b/apps/dav/l10n/eu.json index 82648828ae8..ac11ede49c3 100644 --- a/apps/dav/l10n/eu.json +++ b/apps/dav/l10n/eu.json @@ -283,6 +283,10 @@ "Pick a start time for {dayName}" : "Hautatu hasiera ordu bat {dayName}(e)rako", "Pick a end time for {dayName}" : "Hautatu bukaera ordu bat {dayName}(e)rako", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Eskuragarri ez egotean, ezarri automatikoki erabiltzailearen egoera \"Ez molestatu\" moduan jakinarazpen guztiak isilarazteko.", + "Cancel" : "Utzi", + "Import" : "Inportatu", + "Error while saving settings" : "Errorea ezarpenak gordetzean", + "Reset to default" : "Berezarri balio lehenetsira", "Availability" : "Eskuragarritasuna", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Zure lan orduak konfiguratzen badituzu, beste pertsonek bulegotik kanpo zaudela ikusiko dute bilera bat erreserbatzen dutenean.", "Absence" : "Absentzia", @@ -299,9 +303,6 @@ "Send reminder notifications to calendar sharees as well" : "Bidali gogorarazpen jakinarazpenak egutegi partekatzea dutenei ere", "Reminders are always sent to organizers and attendees." : "Gogorarazpenak beti bidaltzen zaizkie antolatzaileei eta parte-hartzaileei.", "Enable notifications for events via push" : "Gaitu push bidezko jakinarazpenak gertaerentzat", - "Cancel" : "Utzi", - "Import" : "Inportatu", - "Error while saving settings" : "Errorea ezarpenak gordetzean", "There was an error updating your attendance status." : "Errore bat gertatu da zure parte-hartze egoera eguneratzerakoan.", "Please contact the organizer directly." : "Mesedez jarri harremanetan antolatzailearekin zuzenean.", "Are you accepting the invitation?" : "Gonbidapena onartzen duzu?", diff --git a/apps/dav/l10n/fa.js b/apps/dav/l10n/fa.js index 692e4fff45e..4ce74a149f2 100644 --- a/apps/dav/l10n/fa.js +++ b/apps/dav/l10n/fa.js @@ -290,6 +290,17 @@ OC.L10N.register( "Pick a start time for {dayName}" : "زمان شروع برای {dayName} را انتخاب کنید", "Pick a end time for {dayName}" : "زمان پایان برای {dayName} را انتخاب کنید", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "وضعیت کاربر بصورت خودکار به \"مزاحم نشوید\" تغییر داده شود تا همه ی اعلان ها خاموش شوند.", + "Cancel" : "لغو", + "Import" : "وارد کردن", + "Error while saving settings" : "خطا هنگام ذخیره تنظیمات", + "Contact reset successfully" : "مخاطب با موفقیت بازنشانی شد", + "Error while resetting contact" : "خطا هنگام بازنشانی مخاطب", + "Contact imported successfully" : "مخاطب با موفقیت وارد شد", + "Error while importing contact" : "خطا هنگام وارد کردن مخاطب", + "Import contact" : "وارد کردن مخاطب", + "Reset to default" : "بازنشانی به پیشگزیده", + "Import contacts" : "وارد کردن مخاطبین", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "وارد کردن یک فایل .vcf جدید، مخاطب پیشفرض موجود را حذف کرده و آن را با مخاطب جدید جایگزین میکند. آیا میخواهید ادامه دهید؟", "Availability" : "در دسترس بودن", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "اگر ساعات کاری خود را پیکربندی کنید، دیگران هنگام رزرو جلسه متوجه خواهند شد که شما در دفتر نیستید.", "Absence" : "غیبت", @@ -306,19 +317,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "ارسال اعلانهای یادآوری به اشتراکگذاران تقویم نیز", "Reminders are always sent to organizers and attendees." : "یادآوریها همیشه برای برگزارکنندگان و شرکتکنندگان ارسال میشوند.", "Enable notifications for events via push" : "فعال کردن اعلانها برای رویدادها از طریق پوش", - "Cancel" : "لغو", - "Import" : "وارد کردن", - "Error while saving settings" : "خطا هنگام ذخیره تنظیمات", - "Contact reset successfully" : "مخاطب با موفقیت بازنشانی شد", - "Error while resetting contact" : "خطا هنگام بازنشانی مخاطب", - "Contact imported successfully" : "مخاطب با موفقیت وارد شد", - "Error while importing contact" : "خطا هنگام وارد کردن مخاطب", - "Example Content" : "محتوای نمونه", - "Set example content to be created on new user first login." : "محتوای نمونه را برای ایجاد در اولین ورود کاربر جدید تنظیم کنید.", - "Import contact" : "وارد کردن مخاطب", - "Reset to default contact" : "بازنشانی به مخاطب پیشفرض", - "Import contacts" : "وارد کردن مخاطبین", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "وارد کردن یک فایل .vcf جدید، مخاطب پیشفرض موجود را حذف کرده و آن را با مخاطب جدید جایگزین میکند. آیا میخواهید ادامه دهید؟", "There was an error updating your attendance status." : "خطایی در بهروزرسانی وضعیت حضور شما رخ داد.", "Please contact the organizer directly." : "لطفاً مستقیماً با برگزارکننده تماس بگیرید.", "Are you accepting the invitation?" : "آیا دعوت را میپذیرید؟", diff --git a/apps/dav/l10n/fa.json b/apps/dav/l10n/fa.json index adb640cb47e..ca3b31c1f55 100644 --- a/apps/dav/l10n/fa.json +++ b/apps/dav/l10n/fa.json @@ -288,6 +288,17 @@ "Pick a start time for {dayName}" : "زمان شروع برای {dayName} را انتخاب کنید", "Pick a end time for {dayName}" : "زمان پایان برای {dayName} را انتخاب کنید", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "وضعیت کاربر بصورت خودکار به \"مزاحم نشوید\" تغییر داده شود تا همه ی اعلان ها خاموش شوند.", + "Cancel" : "لغو", + "Import" : "وارد کردن", + "Error while saving settings" : "خطا هنگام ذخیره تنظیمات", + "Contact reset successfully" : "مخاطب با موفقیت بازنشانی شد", + "Error while resetting contact" : "خطا هنگام بازنشانی مخاطب", + "Contact imported successfully" : "مخاطب با موفقیت وارد شد", + "Error while importing contact" : "خطا هنگام وارد کردن مخاطب", + "Import contact" : "وارد کردن مخاطب", + "Reset to default" : "بازنشانی به پیشگزیده", + "Import contacts" : "وارد کردن مخاطبین", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "وارد کردن یک فایل .vcf جدید، مخاطب پیشفرض موجود را حذف کرده و آن را با مخاطب جدید جایگزین میکند. آیا میخواهید ادامه دهید؟", "Availability" : "در دسترس بودن", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "اگر ساعات کاری خود را پیکربندی کنید، دیگران هنگام رزرو جلسه متوجه خواهند شد که شما در دفتر نیستید.", "Absence" : "غیبت", @@ -304,19 +315,6 @@ "Send reminder notifications to calendar sharees as well" : "ارسال اعلانهای یادآوری به اشتراکگذاران تقویم نیز", "Reminders are always sent to organizers and attendees." : "یادآوریها همیشه برای برگزارکنندگان و شرکتکنندگان ارسال میشوند.", "Enable notifications for events via push" : "فعال کردن اعلانها برای رویدادها از طریق پوش", - "Cancel" : "لغو", - "Import" : "وارد کردن", - "Error while saving settings" : "خطا هنگام ذخیره تنظیمات", - "Contact reset successfully" : "مخاطب با موفقیت بازنشانی شد", - "Error while resetting contact" : "خطا هنگام بازنشانی مخاطب", - "Contact imported successfully" : "مخاطب با موفقیت وارد شد", - "Error while importing contact" : "خطا هنگام وارد کردن مخاطب", - "Example Content" : "محتوای نمونه", - "Set example content to be created on new user first login." : "محتوای نمونه را برای ایجاد در اولین ورود کاربر جدید تنظیم کنید.", - "Import contact" : "وارد کردن مخاطب", - "Reset to default contact" : "بازنشانی به مخاطب پیشفرض", - "Import contacts" : "وارد کردن مخاطبین", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "وارد کردن یک فایل .vcf جدید، مخاطب پیشفرض موجود را حذف کرده و آن را با مخاطب جدید جایگزین میکند. آیا میخواهید ادامه دهید؟", "There was an error updating your attendance status." : "خطایی در بهروزرسانی وضعیت حضور شما رخ داد.", "Please contact the organizer directly." : "لطفاً مستقیماً با برگزارکننده تماس بگیرید.", "Are you accepting the invitation?" : "آیا دعوت را میپذیرید؟", diff --git a/apps/dav/l10n/fr.js b/apps/dav/l10n/fr.js index 7934aa2fd72..667666b94dc 100644 --- a/apps/dav/l10n/fr.js +++ b/apps/dav/l10n/fr.js @@ -81,6 +81,11 @@ OC.L10N.register( "_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["Dans un an toute la journée du %1$s","Dans %n années toute la journée du %1$s","Dans %n années toute la journée du %1$s"], "In the past on %1$s between %2$s - %3$s" : "Dans le passé le %1$s entre %2$s - %3$s", "_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["Dans une minute le %1$s entre %2$s - %3$s","Dans %n minutes le %1$s entre %2$s - %3$s","Dans %n minutes le %1$s entre %2$s - %3$s"], + "_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["Dans une heure le %1$s entre %2$s et %3$s","Dans %n heures le %1$s entre %2$s et %3$s","Dans %n heures le %1$s entre %2$s et %3$s"], + "_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["Demain le %1$s entre %2$s et %3$s","Dans %n jours le %1$s entre %2$s et %3$s","Dans %n jours le %1$s entre %2$s et %3$s"], + "_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["La semaine prochaine le %1$s entre %2$s et %3$s","Dans %n semaines le %1$s entre %2$s et %3$s","Dans %n semaines le %1$s entre %2$s et %3$s"], + "_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["Dans un mois le %1$s entre %2$s et %3$s","Dans %n mois le %1$s entre %2$s et %3$s","Dans %n mois le %1$s entre %2$s et %3$s"], + "_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["L'an prochain le %1$s entre %2$s et %3$s","Dans %n ans le %1$s entre %2$s et %3$s","Dans %n ans le %1$s entre %2$s et %3$s"], "Could not generate when statement" : "Impossible de déterminer quand", "Every Day for the entire day" : "Chaque jour pour toute la journée", "Every Day for the entire day until %1$s" : "Chaque jour pour toute la journée jusqu'au %1$s", @@ -117,6 +122,27 @@ OC.L10N.register( "Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "Tous les %1$d ans en %2$s le %3$s entre %4$s - %5$s jusqu'au %6$s", "On specific dates for the entire day until %1$s" : "À une date spécifique pour la journée entière jusqu'au %1$s", "On specific dates between %1$s - %2$s until %3$s" : "À des dates spécifiques entre %1$s et %2$s jusqu'au %3$s", + "In the past on %1$s" : "Dans le passé sur %1$s", + "_In a minute on %1$s_::_In %n minutes on %1$s_" : ["Dans une minute sur %1$s","Dans %n minutes sur %1$s","Dans %n minutes sur %1$s"], + "_In a hour on %1$s_::_In %n hours on %1$s_" : ["Dans une heure sur %1$s","Dans %n heures sur %1$s","Dans %n sur %1$s"], + "_In a day on %1$s_::_In %n days on %1$s_" : ["Demain le %1$s","Dans %n jours le %1$s","Dans %n jours le %1$s"], + "_In a week on %1$s_::_In %n weeks on %1$s_" : ["La semaine prochaine le %1$s","Dans %n semaines le %1$s","Dans %n semaines le %1$s"], + "_In a month on %1$s_::_In %n months on %1$s_" : ["Le mois prochain le %1$s","Dans %n mois le %1$s","Dans %n mois le %1$s"], + "_In a year on %1$s_::_In %n years on %1$s_" : ["L'an prochain le %1$s","Dans %n ans le %1$s","Dans %n ans le %1$s"], + "In the past on %1$s then on %2$s" : "Dans le passé le %1$s puis le %2$s", + "_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["Dans une minute le %1$s puis le %2$s","Dans %n minutes le %1$s puis le %2$s","Dans %n minutes le %1$s puis le %2$s"], + "_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["Dans une heure le %1$s puis le %2$s","Dans %n heures le %1$s puis le %2$s","Dans %n heures le %1$s puis le %2$s"], + "_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["Demain le %1$s puis le %2$s","Dans %n jours le %1$s puis le %2$s","Dans %n jours le %1$s puis le %2$s"], + "_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["La semaine prochaine le %1$s puis le %2$s","Dans %n semaines le %1$s puis le %2$s","Dans %n semaines le %1$s puis le %2$s"], + "_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["Le mois prochain le %1$s puis le %2$s","Dans %n mois le %1$s puis le %2$s","Dans %n mois le %1$s puis le %2$s"], + "_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["L'an prochain le %1$s puis le %2$s","Dans %n ans le %1$s puis le %2$s","Dans %n ans le %1$s puis le %2$s"], + "In the past on %1$s then on %2$s and %3$s" : "Dans le passé le %1$s puis le %2$s et %3$s", + "_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["Dans une minute le %1$s puis le %2$s et %3$s","Dans %n minutes le %1$s puis le %2$s et %3$s","Dans %n minutes le %1$s puis le %2$s et %3$s"], + "_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["Dans une heure le %1$s puis le %2$s et %3$s","Dans %n heures le %1$s puis le %2$s et %3$s","Dans %n heures le %1$s puis le %2$s et %3$s"], + "_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["Demain le %1$s puis le %2$s et %3$s","Dans %n jours le %1$s puis le %2$s et %3$s","Dans %n jours le %1$s puis le %2$s et %3$s"], + "_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["La semaine prochaine le %1$s puis le %2$s et %3$s","Dans %n semaines le %1$s puis le %2$s et %3$s","Dans %n semaines le %1$s puis le %2$s et %3$s"], + "_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Dans un mois le %1$s puis le %2$s et %3$s","Dans %n mois le %1$s puis le %2$s et %3$s","Dans %n mois le %1$s puis le %2$s et %3$s"], + "_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Dans un an sur %1$spuis sur %2$s et %3$s","Dans %n années sur %1$s puis sur %2$s et %3$s","Dans %n années sur %1$s puis sur %2$s et %3$s"], "Could not generate next recurrence statement" : "Impossible de déterminer la prochaine récurrence", "Cancelled: %1$s" : "Annulé : %1$s", "\"%1$s\" has been canceled" : "\"%1$s\" a été annulé(e)", @@ -264,6 +290,25 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Choisissez une heure de début pour {dayName}", "Pick a end time for {dayName}" : "Choisissez une heure de fin pour {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Définir automatiquement le statut « Ne pas déranger » en dehors des heures de disponibilités pour désactiver toutes les notifications.", + "Cancel" : "Annuler", + "Import" : "Importation", + "Error while saving settings" : "Erreur lors de l'enregistrement des paramètres", + "Contact reset successfully" : "Contact réinitialisé avec succès", + "Error while resetting contact" : "Erreur lors de la remise à zéro du contact", + "Contact imported successfully" : "Contact importé avec succès", + "Error while importing contact" : "Erreur lors de l'importation du contact", + "Import contact" : "Importer un contact", + "Reset to default" : "Restaurer les valeurs par défaut", + "Import contacts" : "Importer des contacts", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importer un nouveau fichier .vcf supprimera le contact par défaut existant et le remplacera. Voulez-vous continuer ?", + "Failed to save example event creation setting" : "Échec de la sauvegarde du paramètre de l'exemple de création d'événement", + "Failed to upload the example event" : "Échec du téléversement de l'exemple d'événement", + "Custom example event was saved successfully" : "L'exemple d'événement personnalisé a bien été enregistré", + "Failed to delete the custom example event" : "Échec de la suppression de l'exemple d'événement personnalisé ", + "Custom example event was deleted successfully" : "L'exemple de contenu personnalisé a bien été supprimé", + "Import calendar event" : "Importer l'événement du calendrier", + "Uploading a new event will overwrite the existing one." : "Charger un nouvel événement qui va remplacer l'actuel.", + "Upload event" : "Téléverser un événement", "Availability" : "Disponibilités", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Si vous configurez vos heures de travail, les autres personnes verront si vous êtes disponible quand ils planifient une réunion.", "Absence" : "Absence", @@ -280,16 +325,8 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Envoyez également des notifications de rappel aux personnes partageant le calendrier", "Reminders are always sent to organizers and attendees." : "Des rappels sont toujours envoyés aux organisateurs et aux participants.", "Enable notifications for events via push" : "Activer les notifications push pour les évènements", - "Cancel" : "Annuler", - "Import" : "Importation", - "Error while saving settings" : "Erreur lors de l'enregistrement des paramètres", - "Contact reset successfully" : "Contact réinitialisé avec succès", - "Error while resetting contact" : "Erreur lors de la remise à zéro du contact", - "Contact imported successfully" : "Contact importé avec succès", - "Error while importing contact" : "Erreur lors de l'importation du contact", - "Import contact" : "Importer un contact", - "Import contacts" : "Importer des contacts", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importer un nouveau fichier .vcf supprimera le contact par défaut existant et le remplacera. Voulez-vous continuer ?", + "Example content" : "Exemple de contenu", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Les exemples de contenu servent à présenter les fonctionnalités de Nextcloud. Le contenu par défaut est fourni avec Nextcloud et peut être remplacé par du contenu personnalisé.", "There was an error updating your attendance status." : "Une erreur s'est produite lors de la mise à jour de votre statut de présence.", "Please contact the organizer directly." : "Merci de contacter l'organisateur directement.", "Are you accepting the invitation?" : "Acceptez-vous l'invitation ?", diff --git a/apps/dav/l10n/fr.json b/apps/dav/l10n/fr.json index 6180fc9b92a..b9a5a65e888 100644 --- a/apps/dav/l10n/fr.json +++ b/apps/dav/l10n/fr.json @@ -79,6 +79,11 @@ "_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["Dans un an toute la journée du %1$s","Dans %n années toute la journée du %1$s","Dans %n années toute la journée du %1$s"], "In the past on %1$s between %2$s - %3$s" : "Dans le passé le %1$s entre %2$s - %3$s", "_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["Dans une minute le %1$s entre %2$s - %3$s","Dans %n minutes le %1$s entre %2$s - %3$s","Dans %n minutes le %1$s entre %2$s - %3$s"], + "_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["Dans une heure le %1$s entre %2$s et %3$s","Dans %n heures le %1$s entre %2$s et %3$s","Dans %n heures le %1$s entre %2$s et %3$s"], + "_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["Demain le %1$s entre %2$s et %3$s","Dans %n jours le %1$s entre %2$s et %3$s","Dans %n jours le %1$s entre %2$s et %3$s"], + "_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["La semaine prochaine le %1$s entre %2$s et %3$s","Dans %n semaines le %1$s entre %2$s et %3$s","Dans %n semaines le %1$s entre %2$s et %3$s"], + "_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["Dans un mois le %1$s entre %2$s et %3$s","Dans %n mois le %1$s entre %2$s et %3$s","Dans %n mois le %1$s entre %2$s et %3$s"], + "_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["L'an prochain le %1$s entre %2$s et %3$s","Dans %n ans le %1$s entre %2$s et %3$s","Dans %n ans le %1$s entre %2$s et %3$s"], "Could not generate when statement" : "Impossible de déterminer quand", "Every Day for the entire day" : "Chaque jour pour toute la journée", "Every Day for the entire day until %1$s" : "Chaque jour pour toute la journée jusqu'au %1$s", @@ -115,6 +120,27 @@ "Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "Tous les %1$d ans en %2$s le %3$s entre %4$s - %5$s jusqu'au %6$s", "On specific dates for the entire day until %1$s" : "À une date spécifique pour la journée entière jusqu'au %1$s", "On specific dates between %1$s - %2$s until %3$s" : "À des dates spécifiques entre %1$s et %2$s jusqu'au %3$s", + "In the past on %1$s" : "Dans le passé sur %1$s", + "_In a minute on %1$s_::_In %n minutes on %1$s_" : ["Dans une minute sur %1$s","Dans %n minutes sur %1$s","Dans %n minutes sur %1$s"], + "_In a hour on %1$s_::_In %n hours on %1$s_" : ["Dans une heure sur %1$s","Dans %n heures sur %1$s","Dans %n sur %1$s"], + "_In a day on %1$s_::_In %n days on %1$s_" : ["Demain le %1$s","Dans %n jours le %1$s","Dans %n jours le %1$s"], + "_In a week on %1$s_::_In %n weeks on %1$s_" : ["La semaine prochaine le %1$s","Dans %n semaines le %1$s","Dans %n semaines le %1$s"], + "_In a month on %1$s_::_In %n months on %1$s_" : ["Le mois prochain le %1$s","Dans %n mois le %1$s","Dans %n mois le %1$s"], + "_In a year on %1$s_::_In %n years on %1$s_" : ["L'an prochain le %1$s","Dans %n ans le %1$s","Dans %n ans le %1$s"], + "In the past on %1$s then on %2$s" : "Dans le passé le %1$s puis le %2$s", + "_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["Dans une minute le %1$s puis le %2$s","Dans %n minutes le %1$s puis le %2$s","Dans %n minutes le %1$s puis le %2$s"], + "_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["Dans une heure le %1$s puis le %2$s","Dans %n heures le %1$s puis le %2$s","Dans %n heures le %1$s puis le %2$s"], + "_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["Demain le %1$s puis le %2$s","Dans %n jours le %1$s puis le %2$s","Dans %n jours le %1$s puis le %2$s"], + "_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["La semaine prochaine le %1$s puis le %2$s","Dans %n semaines le %1$s puis le %2$s","Dans %n semaines le %1$s puis le %2$s"], + "_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["Le mois prochain le %1$s puis le %2$s","Dans %n mois le %1$s puis le %2$s","Dans %n mois le %1$s puis le %2$s"], + "_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["L'an prochain le %1$s puis le %2$s","Dans %n ans le %1$s puis le %2$s","Dans %n ans le %1$s puis le %2$s"], + "In the past on %1$s then on %2$s and %3$s" : "Dans le passé le %1$s puis le %2$s et %3$s", + "_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["Dans une minute le %1$s puis le %2$s et %3$s","Dans %n minutes le %1$s puis le %2$s et %3$s","Dans %n minutes le %1$s puis le %2$s et %3$s"], + "_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["Dans une heure le %1$s puis le %2$s et %3$s","Dans %n heures le %1$s puis le %2$s et %3$s","Dans %n heures le %1$s puis le %2$s et %3$s"], + "_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["Demain le %1$s puis le %2$s et %3$s","Dans %n jours le %1$s puis le %2$s et %3$s","Dans %n jours le %1$s puis le %2$s et %3$s"], + "_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["La semaine prochaine le %1$s puis le %2$s et %3$s","Dans %n semaines le %1$s puis le %2$s et %3$s","Dans %n semaines le %1$s puis le %2$s et %3$s"], + "_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Dans un mois le %1$s puis le %2$s et %3$s","Dans %n mois le %1$s puis le %2$s et %3$s","Dans %n mois le %1$s puis le %2$s et %3$s"], + "_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Dans un an sur %1$spuis sur %2$s et %3$s","Dans %n années sur %1$s puis sur %2$s et %3$s","Dans %n années sur %1$s puis sur %2$s et %3$s"], "Could not generate next recurrence statement" : "Impossible de déterminer la prochaine récurrence", "Cancelled: %1$s" : "Annulé : %1$s", "\"%1$s\" has been canceled" : "\"%1$s\" a été annulé(e)", @@ -262,6 +288,25 @@ "Pick a start time for {dayName}" : "Choisissez une heure de début pour {dayName}", "Pick a end time for {dayName}" : "Choisissez une heure de fin pour {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Définir automatiquement le statut « Ne pas déranger » en dehors des heures de disponibilités pour désactiver toutes les notifications.", + "Cancel" : "Annuler", + "Import" : "Importation", + "Error while saving settings" : "Erreur lors de l'enregistrement des paramètres", + "Contact reset successfully" : "Contact réinitialisé avec succès", + "Error while resetting contact" : "Erreur lors de la remise à zéro du contact", + "Contact imported successfully" : "Contact importé avec succès", + "Error while importing contact" : "Erreur lors de l'importation du contact", + "Import contact" : "Importer un contact", + "Reset to default" : "Restaurer les valeurs par défaut", + "Import contacts" : "Importer des contacts", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importer un nouveau fichier .vcf supprimera le contact par défaut existant et le remplacera. Voulez-vous continuer ?", + "Failed to save example event creation setting" : "Échec de la sauvegarde du paramètre de l'exemple de création d'événement", + "Failed to upload the example event" : "Échec du téléversement de l'exemple d'événement", + "Custom example event was saved successfully" : "L'exemple d'événement personnalisé a bien été enregistré", + "Failed to delete the custom example event" : "Échec de la suppression de l'exemple d'événement personnalisé ", + "Custom example event was deleted successfully" : "L'exemple de contenu personnalisé a bien été supprimé", + "Import calendar event" : "Importer l'événement du calendrier", + "Uploading a new event will overwrite the existing one." : "Charger un nouvel événement qui va remplacer l'actuel.", + "Upload event" : "Téléverser un événement", "Availability" : "Disponibilités", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Si vous configurez vos heures de travail, les autres personnes verront si vous êtes disponible quand ils planifient une réunion.", "Absence" : "Absence", @@ -278,16 +323,8 @@ "Send reminder notifications to calendar sharees as well" : "Envoyez également des notifications de rappel aux personnes partageant le calendrier", "Reminders are always sent to organizers and attendees." : "Des rappels sont toujours envoyés aux organisateurs et aux participants.", "Enable notifications for events via push" : "Activer les notifications push pour les évènements", - "Cancel" : "Annuler", - "Import" : "Importation", - "Error while saving settings" : "Erreur lors de l'enregistrement des paramètres", - "Contact reset successfully" : "Contact réinitialisé avec succès", - "Error while resetting contact" : "Erreur lors de la remise à zéro du contact", - "Contact imported successfully" : "Contact importé avec succès", - "Error while importing contact" : "Erreur lors de l'importation du contact", - "Import contact" : "Importer un contact", - "Import contacts" : "Importer des contacts", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importer un nouveau fichier .vcf supprimera le contact par défaut existant et le remplacera. Voulez-vous continuer ?", + "Example content" : "Exemple de contenu", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Les exemples de contenu servent à présenter les fonctionnalités de Nextcloud. Le contenu par défaut est fourni avec Nextcloud et peut être remplacé par du contenu personnalisé.", "There was an error updating your attendance status." : "Une erreur s'est produite lors de la mise à jour de votre statut de présence.", "Please contact the organizer directly." : "Merci de contacter l'organisateur directement.", "Are you accepting the invitation?" : "Acceptez-vous l'invitation ?", diff --git a/apps/dav/l10n/ga.js b/apps/dav/l10n/ga.js index bc7ce1993cd..fe197df1bd8 100644 --- a/apps/dav/l10n/ga.js +++ b/apps/dav/l10n/ga.js @@ -290,6 +290,25 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Roghnaigh am tosaithe le haghaidh {dayName}", "Pick a end time for {dayName}" : "Roghnaigh am críochnaithe le haghaidh {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Socraigh stádas úsáideora go huathoibríoch mar \"Ná cuir isteach\" taobh amuigh den infhaighteacht chun gach fógra a bhalbhú.", + "Cancel" : "Cealaigh", + "Import" : "Iompórtáil", + "Error while saving settings" : "Earráid agus na socruithe á sábháil", + "Contact reset successfully" : "D'éirigh le hathshocrú teagmhála", + "Error while resetting contact" : "Earráid agus an teagmhálaí á athshocrú", + "Contact imported successfully" : "D'éirigh le hiompórtáil an teagmhálaí", + "Error while importing contact" : "Earráid agus an teagmhálaí á iompórtáil", + "Import contact" : "Iompórtáil teagmhála", + "Reset to default" : "Athshocraigh go réamhshocrú", + "Import contacts" : "Teagmhálaithe a allmhairiú", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Má dhéantar comhad .vcf nua a iompórtáil, scriosfar an teagmhálaí réamhshocraithe atá ann cheana féin agus cuirfear an ceann nua ina ionad. Ar mhaith leat leanúint ar aghaidh?", + "Failed to save example event creation setting" : "Theip ar shocrú cruthaithe imeachta samplach a shábháil", + "Failed to upload the example event" : "Theip ar an imeacht samplach a uaslódáil", + "Custom example event was saved successfully" : "Sábháladh imeacht samplach saincheaptha go rathúil", + "Failed to delete the custom example event" : "Theip ar an imeacht samplach saincheaptha a scriosadh", + "Custom example event was deleted successfully" : "Scriosadh imeacht samplach saincheaptha go rathúil", + "Import calendar event" : "Imeacht féilire a allmhairiú", + "Uploading a new event will overwrite the existing one." : "Scríobhfar an ceann atá ann cheana má uaslódálann tú imeacht nua.", + "Upload event" : "Uaslódáil imeacht", "Availability" : "Infhaighteacht", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Má dhéanann tú do chuid uaireanta oibre a chumrú, feicfidh daoine eile nuair a bhíonn tú as oifig nuair a chuireann siad cruinniú in áirithe.", "Absence" : "Neamhláithreacht", @@ -306,19 +325,8 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Seol fógraí meabhrúcháin chuig scaireanna féilire freisin", "Reminders are always sent to organizers and attendees." : "Seoltar meabhrúcháin chuig na heagraithe agus an lucht freastail i gcónaí.", "Enable notifications for events via push" : "Cumasaigh fógraí le haghaidh imeachtaí trí bhrú", - "Cancel" : "Cealaigh", - "Import" : "Iompórtáil", - "Error while saving settings" : "Earráid agus na socruithe á sábháil", - "Contact reset successfully" : "D'éirigh le hathshocrú teagmhála", - "Error while resetting contact" : "Earráid agus an teagmhálaí á athshocrú", - "Contact imported successfully" : "D'éirigh le hiompórtáil an teagmhálaí", - "Error while importing contact" : "Earráid agus an teagmhálaí á iompórtáil", - "Example Content" : "Ábhar Samplach", - "Set example content to be created on new user first login." : "Socraigh ábhar samplach le cruthú ar an gcéad logáil isteach úsáideora nua.", - "Import contact" : "Iompórtáil teagmhála", - "Reset to default contact" : "Athshocraigh go teagmhálaí réamhshocraithe", - "Import contacts" : "Teagmhálaithe a allmhairiú", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Má dhéantar comhad .vcf nua a iompórtáil, scriosfar an teagmhálaí réamhshocraithe atá ann cheana féin agus cuirfear an ceann nua ina ionad. Ar mhaith leat leanúint ar aghaidh?", + "Example content" : "Ábhar samplach", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Feidhmíonn ábhar samplach chun gnéithe Nextcloud a thaispeáint. Seoltar ábhar réamhshocraithe le Nextcloud, agus is féidir ábhar saincheaptha a chur ina áit.", "There was an error updating your attendance status." : "Tharla earráid agus do stádas freastail á nuashonrú.", "Please contact the organizer directly." : "Téigh i dteagmháil leis an eagraí go díreach le do thoil.", "Are you accepting the invitation?" : "An bhfuil tú ag glacadh leis an gcuireadh?", diff --git a/apps/dav/l10n/ga.json b/apps/dav/l10n/ga.json index ddf26142454..cde6b45cf5f 100644 --- a/apps/dav/l10n/ga.json +++ b/apps/dav/l10n/ga.json @@ -288,6 +288,25 @@ "Pick a start time for {dayName}" : "Roghnaigh am tosaithe le haghaidh {dayName}", "Pick a end time for {dayName}" : "Roghnaigh am críochnaithe le haghaidh {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Socraigh stádas úsáideora go huathoibríoch mar \"Ná cuir isteach\" taobh amuigh den infhaighteacht chun gach fógra a bhalbhú.", + "Cancel" : "Cealaigh", + "Import" : "Iompórtáil", + "Error while saving settings" : "Earráid agus na socruithe á sábháil", + "Contact reset successfully" : "D'éirigh le hathshocrú teagmhála", + "Error while resetting contact" : "Earráid agus an teagmhálaí á athshocrú", + "Contact imported successfully" : "D'éirigh le hiompórtáil an teagmhálaí", + "Error while importing contact" : "Earráid agus an teagmhálaí á iompórtáil", + "Import contact" : "Iompórtáil teagmhála", + "Reset to default" : "Athshocraigh go réamhshocrú", + "Import contacts" : "Teagmhálaithe a allmhairiú", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Má dhéantar comhad .vcf nua a iompórtáil, scriosfar an teagmhálaí réamhshocraithe atá ann cheana féin agus cuirfear an ceann nua ina ionad. Ar mhaith leat leanúint ar aghaidh?", + "Failed to save example event creation setting" : "Theip ar shocrú cruthaithe imeachta samplach a shábháil", + "Failed to upload the example event" : "Theip ar an imeacht samplach a uaslódáil", + "Custom example event was saved successfully" : "Sábháladh imeacht samplach saincheaptha go rathúil", + "Failed to delete the custom example event" : "Theip ar an imeacht samplach saincheaptha a scriosadh", + "Custom example event was deleted successfully" : "Scriosadh imeacht samplach saincheaptha go rathúil", + "Import calendar event" : "Imeacht féilire a allmhairiú", + "Uploading a new event will overwrite the existing one." : "Scríobhfar an ceann atá ann cheana má uaslódálann tú imeacht nua.", + "Upload event" : "Uaslódáil imeacht", "Availability" : "Infhaighteacht", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Má dhéanann tú do chuid uaireanta oibre a chumrú, feicfidh daoine eile nuair a bhíonn tú as oifig nuair a chuireann siad cruinniú in áirithe.", "Absence" : "Neamhláithreacht", @@ -304,19 +323,8 @@ "Send reminder notifications to calendar sharees as well" : "Seol fógraí meabhrúcháin chuig scaireanna féilire freisin", "Reminders are always sent to organizers and attendees." : "Seoltar meabhrúcháin chuig na heagraithe agus an lucht freastail i gcónaí.", "Enable notifications for events via push" : "Cumasaigh fógraí le haghaidh imeachtaí trí bhrú", - "Cancel" : "Cealaigh", - "Import" : "Iompórtáil", - "Error while saving settings" : "Earráid agus na socruithe á sábháil", - "Contact reset successfully" : "D'éirigh le hathshocrú teagmhála", - "Error while resetting contact" : "Earráid agus an teagmhálaí á athshocrú", - "Contact imported successfully" : "D'éirigh le hiompórtáil an teagmhálaí", - "Error while importing contact" : "Earráid agus an teagmhálaí á iompórtáil", - "Example Content" : "Ábhar Samplach", - "Set example content to be created on new user first login." : "Socraigh ábhar samplach le cruthú ar an gcéad logáil isteach úsáideora nua.", - "Import contact" : "Iompórtáil teagmhála", - "Reset to default contact" : "Athshocraigh go teagmhálaí réamhshocraithe", - "Import contacts" : "Teagmhálaithe a allmhairiú", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Má dhéantar comhad .vcf nua a iompórtáil, scriosfar an teagmhálaí réamhshocraithe atá ann cheana féin agus cuirfear an ceann nua ina ionad. Ar mhaith leat leanúint ar aghaidh?", + "Example content" : "Ábhar samplach", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Feidhmíonn ábhar samplach chun gnéithe Nextcloud a thaispeáint. Seoltar ábhar réamhshocraithe le Nextcloud, agus is féidir ábhar saincheaptha a chur ina áit.", "There was an error updating your attendance status." : "Tharla earráid agus do stádas freastail á nuashonrú.", "Please contact the organizer directly." : "Téigh i dteagmháil leis an eagraí go díreach le do thoil.", "Are you accepting the invitation?" : "An bhfuil tú ag glacadh leis an gcuireadh?", diff --git a/apps/dav/l10n/gl.js b/apps/dav/l10n/gl.js index dca0a873e50..2dcf4a4d100 100644 --- a/apps/dav/l10n/gl.js +++ b/apps/dav/l10n/gl.js @@ -287,6 +287,10 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Escolla unha hora de inicio para {dayName}", "Pick a end time for {dayName}" : "Escolla unha hora de finalización para {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Definir automaticamente o estado do usuario en «Non molestar» fóra de dispoñibilidade para enmudecer todas as notificacións.", + "Cancel" : "Cancelar", + "Import" : "Importar", + "Error while saving settings" : "Produciuse un erro ao gardar os axustes", + "Reset to default" : "Restabelecer os valores predeterminados", "Availability" : "Dispoñibilidade", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Se configura o seu horario de traballo, outras persoas verán cando está fóra da oficina cando reserven unha xuntanza.", "Absence" : "Ausencia", @@ -303,9 +307,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Enviar notificacións de lembrete tamén aos que comparten calendario", "Reminders are always sent to organizers and attendees." : "Os lembretes envíanselle sempre aos organizadores e aos asistentes.", "Enable notifications for events via push" : "Activar o envío de notificacións emerxentes para eventos", - "Cancel" : "Cancelar", - "Import" : "Importar", - "Error while saving settings" : "Produciuse un erro ao gardar os axustes", "There was an error updating your attendance status." : "Produciuse un erro ao actualizar o seu estado de asistencia.", "Please contact the organizer directly." : "Contacte directamente co organizador.", "Are you accepting the invitation?" : "Acepta Vde. o convite?", diff --git a/apps/dav/l10n/gl.json b/apps/dav/l10n/gl.json index 06d372f0a38..777fd270c00 100644 --- a/apps/dav/l10n/gl.json +++ b/apps/dav/l10n/gl.json @@ -285,6 +285,10 @@ "Pick a start time for {dayName}" : "Escolla unha hora de inicio para {dayName}", "Pick a end time for {dayName}" : "Escolla unha hora de finalización para {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Definir automaticamente o estado do usuario en «Non molestar» fóra de dispoñibilidade para enmudecer todas as notificacións.", + "Cancel" : "Cancelar", + "Import" : "Importar", + "Error while saving settings" : "Produciuse un erro ao gardar os axustes", + "Reset to default" : "Restabelecer os valores predeterminados", "Availability" : "Dispoñibilidade", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Se configura o seu horario de traballo, outras persoas verán cando está fóra da oficina cando reserven unha xuntanza.", "Absence" : "Ausencia", @@ -301,9 +305,6 @@ "Send reminder notifications to calendar sharees as well" : "Enviar notificacións de lembrete tamén aos que comparten calendario", "Reminders are always sent to organizers and attendees." : "Os lembretes envíanselle sempre aos organizadores e aos asistentes.", "Enable notifications for events via push" : "Activar o envío de notificacións emerxentes para eventos", - "Cancel" : "Cancelar", - "Import" : "Importar", - "Error while saving settings" : "Produciuse un erro ao gardar os axustes", "There was an error updating your attendance status." : "Produciuse un erro ao actualizar o seu estado de asistencia.", "Please contact the organizer directly." : "Contacte directamente co organizador.", "Are you accepting the invitation?" : "Acepta Vde. o convite?", diff --git a/apps/dav/l10n/hu.js b/apps/dav/l10n/hu.js index c30d82f5b8d..6b3c40357a1 100644 --- a/apps/dav/l10n/hu.js +++ b/apps/dav/l10n/hu.js @@ -244,6 +244,10 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Válassz kezdő dátumot a {dayName}-hoz", "Pick a end time for {dayName}" : "Válassz vége dátumot a {dayName}-hoz", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Az elérhetőségi időn túl, a felhasználói állapot automatikus beállítása „Ne zavarjanak” módba az összes értesítés némításához.", + "Cancel" : "Mégse", + "Import" : "Importálás", + "Error while saving settings" : "Hiba a beállítások mentése során", + "Reset to default" : "Visszaállítás alapértelmezettre", "Availability" : "Elérhetőség", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Ha beállítja a munkaidejét, akkor más emberek a megbeszélések létrehozásakor látni fogják, hogy Ön mikor nem érhető el.", "Absence" : "Távollét", @@ -260,9 +264,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Emlékeztető értesítések küldése azoknak is, akikkel a naptár meg van osztva", "Reminders are always sent to organizers and attendees." : "Az értesítések mindig a szervezőknek és a résztvevőknek lesznek elküldve.", "Enable notifications for events via push" : "Leküldéses értesítések engedélyezése az eseményekhez", - "Cancel" : "Mégse", - "Import" : "Importálás", - "Error while saving settings" : "Hiba a beállítások mentése során", "There was an error updating your attendance status." : "Hiba történt a részvételi állapotának frissítése során.", "Please contact the organizer directly." : "Vegye fel a kapcsolatot közvetlenül a szervezővel.", "Are you accepting the invitation?" : "Elfogadja az meghívást?", diff --git a/apps/dav/l10n/hu.json b/apps/dav/l10n/hu.json index 354e05b1499..08ab94adbdc 100644 --- a/apps/dav/l10n/hu.json +++ b/apps/dav/l10n/hu.json @@ -242,6 +242,10 @@ "Pick a start time for {dayName}" : "Válassz kezdő dátumot a {dayName}-hoz", "Pick a end time for {dayName}" : "Válassz vége dátumot a {dayName}-hoz", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Az elérhetőségi időn túl, a felhasználói állapot automatikus beállítása „Ne zavarjanak” módba az összes értesítés némításához.", + "Cancel" : "Mégse", + "Import" : "Importálás", + "Error while saving settings" : "Hiba a beállítások mentése során", + "Reset to default" : "Visszaállítás alapértelmezettre", "Availability" : "Elérhetőség", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Ha beállítja a munkaidejét, akkor más emberek a megbeszélések létrehozásakor látni fogják, hogy Ön mikor nem érhető el.", "Absence" : "Távollét", @@ -258,9 +262,6 @@ "Send reminder notifications to calendar sharees as well" : "Emlékeztető értesítések küldése azoknak is, akikkel a naptár meg van osztva", "Reminders are always sent to organizers and attendees." : "Az értesítések mindig a szervezőknek és a résztvevőknek lesznek elküldve.", "Enable notifications for events via push" : "Leküldéses értesítések engedélyezése az eseményekhez", - "Cancel" : "Mégse", - "Import" : "Importálás", - "Error while saving settings" : "Hiba a beállítások mentése során", "There was an error updating your attendance status." : "Hiba történt a részvételi állapotának frissítése során.", "Please contact the organizer directly." : "Vegye fel a kapcsolatot közvetlenül a szervezővel.", "Are you accepting the invitation?" : "Elfogadja az meghívást?", diff --git a/apps/dav/l10n/is.js b/apps/dav/l10n/is.js index 9013b38d8b1..80eb90d83db 100644 --- a/apps/dav/l10n/is.js +++ b/apps/dav/l10n/is.js @@ -287,6 +287,10 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Veldu upphafstíma fyrir {dayName}", "Pick a end time for {dayName}" : "Veldu lokatíma fyrir {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Setja stöðu notenda sjálfkrafa á \"Ekki ónáða\" utan þess lausa tíma sem viðkomandi er tiltækur, til að þagga niður í öllum tilkynningum.", + "Cancel" : "Hætta við", + "Import" : "Flytja inn", + "Error while saving settings" : "Villa við að vista stillingar", + "Reset to default" : "Endurstilla á sjálfgefið", "Availability" : "Aðgengileiki", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Ef þú stillir vinnutímana þína, geta aðrir séð hvenær þú sért fjarverandi þegar þeir bóka fundi með þér.", "Absence" : "Fjarverandi", @@ -303,9 +307,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Senda einnig tilkynningar til þeirra sem deila dagatalinu", "Reminders are always sent to organizers and attendees." : "Áminningar eru alltaf sendar til skipuleggjenda og þátttakenda.", "Enable notifications for events via push" : "Senda tilkynningar fyrir atburði sem ýtitilkynningar", - "Cancel" : "Hætta við", - "Import" : "Flytja inn", - "Error while saving settings" : "Villa við að vista stillingar", "There was an error updating your attendance status." : "Það kom upp villa við að uppfæra mætingarstöðu þína.", "Please contact the organizer directly." : "Hafðu samband beint við skipuleggjendurna.", "Are you accepting the invitation?" : "Ætlar þú að samþykkja boðið?", diff --git a/apps/dav/l10n/is.json b/apps/dav/l10n/is.json index 8db2832ed79..a89ef260f36 100644 --- a/apps/dav/l10n/is.json +++ b/apps/dav/l10n/is.json @@ -285,6 +285,10 @@ "Pick a start time for {dayName}" : "Veldu upphafstíma fyrir {dayName}", "Pick a end time for {dayName}" : "Veldu lokatíma fyrir {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Setja stöðu notenda sjálfkrafa á \"Ekki ónáða\" utan þess lausa tíma sem viðkomandi er tiltækur, til að þagga niður í öllum tilkynningum.", + "Cancel" : "Hætta við", + "Import" : "Flytja inn", + "Error while saving settings" : "Villa við að vista stillingar", + "Reset to default" : "Endurstilla á sjálfgefið", "Availability" : "Aðgengileiki", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Ef þú stillir vinnutímana þína, geta aðrir séð hvenær þú sért fjarverandi þegar þeir bóka fundi með þér.", "Absence" : "Fjarverandi", @@ -301,9 +305,6 @@ "Send reminder notifications to calendar sharees as well" : "Senda einnig tilkynningar til þeirra sem deila dagatalinu", "Reminders are always sent to organizers and attendees." : "Áminningar eru alltaf sendar til skipuleggjenda og þátttakenda.", "Enable notifications for events via push" : "Senda tilkynningar fyrir atburði sem ýtitilkynningar", - "Cancel" : "Hætta við", - "Import" : "Flytja inn", - "Error while saving settings" : "Villa við að vista stillingar", "There was an error updating your attendance status." : "Það kom upp villa við að uppfæra mætingarstöðu þína.", "Please contact the organizer directly." : "Hafðu samband beint við skipuleggjendurna.", "Are you accepting the invitation?" : "Ætlar þú að samþykkja boðið?", diff --git a/apps/dav/l10n/it.js b/apps/dav/l10n/it.js index 219b862fb1c..f441b42c3d8 100644 --- a/apps/dav/l10n/it.js +++ b/apps/dav/l10n/it.js @@ -207,6 +207,10 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Scegli un orario di inizio per {dayName}", "Pick a end time for {dayName}" : "Scegli un orario di fine per {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Imposta automaticamente lo stato dell'utente su \"Non disturbare\" al di fuori della disponibilità per disattivare tutte le notifiche.", + "Cancel" : "Annulla", + "Import" : "Importa", + "Error while saving settings" : "Errore durante il salvataggio delle impostazioni", + "Reset to default" : "Ripristina valori predefiniti", "Availability" : "Disponibilità", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Se imposti il tuo orario di lavoro, le altre persone potranno vedere quando non sei in ufficio per organizzare una riunione.", "Absence" : "Assenza", @@ -223,9 +227,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Invia notifiche di promemoria anche ai partecipanti al calendario", "Reminders are always sent to organizers and attendees." : "I promemoria vengono sempre inviati agli organizzatori e ai partecipanti.", "Enable notifications for events via push" : "Abilita notifiche per eventi tramite push", - "Cancel" : "Annulla", - "Import" : "Importa", - "Error while saving settings" : "Errore durante il salvataggio delle impostazioni", "There was an error updating your attendance status." : "Si è verificato un errore durante l'aggiornamento dello stato della tua partecipazione.", "Please contact the organizer directly." : "Contatta direttamente l'amministratore.", "Are you accepting the invitation?" : "Accetti l'invito?", diff --git a/apps/dav/l10n/it.json b/apps/dav/l10n/it.json index 577326b730a..035866d3115 100644 --- a/apps/dav/l10n/it.json +++ b/apps/dav/l10n/it.json @@ -205,6 +205,10 @@ "Pick a start time for {dayName}" : "Scegli un orario di inizio per {dayName}", "Pick a end time for {dayName}" : "Scegli un orario di fine per {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Imposta automaticamente lo stato dell'utente su \"Non disturbare\" al di fuori della disponibilità per disattivare tutte le notifiche.", + "Cancel" : "Annulla", + "Import" : "Importa", + "Error while saving settings" : "Errore durante il salvataggio delle impostazioni", + "Reset to default" : "Ripristina valori predefiniti", "Availability" : "Disponibilità", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Se imposti il tuo orario di lavoro, le altre persone potranno vedere quando non sei in ufficio per organizzare una riunione.", "Absence" : "Assenza", @@ -221,9 +225,6 @@ "Send reminder notifications to calendar sharees as well" : "Invia notifiche di promemoria anche ai partecipanti al calendario", "Reminders are always sent to organizers and attendees." : "I promemoria vengono sempre inviati agli organizzatori e ai partecipanti.", "Enable notifications for events via push" : "Abilita notifiche per eventi tramite push", - "Cancel" : "Annulla", - "Import" : "Importa", - "Error while saving settings" : "Errore durante il salvataggio delle impostazioni", "There was an error updating your attendance status." : "Si è verificato un errore durante l'aggiornamento dello stato della tua partecipazione.", "Please contact the organizer directly." : "Contatta direttamente l'amministratore.", "Are you accepting the invitation?" : "Accetti l'invito?", diff --git a/apps/dav/l10n/ja.js b/apps/dav/l10n/ja.js index 475047a4a28..6a6753c1d35 100644 --- a/apps/dav/l10n/ja.js +++ b/apps/dav/l10n/ja.js @@ -290,6 +290,17 @@ OC.L10N.register( "Pick a start time for {dayName}" : "{dayName} 開始時間を指定してください", "Pick a end time for {dayName}" : "{dayName} の終了時間を指定してください", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "利用時間外は自動的にユーザーステータスを\"非通知\" に設定し、すべての通知をミュートします。", + "Cancel" : "キャンセル", + "Import" : "インポート", + "Error while saving settings" : "設定の保存中にエラーが発生", + "Contact reset successfully" : "連絡先のリセットが正常に完了しました", + "Error while resetting contact" : "連絡先のリセット中にエラーが発生しました", + "Contact imported successfully" : "連絡先のインポートが正常に完了しました", + "Error while importing contact" : "連絡先のインポート中にエラーが発生しました", + "Import contact" : "連絡先のインポート", + "Reset to default" : "デフォルトに戻す", + "Import contacts" : "連絡先のインポート", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "新しい .vcf ファイルをインポートすると、既存のデフォルト連絡先が削除され、新しいものに置き換えられます。続行しますか?", "Availability" : "応対可能日時", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "勤務時間を設定すると、他のユーザが会議を予約する際に、あなたがいつ不在であるかがわかります。", "Absence" : "不在", @@ -306,19 +317,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "カレンダー共有にもリマインダー通知を送信する", "Reminders are always sent to organizers and attendees." : "リマインダーを常に作成者と出席者に送信します。", "Enable notifications for events via push" : "イベントのプッシュ通知を有効にする", - "Cancel" : "キャンセル", - "Import" : "インポート", - "Error while saving settings" : "設定の保存中にエラーが発生", - "Contact reset successfully" : "連絡先のリセットが正常に完了しました", - "Error while resetting contact" : "連絡先のリセット中にエラーが発生しました", - "Contact imported successfully" : "連絡先のインポートが正常に完了しました", - "Error while importing contact" : "連絡先のインポート中にエラーが発生しました", - "Example Content" : "サンプルコンテンツ", - "Set example content to be created on new user first login." : "新規ユーザの初回ログイン時に作成されるサンプルコンテンツを設定します。", - "Import contact" : "連絡先のインポート", - "Reset to default contact" : "デフォルトの連絡先にリセットする", - "Import contacts" : "連絡先のインポート", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "新しい .vcf ファイルをインポートすると、既存のデフォルト連絡先が削除され、新しいものに置き換えられます。続行しますか?", "There was an error updating your attendance status." : "出席状況の更新中にエラーが発生しました。", "Please contact the organizer directly." : "主催者に直接お問い合わせください。", "Are you accepting the invitation?" : "招待を受け入れていますか?", diff --git a/apps/dav/l10n/ja.json b/apps/dav/l10n/ja.json index e964a890f9b..fdefc04c4c7 100644 --- a/apps/dav/l10n/ja.json +++ b/apps/dav/l10n/ja.json @@ -288,6 +288,17 @@ "Pick a start time for {dayName}" : "{dayName} 開始時間を指定してください", "Pick a end time for {dayName}" : "{dayName} の終了時間を指定してください", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "利用時間外は自動的にユーザーステータスを\"非通知\" に設定し、すべての通知をミュートします。", + "Cancel" : "キャンセル", + "Import" : "インポート", + "Error while saving settings" : "設定の保存中にエラーが発生", + "Contact reset successfully" : "連絡先のリセットが正常に完了しました", + "Error while resetting contact" : "連絡先のリセット中にエラーが発生しました", + "Contact imported successfully" : "連絡先のインポートが正常に完了しました", + "Error while importing contact" : "連絡先のインポート中にエラーが発生しました", + "Import contact" : "連絡先のインポート", + "Reset to default" : "デフォルトに戻す", + "Import contacts" : "連絡先のインポート", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "新しい .vcf ファイルをインポートすると、既存のデフォルト連絡先が削除され、新しいものに置き換えられます。続行しますか?", "Availability" : "応対可能日時", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "勤務時間を設定すると、他のユーザが会議を予約する際に、あなたがいつ不在であるかがわかります。", "Absence" : "不在", @@ -304,19 +315,6 @@ "Send reminder notifications to calendar sharees as well" : "カレンダー共有にもリマインダー通知を送信する", "Reminders are always sent to organizers and attendees." : "リマインダーを常に作成者と出席者に送信します。", "Enable notifications for events via push" : "イベントのプッシュ通知を有効にする", - "Cancel" : "キャンセル", - "Import" : "インポート", - "Error while saving settings" : "設定の保存中にエラーが発生", - "Contact reset successfully" : "連絡先のリセットが正常に完了しました", - "Error while resetting contact" : "連絡先のリセット中にエラーが発生しました", - "Contact imported successfully" : "連絡先のインポートが正常に完了しました", - "Error while importing contact" : "連絡先のインポート中にエラーが発生しました", - "Example Content" : "サンプルコンテンツ", - "Set example content to be created on new user first login." : "新規ユーザの初回ログイン時に作成されるサンプルコンテンツを設定します。", - "Import contact" : "連絡先のインポート", - "Reset to default contact" : "デフォルトの連絡先にリセットする", - "Import contacts" : "連絡先のインポート", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "新しい .vcf ファイルをインポートすると、既存のデフォルト連絡先が削除され、新しいものに置き換えられます。続行しますか?", "There was an error updating your attendance status." : "出席状況の更新中にエラーが発生しました。", "Please contact the organizer directly." : "主催者に直接お問い合わせください。", "Are you accepting the invitation?" : "招待を受け入れていますか?", diff --git a/apps/dav/l10n/ka.js b/apps/dav/l10n/ka.js index c22370798c2..682a8e1d254 100644 --- a/apps/dav/l10n/ka.js +++ b/apps/dav/l10n/ka.js @@ -192,6 +192,10 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Pick a start time for {dayName}", "Pick a end time for {dayName}" : "Pick a end time for {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications.", + "Cancel" : "Cancel", + "Import" : "Import", + "Error while saving settings" : "Error while saving settings", + "Reset to default" : "Reset to default", "Availability" : "Availability", "Absence" : "Absence", "Configure your next absence period." : "Configure your next absence period.", @@ -207,9 +211,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Send reminder notifications to calendar sharees as well", "Reminders are always sent to organizers and attendees." : "Reminders are always sent to organizers and attendees.", "Enable notifications for events via push" : "Enable notifications for events via push", - "Cancel" : "Cancel", - "Import" : "Import", - "Error while saving settings" : "Error while saving settings", "There was an error updating your attendance status." : "There was an error updating your attendance status.", "Please contact the organizer directly." : "Please contact the organizer directly.", "Are you accepting the invitation?" : "Are you accepting the invitation?", diff --git a/apps/dav/l10n/ka.json b/apps/dav/l10n/ka.json index 097e8f0bbdb..3685b1a2173 100644 --- a/apps/dav/l10n/ka.json +++ b/apps/dav/l10n/ka.json @@ -190,6 +190,10 @@ "Pick a start time for {dayName}" : "Pick a start time for {dayName}", "Pick a end time for {dayName}" : "Pick a end time for {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications.", + "Cancel" : "Cancel", + "Import" : "Import", + "Error while saving settings" : "Error while saving settings", + "Reset to default" : "Reset to default", "Availability" : "Availability", "Absence" : "Absence", "Configure your next absence period." : "Configure your next absence period.", @@ -205,9 +209,6 @@ "Send reminder notifications to calendar sharees as well" : "Send reminder notifications to calendar sharees as well", "Reminders are always sent to organizers and attendees." : "Reminders are always sent to organizers and attendees.", "Enable notifications for events via push" : "Enable notifications for events via push", - "Cancel" : "Cancel", - "Import" : "Import", - "Error while saving settings" : "Error while saving settings", "There was an error updating your attendance status." : "There was an error updating your attendance status.", "Please contact the organizer directly." : "Please contact the organizer directly.", "Are you accepting the invitation?" : "Are you accepting the invitation?", diff --git a/apps/dav/l10n/ko.js b/apps/dav/l10n/ko.js index fcf3b384ebb..ae3b8e5908c 100644 --- a/apps/dav/l10n/ko.js +++ b/apps/dav/l10n/ko.js @@ -192,6 +192,10 @@ OC.L10N.register( "Pick a start time for {dayName}" : "{dayName} 시작 시각을 지정하십시오", "Pick a end time for {dayName}" : "{dayName} 종료 시각을 지정하십시오", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "다른 용무 중일 때 자동으로 사용자를 '방해 금지' 모드로 설정해 모든 알림을 음소거합니다.", + "Cancel" : "취소", + "Import" : "가져오기", + "Error while saving settings" : "설정 저장 중 오류 발생", + "Reset to default" : "기본값으로 초기화", "Availability" : "시간 조율", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "업무 시간을 설정하면, 다른 사람이 회의를 예약할 때 내 부재 중 시간을 확인할 수 있습니다.", "Absence" : "부재", @@ -208,9 +212,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "캘린더 공유자에게도 미리 알림 보내기", "Reminders are always sent to organizers and attendees." : "미리 알림은 주최자와 참석자에게 항상 전송됩니다.", "Enable notifications for events via push" : "일정에 대한 푸시 알림 활성화", - "Cancel" : "취소", - "Import" : "가져오기", - "Error while saving settings" : "설정 저장 중 오류 발생", "There was an error updating your attendance status." : "참석 상태를 업데이트하는 중 오류가 발생했습니다.", "Please contact the organizer directly." : "주최자에게 직접 연락하십시오.", "Are you accepting the invitation?" : "초대를 수락하시겠습니까?", diff --git a/apps/dav/l10n/ko.json b/apps/dav/l10n/ko.json index d908c00b867..50d8fee9c21 100644 --- a/apps/dav/l10n/ko.json +++ b/apps/dav/l10n/ko.json @@ -190,6 +190,10 @@ "Pick a start time for {dayName}" : "{dayName} 시작 시각을 지정하십시오", "Pick a end time for {dayName}" : "{dayName} 종료 시각을 지정하십시오", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "다른 용무 중일 때 자동으로 사용자를 '방해 금지' 모드로 설정해 모든 알림을 음소거합니다.", + "Cancel" : "취소", + "Import" : "가져오기", + "Error while saving settings" : "설정 저장 중 오류 발생", + "Reset to default" : "기본값으로 초기화", "Availability" : "시간 조율", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "업무 시간을 설정하면, 다른 사람이 회의를 예약할 때 내 부재 중 시간을 확인할 수 있습니다.", "Absence" : "부재", @@ -206,9 +210,6 @@ "Send reminder notifications to calendar sharees as well" : "캘린더 공유자에게도 미리 알림 보내기", "Reminders are always sent to organizers and attendees." : "미리 알림은 주최자와 참석자에게 항상 전송됩니다.", "Enable notifications for events via push" : "일정에 대한 푸시 알림 활성화", - "Cancel" : "취소", - "Import" : "가져오기", - "Error while saving settings" : "설정 저장 중 오류 발생", "There was an error updating your attendance status." : "참석 상태를 업데이트하는 중 오류가 발생했습니다.", "Please contact the organizer directly." : "주최자에게 직접 연락하십시오.", "Are you accepting the invitation?" : "초대를 수락하시겠습니까?", diff --git a/apps/dav/l10n/mk.js b/apps/dav/l10n/mk.js index 29dad61fa6f..aee9a41896f 100644 --- a/apps/dav/l10n/mk.js +++ b/apps/dav/l10n/mk.js @@ -181,6 +181,9 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Избери почетно време за {dayName}", "Pick a end time for {dayName}" : "Избери крајно време за {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Автоматско поставување на статус во \"Не вознемирувај\" недостапен за да ги занемите сите известувања.", + "Cancel" : "Откажи", + "Import" : "Увези", + "Reset to default" : "Ресетирај на стандардно", "Availability" : "Достапност", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Ако ги поставите работните часови, другите корисници ќе можат да видат кога сте слободни за да можат да закажат состанок.", "Absence" : "Отсуство", @@ -197,8 +200,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Испратете известувања за потсетници и до споделувањата на календарот", "Reminders are always sent to organizers and attendees." : "Секогаш се испраќаат потсетници до организаторите и до присутните.", "Enable notifications for events via push" : "Овозможи известувања за настани преку push", - "Cancel" : "Откажи", - "Import" : "Увези", "There was an error updating your attendance status." : "Настана грешка при ажурирање на вашето присуство.", "Please contact the organizer directly." : "Контактирајте го организаторот директно.", "Are you accepting the invitation?" : "Дали ја прифаќате поканата?", diff --git a/apps/dav/l10n/mk.json b/apps/dav/l10n/mk.json index 1636bd636cc..50e9e168496 100644 --- a/apps/dav/l10n/mk.json +++ b/apps/dav/l10n/mk.json @@ -179,6 +179,9 @@ "Pick a start time for {dayName}" : "Избери почетно време за {dayName}", "Pick a end time for {dayName}" : "Избери крајно време за {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Автоматско поставување на статус во \"Не вознемирувај\" недостапен за да ги занемите сите известувања.", + "Cancel" : "Откажи", + "Import" : "Увези", + "Reset to default" : "Ресетирај на стандардно", "Availability" : "Достапност", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Ако ги поставите работните часови, другите корисници ќе можат да видат кога сте слободни за да можат да закажат состанок.", "Absence" : "Отсуство", @@ -195,8 +198,6 @@ "Send reminder notifications to calendar sharees as well" : "Испратете известувања за потсетници и до споделувањата на календарот", "Reminders are always sent to organizers and attendees." : "Секогаш се испраќаат потсетници до организаторите и до присутните.", "Enable notifications for events via push" : "Овозможи известувања за настани преку push", - "Cancel" : "Откажи", - "Import" : "Увези", "There was an error updating your attendance status." : "Настана грешка при ажурирање на вашето присуство.", "Please contact the organizer directly." : "Контактирајте го организаторот директно.", "Are you accepting the invitation?" : "Дали ја прифаќате поканата?", diff --git a/apps/dav/l10n/nb.js b/apps/dav/l10n/nb.js index ae05bb0923f..d10ba88149b 100644 --- a/apps/dav/l10n/nb.js +++ b/apps/dav/l10n/nb.js @@ -247,6 +247,10 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Velg et starttidspunkt for {dayName}", "Pick a end time for {dayName}" : "Velg et sluttidspunkt for {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Sett brukerstatus automatisk til «Ikke forstyrr» utenfor arbeidstid for å dempe alle varsler.", + "Cancel" : "Avbryt", + "Import" : "Importer", + "Error while saving settings" : "Feil ved lagring av innstillinger", + "Reset to default" : "Tilbakestill til standard", "Availability" : "Arbeidstid", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Hvis du konfigurerer arbeidstiden din, vil andre personer se når du ikke er på kontoret når de bestiller et møte.", "Absence" : "Fravær", @@ -263,9 +267,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Send påminnelsesvarsler til kalenderdelinger også", "Reminders are always sent to organizers and attendees." : "Reminders are always sent to organizers and attendees.", "Enable notifications for events via push" : "Aktiver varsler for hendelser via push", - "Cancel" : "Avbryt", - "Import" : "Importer", - "Error while saving settings" : "Feil ved lagring av innstillinger", "There was an error updating your attendance status." : "Det oppsto en feil under oppdateringen av oppmøtestatusen din.", "Please contact the organizer directly." : "Ta kontakt med arrangøren direkte.", "Are you accepting the invitation?" : "Aksepterer du invitasjonen?", diff --git a/apps/dav/l10n/nb.json b/apps/dav/l10n/nb.json index c395b3f761f..d33852e0013 100644 --- a/apps/dav/l10n/nb.json +++ b/apps/dav/l10n/nb.json @@ -245,6 +245,10 @@ "Pick a start time for {dayName}" : "Velg et starttidspunkt for {dayName}", "Pick a end time for {dayName}" : "Velg et sluttidspunkt for {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Sett brukerstatus automatisk til «Ikke forstyrr» utenfor arbeidstid for å dempe alle varsler.", + "Cancel" : "Avbryt", + "Import" : "Importer", + "Error while saving settings" : "Feil ved lagring av innstillinger", + "Reset to default" : "Tilbakestill til standard", "Availability" : "Arbeidstid", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Hvis du konfigurerer arbeidstiden din, vil andre personer se når du ikke er på kontoret når de bestiller et møte.", "Absence" : "Fravær", @@ -261,9 +265,6 @@ "Send reminder notifications to calendar sharees as well" : "Send påminnelsesvarsler til kalenderdelinger også", "Reminders are always sent to organizers and attendees." : "Reminders are always sent to organizers and attendees.", "Enable notifications for events via push" : "Aktiver varsler for hendelser via push", - "Cancel" : "Avbryt", - "Import" : "Importer", - "Error while saving settings" : "Feil ved lagring av innstillinger", "There was an error updating your attendance status." : "Det oppsto en feil under oppdateringen av oppmøtestatusen din.", "Please contact the organizer directly." : "Ta kontakt med arrangøren direkte.", "Are you accepting the invitation?" : "Aksepterer du invitasjonen?", diff --git a/apps/dav/l10n/nl.js b/apps/dav/l10n/nl.js index cf2d91fb130..e07dc153418 100644 --- a/apps/dav/l10n/nl.js +++ b/apps/dav/l10n/nl.js @@ -166,6 +166,10 @@ OC.L10N.register( "Add slot" : "Voeg slot toe", "Weekdays" : "Weekdagen", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Stel de gebruikersstatus automatisch in op \"Niet storen\" buiten de beschikbaarheid om alle meldingen te dempen.", + "Cancel" : "Annuleren", + "Import" : "Import", + "Error while saving settings" : "Probleem tijdens het opslaan van instellingen", + "Reset to default" : "Herstellen naar standaard", "Availability" : "Beschikbaarheid", "Absence" : "Afwezigheid", "Configure your next absence period." : "Configureer uw volgende afwezigheidsperiode.", @@ -179,9 +183,6 @@ OC.L10N.register( "Send notifications for events" : "Versturen meldingen voor afspraken", "Notifications are sent via background jobs, so these must occur often enough." : "Meldingen worden via achtergrondtaken verstuurd, dus die moeten vaak genoeg plaatsvinden.", "Enable notifications for events via push" : "Inschakelen push-melding voor afspraken", - "Cancel" : "Annuleren", - "Import" : "Import", - "Error while saving settings" : "Probleem tijdens het opslaan van instellingen", "There was an error updating your attendance status." : "Er trad een fout op bij het bijwerken van je deelnamestatus.", "Please contact the organizer directly." : "Neem rechtstreeks contact op met de organisator.", "Are you accepting the invitation?" : "Neem je de uitnodiging aan?", diff --git a/apps/dav/l10n/nl.json b/apps/dav/l10n/nl.json index b1fa7ba06c5..161b2287d8e 100644 --- a/apps/dav/l10n/nl.json +++ b/apps/dav/l10n/nl.json @@ -164,6 +164,10 @@ "Add slot" : "Voeg slot toe", "Weekdays" : "Weekdagen", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Stel de gebruikersstatus automatisch in op \"Niet storen\" buiten de beschikbaarheid om alle meldingen te dempen.", + "Cancel" : "Annuleren", + "Import" : "Import", + "Error while saving settings" : "Probleem tijdens het opslaan van instellingen", + "Reset to default" : "Herstellen naar standaard", "Availability" : "Beschikbaarheid", "Absence" : "Afwezigheid", "Configure your next absence period." : "Configureer uw volgende afwezigheidsperiode.", @@ -177,9 +181,6 @@ "Send notifications for events" : "Versturen meldingen voor afspraken", "Notifications are sent via background jobs, so these must occur often enough." : "Meldingen worden via achtergrondtaken verstuurd, dus die moeten vaak genoeg plaatsvinden.", "Enable notifications for events via push" : "Inschakelen push-melding voor afspraken", - "Cancel" : "Annuleren", - "Import" : "Import", - "Error while saving settings" : "Probleem tijdens het opslaan van instellingen", "There was an error updating your attendance status." : "Er trad een fout op bij het bijwerken van je deelnamestatus.", "Please contact the organizer directly." : "Neem rechtstreeks contact op met de organisator.", "Are you accepting the invitation?" : "Neem je de uitnodiging aan?", diff --git a/apps/dav/l10n/pl.js b/apps/dav/l10n/pl.js index bd92aa8982d..078aa976c5e 100644 --- a/apps/dav/l10n/pl.js +++ b/apps/dav/l10n/pl.js @@ -72,6 +72,7 @@ OC.L10N.register( "Description: %s" : "Opis: %s", "Where: %s" : "Gdzie: %s", "%1$s via %2$s" : "%1$s przez %2$s", + "In the past on %1$s for the entire day" : "W przeszłości w %1$s na cały dzień", "Could not generate when statement" : "Nie można wygenerować instrukcji when", "Every Day for the entire day" : "Codziennie przez cały dzień", "Could not generate event recurrence statement" : "Nie można wygenerować zestawienia powtórzeń zdarzenia", @@ -121,10 +122,12 @@ OC.L10N.register( "Second" : "Druga", "Third" : "Trzecia", "Fourth" : "Czwarta", + "Fifth" : "Piąty", "Last" : "Ostatnia", "Second Last" : "Druga ostatnia", "Third Last" : "Trzecia ostatnia", "Fourth Last" : "Czwarty ostatni", + "Fifth Last" : "Piąty od końca", "Contacts" : "Kontakty", "{actor} created address book {addressbook}" : "{actor} utworzył książkę adresową {addressbook}", "You created address book {addressbook}" : "Utworzyłeś książkę adresową {addressbook}", @@ -178,6 +181,9 @@ OC.L10N.register( "Completed on %s" : "Ukończono %s", "Due on %s by %s" : "Na dzień %s w %s", "Due on %s" : "Na dzień %s", + "System Address Book" : "Systemowa książka adresowa", + "The system address book contains contact information for all users in your instance." : "Systemowa książka adresowa zawiera informacje kontaktowe wszystkich użytkowników w Twojej instancji", + "Enable System Address Book" : "Włącz systemową książkę adresową", "DAV system address book" : "Książka adresowa systemu DAV", "No outstanding DAV system address book sync." : "Brak zaległej synchronizacji książki adresowej systemu DAV.", "The DAV system address book sync has not run yet as your instance has more than 1000 users or because an error occurred. Please run it manually by calling \"occ dav:sync-system-addressbook\"." : "Synchronizacja książki adresowej systemu DAV nie została jeszcze uruchomiona, ponieważ Twoja instancja ma ponad 1000 użytkowników lub wystąpił błąd. Uruchom go ręcznie, wywołując \"occ dav:sync-system-addressbook\".", @@ -215,6 +221,25 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Wybierz dzień rozpoczęcia {dayName}", "Pick a end time for {dayName}" : "Wybierz dzień zakończenia {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Automatycznie ustaw status użytkownika na \"Nie przeszkadzać\" poza dostępnością, aby wyciszyć wszystkie powiadomienia.", + "Cancel" : "Anuluj", + "Import" : "Importuj", + "Error while saving settings" : "Błąd podczas zapisywania ustawień", + "Contact reset successfully" : "Kontakt został pomyślnie zresetowany", + "Error while resetting contact" : "Błąd podczas resetowania kontaktu", + "Contact imported successfully" : "Kontakt został pomyślnie zaimportowany", + "Error while importing contact" : "Błąd podczas importowania kontaktu", + "Import contact" : "Importuj kontakt", + "Reset to default" : "Przywróć domyślne", + "Import contacts" : "Importuj kontakty", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importowanie nowego pliku .vcf usunie domyślny kontakt i zastąpi go nowym. Czy chcesz kontynuować?", + "Failed to save example event creation setting" : "Nie udało się zapisać ustawień tworzenia przykładowego wydarzenia", + "Failed to upload the example event" : "Nie udało się przesłać przykładowego wydarzenia", + "Custom example event was saved successfully" : "Niestandardowe przykładowe wydarzenie zostało pomyślnie zapisane", + "Failed to delete the custom example event" : "Nie udało się usunąć niestandardowego przykładowego wydarzenia", + "Custom example event was deleted successfully" : "Niestandardowe przykładowe wydarzenie zostało pomyślnie usunięte", + "Import calendar event" : "Importuj wydarzenie z kalendarza", + "Uploading a new event will overwrite the existing one." : "Przesłanie nowego wydarzenia zastąpi istniejące", + "Upload event" : "Prześlij wydarzenie", "Availability" : "Dostępność", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Jeśli skonfigurujesz godziny pracy, inne osoby będą widzieć, kiedy jesteś poza biurem, rezerwując spotkanie.", "Absence" : "Nieobecność", @@ -231,9 +256,8 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Wysyłaj przypomnienia również do udostępnionych kalendarzy", "Reminders are always sent to organizers and attendees." : "Przypomnienia są zawsze wysyłane do organizatorów i uczestników.", "Enable notifications for events via push" : "Włącz powiadomienia o zdarzeniach poprzez Push", - "Cancel" : "Anuluj", - "Import" : "Importuj", - "Error while saving settings" : "Błąd podczas zapisywania ustawień", + "Example content" : "Przykładowa zawartość", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Przykładowa zawartość służy do prezentacji funkcji Nextcloud. Domyślna zawartość jest dostarczana z Nextcloud i może zostać zastąpiona zawartością niestandardową", "There was an error updating your attendance status." : "Wystąpił błąd zmiany stanu uczestnictwa", "Please contact the organizer directly." : "Skontaktuj się bezpośrednio z orgnizatorem.", "Are you accepting the invitation?" : "Czy akceptujesz zaproszenie?", diff --git a/apps/dav/l10n/pl.json b/apps/dav/l10n/pl.json index b5a96cf10aa..e6873b216aa 100644 --- a/apps/dav/l10n/pl.json +++ b/apps/dav/l10n/pl.json @@ -70,6 +70,7 @@ "Description: %s" : "Opis: %s", "Where: %s" : "Gdzie: %s", "%1$s via %2$s" : "%1$s przez %2$s", + "In the past on %1$s for the entire day" : "W przeszłości w %1$s na cały dzień", "Could not generate when statement" : "Nie można wygenerować instrukcji when", "Every Day for the entire day" : "Codziennie przez cały dzień", "Could not generate event recurrence statement" : "Nie można wygenerować zestawienia powtórzeń zdarzenia", @@ -119,10 +120,12 @@ "Second" : "Druga", "Third" : "Trzecia", "Fourth" : "Czwarta", + "Fifth" : "Piąty", "Last" : "Ostatnia", "Second Last" : "Druga ostatnia", "Third Last" : "Trzecia ostatnia", "Fourth Last" : "Czwarty ostatni", + "Fifth Last" : "Piąty od końca", "Contacts" : "Kontakty", "{actor} created address book {addressbook}" : "{actor} utworzył książkę adresową {addressbook}", "You created address book {addressbook}" : "Utworzyłeś książkę adresową {addressbook}", @@ -176,6 +179,9 @@ "Completed on %s" : "Ukończono %s", "Due on %s by %s" : "Na dzień %s w %s", "Due on %s" : "Na dzień %s", + "System Address Book" : "Systemowa książka adresowa", + "The system address book contains contact information for all users in your instance." : "Systemowa książka adresowa zawiera informacje kontaktowe wszystkich użytkowników w Twojej instancji", + "Enable System Address Book" : "Włącz systemową książkę adresową", "DAV system address book" : "Książka adresowa systemu DAV", "No outstanding DAV system address book sync." : "Brak zaległej synchronizacji książki adresowej systemu DAV.", "The DAV system address book sync has not run yet as your instance has more than 1000 users or because an error occurred. Please run it manually by calling \"occ dav:sync-system-addressbook\"." : "Synchronizacja książki adresowej systemu DAV nie została jeszcze uruchomiona, ponieważ Twoja instancja ma ponad 1000 użytkowników lub wystąpił błąd. Uruchom go ręcznie, wywołując \"occ dav:sync-system-addressbook\".", @@ -213,6 +219,25 @@ "Pick a start time for {dayName}" : "Wybierz dzień rozpoczęcia {dayName}", "Pick a end time for {dayName}" : "Wybierz dzień zakończenia {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Automatycznie ustaw status użytkownika na \"Nie przeszkadzać\" poza dostępnością, aby wyciszyć wszystkie powiadomienia.", + "Cancel" : "Anuluj", + "Import" : "Importuj", + "Error while saving settings" : "Błąd podczas zapisywania ustawień", + "Contact reset successfully" : "Kontakt został pomyślnie zresetowany", + "Error while resetting contact" : "Błąd podczas resetowania kontaktu", + "Contact imported successfully" : "Kontakt został pomyślnie zaimportowany", + "Error while importing contact" : "Błąd podczas importowania kontaktu", + "Import contact" : "Importuj kontakt", + "Reset to default" : "Przywróć domyślne", + "Import contacts" : "Importuj kontakty", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importowanie nowego pliku .vcf usunie domyślny kontakt i zastąpi go nowym. Czy chcesz kontynuować?", + "Failed to save example event creation setting" : "Nie udało się zapisać ustawień tworzenia przykładowego wydarzenia", + "Failed to upload the example event" : "Nie udało się przesłać przykładowego wydarzenia", + "Custom example event was saved successfully" : "Niestandardowe przykładowe wydarzenie zostało pomyślnie zapisane", + "Failed to delete the custom example event" : "Nie udało się usunąć niestandardowego przykładowego wydarzenia", + "Custom example event was deleted successfully" : "Niestandardowe przykładowe wydarzenie zostało pomyślnie usunięte", + "Import calendar event" : "Importuj wydarzenie z kalendarza", + "Uploading a new event will overwrite the existing one." : "Przesłanie nowego wydarzenia zastąpi istniejące", + "Upload event" : "Prześlij wydarzenie", "Availability" : "Dostępność", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Jeśli skonfigurujesz godziny pracy, inne osoby będą widzieć, kiedy jesteś poza biurem, rezerwując spotkanie.", "Absence" : "Nieobecność", @@ -229,9 +254,8 @@ "Send reminder notifications to calendar sharees as well" : "Wysyłaj przypomnienia również do udostępnionych kalendarzy", "Reminders are always sent to organizers and attendees." : "Przypomnienia są zawsze wysyłane do organizatorów i uczestników.", "Enable notifications for events via push" : "Włącz powiadomienia o zdarzeniach poprzez Push", - "Cancel" : "Anuluj", - "Import" : "Importuj", - "Error while saving settings" : "Błąd podczas zapisywania ustawień", + "Example content" : "Przykładowa zawartość", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Przykładowa zawartość służy do prezentacji funkcji Nextcloud. Domyślna zawartość jest dostarczana z Nextcloud i może zostać zastąpiona zawartością niestandardową", "There was an error updating your attendance status." : "Wystąpił błąd zmiany stanu uczestnictwa", "Please contact the organizer directly." : "Skontaktuj się bezpośrednio z orgnizatorem.", "Are you accepting the invitation?" : "Czy akceptujesz zaproszenie?", diff --git a/apps/dav/l10n/pt_BR.js b/apps/dav/l10n/pt_BR.js index 7d9cc7d4524..c3cffa9fb78 100644 --- a/apps/dav/l10n/pt_BR.js +++ b/apps/dav/l10n/pt_BR.js @@ -290,6 +290,25 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Selecione um horário de início para {dayName}", "Pick a end time for {dayName}" : "Selecione um horário de fim para {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Defina automaticamente o status do usuário como \"Não perturbe\" fora de disponibilidade para silenciar todas as notificações.", + "Cancel" : "Cancelar", + "Import" : "Importar", + "Error while saving settings" : "Erro ao salvar as configurações", + "Contact reset successfully" : "O contato foi reiniciado com sucesso", + "Error while resetting contact" : "Erro ao reiniciar o contato", + "Contact imported successfully" : "O contato foi importado com sucesso", + "Error while importing contact" : "Erro ao importar o contato", + "Import contact" : "Importar contato", + "Reset to default" : "Redefinir para o padrão", + "Import contacts" : "Importar contatos", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "A importação de um novo arquivo .vcf excluirá o contato padrão existente e o substituirá pelo novo. Deseja continuar?", + "Failed to save example event creation setting" : "Falha ao salvar a configuração de criação de evento de exemplo", + "Failed to upload the example event" : "Falha ao fazer upload do evento de exemplo", + "Custom example event was saved successfully" : "O evento de exemplo personalizado foi salvo com êxito", + "Failed to delete the custom example event" : "Falha ao excluir o evento de exemplo personalizado", + "Custom example event was deleted successfully" : "O evento de exemplo personalizado foi excluído com êxito", + "Import calendar event" : "Importar evento de calendário", + "Uploading a new event will overwrite the existing one." : "O upload de um novo evento substituirá o existente.", + "Upload event" : "Fazer upload do evento", "Availability" : "Disponibilidade", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Se você configurar seu horário de trabalho, outras pessoas verão quando você estiver ausente quando agendarem uma reunião.", "Absence" : "Ausência", @@ -306,19 +325,8 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Enviar notificações de lembrete também para os compartilhadores de calendário", "Reminders are always sent to organizers and attendees." : "Lembretes são sempre enviados aos organizadores e participantes.", "Enable notifications for events via push" : "Ativar notificações para eventos via push", - "Cancel" : "Cancelar", - "Import" : "Importar", - "Error while saving settings" : "Erro ao salvar as configurações", - "Contact reset successfully" : "O contato foi reiniciado com sucesso", - "Error while resetting contact" : "Erro ao reiniciar o contato", - "Contact imported successfully" : "O contato foi importado com sucesso", - "Error while importing contact" : "Erro ao importar o contato", - "Example Content" : "Exemplo de Conteúdo", - "Set example content to be created on new user first login." : "Defina o exemplo de conteúdo a ser criado no primeiro login do novo usuário.", - "Import contact" : "Importar contato", - "Reset to default contact" : "Redefinir para o contato padrão", - "Import contacts" : "Importar contatos", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "A importação de um novo arquivo .vcf excluirá o contato padrão existente e o substituirá pelo novo. Deseja continuar?", + "Example content" : "Exemplo de conteúdo", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "O conteúdo de exemplo serve para mostrar os recursos do Nextcloud. O conteúdo padrão é fornecido com o Nextcloud e pode ser substituído por conteúdo personalizado.", "There was an error updating your attendance status." : "Houve um erro ao atualizar seu status de participação.", "Please contact the organizer directly." : "Por favor, contate o organizador diretamente.", "Are you accepting the invitation?" : "Você está aceitando o convite?", diff --git a/apps/dav/l10n/pt_BR.json b/apps/dav/l10n/pt_BR.json index c57088cb0ed..cb763ca5e85 100644 --- a/apps/dav/l10n/pt_BR.json +++ b/apps/dav/l10n/pt_BR.json @@ -288,6 +288,25 @@ "Pick a start time for {dayName}" : "Selecione um horário de início para {dayName}", "Pick a end time for {dayName}" : "Selecione um horário de fim para {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Defina automaticamente o status do usuário como \"Não perturbe\" fora de disponibilidade para silenciar todas as notificações.", + "Cancel" : "Cancelar", + "Import" : "Importar", + "Error while saving settings" : "Erro ao salvar as configurações", + "Contact reset successfully" : "O contato foi reiniciado com sucesso", + "Error while resetting contact" : "Erro ao reiniciar o contato", + "Contact imported successfully" : "O contato foi importado com sucesso", + "Error while importing contact" : "Erro ao importar o contato", + "Import contact" : "Importar contato", + "Reset to default" : "Redefinir para o padrão", + "Import contacts" : "Importar contatos", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "A importação de um novo arquivo .vcf excluirá o contato padrão existente e o substituirá pelo novo. Deseja continuar?", + "Failed to save example event creation setting" : "Falha ao salvar a configuração de criação de evento de exemplo", + "Failed to upload the example event" : "Falha ao fazer upload do evento de exemplo", + "Custom example event was saved successfully" : "O evento de exemplo personalizado foi salvo com êxito", + "Failed to delete the custom example event" : "Falha ao excluir o evento de exemplo personalizado", + "Custom example event was deleted successfully" : "O evento de exemplo personalizado foi excluído com êxito", + "Import calendar event" : "Importar evento de calendário", + "Uploading a new event will overwrite the existing one." : "O upload de um novo evento substituirá o existente.", + "Upload event" : "Fazer upload do evento", "Availability" : "Disponibilidade", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Se você configurar seu horário de trabalho, outras pessoas verão quando você estiver ausente quando agendarem uma reunião.", "Absence" : "Ausência", @@ -304,19 +323,8 @@ "Send reminder notifications to calendar sharees as well" : "Enviar notificações de lembrete também para os compartilhadores de calendário", "Reminders are always sent to organizers and attendees." : "Lembretes são sempre enviados aos organizadores e participantes.", "Enable notifications for events via push" : "Ativar notificações para eventos via push", - "Cancel" : "Cancelar", - "Import" : "Importar", - "Error while saving settings" : "Erro ao salvar as configurações", - "Contact reset successfully" : "O contato foi reiniciado com sucesso", - "Error while resetting contact" : "Erro ao reiniciar o contato", - "Contact imported successfully" : "O contato foi importado com sucesso", - "Error while importing contact" : "Erro ao importar o contato", - "Example Content" : "Exemplo de Conteúdo", - "Set example content to be created on new user first login." : "Defina o exemplo de conteúdo a ser criado no primeiro login do novo usuário.", - "Import contact" : "Importar contato", - "Reset to default contact" : "Redefinir para o contato padrão", - "Import contacts" : "Importar contatos", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "A importação de um novo arquivo .vcf excluirá o contato padrão existente e o substituirá pelo novo. Deseja continuar?", + "Example content" : "Exemplo de conteúdo", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "O conteúdo de exemplo serve para mostrar os recursos do Nextcloud. O conteúdo padrão é fornecido com o Nextcloud e pode ser substituído por conteúdo personalizado.", "There was an error updating your attendance status." : "Houve um erro ao atualizar seu status de participação.", "Please contact the organizer directly." : "Por favor, contate o organizador diretamente.", "Are you accepting the invitation?" : "Você está aceitando o convite?", diff --git a/apps/dav/l10n/pt_PT.js b/apps/dav/l10n/pt_PT.js new file mode 100644 index 00000000000..17246a2a574 --- /dev/null +++ b/apps/dav/l10n/pt_PT.js @@ -0,0 +1,336 @@ +OC.L10N.register( + "dav", + { + "Calendar" : "Calendário", + "Tasks" : "Tarefas", + "Personal" : "Pessoal", + "{actor} created calendar {calendar}" : "{actor} criou o calendário {calendar}", + "You created calendar {calendar}" : "Criou o calendario {calendar}", + "{actor} deleted calendar {calendar}" : "{actor} apagou o calendário {calendar}", + "You deleted calendar {calendar}" : "Apagou o calendário {calendar}", + "{actor} updated calendar {calendar}" : "{actor} atualizou o calendário {calendar}", + "You updated calendar {calendar}" : "Atualizou o calendário {calendar}", + "{actor} restored calendar {calendar}" : "{actor} restaurou o calendário {calendar}", + "You restored calendar {calendar}" : "restaurou o calendário {calendar}", + "You shared calendar {calendar} as public link" : "Partilhou o calendário {calendar} como uma hiperligação pública", + "You removed public link for calendar {calendar}" : "Removeu uma hiperligação pública para o calendário {calendar}", + "{actor} shared calendar {calendar} with you" : "{actor} partilhou o calendário {calendar} consigo", + "You shared calendar {calendar} with {user}" : "Partilhou o calendário {calendar} com {user}", + "{actor} shared calendar {calendar} with {user}" : "{actor} partilhou o calendário {calendar} com {user}", + "{actor} unshared calendar {calendar} from you" : "{actor} retirou-lhe a partilha do calendário {calendar}", + "You unshared calendar {calendar} from {user}" : "Retirou a partilha do calendário {calendar} com {user}", + "{actor} unshared calendar {calendar} from {user}" : "{actor} retirou a partilha do calendário {calendar} com {user}", + "{actor} unshared calendar {calendar} from themselves" : "{actor} deixou de partilhar o calendário {calendar} de próprio", + "You shared calendar {calendar} with group {group}" : "partilhou o calendário {calendar} com o grupo {group}", + "{actor} shared calendar {calendar} with group {group}" : "{actor} partilhou o calendário {calendar} com o grupo {group}", + "You unshared calendar {calendar} from group {group}" : "deixou de partilhar o calendário {calendar} do grupo {group}", + "{actor} unshared calendar {calendar} from group {group}" : "{actor} deixou de partilhar o calendário {calendar} do grupo {group}", + "Untitled event" : "Evento sem título", + "{actor} created event {event} in calendar {calendar}" : "{actor} criou o evento {event} in o calendário {calendar}", + "You created event {event} in calendar {calendar}" : "criou o evento {event} in o calendário {calendar}", + "{actor} deleted event {event} from calendar {calendar}" : "{actor} eliminou o evento {event} de o calendário {calendar}", + "You deleted event {event} from calendar {calendar}" : "eliminou o evento {event} de o calendário {calendar}", + "{actor} updated event {event} in calendar {calendar}" : "{actor} atualizou o evento {event} in o calendário {calendar}", + "You updated event {event} in calendar {calendar}" : "atualizou o evento {event} in o calendário {calendar}", + "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} moveu o evento {event} de o calendário {sourceCalendar} para o calendário {targetCalendar}", + "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "moveu o evento {event} de o calendário {sourceCalendar} para o calendário {targetCalendar}", + "{actor} restored event {event} of calendar {calendar}" : "{actor} restaurou o evento {event} of o calendário {calendar}", + "You restored event {event} of calendar {calendar}" : "restaurou o evento {event} of o calendário {calendar}", + "Busy" : "Ocupado", + "{actor} created to-do {todo} in list {calendar}" : "{actor} criou to-do {todo} in list {calendar}", + "You created to-do {todo} in list {calendar}" : "criou to-do {todo} in list {calendar}", + "{actor} deleted to-do {todo} from list {calendar}" : "{actor} eliminou to-do {todo} de list {calendar}", + "You deleted to-do {todo} from list {calendar}" : "eliminou to-do {todo} de list {calendar}", + "{actor} updated to-do {todo} in list {calendar}" : "{actor} atualizou to-do {todo} in list {calendar}", + "You updated to-do {todo} in list {calendar}" : "atualizou to-do {todo} in list {calendar}", + "{actor} solved to-do {todo} in list {calendar}" : "{actor} concluiu a tarefa {todo} na lista {calendar}", + "You solved to-do {todo} in list {calendar}" : "solved to-do {todo} in list {calendar}", + "{actor} reopened to-do {todo} in list {calendar}" : "{actor} reabriu a tarefa {todo} na lista {calendar}", + "You reopened to-do {todo} in list {calendar}" : "reopened to-do {todo} in list {calendar}", + "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} moveu to-do {todo} de list {sourceCalendar} para list {targetCalendar}", + "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "moveu to-do {todo} de list {sourceCalendar} para list {targetCalendar}", + "Calendar, contacts and tasks" : "Calendário, contactos e tarefas", + "A <strong>calendar</strong> was modified" : "O <strong>calendário</strong> foi modificado.", + "A calendar <strong>event</strong> was modified" : "Um <strong>event</strong> do calendário foi modificado", + "A calendar <strong>to-do</strong> was modified" : "Foi modificada uma <strong>tarefa</strong> do calendário", + "Contact birthdays" : "Aniversário dos contactos", + "Death of %s" : "Falecimento de %s", + "Untitled calendar" : "Calendário sem titulo", + "Calendar:" : "Calendário:", + "Date:" : "Data:", + "Where:" : "Local:", + "Description:" : "Descrição:", + "_%n year_::_%n years_" : ["%n ano","%n anos","%n anos"], + "_%n month_::_%n months_" : ["%n mês","%n meses","%n meses"], + "_%n day_::_%n days_" : ["%n dia","%n dias","%n dias"], + "_%n hour_::_%n hours_" : ["%n hora","%n horas","%n horas"], + "_%n minute_::_%n minutes_" : ["%n minuto","%n minutos","%n minutos"], + "%s (in %s)" : "%s (em %s)", + "%s (%s ago)" : "%s (%s atrás)", + "Calendar: %s" : "Calendário: %s", + "Date: %s" : "Data: %s", + "Description: %s" : "Descrição: %s", + "Where: %s" : "Local: %s", + "%1$s via %2$s" : "%1$s via %2$s", + "In the past on %1$s for the entire day" : "No passado em %1$s durante todo o dia", + "_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["Daqui a um minuto em %1$s para todo o dia","Daqui a %n minutos em %1$s para todo o dia","Daqui a %n minutos em %1$s para todo o dia"], + "_In a hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["Daqui a um hora em %1$s para todo o dia","Daqui a %n horas em %1$s para todo o dia","Daqui a %n horas em %1$s para todo o dia"], + "_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["Daqui a um dia em %1$s para todo o dia","Daqui a %n dias em %1$s para todo o dia","Daqui a %n dias em %1$s para todo o dia"], + "_In a week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["Daqui a um semana em %1$s para todo o dia","Daqui a %n semanas em %1$s para todo o dia","Daqui a %n semanas em %1$s para todo o dia"], + "_In a month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["Daqui a um mês em %1$s para todo o dia","Daqui a %n meses em %1$s para todo o dia","Daqui a %n meses em %1$s para todo o dia"], + "_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["Daqui a um ano em %1$s para todo o dia","Daqui a %n anos em %1$s para todo o dia","Daqui a %n anos em %1$s para todo o dia"], + "In the past on %1$s between %2$s - %3$s" : "No passado em %1$s entre %2$s - %3$s", + "_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["Daqui a um minuto em %1$s entre %2$s - %3$s","Daqui a %n minutos em %1$s entre %2$s - %3$s","Daqui a %n minutos em %1$s entre %2$s - %3$s"], + "_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["Daqui a um hora em %1$s entre %2$s - %3$s","Daqui a %n horas em %1$s entre %2$s - %3$s","Daqui a %n horas em %1$s entre %2$s - %3$s"], + "_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["Daqui a um dia em %1$s entre %2$s - %3$s","Daqui a %n dias em %1$s entre %2$s - %3$s","Daqui a %n dias em %1$s entre %2$s - %3$s"], + "_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["Daqui a um semana em %1$s entre %2$s - %3$s","Daqui a %n semanas em %1$s entre %2$s - %3$s","Daqui a %n semanas em %1$s entre %2$s - %3$s"], + "_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["Daqui a um mês em %1$s entre %2$s - %3$s","Daqui a %n meses em %1$s entre %2$s - %3$s","Daqui a %n meses em %1$s entre %2$s - %3$s"], + "_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["Daqui a um ano em %1$s entre %2$s - %3$s","Daqui a %n anos em %1$s entre %2$s - %3$s","Daqui a %n anos em %1$s entre %2$s - %3$s"], + "Could not generate when statement" : "Não foi possível gerar a expressão \"quando\"", + "Every Day for the entire day" : "Todos os dias, dia inteiro", + "Every Day for the entire day until %1$s" : "Todos os dias, dia inteiro até %1$s", + "Every Day between %1$s - %2$s" : "Todos os dias entre %1$s e %2$s", + "Every Day between %1$s - %2$s until %3$s" : "Todos os dias entre %1$s e %2$s até %3$s", + "Every %1$d Days for the entire day" : "A cada %1$d dias, dia inteiro", + "Every %1$d Days for the entire day until %2$s" : "A cada %1$d dias, dia inteiro até %2$s", + "Every %1$d Days between %2$s - %3$s" : "A cada %1$d dias entre %2$s e %3$s", + "Every %1$d Days between %2$s - %3$s until %4$s" : "A cada %1$d dias entre %2$s e %3$s até %4$s", + "Could not generate event recurrence statement" : "Não foi possível gerar a expressão de recorrência do evento", + "Every Week on %1$s for the entire day" : "Todas as semanas, em %1$s, dia inteiro", + "Every Week on %1$s for the entire day until %2$s" : "Todas as semanas, em %1$s, dia inteiro até %2$s", + "Every Week on %1$s between %2$s - %3$s" : "Todas as semanas, em %1$s entre %2$s e %3$s", + "Every Week on %1$s between %2$s - %3$s until %4$s" : "Todas as semanas, em %1$s entre %2$s e %3$s até %4$s", + "Every %1$d Weeks on %2$s for the entire day" : "A cada %1$d semanas, em %2$s, dia inteiro", + "Every %1$d Weeks on %2$s for the entire day until %3$s" : "A cada %1$d semanas, em %2$s, dia inteiro até %3$s", + "Every %1$d Weeks on %2$s between %3$s - %4$s" : "A cada %1$d semanas, em %2$s entre %3$s e %4$s", + "Every %1$d Weeks on %2$s between %3$s - %4$s until %5$s" : "A cada %1$d semanas, em %2$s entre %3$s e %4$s até %5$s", + "Every Month on the %1$s for the entire day" : "Todos os meses, no dia %1$s, dia inteiro", + "Every Month on the %1$s for the entire day until %2$s" : "Todos os meses, no dia %1$s, dia inteiro até %2$s", + "Every Month on the %1$s between %2$s - %3$s" : "Todos os meses, no dia %1$s entre %2$s e %3$s", + "Every Month on the %1$s between %2$s - %3$s until %4$s" : "Todos os meses, no dia %1$s entre %2$s e %3$s até %4$s", + "Every %1$d Months on the %2$s for the entire day" : "A cada %1$d meses, no dia %2$s, dia inteiro", + "Every %1$d Months on the %2$s for the entire day until %3$s" : "A cada %1$d meses, no dia %2$s, dia inteiro até %3$s", + "Every %1$d Months on the %2$s between %3$s - %4$s" : "A cada %1$d meses, no dia %2$s entre %3$s e %4$s", + "Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "A cada %1$d meses, no dia %2$s entre %3$s e %4$s até %5$s", + "Every Year in %1$s on the %2$s for the entire day" : "Todos os anos em %1$s, no dia %2$s, dia inteiro", + "Every Year in %1$s on the %2$s for the entire day until %3$s" : "Todos os anos em %1$s, no dia %2$s, dia inteiro até %3$s", + "Every Year in %1$s on the %2$s between %3$s - %4$s" : "Todos os anos em %1$s, no dia %2$s entre %3$s e %4$s", + "Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "Todos os anos em %1$s, no dia %2$s entre %3$s e %4$s até %5$s", + "Every %1$d Years in %2$s on the %3$s for the entire day" : "A cada %1$d anos em %2$s, no dia %3$s, dia inteiro", + "Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "A cada %1$d anos em %2$s, no dia %3$s, dia inteiro até %4$s", + "Every %1$d Years in %2$s on the %3$s between %4$s - %5$s" : "A cada %1$d anos em %2$s, no dia %3$s entre %4$s e %5$s", + "Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "A cada %1$d anos em %2$s, no dia %3$s entre %4$s e %5$s até %6$s", + "On specific dates for the entire day until %1$s" : "Em datas específicas, dia inteiro até %1$s", + "On specific dates between %1$s - %2$s until %3$s" : "Em datas específicas entre %1$s e %2$s até %3$s", + "In the past on %1$s" : "No passado em %1$s", + "_In a minute on %1$s_::_In %n minutes on %1$s_" : ["Daqui a um minuto em %1$s","Daqui a %n minutos em %1$s","Daqui a %n minutos em %1$s"], + "_In a hour on %1$s_::_In %n hours on %1$s_" : ["Daqui a um hora em %1$s","Daqui a %n horas em %1$s","Daqui a %n horas em %1$s"], + "_In a day on %1$s_::_In %n days on %1$s_" : ["Daqui a um dia em %1$s","Daqui a %n dias em %1$s","Daqui a %n dias em %1$s"], + "_In a week on %1$s_::_In %n weeks on %1$s_" : ["Daqui a um semana em %1$s","Daqui a %n semanas em %1$s","Daqui a %n semanas em %1$s"], + "_In a month on %1$s_::_In %n months on %1$s_" : ["Daqui a um mês em %1$s","Daqui a %n meses em %1$s","Daqui a %n meses em %1$s"], + "_In a year on %1$s_::_In %n years on %1$s_" : ["Daqui a um ano em %1$s","Daqui a %n anos em %1$s","Daqui a %n anos em %1$s"], + "In the past on %1$s then on %2$s" : "No passado em %1$s e depois %2$s", + "_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["Daqui a um minuto em %1$s e depois em %2$s","Daqui a %n minutos em %1$s e depois em %2$s","Daqui a %n minutos em %1$s e depois em %2$s"], + "_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["Daqui a um hora em %1$s e depois em %2$s","Daqui a %n horas em %1$s e depois em %2$s","Daqui a %n horas em %1$s e depois em %2$s"], + "_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["Daqui a um dia em %1$s e depois em %2$s","Daqui a %n dias em %1$s e depois em %2$s","Daqui a %n dias em %1$s e depois em %2$s"], + "_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["Daqui a um semana em %1$s e depois em %2$s","Daqui a %n semanas em %1$s e depois em %2$s","Daqui a %n semanas em %1$s e depois em %2$s"], + "_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["Daqui a um mês em %1$s e depois em %2$s","Daqui a %n meses em %1$s e depois em %2$s","Daqui a %n meses em %1$s e depois em %2$s"], + "_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["Daqui a um ano em %1$s e depois em %2$s","Daqui a %n anos em %1$s e depois em %2$s","Daqui a %n anos em %1$s e depois em %2$s"], + "In the past on %1$s then on %2$s and %3$s" : "No passado em %1$s e depois em %2$s e %3$s", + "_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["Daqui a um minuto em %1$s e depois em %2$s e %3$s","Daqui a %n minutos em %1$s e depois em %2$s e %3$s","Daqui a %n minutos em %1$s e depois em %2$s e %3$s"], + "_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["Daqui a um hora em %1$s e depois em %2$s e %3$s","Daqui a %n horas em %1$s e depois em %2$s e %3$s","Daqui a %n horas em %1$s e depois em %2$s e %3$s"], + "_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["Daqui a um dia em %1$s e depois em %2$s e %3$s","Daqui a %n dias em %1$s e depois em %2$s e %3$s","Daqui a %n dias em %1$s e depois em %2$s e %3$s"], + "_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Daqui a um semana em %1$s e depois em %2$s e %3$s","Daqui a %n semanas em %1$s e depois em %2$s e %3$s","Daqui a %n semanas em %1$s e depois em %2$s e %3$s"], + "_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Daqui a um mês em %1$s e depois em %2$s e %3$s","Daqui a %n meses em %1$s e depois em %2$s e %3$s","Daqui a %n meses em %1$s e depois em %2$s e %3$s"], + "_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Daqui a um ano em %1$s e depois em %2$s e %3$s","Daqui a %n anos em %1$s e depois em %2$s e %3$s","Daqui a %n anos em %1$s e depois em %2$s e %3$s"], + "Could not generate next recurrence statement" : "Não foi possível gerar a próxima expressão de recorrência", + "Cancelled: %1$s" : "Cancelado: %1$s", + "\"%1$s\" has been canceled" : "\"%1$s\" foi cancelado", + "Re: %1$s" : "Re: %1$s", + "%1$s has accepted your invitation" : "%1$s aceitou o seu convite", + "%1$s has tentatively accepted your invitation" : "%1$s aceitou provisoriamente o seu convite", + "%1$s has declined your invitation" : "%1$s recusou o seu convite", + "%1$s has responded to your invitation" : "%1$s respondeu ao seu convite", + "Invitation updated: %1$s" : "Convite atualizado: %1$s", + "%1$s updated the event \"%2$s\"" : "%1$s atualizou o evento \"%2$s\"", + "Invitation: %1$s" : "Convite: %1$s", + "%1$s would like to invite you to \"%2$s\"" : "%1$s gostaria de convidá‑lo para \"%2$s\"", + "Organizer:" : "Organizador:", + "Attendees:" : "Participantes:", + "Title:" : "Titulo: ", + "When:" : "Quando:", + "Location:" : "Localização:", + "Link:" : "Ligação:", + "Occurring:" : "Ocorrências:", + "Accept" : "Aceitar", + "Decline" : "Recusar", + "More options …" : "Mais opções…", + "More options at %s" : "Mais opções em %s", + "Monday" : "Segunda", + "Tuesday" : "Terça", + "Wednesday" : "Quarta", + "Thursday" : "Quinta", + "Friday" : "Sexta", + "Saturday" : "Sábado", + "Sunday" : "Domingo", + "January" : "Janeiro", + "February" : "Fevereiro", + "March" : "Março", + "April" : "Abril", + "May" : "Maio", + "June" : "Junho", + "July" : "Julho", + "August" : "Agosto", + "September" : "Setembro", + "October" : "Outubro", + "November" : "Novembro", + "December" : "Dezembro", + "First" : "Primeiro", + "Second" : "Segundo", + "Third" : "Terceiro", + "Fourth" : "Quarto", + "Fifth" : "Quinto", + "Last" : "Último", + "Second Last" : "Penúltimo", + "Third Last" : "Antepenúltimo", + "Fourth Last" : "Quarto do fim", + "Fifth Last" : "Quinto do fim", + "Contacts" : "Contactos", + "{actor} created address book {addressbook}" : "{actor} criou address book {addressbook}", + "You created address book {addressbook}" : "criou address book {addressbook}", + "{actor} deleted address book {addressbook}" : "{actor} eliminou address book {addressbook}", + "You deleted address book {addressbook}" : "eliminou address book {addressbook}", + "{actor} updated address book {addressbook}" : "{actor} atualizou address book {addressbook}", + "You updated address book {addressbook}" : "atualizou address book {addressbook}", + "{actor} shared address book {addressbook} with you" : "{actor} partilhou address book {addressbook} com you", + "You shared address book {addressbook} with {user}" : "partilhou address book {addressbook} com {user}", + "{actor} shared address book {addressbook} with {user}" : "{actor} partilhou address book {addressbook} com {user}", + "{actor} unshared address book {addressbook} from you" : "{actor} deixou de partilhar address book {addressbook} de you", + "You unshared address book {addressbook} from {user}" : "deixou de partilhar address book {addressbook} de {user}", + "{actor} unshared address book {addressbook} from {user}" : "{actor} deixou de partilhar address book {addressbook} de {user}", + "{actor} unshared address book {addressbook} from themselves" : "{actor} deixou de partilhar address book {addressbook} de próprio", + "You shared address book {addressbook} with group {group}" : "partilhou address book {addressbook} com o grupo {group}", + "{actor} shared address book {addressbook} with group {group}" : "{actor} partilhou address book {addressbook} com o grupo {group}", + "You unshared address book {addressbook} from group {group}" : "deixou de partilhar address book {addressbook} do grupo {group}", + "{actor} unshared address book {addressbook} from group {group}" : "{actor} deixou de partilhar address book {addressbook} do grupo {group}", + "{actor} created contact {card} in address book {addressbook}" : "{actor} criou contact {card} in address book {addressbook}", + "You created contact {card} in address book {addressbook}" : "criou contact {card} in address book {addressbook}", + "{actor} deleted contact {card} from address book {addressbook}" : "{actor} eliminou contact {card} de address book {addressbook}", + "You deleted contact {card} from address book {addressbook}" : "eliminou contact {card} de address book {addressbook}", + "{actor} updated contact {card} in address book {addressbook}" : "{actor} atualizou contact {card} in address book {addressbook}", + "You updated contact {card} in address book {addressbook}" : "atualizou contact {card} in address book {addressbook}", + "A <strong>contact</strong> or <strong>address book</strong> was modified" : "Foi modificado um <strong>contacto</strong> ou <strong>livro de endereços</strong>", + "Accounts" : "Contas", + "System address book which holds all accounts" : "Livro de endereços do sistema que contém todas as contas", + "File is not updatable: %1$s" : "O ficheiro não pode ser atualizado: %1$s", + "Failed to get storage for file" : "Falha ao obter armazenamento para o ficheiro", + "Could not write to final file, canceled by hook" : "Não foi possível escrever no ficheiro final, cancelado por hook", + "Could not write file contents" : "Não foi possível escrever o conteúdo do ficheiro", + "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"], + "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Erro ao copiar ficheiro para o destino (copiado: %1$s, tamanho esperado: %2$s)", + "Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "Tamanho esperado de %1$s, mas leitura diferente (do cliente Nextcloud) e escreveu (para armazenamento Nextcloud) %2$s. Possível problema do lado do cliente ou ao escrever no armazenamento do servidor.", + "Could not rename part file to final file, canceled by hook" : "Não foi possível renomear o ficheiro parcial para ficheiro final, cancelado por hook", + "Could not rename part file to final file" : "Não foi possível renomear o ficheiro parcial para ficheiro final", + "Failed to check file size: %1$s" : "Falha ao verificar o tamanho do ficheiro: %1$s", + "Could not open file: %1$s, file does seem to exist" : "Não foi possível abrir o ficheiro: %1$s, o ficheiro parece existir", + "Could not open file: %1$s, file doesn't seem to exist" : "Não foi possível abrir o ficheiro: %1$s, o ficheiro não parece existir", + "Encryption not ready: %1$s" : "Encriptação não pronta: %1$s", + "Failed to open file: %1$s" : "Falha ao abrir o ficheiro: %1$s", + "Failed to unlink: %1$s" : "Falha ao eliminar: %1$s", + "Failed to write file contents: %1$s" : "Falha ao escrever o conteúdo do ficheiro: %1$s", + "File not found: %1$s" : "Ficheiro não encontrado: %1$s", + "Invalid target path" : "Caminho de destino inválido", + "System is in maintenance mode." : "O sistema está em modo de manutenção.", + "Upgrade needed" : "É necessária atualização", + "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "O seu %s precisa de estar configurado para usar HTTPS para que possa utilizar CalDAV e CardDAV com iOS/macOS.", + "Configures a CalDAV account" : "Configura uma conta CalDAV", + "Configures a CardDAV account" : "Configura uma conta CardDAV", + "Events" : "Eventos", + "Untitled task" : "Tarefa sem título", + "Completed on %s" : "Concluída em %s", + "Due on %s by %s" : "Vence em %s às %s", + "Due on %s" : "Vence em %s", + "System Address Book" : "Livro de endereços do sistema", + "The system address book contains contact information for all users in your instance." : "O livro de endereços do sistema contém informação de contacto de todos os utilizadores da sua instância.", + "Enable System Address Book" : "Ativar livro de endereços do sistema", + "DAV system address book" : "Livro de endereços DAV do sistema", + "No outstanding DAV system address book sync." : "Sem sincronizações pendentes do livro de endereços DAV do sistema.", + "The DAV system address book sync has not run yet as your instance has more than 1000 users or because an error occurred. Please run it manually by calling \"occ dav:sync-system-addressbook\"." : "A sincronização do livro de endereços DAV do sistema ainda não foi executada porque a sua instância não tem utilizadores; execute‑a manualmente com \"occ dav:sync-system-addressbook\".", + "WebDAV endpoint" : "Endpoint WebDAV", + "Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Não foi possível verificar se o seu servidor web está corretamente configurado para permitir a sincronização de ficheiros via WebDAV. Verifique manualmente.", + "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "O seu servidor da Web não está configurado corretamente para permitir a sincronização de ficheiros, porque a interface WebDAV parece estar com problemas.", + "Your web server is properly set up to allow file synchronization over WebDAV." : "O seu servidor web está corretamente configurado para permitir a sincronização de ficheiros via WebDAV.", + "Migrated calendar (%1$s)" : "Calendário migrado (%1$s)", + "Calendars including events, details and attendees" : "Calendários incluindo eventos, detalhes e participantes", + "Contacts and groups" : "Contactos e grupos", + "WebDAV" : "WebDAV", + "Absence saved" : "Ausência guardada", + "Failed to save your absence settings" : "Falha ao guardar as suas definições de ausência", + "Absence cleared" : "Ausência removida", + "Failed to clear your absence settings" : "Falha ao remover as suas definições de ausência", + "First day" : "Primeiro dia", + "Last day (inclusive)" : "Último dia (inclusive)", + "Out of office replacement (optional)" : "Substituto durante ausência (opcional)", + "Name of the replacement" : "Nome do substituto", + "No results." : "Sem resultados.", + "Start typing." : "Comece a escrever.", + "Short absence status" : "Estado de ausência curto", + "Long absence Message" : "Mensagem de ausência longa", + "Save" : "Guardar", + "Disable absence" : "Desativar ausência", + "Failed to load availability" : "Falha ao carregar disponibilidade", + "Saved availability" : "Disponibilidade guardada", + "Failed to save availability" : "Falha ao guardar disponibilidade", + "Time zone:" : "Fuso horário:", + "to" : "Para", + "Delete slot" : "Eliminar intervalo", + "No working hours set" : "Sem horário de trabalho definido", + "Add slot" : "Adicionar intervalo", + "Weekdays" : "Dias da semana", + "Pick a start time for {dayName}" : "Escolha uma hora de início para {dayName}", + "Pick a end time for {dayName}" : "Escolha uma hora de fim para {dayName}", + "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Definir automaticamente o estado para \"Não incomodar\" fora do horário de disponibilidade para silenciar todas as notificações.", + "Cancel" : "Cancelar", + "Import" : "Importar", + "Error while saving settings" : "Erro ao guardar definições", + "Contact reset successfully" : "Contacto reposto com sucesso", + "Error while resetting contact" : "Erro ao repor contacto", + "Contact imported successfully" : "Contacto importado com sucesso", + "Error while importing contact" : "Erro ao importar contacto", + "Import contact" : "Importar contacto", + "Reset to default" : "Repor original", + "Import contacts" : "Importar contactos", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "A importação de um novo ficheiro .vcf eliminará o contacto predefinido existente e substituí‑lo‑á pelo novo. Deseja continuar?", + "Failed to save example event creation setting" : "Falha ao guardar a definição de criação de evento de exemplo", + "Failed to upload the example event" : "Falha ao carregar o evento de exemplo", + "Custom example event was saved successfully" : "Evento de exemplo personalizado guardado com sucesso", + "Failed to delete the custom example event" : "Falha ao eliminar o evento de exemplo personalizado", + "Custom example event was deleted successfully" : "Evento de exemplo personalizado eliminado com sucesso", + "Import calendar event" : "Importar evento de calendário", + "Uploading a new event will overwrite the existing one." : "O carregamento de um novo evento substituirá o existente.", + "Upload event" : "Carregar evento", + "Availability" : "Disponibilidade", + "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Se configurar o seu horário de trabalho, outras pessoas saberão quando está fora do escritório ao marcar uma reunião.", + "Absence" : "Ausência", + "Configure your next absence period." : "Configure o seu próximo período de ausência.", + "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Instale também a {calendarappstoreopen}aplicação Calendário {linkclose}, ou {calendardocopen} ligue o seu computador e telemóvel para sincronizar ↗{linkclose}.", + "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Certifique‑se de configurar corretamente {emailopen}o servidor de email{linkclose}.", + "Calendar server" : "Servidor de calendário", + "Send invitations to attendees" : "Enviar convites aos participantes", + "Automatically generate a birthday calendar" : "Gerar automaticamente um calendário de aniversários", + "Birthday calendars will be generated by a background job." : "Os calendários de aniversário serão gerados por uma tarefa em segundo plano.", + "Hence they will not be available immediately after enabling but will show up after some time." : "Por isso, não estarão disponíveis imediatamente após a ativação, mas aparecerão após algum tempo.", + "Send notifications for events" : "Enviar notificações de eventos", + "Notifications are sent via background jobs, so these must occur often enough." : "As notificações são enviadas através de tarefas em segundo plano; estas devem ser executadas com frequência suficiente.", + "Send reminder notifications to calendar sharees as well" : "Enviar também notificações de lembrete aos partilhados do calendário", + "Reminders are always sent to organizers and attendees." : "Os lembretes são sempre enviados aos organizadores e participantes.", + "Enable notifications for events via push" : "Ativar notificações push para eventos", + "Example content" : "Conteúdo de exemplo", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "O conteúdo de exemplo serve para demonstrar as funcionalidades do Nextcloud. É fornecido com o Nextcloud e pode ser substituído por conteúdo personalizado.", + "There was an error updating your attendance status." : "Ocorreu um erro ao atualizar o seu estado de participação.", + "Please contact the organizer directly." : "Contacte diretamente o organizador.", + "Are you accepting the invitation?" : "Aceita o convite?", + "Tentative" : "Tentativa", + "Your attendance was updated successfully." : "O seu estado de participação foi atualizado com sucesso." +}, +"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/dav/l10n/pt_PT.json b/apps/dav/l10n/pt_PT.json new file mode 100644 index 00000000000..7120a7a8e96 --- /dev/null +++ b/apps/dav/l10n/pt_PT.json @@ -0,0 +1,334 @@ +{ "translations": { + "Calendar" : "Calendário", + "Tasks" : "Tarefas", + "Personal" : "Pessoal", + "{actor} created calendar {calendar}" : "{actor} criou o calendário {calendar}", + "You created calendar {calendar}" : "Criou o calendario {calendar}", + "{actor} deleted calendar {calendar}" : "{actor} apagou o calendário {calendar}", + "You deleted calendar {calendar}" : "Apagou o calendário {calendar}", + "{actor} updated calendar {calendar}" : "{actor} atualizou o calendário {calendar}", + "You updated calendar {calendar}" : "Atualizou o calendário {calendar}", + "{actor} restored calendar {calendar}" : "{actor} restaurou o calendário {calendar}", + "You restored calendar {calendar}" : "restaurou o calendário {calendar}", + "You shared calendar {calendar} as public link" : "Partilhou o calendário {calendar} como uma hiperligação pública", + "You removed public link for calendar {calendar}" : "Removeu uma hiperligação pública para o calendário {calendar}", + "{actor} shared calendar {calendar} with you" : "{actor} partilhou o calendário {calendar} consigo", + "You shared calendar {calendar} with {user}" : "Partilhou o calendário {calendar} com {user}", + "{actor} shared calendar {calendar} with {user}" : "{actor} partilhou o calendário {calendar} com {user}", + "{actor} unshared calendar {calendar} from you" : "{actor} retirou-lhe a partilha do calendário {calendar}", + "You unshared calendar {calendar} from {user}" : "Retirou a partilha do calendário {calendar} com {user}", + "{actor} unshared calendar {calendar} from {user}" : "{actor} retirou a partilha do calendário {calendar} com {user}", + "{actor} unshared calendar {calendar} from themselves" : "{actor} deixou de partilhar o calendário {calendar} de próprio", + "You shared calendar {calendar} with group {group}" : "partilhou o calendário {calendar} com o grupo {group}", + "{actor} shared calendar {calendar} with group {group}" : "{actor} partilhou o calendário {calendar} com o grupo {group}", + "You unshared calendar {calendar} from group {group}" : "deixou de partilhar o calendário {calendar} do grupo {group}", + "{actor} unshared calendar {calendar} from group {group}" : "{actor} deixou de partilhar o calendário {calendar} do grupo {group}", + "Untitled event" : "Evento sem título", + "{actor} created event {event} in calendar {calendar}" : "{actor} criou o evento {event} in o calendário {calendar}", + "You created event {event} in calendar {calendar}" : "criou o evento {event} in o calendário {calendar}", + "{actor} deleted event {event} from calendar {calendar}" : "{actor} eliminou o evento {event} de o calendário {calendar}", + "You deleted event {event} from calendar {calendar}" : "eliminou o evento {event} de o calendário {calendar}", + "{actor} updated event {event} in calendar {calendar}" : "{actor} atualizou o evento {event} in o calendário {calendar}", + "You updated event {event} in calendar {calendar}" : "atualizou o evento {event} in o calendário {calendar}", + "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} moveu o evento {event} de o calendário {sourceCalendar} para o calendário {targetCalendar}", + "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "moveu o evento {event} de o calendário {sourceCalendar} para o calendário {targetCalendar}", + "{actor} restored event {event} of calendar {calendar}" : "{actor} restaurou o evento {event} of o calendário {calendar}", + "You restored event {event} of calendar {calendar}" : "restaurou o evento {event} of o calendário {calendar}", + "Busy" : "Ocupado", + "{actor} created to-do {todo} in list {calendar}" : "{actor} criou to-do {todo} in list {calendar}", + "You created to-do {todo} in list {calendar}" : "criou to-do {todo} in list {calendar}", + "{actor} deleted to-do {todo} from list {calendar}" : "{actor} eliminou to-do {todo} de list {calendar}", + "You deleted to-do {todo} from list {calendar}" : "eliminou to-do {todo} de list {calendar}", + "{actor} updated to-do {todo} in list {calendar}" : "{actor} atualizou to-do {todo} in list {calendar}", + "You updated to-do {todo} in list {calendar}" : "atualizou to-do {todo} in list {calendar}", + "{actor} solved to-do {todo} in list {calendar}" : "{actor} concluiu a tarefa {todo} na lista {calendar}", + "You solved to-do {todo} in list {calendar}" : "solved to-do {todo} in list {calendar}", + "{actor} reopened to-do {todo} in list {calendar}" : "{actor} reabriu a tarefa {todo} na lista {calendar}", + "You reopened to-do {todo} in list {calendar}" : "reopened to-do {todo} in list {calendar}", + "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} moveu to-do {todo} de list {sourceCalendar} para list {targetCalendar}", + "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "moveu to-do {todo} de list {sourceCalendar} para list {targetCalendar}", + "Calendar, contacts and tasks" : "Calendário, contactos e tarefas", + "A <strong>calendar</strong> was modified" : "O <strong>calendário</strong> foi modificado.", + "A calendar <strong>event</strong> was modified" : "Um <strong>event</strong> do calendário foi modificado", + "A calendar <strong>to-do</strong> was modified" : "Foi modificada uma <strong>tarefa</strong> do calendário", + "Contact birthdays" : "Aniversário dos contactos", + "Death of %s" : "Falecimento de %s", + "Untitled calendar" : "Calendário sem titulo", + "Calendar:" : "Calendário:", + "Date:" : "Data:", + "Where:" : "Local:", + "Description:" : "Descrição:", + "_%n year_::_%n years_" : ["%n ano","%n anos","%n anos"], + "_%n month_::_%n months_" : ["%n mês","%n meses","%n meses"], + "_%n day_::_%n days_" : ["%n dia","%n dias","%n dias"], + "_%n hour_::_%n hours_" : ["%n hora","%n horas","%n horas"], + "_%n minute_::_%n minutes_" : ["%n minuto","%n minutos","%n minutos"], + "%s (in %s)" : "%s (em %s)", + "%s (%s ago)" : "%s (%s atrás)", + "Calendar: %s" : "Calendário: %s", + "Date: %s" : "Data: %s", + "Description: %s" : "Descrição: %s", + "Where: %s" : "Local: %s", + "%1$s via %2$s" : "%1$s via %2$s", + "In the past on %1$s for the entire day" : "No passado em %1$s durante todo o dia", + "_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["Daqui a um minuto em %1$s para todo o dia","Daqui a %n minutos em %1$s para todo o dia","Daqui a %n minutos em %1$s para todo o dia"], + "_In a hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["Daqui a um hora em %1$s para todo o dia","Daqui a %n horas em %1$s para todo o dia","Daqui a %n horas em %1$s para todo o dia"], + "_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["Daqui a um dia em %1$s para todo o dia","Daqui a %n dias em %1$s para todo o dia","Daqui a %n dias em %1$s para todo o dia"], + "_In a week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["Daqui a um semana em %1$s para todo o dia","Daqui a %n semanas em %1$s para todo o dia","Daqui a %n semanas em %1$s para todo o dia"], + "_In a month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["Daqui a um mês em %1$s para todo o dia","Daqui a %n meses em %1$s para todo o dia","Daqui a %n meses em %1$s para todo o dia"], + "_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["Daqui a um ano em %1$s para todo o dia","Daqui a %n anos em %1$s para todo o dia","Daqui a %n anos em %1$s para todo o dia"], + "In the past on %1$s between %2$s - %3$s" : "No passado em %1$s entre %2$s - %3$s", + "_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["Daqui a um minuto em %1$s entre %2$s - %3$s","Daqui a %n minutos em %1$s entre %2$s - %3$s","Daqui a %n minutos em %1$s entre %2$s - %3$s"], + "_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["Daqui a um hora em %1$s entre %2$s - %3$s","Daqui a %n horas em %1$s entre %2$s - %3$s","Daqui a %n horas em %1$s entre %2$s - %3$s"], + "_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["Daqui a um dia em %1$s entre %2$s - %3$s","Daqui a %n dias em %1$s entre %2$s - %3$s","Daqui a %n dias em %1$s entre %2$s - %3$s"], + "_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["Daqui a um semana em %1$s entre %2$s - %3$s","Daqui a %n semanas em %1$s entre %2$s - %3$s","Daqui a %n semanas em %1$s entre %2$s - %3$s"], + "_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["Daqui a um mês em %1$s entre %2$s - %3$s","Daqui a %n meses em %1$s entre %2$s - %3$s","Daqui a %n meses em %1$s entre %2$s - %3$s"], + "_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["Daqui a um ano em %1$s entre %2$s - %3$s","Daqui a %n anos em %1$s entre %2$s - %3$s","Daqui a %n anos em %1$s entre %2$s - %3$s"], + "Could not generate when statement" : "Não foi possível gerar a expressão \"quando\"", + "Every Day for the entire day" : "Todos os dias, dia inteiro", + "Every Day for the entire day until %1$s" : "Todos os dias, dia inteiro até %1$s", + "Every Day between %1$s - %2$s" : "Todos os dias entre %1$s e %2$s", + "Every Day between %1$s - %2$s until %3$s" : "Todos os dias entre %1$s e %2$s até %3$s", + "Every %1$d Days for the entire day" : "A cada %1$d dias, dia inteiro", + "Every %1$d Days for the entire day until %2$s" : "A cada %1$d dias, dia inteiro até %2$s", + "Every %1$d Days between %2$s - %3$s" : "A cada %1$d dias entre %2$s e %3$s", + "Every %1$d Days between %2$s - %3$s until %4$s" : "A cada %1$d dias entre %2$s e %3$s até %4$s", + "Could not generate event recurrence statement" : "Não foi possível gerar a expressão de recorrência do evento", + "Every Week on %1$s for the entire day" : "Todas as semanas, em %1$s, dia inteiro", + "Every Week on %1$s for the entire day until %2$s" : "Todas as semanas, em %1$s, dia inteiro até %2$s", + "Every Week on %1$s between %2$s - %3$s" : "Todas as semanas, em %1$s entre %2$s e %3$s", + "Every Week on %1$s between %2$s - %3$s until %4$s" : "Todas as semanas, em %1$s entre %2$s e %3$s até %4$s", + "Every %1$d Weeks on %2$s for the entire day" : "A cada %1$d semanas, em %2$s, dia inteiro", + "Every %1$d Weeks on %2$s for the entire day until %3$s" : "A cada %1$d semanas, em %2$s, dia inteiro até %3$s", + "Every %1$d Weeks on %2$s between %3$s - %4$s" : "A cada %1$d semanas, em %2$s entre %3$s e %4$s", + "Every %1$d Weeks on %2$s between %3$s - %4$s until %5$s" : "A cada %1$d semanas, em %2$s entre %3$s e %4$s até %5$s", + "Every Month on the %1$s for the entire day" : "Todos os meses, no dia %1$s, dia inteiro", + "Every Month on the %1$s for the entire day until %2$s" : "Todos os meses, no dia %1$s, dia inteiro até %2$s", + "Every Month on the %1$s between %2$s - %3$s" : "Todos os meses, no dia %1$s entre %2$s e %3$s", + "Every Month on the %1$s between %2$s - %3$s until %4$s" : "Todos os meses, no dia %1$s entre %2$s e %3$s até %4$s", + "Every %1$d Months on the %2$s for the entire day" : "A cada %1$d meses, no dia %2$s, dia inteiro", + "Every %1$d Months on the %2$s for the entire day until %3$s" : "A cada %1$d meses, no dia %2$s, dia inteiro até %3$s", + "Every %1$d Months on the %2$s between %3$s - %4$s" : "A cada %1$d meses, no dia %2$s entre %3$s e %4$s", + "Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "A cada %1$d meses, no dia %2$s entre %3$s e %4$s até %5$s", + "Every Year in %1$s on the %2$s for the entire day" : "Todos os anos em %1$s, no dia %2$s, dia inteiro", + "Every Year in %1$s on the %2$s for the entire day until %3$s" : "Todos os anos em %1$s, no dia %2$s, dia inteiro até %3$s", + "Every Year in %1$s on the %2$s between %3$s - %4$s" : "Todos os anos em %1$s, no dia %2$s entre %3$s e %4$s", + "Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "Todos os anos em %1$s, no dia %2$s entre %3$s e %4$s até %5$s", + "Every %1$d Years in %2$s on the %3$s for the entire day" : "A cada %1$d anos em %2$s, no dia %3$s, dia inteiro", + "Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "A cada %1$d anos em %2$s, no dia %3$s, dia inteiro até %4$s", + "Every %1$d Years in %2$s on the %3$s between %4$s - %5$s" : "A cada %1$d anos em %2$s, no dia %3$s entre %4$s e %5$s", + "Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "A cada %1$d anos em %2$s, no dia %3$s entre %4$s e %5$s até %6$s", + "On specific dates for the entire day until %1$s" : "Em datas específicas, dia inteiro até %1$s", + "On specific dates between %1$s - %2$s until %3$s" : "Em datas específicas entre %1$s e %2$s até %3$s", + "In the past on %1$s" : "No passado em %1$s", + "_In a minute on %1$s_::_In %n minutes on %1$s_" : ["Daqui a um minuto em %1$s","Daqui a %n minutos em %1$s","Daqui a %n minutos em %1$s"], + "_In a hour on %1$s_::_In %n hours on %1$s_" : ["Daqui a um hora em %1$s","Daqui a %n horas em %1$s","Daqui a %n horas em %1$s"], + "_In a day on %1$s_::_In %n days on %1$s_" : ["Daqui a um dia em %1$s","Daqui a %n dias em %1$s","Daqui a %n dias em %1$s"], + "_In a week on %1$s_::_In %n weeks on %1$s_" : ["Daqui a um semana em %1$s","Daqui a %n semanas em %1$s","Daqui a %n semanas em %1$s"], + "_In a month on %1$s_::_In %n months on %1$s_" : ["Daqui a um mês em %1$s","Daqui a %n meses em %1$s","Daqui a %n meses em %1$s"], + "_In a year on %1$s_::_In %n years on %1$s_" : ["Daqui a um ano em %1$s","Daqui a %n anos em %1$s","Daqui a %n anos em %1$s"], + "In the past on %1$s then on %2$s" : "No passado em %1$s e depois %2$s", + "_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["Daqui a um minuto em %1$s e depois em %2$s","Daqui a %n minutos em %1$s e depois em %2$s","Daqui a %n minutos em %1$s e depois em %2$s"], + "_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["Daqui a um hora em %1$s e depois em %2$s","Daqui a %n horas em %1$s e depois em %2$s","Daqui a %n horas em %1$s e depois em %2$s"], + "_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["Daqui a um dia em %1$s e depois em %2$s","Daqui a %n dias em %1$s e depois em %2$s","Daqui a %n dias em %1$s e depois em %2$s"], + "_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["Daqui a um semana em %1$s e depois em %2$s","Daqui a %n semanas em %1$s e depois em %2$s","Daqui a %n semanas em %1$s e depois em %2$s"], + "_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["Daqui a um mês em %1$s e depois em %2$s","Daqui a %n meses em %1$s e depois em %2$s","Daqui a %n meses em %1$s e depois em %2$s"], + "_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["Daqui a um ano em %1$s e depois em %2$s","Daqui a %n anos em %1$s e depois em %2$s","Daqui a %n anos em %1$s e depois em %2$s"], + "In the past on %1$s then on %2$s and %3$s" : "No passado em %1$s e depois em %2$s e %3$s", + "_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["Daqui a um minuto em %1$s e depois em %2$s e %3$s","Daqui a %n minutos em %1$s e depois em %2$s e %3$s","Daqui a %n minutos em %1$s e depois em %2$s e %3$s"], + "_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["Daqui a um hora em %1$s e depois em %2$s e %3$s","Daqui a %n horas em %1$s e depois em %2$s e %3$s","Daqui a %n horas em %1$s e depois em %2$s e %3$s"], + "_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["Daqui a um dia em %1$s e depois em %2$s e %3$s","Daqui a %n dias em %1$s e depois em %2$s e %3$s","Daqui a %n dias em %1$s e depois em %2$s e %3$s"], + "_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Daqui a um semana em %1$s e depois em %2$s e %3$s","Daqui a %n semanas em %1$s e depois em %2$s e %3$s","Daqui a %n semanas em %1$s e depois em %2$s e %3$s"], + "_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Daqui a um mês em %1$s e depois em %2$s e %3$s","Daqui a %n meses em %1$s e depois em %2$s e %3$s","Daqui a %n meses em %1$s e depois em %2$s e %3$s"], + "_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Daqui a um ano em %1$s e depois em %2$s e %3$s","Daqui a %n anos em %1$s e depois em %2$s e %3$s","Daqui a %n anos em %1$s e depois em %2$s e %3$s"], + "Could not generate next recurrence statement" : "Não foi possível gerar a próxima expressão de recorrência", + "Cancelled: %1$s" : "Cancelado: %1$s", + "\"%1$s\" has been canceled" : "\"%1$s\" foi cancelado", + "Re: %1$s" : "Re: %1$s", + "%1$s has accepted your invitation" : "%1$s aceitou o seu convite", + "%1$s has tentatively accepted your invitation" : "%1$s aceitou provisoriamente o seu convite", + "%1$s has declined your invitation" : "%1$s recusou o seu convite", + "%1$s has responded to your invitation" : "%1$s respondeu ao seu convite", + "Invitation updated: %1$s" : "Convite atualizado: %1$s", + "%1$s updated the event \"%2$s\"" : "%1$s atualizou o evento \"%2$s\"", + "Invitation: %1$s" : "Convite: %1$s", + "%1$s would like to invite you to \"%2$s\"" : "%1$s gostaria de convidá‑lo para \"%2$s\"", + "Organizer:" : "Organizador:", + "Attendees:" : "Participantes:", + "Title:" : "Titulo: ", + "When:" : "Quando:", + "Location:" : "Localização:", + "Link:" : "Ligação:", + "Occurring:" : "Ocorrências:", + "Accept" : "Aceitar", + "Decline" : "Recusar", + "More options …" : "Mais opções…", + "More options at %s" : "Mais opções em %s", + "Monday" : "Segunda", + "Tuesday" : "Terça", + "Wednesday" : "Quarta", + "Thursday" : "Quinta", + "Friday" : "Sexta", + "Saturday" : "Sábado", + "Sunday" : "Domingo", + "January" : "Janeiro", + "February" : "Fevereiro", + "March" : "Março", + "April" : "Abril", + "May" : "Maio", + "June" : "Junho", + "July" : "Julho", + "August" : "Agosto", + "September" : "Setembro", + "October" : "Outubro", + "November" : "Novembro", + "December" : "Dezembro", + "First" : "Primeiro", + "Second" : "Segundo", + "Third" : "Terceiro", + "Fourth" : "Quarto", + "Fifth" : "Quinto", + "Last" : "Último", + "Second Last" : "Penúltimo", + "Third Last" : "Antepenúltimo", + "Fourth Last" : "Quarto do fim", + "Fifth Last" : "Quinto do fim", + "Contacts" : "Contactos", + "{actor} created address book {addressbook}" : "{actor} criou address book {addressbook}", + "You created address book {addressbook}" : "criou address book {addressbook}", + "{actor} deleted address book {addressbook}" : "{actor} eliminou address book {addressbook}", + "You deleted address book {addressbook}" : "eliminou address book {addressbook}", + "{actor} updated address book {addressbook}" : "{actor} atualizou address book {addressbook}", + "You updated address book {addressbook}" : "atualizou address book {addressbook}", + "{actor} shared address book {addressbook} with you" : "{actor} partilhou address book {addressbook} com you", + "You shared address book {addressbook} with {user}" : "partilhou address book {addressbook} com {user}", + "{actor} shared address book {addressbook} with {user}" : "{actor} partilhou address book {addressbook} com {user}", + "{actor} unshared address book {addressbook} from you" : "{actor} deixou de partilhar address book {addressbook} de you", + "You unshared address book {addressbook} from {user}" : "deixou de partilhar address book {addressbook} de {user}", + "{actor} unshared address book {addressbook} from {user}" : "{actor} deixou de partilhar address book {addressbook} de {user}", + "{actor} unshared address book {addressbook} from themselves" : "{actor} deixou de partilhar address book {addressbook} de próprio", + "You shared address book {addressbook} with group {group}" : "partilhou address book {addressbook} com o grupo {group}", + "{actor} shared address book {addressbook} with group {group}" : "{actor} partilhou address book {addressbook} com o grupo {group}", + "You unshared address book {addressbook} from group {group}" : "deixou de partilhar address book {addressbook} do grupo {group}", + "{actor} unshared address book {addressbook} from group {group}" : "{actor} deixou de partilhar address book {addressbook} do grupo {group}", + "{actor} created contact {card} in address book {addressbook}" : "{actor} criou contact {card} in address book {addressbook}", + "You created contact {card} in address book {addressbook}" : "criou contact {card} in address book {addressbook}", + "{actor} deleted contact {card} from address book {addressbook}" : "{actor} eliminou contact {card} de address book {addressbook}", + "You deleted contact {card} from address book {addressbook}" : "eliminou contact {card} de address book {addressbook}", + "{actor} updated contact {card} in address book {addressbook}" : "{actor} atualizou contact {card} in address book {addressbook}", + "You updated contact {card} in address book {addressbook}" : "atualizou contact {card} in address book {addressbook}", + "A <strong>contact</strong> or <strong>address book</strong> was modified" : "Foi modificado um <strong>contacto</strong> ou <strong>livro de endereços</strong>", + "Accounts" : "Contas", + "System address book which holds all accounts" : "Livro de endereços do sistema que contém todas as contas", + "File is not updatable: %1$s" : "O ficheiro não pode ser atualizado: %1$s", + "Failed to get storage for file" : "Falha ao obter armazenamento para o ficheiro", + "Could not write to final file, canceled by hook" : "Não foi possível escrever no ficheiro final, cancelado por hook", + "Could not write file contents" : "Não foi possível escrever o conteúdo do ficheiro", + "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"], + "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Erro ao copiar ficheiro para o destino (copiado: %1$s, tamanho esperado: %2$s)", + "Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "Tamanho esperado de %1$s, mas leitura diferente (do cliente Nextcloud) e escreveu (para armazenamento Nextcloud) %2$s. Possível problema do lado do cliente ou ao escrever no armazenamento do servidor.", + "Could not rename part file to final file, canceled by hook" : "Não foi possível renomear o ficheiro parcial para ficheiro final, cancelado por hook", + "Could not rename part file to final file" : "Não foi possível renomear o ficheiro parcial para ficheiro final", + "Failed to check file size: %1$s" : "Falha ao verificar o tamanho do ficheiro: %1$s", + "Could not open file: %1$s, file does seem to exist" : "Não foi possível abrir o ficheiro: %1$s, o ficheiro parece existir", + "Could not open file: %1$s, file doesn't seem to exist" : "Não foi possível abrir o ficheiro: %1$s, o ficheiro não parece existir", + "Encryption not ready: %1$s" : "Encriptação não pronta: %1$s", + "Failed to open file: %1$s" : "Falha ao abrir o ficheiro: %1$s", + "Failed to unlink: %1$s" : "Falha ao eliminar: %1$s", + "Failed to write file contents: %1$s" : "Falha ao escrever o conteúdo do ficheiro: %1$s", + "File not found: %1$s" : "Ficheiro não encontrado: %1$s", + "Invalid target path" : "Caminho de destino inválido", + "System is in maintenance mode." : "O sistema está em modo de manutenção.", + "Upgrade needed" : "É necessária atualização", + "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "O seu %s precisa de estar configurado para usar HTTPS para que possa utilizar CalDAV e CardDAV com iOS/macOS.", + "Configures a CalDAV account" : "Configura uma conta CalDAV", + "Configures a CardDAV account" : "Configura uma conta CardDAV", + "Events" : "Eventos", + "Untitled task" : "Tarefa sem título", + "Completed on %s" : "Concluída em %s", + "Due on %s by %s" : "Vence em %s às %s", + "Due on %s" : "Vence em %s", + "System Address Book" : "Livro de endereços do sistema", + "The system address book contains contact information for all users in your instance." : "O livro de endereços do sistema contém informação de contacto de todos os utilizadores da sua instância.", + "Enable System Address Book" : "Ativar livro de endereços do sistema", + "DAV system address book" : "Livro de endereços DAV do sistema", + "No outstanding DAV system address book sync." : "Sem sincronizações pendentes do livro de endereços DAV do sistema.", + "The DAV system address book sync has not run yet as your instance has more than 1000 users or because an error occurred. Please run it manually by calling \"occ dav:sync-system-addressbook\"." : "A sincronização do livro de endereços DAV do sistema ainda não foi executada porque a sua instância não tem utilizadores; execute‑a manualmente com \"occ dav:sync-system-addressbook\".", + "WebDAV endpoint" : "Endpoint WebDAV", + "Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Não foi possível verificar se o seu servidor web está corretamente configurado para permitir a sincronização de ficheiros via WebDAV. Verifique manualmente.", + "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "O seu servidor da Web não está configurado corretamente para permitir a sincronização de ficheiros, porque a interface WebDAV parece estar com problemas.", + "Your web server is properly set up to allow file synchronization over WebDAV." : "O seu servidor web está corretamente configurado para permitir a sincronização de ficheiros via WebDAV.", + "Migrated calendar (%1$s)" : "Calendário migrado (%1$s)", + "Calendars including events, details and attendees" : "Calendários incluindo eventos, detalhes e participantes", + "Contacts and groups" : "Contactos e grupos", + "WebDAV" : "WebDAV", + "Absence saved" : "Ausência guardada", + "Failed to save your absence settings" : "Falha ao guardar as suas definições de ausência", + "Absence cleared" : "Ausência removida", + "Failed to clear your absence settings" : "Falha ao remover as suas definições de ausência", + "First day" : "Primeiro dia", + "Last day (inclusive)" : "Último dia (inclusive)", + "Out of office replacement (optional)" : "Substituto durante ausência (opcional)", + "Name of the replacement" : "Nome do substituto", + "No results." : "Sem resultados.", + "Start typing." : "Comece a escrever.", + "Short absence status" : "Estado de ausência curto", + "Long absence Message" : "Mensagem de ausência longa", + "Save" : "Guardar", + "Disable absence" : "Desativar ausência", + "Failed to load availability" : "Falha ao carregar disponibilidade", + "Saved availability" : "Disponibilidade guardada", + "Failed to save availability" : "Falha ao guardar disponibilidade", + "Time zone:" : "Fuso horário:", + "to" : "Para", + "Delete slot" : "Eliminar intervalo", + "No working hours set" : "Sem horário de trabalho definido", + "Add slot" : "Adicionar intervalo", + "Weekdays" : "Dias da semana", + "Pick a start time for {dayName}" : "Escolha uma hora de início para {dayName}", + "Pick a end time for {dayName}" : "Escolha uma hora de fim para {dayName}", + "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Definir automaticamente o estado para \"Não incomodar\" fora do horário de disponibilidade para silenciar todas as notificações.", + "Cancel" : "Cancelar", + "Import" : "Importar", + "Error while saving settings" : "Erro ao guardar definições", + "Contact reset successfully" : "Contacto reposto com sucesso", + "Error while resetting contact" : "Erro ao repor contacto", + "Contact imported successfully" : "Contacto importado com sucesso", + "Error while importing contact" : "Erro ao importar contacto", + "Import contact" : "Importar contacto", + "Reset to default" : "Repor original", + "Import contacts" : "Importar contactos", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "A importação de um novo ficheiro .vcf eliminará o contacto predefinido existente e substituí‑lo‑á pelo novo. Deseja continuar?", + "Failed to save example event creation setting" : "Falha ao guardar a definição de criação de evento de exemplo", + "Failed to upload the example event" : "Falha ao carregar o evento de exemplo", + "Custom example event was saved successfully" : "Evento de exemplo personalizado guardado com sucesso", + "Failed to delete the custom example event" : "Falha ao eliminar o evento de exemplo personalizado", + "Custom example event was deleted successfully" : "Evento de exemplo personalizado eliminado com sucesso", + "Import calendar event" : "Importar evento de calendário", + "Uploading a new event will overwrite the existing one." : "O carregamento de um novo evento substituirá o existente.", + "Upload event" : "Carregar evento", + "Availability" : "Disponibilidade", + "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Se configurar o seu horário de trabalho, outras pessoas saberão quando está fora do escritório ao marcar uma reunião.", + "Absence" : "Ausência", + "Configure your next absence period." : "Configure o seu próximo período de ausência.", + "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Instale também a {calendarappstoreopen}aplicação Calendário {linkclose}, ou {calendardocopen} ligue o seu computador e telemóvel para sincronizar ↗{linkclose}.", + "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Certifique‑se de configurar corretamente {emailopen}o servidor de email{linkclose}.", + "Calendar server" : "Servidor de calendário", + "Send invitations to attendees" : "Enviar convites aos participantes", + "Automatically generate a birthday calendar" : "Gerar automaticamente um calendário de aniversários", + "Birthday calendars will be generated by a background job." : "Os calendários de aniversário serão gerados por uma tarefa em segundo plano.", + "Hence they will not be available immediately after enabling but will show up after some time." : "Por isso, não estarão disponíveis imediatamente após a ativação, mas aparecerão após algum tempo.", + "Send notifications for events" : "Enviar notificações de eventos", + "Notifications are sent via background jobs, so these must occur often enough." : "As notificações são enviadas através de tarefas em segundo plano; estas devem ser executadas com frequência suficiente.", + "Send reminder notifications to calendar sharees as well" : "Enviar também notificações de lembrete aos partilhados do calendário", + "Reminders are always sent to organizers and attendees." : "Os lembretes são sempre enviados aos organizadores e participantes.", + "Enable notifications for events via push" : "Ativar notificações push para eventos", + "Example content" : "Conteúdo de exemplo", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "O conteúdo de exemplo serve para demonstrar as funcionalidades do Nextcloud. É fornecido com o Nextcloud e pode ser substituído por conteúdo personalizado.", + "There was an error updating your attendance status." : "Ocorreu um erro ao atualizar o seu estado de participação.", + "Please contact the organizer directly." : "Contacte diretamente o organizador.", + "Are you accepting the invitation?" : "Aceita o convite?", + "Tentative" : "Tentativa", + "Your attendance was updated successfully." : "O seu estado de participação foi atualizado com sucesso." +},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" +}
\ No newline at end of file diff --git a/apps/dav/l10n/ru.js b/apps/dav/l10n/ru.js index e7c4a904ccc..e170bb36582 100644 --- a/apps/dav/l10n/ru.js +++ b/apps/dav/l10n/ru.js @@ -72,7 +72,77 @@ OC.L10N.register( "Description: %s" : "Описание: %s", "Where: %s" : "Где: %s", "%1$s via %2$s" : "%1$s через %2$s", + "In the past on %1$s for the entire day" : "В прошлом, %1$s, в течение всего дня", + "_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["Через минуту, %1$s, в течение всего дня","Через %n минуты, %1$s, в течение всего дня","Через %n минут, %1$s, в течение всего дня","Через %n минут, %1$s, в течение всего дня"], + "_In a hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["Через час, %1$s, в течение всего дня","Через %n часа, %1$s, в течение всего дня","Через %n часов, %1$s, в течение всего дня","Через %n часов, %1$s, в течение всего дня"], + "_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["Через день, %1$s, в течение всего дня","Через %n дня, %1$s, в течение всего дня","Через %n дней,%1$s, в течение всего дня","Через %n дней, %1$s, в течение всего дня"], + "_In a week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["Через неделю, %1$s, в течение всего дня","Через %n недели, %1$s, в течение всего дня","Через %n недель, %1$s, в течение всего дня","Через %n недель, %1$s, в течение всего дня"], + "_In a month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["Через месяц, %1$s, в течение всего дня","Через %n месяца, %1$s, в течение всего дня","Через %n месяцев, %1$s, в течение всего дня","Через %n месяцев, %1$s, в течение всего дня"], + "_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["Через год, %1$s, в течение всего дня","Через %n года, %1$s, в течение всего дня","Через %n лет, %1$s, в течение всего дня","Через %n лет, %1$s, в течение всего дня"], + "In the past on %1$s between %2$s - %3$s" : "В прошлом, %1$s, с %2$s до %3$s", + "_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["Через минуту, %1$s, с %2$s до %3$s","Через %n минуты, %1$s, с %2$s до %3$s","Через %n минут, %1$s, с %2$s до %3$s","Через %n минут, %1$s, с %2$s до %3$s"], + "_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["Через час, %1$s, с %2$s до %3$s","Через %n часа, %1$s, с %2$s до %3$s","Через %n часов, %1$s, с %2$s до %3$s","Через %n часов, %1$s, с %2$s до %3$s"], + "_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["Через день, %1$s, с %2$s до %3$s","Через %n дня %1$s, с %2$s до %3$s","Через %n дней, %1$s, с %2$s до %3$s","Через %n дней, %1$s, с %2$s до %3$s"], + "_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["Через неделю, %1$s, с %2$s до %3$s","Через %n недели, %1$s, с %2$s до %3$s","Через %n недель, %1$s, с %2$s до %3$s","Через %n недель, %1$s, с %2$s до %3$s"], + "_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["Через месяц, %1$s, с %2$s до %3$s","Через %n месяца, %1$s, с %2$s до %3$s","Через %n месяцев, %1$s, с %2$s до %3$s","Через %n месяцев, %1$s, с %2$s до %3$s"], + "_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["Через год, %1$s, с %2$s до %3$s","Через %n года, %1$s, с %2$s до %3$s","Через %n лет, %1$s, с %2$s до %3$s","Через %n лет, %1$s, с %2$s до %3$s"], + "Could not generate when statement" : "Не удалось сгенерировать выражение времени", "Every Day for the entire day" : "Каждый день в течение всего дня", + "Every Day for the entire day until %1$s" : "Каждый день весь день до %1$s", + "Every Day between %1$s - %2$s" : "Каждый день с %1$s по %2$s", + "Every Day between %1$s - %2$s until %3$s" : "Каждый день с %1$s до %2$s до %3$s", + "Every %1$d Days for the entire day" : "Каждые %1$d дней в течение всего дня", + "Every %1$d Days for the entire day until %2$s" : "Каждые %1$d дней в течение всего дня до %2$s", + "Every %1$d Days between %2$s - %3$s" : "Каждые %1$d дней с %2$s до %3$s", + "Every %1$d Days between %2$s - %3$s until %4$s" : "Каждые %1$d дней с %2$s до %3$s до %4$s", + "Could not generate event recurrence statement" : "Не удалось сгенерировать правило повторения события", + "Every Week on %1$s for the entire day" : "Каждую неделю в %1$s в течение всего дня", + "Every Week on %1$s for the entire day until %2$s" : "Каждую неделю по %1$s в течение всего дня до %2$s", + "Every Week on %1$s between %2$s - %3$s" : "Каждую неделю в %1$s с %2$s до %3$s", + "Every Week on %1$s between %2$s - %3$s until %4$s" : "Каждую неделю по %1$s с %2$s до %3$s до %4$s", + "Every %1$d Weeks on %2$s for the entire day" : "Каждые %1$d недель по %2$s в течение всего дня", + "Every %1$d Weeks on %2$s for the entire day until %3$s" : "Каждые %1$d недель по %2$s в течение всего дня до %3$s", + "Every %1$d Weeks on %2$s between %3$s - %4$s" : "Каждые %1$d недель по %2$s с %3$s до %4$s", + "Every %1$d Weeks on %2$s between %3$s - %4$s until %5$s" : "Каждые %1$d недель по %2$s с %3$s до %4$s до %5$s", + "Every Month on the %1$s for the entire day" : "Каждый месяц %1$s в течение всего дня", + "Every Month on the %1$s for the entire day until %2$s" : "Каждый месяц %1$s в течение всего дня до %2$s", + "Every Month on the %1$s between %2$s - %3$s" : "Каждый месяц %1$s с %2$s до %3$s", + "Every Month on the %1$s between %2$s - %3$s until %4$s" : "Каждый месяц %1$s с %2$s до %3$s до %4$s", + "Every %1$d Months on the %2$s for the entire day" : "Каждые %1$d месяцев %2$s в течение всего дня", + "Every %1$d Months on the %2$s for the entire day until %3$s" : "Каждые %1$d месяцев %2$s в течение всего дня до %3$s", + "Every %1$d Months on the %2$s between %3$s - %4$s" : "Каждые %1$d месяцев %2$s с %3$s до %4$s", + "Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "Каждые %1$d месяцев %2$s с %3$s до %4$s до %5$s", + "Every Year in %1$s on the %2$s for the entire day" : "Каждый год в %1$s %2$s в течение всего дня", + "Every Year in %1$s on the %2$s for the entire day until %3$s" : "Каждый год в %1$s %2$s в течение всего дня до %3$s", + "Every Year in %1$s on the %2$s between %3$s - %4$s" : "Каждый год в %1$s %2$s с %3$s до %4$s", + "Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "Каждый год в %1$s %2$s с %3$s до %4$s до %5$s", + "Every %1$d Years in %2$s on the %3$s for the entire day" : "Каждые %1$d лет в %2$s %3$s в течение всего дня", + "Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "Каждые %1$d лет в %2$s %3$s в течение всего дня до %4$s", + "Every %1$d Years in %2$s on the %3$s between %4$s - %5$s" : "Каждые %1$d лет в %2$s %3$s с %4$s до %5$s", + "Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "Каждые %1$d лет в %2$s %3$s с %4$s до %5$s до %6$s", + "On specific dates for the entire day until %1$s" : "В определённые даты, весь день до %1$s", + "On specific dates between %1$s - %2$s until %3$s" : "В определённые даты с %1$s по %2$s до %3$s", + "In the past on %1$s" : "В прошлом, %1$s", + "_In a minute on %1$s_::_In %n minutes on %1$s_" : ["Через минуту, %1$s","Через %n минуты, %1$s","Через %n минут, %1$s","Через %n минут, %1$s"], + "_In a hour on %1$s_::_In %n hours on %1$s_" : ["Через час, %1$s","Через %n часа, %1$s","Через %n часов, %1$s","Через %n часов, %1$s"], + "_In a day on %1$s_::_In %n days on %1$s_" : ["Через день, %1$s","Через %n дня, %1$s","Через %n дней, %1$s","Через %n дней, %1$s"], + "_In a week on %1$s_::_In %n weeks on %1$s_" : ["Через неделю, %1$s","Через %n недели,%1$s","Через %n недель, %1$s","Через %n недель, %1$s"], + "_In a month on %1$s_::_In %n months on %1$s_" : ["Через месяц, %1$s","Через %n месяца, %1$s","Через %n месяцев, %1$s","Через %n месяцев, %1$s"], + "_In a year on %1$s_::_In %n years on %1$s_" : ["Через год, %1$s","Через %n года, %1$s","Через %n лет, %1$s","Через %n лет, %1$s"], + "In the past on %1$s then on %2$s" : "В прошлом, %1$s, затем %2$s", + "_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["Через минуту, %1$s, затем %2$s","Через %n минуты, %1$s, затем %2$s","Через %n минут, %1$s, затем %2$s","Через %n минут, %1$s, затем %2$s"], + "_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["Через час, %1$s, затем %2$s","Через %n часа, %1$s, затем %2$s","Через %n часов, %1$s, затем %2$s","Через %n часов, %1$s, затем %2$s"], + "_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["Через день, %1$s, затем %2$s","Через %n дня, %1$s, затем %2$s","Через %n дней, %1$s, затем %2$s","Через %n дней, %1$s, затем %2$s"], + "_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["Через неделю, %1$s, затем %2$s","Через %n недели, %1$s, затем %2$s","Через %n недель, %1$s, затем %2$s","Через %n недель, %1$s, затем %2$s"], + "_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["Через месяц, %1$s, затем %2$s","Через %n месяца, %1$s, затем %2$s","Через %n месяцев, %1$s, затем %2$s","Через %n месяцев, %1$s, затем %2$s"], + "_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["Через год, %1$s, затем %2$s","Через %n года, %1$s, затем %2$s","Через %n лет, %1$s, затем %2$s","Через %n лет, %1$s, затем %2$s"], + "In the past on %1$s then on %2$s and %3$s" : "В прошлом, %1$s, затем %2$s и %3$s", + "_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["Через минуту, %1$s, затем %2$s и %3$s","Через %n минуты, %1$s, затем %2$s и %3$s","Через %n минут, %1$s, затем %2$s и %3$s","Через %n минут, %1$s, затем %2$s и %3$s"], + "_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["Через час, %1$s, затем %2$s и %3$s","Через %n часа, %1$s, затем %2$s и %3$s","Через %n часов, %1$s, затем %2$s и %3$s","Через %n часов, %1$s, затем %2$s и %3$s"], + "_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["Через день, %1$s, затем %2$s и %3$s","Через %n дня, %1$s, затем %2$s и %3$s","Через %n дней, %1$s, затем %2$s и %3$s","Через %n дней, %1$s, затем %2$s и %3$s"], + "_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Через неделю, %1$s, затем %2$s и %3$s","Через %n недели, %1$s, затем %2$s и %3$s","Через %n недель, %1$s, затем %2$s и %3$s","Через %n недель, %1$s, затем %2$s и %3$s"], + "_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Через месяц, %1$s, затем %2$s и %3$s","Через %n месяца, %1$s, затем %2$s и %3$s","Через %n месяцев, %1$s, затем %2$s и %3$s","Через %n месяцев, %1$s, затем %2$s и %3$s"], + "_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Через год, %1$s, затем %2$s и %3$s","Через %n года, %1$s, затем %2$s и %3$s","Через %n лет, %1$s, затем %2$s и %3$s","Через %n лет, %1$s, затем %2$s и %3$s"], "Could not generate next recurrence statement" : "Не удалось сгенерировать следующий оператор повторения", "Cancelled: %1$s" : "Событие отменено: %1$s", "\"%1$s\" has been canceled" : "Событие «%1$s» отменено", @@ -119,10 +189,12 @@ OC.L10N.register( "Second" : "Второй", "Third" : "Третий", "Fourth" : "Четвертый", + "Fifth" : "Пятый", "Last" : "Последний", "Second Last" : "Предпоследний", - "Third Last" : "Третий по счету", - "Fourth Last" : "Четвертый по счету", + "Third Last" : "Третий с конца", + "Fourth Last" : "Четвёртый с конца", + "Fifth Last" : "Пятый с конца", "Contacts" : "Контакты", "{actor} created address book {addressbook}" : "{actor} создал(а) адресную книгу «{addressbook}»", "You created address book {addressbook}" : "Вы создали адресную книгу «{addressbook}»", @@ -178,6 +250,9 @@ OC.L10N.register( "Completed on %s" : "Завершено %s", "Due on %s by %s" : "До %s %s", "Due on %s" : "До %s", + "System Address Book" : "Системная адресная книга", + "The system address book contains contact information for all users in your instance." : "Системная адресная книга содержит контактную информацию всех пользователей в вашем инстансе.", + "Enable System Address Book" : "Включить системную адресную книгу", "DAV system address book" : "Системная адресная книга DAV", "No outstanding DAV system address book sync." : "Синхронизация системной адресной книги DAV выполнена.", "The DAV system address book sync has not run yet as your instance has more than 1000 users or because an error occurred. Please run it manually by calling \"occ dav:sync-system-addressbook\"." : "Синхронизация системной адресной книги DAV ещё не запущена, поскольку в этом экземпляре более 1000 пользователей или произошла ошибка. Перезапустите синхронизацию вручную используя команду «occ dav:sync-system-addressbook».", @@ -215,6 +290,25 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Выберите время начала в {dayName}", "Pick a end time for {dayName}" : "Выберите время окончания в {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Автоматически изменять статус на «Не беспокоить» вне интервала доступности для отключения уведомлений.", + "Cancel" : "Отмена", + "Import" : "Импортировать", + "Error while saving settings" : "Ошибка при сохранении параметров", + "Contact reset successfully" : "Контакт успешно сброшен", + "Error while resetting contact" : "Ошибка при сбросе контакта", + "Contact imported successfully" : " Контакт успешно импортирован", + "Error while importing contact" : " Ошибка при импорте контакта", + "Import contact" : "Импортировать контакт", + "Reset to default" : "Сбросить изменения", + "Import contacts" : "Импортировать контакты", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Импорт нового файла .vcf удалит существующий контакт по умолчанию и заменит его новым. Продолжить?", + "Failed to save example event creation setting" : "Не удалось сохранить настройки создания примера события", + "Failed to upload the example event" : "Не удалось загрузить пример события", + "Custom example event was saved successfully" : "Настраиваемый пример события успешно сохранён", + "Failed to delete the custom example event" : "Не удалось удалить настраиваемый пример события", + "Custom example event was deleted successfully" : "Настраиваемый пример события успешно удалён", + "Import calendar event" : "Импортировать событие календаря", + "Uploading a new event will overwrite the existing one." : " Загрузка нового события перезапишет существующее.", + "Upload event" : "Загрузить событие", "Availability" : "Рабочее время", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Если вы настроите свой расписание работы, другие пользователи при планировании встреч смогут видеть, когда вас нет в офисе.", "Absence" : "Отсутствие", @@ -231,9 +325,8 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Отправлять напоминания всем пользователям, имеющим доступ к календарю", "Reminders are always sent to organizers and attendees." : "Организаторам и участникам уведомления отправляются во всех случаях.", "Enable notifications for events via push" : "Включить уведомления о событиях с помощью push", - "Cancel" : "Отмена", - "Import" : "Импортировать", - "Error while saving settings" : "Ошибка при сохранении параметров", + "Example content" : "Пример содержимого", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Пример содержимого демонстрирует возможности Nextcloud. По умолчанию поставляется стандартное содержимое, которое можно заменить настраиваемым.", "There was an error updating your attendance status." : "Ошибка обновления статуса участия.", "Please contact the organizer directly." : "Обратитесь к организатору напрямую.", "Are you accepting the invitation?" : "Принять приглашение?", diff --git a/apps/dav/l10n/ru.json b/apps/dav/l10n/ru.json index 856b9d9fe21..d1da881a4c6 100644 --- a/apps/dav/l10n/ru.json +++ b/apps/dav/l10n/ru.json @@ -70,7 +70,77 @@ "Description: %s" : "Описание: %s", "Where: %s" : "Где: %s", "%1$s via %2$s" : "%1$s через %2$s", + "In the past on %1$s for the entire day" : "В прошлом, %1$s, в течение всего дня", + "_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["Через минуту, %1$s, в течение всего дня","Через %n минуты, %1$s, в течение всего дня","Через %n минут, %1$s, в течение всего дня","Через %n минут, %1$s, в течение всего дня"], + "_In a hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["Через час, %1$s, в течение всего дня","Через %n часа, %1$s, в течение всего дня","Через %n часов, %1$s, в течение всего дня","Через %n часов, %1$s, в течение всего дня"], + "_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["Через день, %1$s, в течение всего дня","Через %n дня, %1$s, в течение всего дня","Через %n дней,%1$s, в течение всего дня","Через %n дней, %1$s, в течение всего дня"], + "_In a week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["Через неделю, %1$s, в течение всего дня","Через %n недели, %1$s, в течение всего дня","Через %n недель, %1$s, в течение всего дня","Через %n недель, %1$s, в течение всего дня"], + "_In a month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["Через месяц, %1$s, в течение всего дня","Через %n месяца, %1$s, в течение всего дня","Через %n месяцев, %1$s, в течение всего дня","Через %n месяцев, %1$s, в течение всего дня"], + "_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["Через год, %1$s, в течение всего дня","Через %n года, %1$s, в течение всего дня","Через %n лет, %1$s, в течение всего дня","Через %n лет, %1$s, в течение всего дня"], + "In the past on %1$s between %2$s - %3$s" : "В прошлом, %1$s, с %2$s до %3$s", + "_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["Через минуту, %1$s, с %2$s до %3$s","Через %n минуты, %1$s, с %2$s до %3$s","Через %n минут, %1$s, с %2$s до %3$s","Через %n минут, %1$s, с %2$s до %3$s"], + "_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["Через час, %1$s, с %2$s до %3$s","Через %n часа, %1$s, с %2$s до %3$s","Через %n часов, %1$s, с %2$s до %3$s","Через %n часов, %1$s, с %2$s до %3$s"], + "_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["Через день, %1$s, с %2$s до %3$s","Через %n дня %1$s, с %2$s до %3$s","Через %n дней, %1$s, с %2$s до %3$s","Через %n дней, %1$s, с %2$s до %3$s"], + "_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["Через неделю, %1$s, с %2$s до %3$s","Через %n недели, %1$s, с %2$s до %3$s","Через %n недель, %1$s, с %2$s до %3$s","Через %n недель, %1$s, с %2$s до %3$s"], + "_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["Через месяц, %1$s, с %2$s до %3$s","Через %n месяца, %1$s, с %2$s до %3$s","Через %n месяцев, %1$s, с %2$s до %3$s","Через %n месяцев, %1$s, с %2$s до %3$s"], + "_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["Через год, %1$s, с %2$s до %3$s","Через %n года, %1$s, с %2$s до %3$s","Через %n лет, %1$s, с %2$s до %3$s","Через %n лет, %1$s, с %2$s до %3$s"], + "Could not generate when statement" : "Не удалось сгенерировать выражение времени", "Every Day for the entire day" : "Каждый день в течение всего дня", + "Every Day for the entire day until %1$s" : "Каждый день весь день до %1$s", + "Every Day between %1$s - %2$s" : "Каждый день с %1$s по %2$s", + "Every Day between %1$s - %2$s until %3$s" : "Каждый день с %1$s до %2$s до %3$s", + "Every %1$d Days for the entire day" : "Каждые %1$d дней в течение всего дня", + "Every %1$d Days for the entire day until %2$s" : "Каждые %1$d дней в течение всего дня до %2$s", + "Every %1$d Days between %2$s - %3$s" : "Каждые %1$d дней с %2$s до %3$s", + "Every %1$d Days between %2$s - %3$s until %4$s" : "Каждые %1$d дней с %2$s до %3$s до %4$s", + "Could not generate event recurrence statement" : "Не удалось сгенерировать правило повторения события", + "Every Week on %1$s for the entire day" : "Каждую неделю в %1$s в течение всего дня", + "Every Week on %1$s for the entire day until %2$s" : "Каждую неделю по %1$s в течение всего дня до %2$s", + "Every Week on %1$s between %2$s - %3$s" : "Каждую неделю в %1$s с %2$s до %3$s", + "Every Week on %1$s between %2$s - %3$s until %4$s" : "Каждую неделю по %1$s с %2$s до %3$s до %4$s", + "Every %1$d Weeks on %2$s for the entire day" : "Каждые %1$d недель по %2$s в течение всего дня", + "Every %1$d Weeks on %2$s for the entire day until %3$s" : "Каждые %1$d недель по %2$s в течение всего дня до %3$s", + "Every %1$d Weeks on %2$s between %3$s - %4$s" : "Каждые %1$d недель по %2$s с %3$s до %4$s", + "Every %1$d Weeks on %2$s between %3$s - %4$s until %5$s" : "Каждые %1$d недель по %2$s с %3$s до %4$s до %5$s", + "Every Month on the %1$s for the entire day" : "Каждый месяц %1$s в течение всего дня", + "Every Month on the %1$s for the entire day until %2$s" : "Каждый месяц %1$s в течение всего дня до %2$s", + "Every Month on the %1$s between %2$s - %3$s" : "Каждый месяц %1$s с %2$s до %3$s", + "Every Month on the %1$s between %2$s - %3$s until %4$s" : "Каждый месяц %1$s с %2$s до %3$s до %4$s", + "Every %1$d Months on the %2$s for the entire day" : "Каждые %1$d месяцев %2$s в течение всего дня", + "Every %1$d Months on the %2$s for the entire day until %3$s" : "Каждые %1$d месяцев %2$s в течение всего дня до %3$s", + "Every %1$d Months on the %2$s between %3$s - %4$s" : "Каждые %1$d месяцев %2$s с %3$s до %4$s", + "Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "Каждые %1$d месяцев %2$s с %3$s до %4$s до %5$s", + "Every Year in %1$s on the %2$s for the entire day" : "Каждый год в %1$s %2$s в течение всего дня", + "Every Year in %1$s on the %2$s for the entire day until %3$s" : "Каждый год в %1$s %2$s в течение всего дня до %3$s", + "Every Year in %1$s on the %2$s between %3$s - %4$s" : "Каждый год в %1$s %2$s с %3$s до %4$s", + "Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "Каждый год в %1$s %2$s с %3$s до %4$s до %5$s", + "Every %1$d Years in %2$s on the %3$s for the entire day" : "Каждые %1$d лет в %2$s %3$s в течение всего дня", + "Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "Каждые %1$d лет в %2$s %3$s в течение всего дня до %4$s", + "Every %1$d Years in %2$s on the %3$s between %4$s - %5$s" : "Каждые %1$d лет в %2$s %3$s с %4$s до %5$s", + "Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "Каждые %1$d лет в %2$s %3$s с %4$s до %5$s до %6$s", + "On specific dates for the entire day until %1$s" : "В определённые даты, весь день до %1$s", + "On specific dates between %1$s - %2$s until %3$s" : "В определённые даты с %1$s по %2$s до %3$s", + "In the past on %1$s" : "В прошлом, %1$s", + "_In a minute on %1$s_::_In %n minutes on %1$s_" : ["Через минуту, %1$s","Через %n минуты, %1$s","Через %n минут, %1$s","Через %n минут, %1$s"], + "_In a hour on %1$s_::_In %n hours on %1$s_" : ["Через час, %1$s","Через %n часа, %1$s","Через %n часов, %1$s","Через %n часов, %1$s"], + "_In a day on %1$s_::_In %n days on %1$s_" : ["Через день, %1$s","Через %n дня, %1$s","Через %n дней, %1$s","Через %n дней, %1$s"], + "_In a week on %1$s_::_In %n weeks on %1$s_" : ["Через неделю, %1$s","Через %n недели,%1$s","Через %n недель, %1$s","Через %n недель, %1$s"], + "_In a month on %1$s_::_In %n months on %1$s_" : ["Через месяц, %1$s","Через %n месяца, %1$s","Через %n месяцев, %1$s","Через %n месяцев, %1$s"], + "_In a year on %1$s_::_In %n years on %1$s_" : ["Через год, %1$s","Через %n года, %1$s","Через %n лет, %1$s","Через %n лет, %1$s"], + "In the past on %1$s then on %2$s" : "В прошлом, %1$s, затем %2$s", + "_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["Через минуту, %1$s, затем %2$s","Через %n минуты, %1$s, затем %2$s","Через %n минут, %1$s, затем %2$s","Через %n минут, %1$s, затем %2$s"], + "_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["Через час, %1$s, затем %2$s","Через %n часа, %1$s, затем %2$s","Через %n часов, %1$s, затем %2$s","Через %n часов, %1$s, затем %2$s"], + "_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["Через день, %1$s, затем %2$s","Через %n дня, %1$s, затем %2$s","Через %n дней, %1$s, затем %2$s","Через %n дней, %1$s, затем %2$s"], + "_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["Через неделю, %1$s, затем %2$s","Через %n недели, %1$s, затем %2$s","Через %n недель, %1$s, затем %2$s","Через %n недель, %1$s, затем %2$s"], + "_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["Через месяц, %1$s, затем %2$s","Через %n месяца, %1$s, затем %2$s","Через %n месяцев, %1$s, затем %2$s","Через %n месяцев, %1$s, затем %2$s"], + "_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["Через год, %1$s, затем %2$s","Через %n года, %1$s, затем %2$s","Через %n лет, %1$s, затем %2$s","Через %n лет, %1$s, затем %2$s"], + "In the past on %1$s then on %2$s and %3$s" : "В прошлом, %1$s, затем %2$s и %3$s", + "_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["Через минуту, %1$s, затем %2$s и %3$s","Через %n минуты, %1$s, затем %2$s и %3$s","Через %n минут, %1$s, затем %2$s и %3$s","Через %n минут, %1$s, затем %2$s и %3$s"], + "_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["Через час, %1$s, затем %2$s и %3$s","Через %n часа, %1$s, затем %2$s и %3$s","Через %n часов, %1$s, затем %2$s и %3$s","Через %n часов, %1$s, затем %2$s и %3$s"], + "_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["Через день, %1$s, затем %2$s и %3$s","Через %n дня, %1$s, затем %2$s и %3$s","Через %n дней, %1$s, затем %2$s и %3$s","Через %n дней, %1$s, затем %2$s и %3$s"], + "_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Через неделю, %1$s, затем %2$s и %3$s","Через %n недели, %1$s, затем %2$s и %3$s","Через %n недель, %1$s, затем %2$s и %3$s","Через %n недель, %1$s, затем %2$s и %3$s"], + "_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Через месяц, %1$s, затем %2$s и %3$s","Через %n месяца, %1$s, затем %2$s и %3$s","Через %n месяцев, %1$s, затем %2$s и %3$s","Через %n месяцев, %1$s, затем %2$s и %3$s"], + "_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Через год, %1$s, затем %2$s и %3$s","Через %n года, %1$s, затем %2$s и %3$s","Через %n лет, %1$s, затем %2$s и %3$s","Через %n лет, %1$s, затем %2$s и %3$s"], "Could not generate next recurrence statement" : "Не удалось сгенерировать следующий оператор повторения", "Cancelled: %1$s" : "Событие отменено: %1$s", "\"%1$s\" has been canceled" : "Событие «%1$s» отменено", @@ -117,10 +187,12 @@ "Second" : "Второй", "Third" : "Третий", "Fourth" : "Четвертый", + "Fifth" : "Пятый", "Last" : "Последний", "Second Last" : "Предпоследний", - "Third Last" : "Третий по счету", - "Fourth Last" : "Четвертый по счету", + "Third Last" : "Третий с конца", + "Fourth Last" : "Четвёртый с конца", + "Fifth Last" : "Пятый с конца", "Contacts" : "Контакты", "{actor} created address book {addressbook}" : "{actor} создал(а) адресную книгу «{addressbook}»", "You created address book {addressbook}" : "Вы создали адресную книгу «{addressbook}»", @@ -176,6 +248,9 @@ "Completed on %s" : "Завершено %s", "Due on %s by %s" : "До %s %s", "Due on %s" : "До %s", + "System Address Book" : "Системная адресная книга", + "The system address book contains contact information for all users in your instance." : "Системная адресная книга содержит контактную информацию всех пользователей в вашем инстансе.", + "Enable System Address Book" : "Включить системную адресную книгу", "DAV system address book" : "Системная адресная книга DAV", "No outstanding DAV system address book sync." : "Синхронизация системной адресной книги DAV выполнена.", "The DAV system address book sync has not run yet as your instance has more than 1000 users or because an error occurred. Please run it manually by calling \"occ dav:sync-system-addressbook\"." : "Синхронизация системной адресной книги DAV ещё не запущена, поскольку в этом экземпляре более 1000 пользователей или произошла ошибка. Перезапустите синхронизацию вручную используя команду «occ dav:sync-system-addressbook».", @@ -213,6 +288,25 @@ "Pick a start time for {dayName}" : "Выберите время начала в {dayName}", "Pick a end time for {dayName}" : "Выберите время окончания в {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Автоматически изменять статус на «Не беспокоить» вне интервала доступности для отключения уведомлений.", + "Cancel" : "Отмена", + "Import" : "Импортировать", + "Error while saving settings" : "Ошибка при сохранении параметров", + "Contact reset successfully" : "Контакт успешно сброшен", + "Error while resetting contact" : "Ошибка при сбросе контакта", + "Contact imported successfully" : " Контакт успешно импортирован", + "Error while importing contact" : " Ошибка при импорте контакта", + "Import contact" : "Импортировать контакт", + "Reset to default" : "Сбросить изменения", + "Import contacts" : "Импортировать контакты", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Импорт нового файла .vcf удалит существующий контакт по умолчанию и заменит его новым. Продолжить?", + "Failed to save example event creation setting" : "Не удалось сохранить настройки создания примера события", + "Failed to upload the example event" : "Не удалось загрузить пример события", + "Custom example event was saved successfully" : "Настраиваемый пример события успешно сохранён", + "Failed to delete the custom example event" : "Не удалось удалить настраиваемый пример события", + "Custom example event was deleted successfully" : "Настраиваемый пример события успешно удалён", + "Import calendar event" : "Импортировать событие календаря", + "Uploading a new event will overwrite the existing one." : " Загрузка нового события перезапишет существующее.", + "Upload event" : "Загрузить событие", "Availability" : "Рабочее время", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Если вы настроите свой расписание работы, другие пользователи при планировании встреч смогут видеть, когда вас нет в офисе.", "Absence" : "Отсутствие", @@ -229,9 +323,8 @@ "Send reminder notifications to calendar sharees as well" : "Отправлять напоминания всем пользователям, имеющим доступ к календарю", "Reminders are always sent to organizers and attendees." : "Организаторам и участникам уведомления отправляются во всех случаях.", "Enable notifications for events via push" : "Включить уведомления о событиях с помощью push", - "Cancel" : "Отмена", - "Import" : "Импортировать", - "Error while saving settings" : "Ошибка при сохранении параметров", + "Example content" : "Пример содержимого", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Пример содержимого демонстрирует возможности Nextcloud. По умолчанию поставляется стандартное содержимое, которое можно заменить настраиваемым.", "There was an error updating your attendance status." : "Ошибка обновления статуса участия.", "Please contact the organizer directly." : "Обратитесь к организатору напрямую.", "Are you accepting the invitation?" : "Принять приглашение?", diff --git a/apps/dav/l10n/sk.js b/apps/dav/l10n/sk.js index 4e07e77518b..3282ec3109f 100644 --- a/apps/dav/l10n/sk.js +++ b/apps/dav/l10n/sk.js @@ -290,6 +290,17 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Vyberte začiatočný čas pre {dayName}", "Pick a end time for {dayName}" : "Vyberte koncový čas pre {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Automaticky nastaviť stav používateľa na „Nerušiť“ ak nie ste dostupný, pre stlmenie všetkých upozornení.", + "Cancel" : "Zrušiť", + "Import" : "Import", + "Error while saving settings" : "Chyba pri ukladaní nastavení", + "Contact reset successfully" : "Kontakt bol úspešne resetovaný", + "Error while resetting contact" : "Chyba počas resetovania kontaktu ", + "Contact imported successfully" : "Kontakt bol úspešne importovaný", + "Error while importing contact" : "Chyba pri importovaní kontaktu", + "Import contact" : "Importovať kontakt", + "Reset to default" : "Nastaviť predvolené", + "Import contacts" : "Importovať kontakty", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importovaním nového súboru .vcf sa vymaže existujúci predvolený kontakt a nahradí sa novým. Chcete pokračovať?", "Availability" : "Dostupnosť", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Ak nakonfigurujete svoj pracovný čas, ostatní užívatelia vás uvidia ako neprítomného, keď si rezervujete schôdzku", "Absence" : "Neprítomnosť", @@ -306,19 +317,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Posielať upozornenia na pripomienky aj zdieľaným osobám v kalendári", "Reminders are always sent to organizers and attendees." : "Upozornenia sa vždy posielajú organizátorom a účastníkom.", "Enable notifications for events via push" : "Zapnúť oznámenia o udalostiach prostredníctvom technológie push.", - "Cancel" : "Zrušiť", - "Import" : "Import", - "Error while saving settings" : "Chyba pri ukladaní nastavení", - "Contact reset successfully" : "Kontakt bol úspešne resetovaný", - "Error while resetting contact" : "Chyba počas resetovania kontaktu ", - "Contact imported successfully" : "Kontakt bol úspešne importovaný", - "Error while importing contact" : "Chyba pri importovaní kontaktu", - "Example Content" : "Príklad Obsahu", - "Set example content to be created on new user first login." : "Nastavte vzorový obsah, ktorý sa vytvorí pri prvom prihlásení nového používateľa.", - "Import contact" : "Importovať kontakt", - "Reset to default contact" : "Resetovať na predvolený kontakt", - "Import contacts" : "Importovať kontakty", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importovaním nového súboru .vcf sa vymaže existujúci predvolený kontakt a nahradí sa novým. Chcete pokračovať?", "There was an error updating your attendance status." : "Nastal problém pri aktualizácii Vašej účasti.", "Please contact the organizer directly." : "Prosím kontaktujte priamo organizátora.", "Are you accepting the invitation?" : "Príjmate pozvánku?", diff --git a/apps/dav/l10n/sk.json b/apps/dav/l10n/sk.json index 6a04f7a08b1..a0da2d19cd3 100644 --- a/apps/dav/l10n/sk.json +++ b/apps/dav/l10n/sk.json @@ -288,6 +288,17 @@ "Pick a start time for {dayName}" : "Vyberte začiatočný čas pre {dayName}", "Pick a end time for {dayName}" : "Vyberte koncový čas pre {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Automaticky nastaviť stav používateľa na „Nerušiť“ ak nie ste dostupný, pre stlmenie všetkých upozornení.", + "Cancel" : "Zrušiť", + "Import" : "Import", + "Error while saving settings" : "Chyba pri ukladaní nastavení", + "Contact reset successfully" : "Kontakt bol úspešne resetovaný", + "Error while resetting contact" : "Chyba počas resetovania kontaktu ", + "Contact imported successfully" : "Kontakt bol úspešne importovaný", + "Error while importing contact" : "Chyba pri importovaní kontaktu", + "Import contact" : "Importovať kontakt", + "Reset to default" : "Nastaviť predvolené", + "Import contacts" : "Importovať kontakty", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importovaním nového súboru .vcf sa vymaže existujúci predvolený kontakt a nahradí sa novým. Chcete pokračovať?", "Availability" : "Dostupnosť", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Ak nakonfigurujete svoj pracovný čas, ostatní užívatelia vás uvidia ako neprítomného, keď si rezervujete schôdzku", "Absence" : "Neprítomnosť", @@ -304,19 +315,6 @@ "Send reminder notifications to calendar sharees as well" : "Posielať upozornenia na pripomienky aj zdieľaným osobám v kalendári", "Reminders are always sent to organizers and attendees." : "Upozornenia sa vždy posielajú organizátorom a účastníkom.", "Enable notifications for events via push" : "Zapnúť oznámenia o udalostiach prostredníctvom technológie push.", - "Cancel" : "Zrušiť", - "Import" : "Import", - "Error while saving settings" : "Chyba pri ukladaní nastavení", - "Contact reset successfully" : "Kontakt bol úspešne resetovaný", - "Error while resetting contact" : "Chyba počas resetovania kontaktu ", - "Contact imported successfully" : "Kontakt bol úspešne importovaný", - "Error while importing contact" : "Chyba pri importovaní kontaktu", - "Example Content" : "Príklad Obsahu", - "Set example content to be created on new user first login." : "Nastavte vzorový obsah, ktorý sa vytvorí pri prvom prihlásení nového používateľa.", - "Import contact" : "Importovať kontakt", - "Reset to default contact" : "Resetovať na predvolený kontakt", - "Import contacts" : "Importovať kontakty", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importovaním nového súboru .vcf sa vymaže existujúci predvolený kontakt a nahradí sa novým. Chcete pokračovať?", "There was an error updating your attendance status." : "Nastal problém pri aktualizácii Vašej účasti.", "Please contact the organizer directly." : "Prosím kontaktujte priamo organizátora.", "Are you accepting the invitation?" : "Príjmate pozvánku?", diff --git a/apps/dav/l10n/sl.js b/apps/dav/l10n/sl.js index ebc4713c759..f33a677c95c 100644 --- a/apps/dav/l10n/sl.js +++ b/apps/dav/l10n/sl.js @@ -198,6 +198,10 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Izbor časa začetka za {dayName}", "Pick a end time for {dayName}" : "Izbor časa konca za {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Samodejno nastavi stanje uporabnika na »Ne moti« in zavračaj prikaz obvestil izven časa razpoložljivosti.", + "Cancel" : "Prekliči", + "Import" : "Uvozi", + "Error while saving settings" : "Prišlo je do napake med shranjevanjem nastavitev", + "Reset to default" : "Ponastavi na privzeto", "Availability" : "Razpoložljivost", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Če nastavite delovni čas, bodo drugi uporabniki pri izbiri časa sestanka videli, kdaj ste zasedeni.", "Absence" : "Odsotnost", @@ -214,9 +218,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Pošiljanje opomnikov tudi naročnikom koledarja.", "Reminders are always sent to organizers and attendees." : "Opomniki bodo vedno poslani organizatorjem in udeležencem.", "Enable notifications for events via push" : "Omogoči potisna obvestila za dogodke", - "Cancel" : "Prekliči", - "Import" : "Uvozi", - "Error while saving settings" : "Prišlo je do napake med shranjevanjem nastavitev", "There was an error updating your attendance status." : "Prišlo je do napake med posodabljanjem vaše udeležbe.", "Please contact the organizer directly." : "Z organizatorjem stopite neposredno v stik.", "Are you accepting the invitation?" : "Ali želite sprejeti povabilo?", diff --git a/apps/dav/l10n/sl.json b/apps/dav/l10n/sl.json index 0959ee73b60..423b215a669 100644 --- a/apps/dav/l10n/sl.json +++ b/apps/dav/l10n/sl.json @@ -196,6 +196,10 @@ "Pick a start time for {dayName}" : "Izbor časa začetka za {dayName}", "Pick a end time for {dayName}" : "Izbor časa konca za {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Samodejno nastavi stanje uporabnika na »Ne moti« in zavračaj prikaz obvestil izven časa razpoložljivosti.", + "Cancel" : "Prekliči", + "Import" : "Uvozi", + "Error while saving settings" : "Prišlo je do napake med shranjevanjem nastavitev", + "Reset to default" : "Ponastavi na privzeto", "Availability" : "Razpoložljivost", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Če nastavite delovni čas, bodo drugi uporabniki pri izbiri časa sestanka videli, kdaj ste zasedeni.", "Absence" : "Odsotnost", @@ -212,9 +216,6 @@ "Send reminder notifications to calendar sharees as well" : "Pošiljanje opomnikov tudi naročnikom koledarja.", "Reminders are always sent to organizers and attendees." : "Opomniki bodo vedno poslani organizatorjem in udeležencem.", "Enable notifications for events via push" : "Omogoči potisna obvestila za dogodke", - "Cancel" : "Prekliči", - "Import" : "Uvozi", - "Error while saving settings" : "Prišlo je do napake med shranjevanjem nastavitev", "There was an error updating your attendance status." : "Prišlo je do napake med posodabljanjem vaše udeležbe.", "Please contact the organizer directly." : "Z organizatorjem stopite neposredno v stik.", "Are you accepting the invitation?" : "Ali želite sprejeti povabilo?", diff --git a/apps/dav/l10n/sr.js b/apps/dav/l10n/sr.js index 364fe15483e..c33b7c28923 100644 --- a/apps/dav/l10n/sr.js +++ b/apps/dav/l10n/sr.js @@ -290,6 +290,25 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Изаберите време почетка за {dayName}", "Pick a end time for {dayName}" : "Изаберите време завршетка за {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Аутоматски поставља статус кориниска на „Не узнемиравај” како би се ван доступности пригушила сва обавештења.", + "Cancel" : "Откажи", + "Import" : "Увоз", + "Error while saving settings" : "Грешка приликом чувања подешавања", + "Contact reset successfully" : "Контакт је успешно ресетован", + "Error while resetting contact" : "Грешка приликом ресетовања контакта", + "Contact imported successfully" : "Контакт је успешно увезен", + "Error while importing contact" : "Грешка током увоза контакта", + "Import contact" : "Увези контакт", + "Reset to default" : "Врати на подразумевано", + "Import contacts" : "Увези контакте", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Увоз новог .vcf фајла ће да обрише постојећи подразумевани контакт и замениће га са новим. Желите ли да наставите?", + "Failed to save example event creation setting" : "Није успело чување подешавања креирања догађаја за пример", + "Failed to upload the example event" : "Није успело отпремање догађаја за пример", + "Custom example event was saved successfully" : "Произвољни догађај за пример је успешно сачуван", + "Failed to delete the custom example event" : "Произвољни догађај за пример није могао да се обрише", + "Custom example event was deleted successfully" : "Произвољни догађај за пример је успешно обрисан", + "Import calendar event" : "Увоз догађаја календара", + "Uploading a new event will overwrite the existing one." : "Отпремање новог догађаја ће да препише постојећи.", + "Upload event" : "Отпреми догађај", "Availability" : "Доступност", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Ако подесите своје радне сате, када буду заказивали састанак, други људи ће видети када сте ван канцеларије.", "Absence" : "Одсутност", @@ -306,19 +325,8 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Пошаљи подсетнике и корисницима којима је календар подељен", "Reminders are always sent to organizers and attendees." : "Подсетници се увек шаљу организаторима и учесницима.", "Enable notifications for events via push" : "Укључи обавештења за догађаје преко гурања догађаја", - "Cancel" : "Откажи", - "Import" : "Увоз", - "Error while saving settings" : "Грешка приликом чувања подешавања", - "Contact reset successfully" : "Контакт је успешно ресетован", - "Error while resetting contact" : "Грешка приликом ресетовања контакта", - "Contact imported successfully" : "Контакт је успешно увезен", - "Error while importing contact" : "Грешка током увоза контакта", - "Example Content" : "Пример садржаја", - "Set example content to be created on new user first login." : "Постављање примера садржаја који се креира приликом прве пријаве новог корисника.", - "Import contact" : "Увези контакт", - "Reset to default contact" : "Ресетуј на подразумевани контакт", - "Import contacts" : "Увези контакте", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Увоз новог .vcf фајла ће да обрише постојећи подразумевани контакт и замениће га са новим. Желите ли да наставите?", + "Example content" : "Садржај за пример", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Садржај за пример служи да покаже Nextcloud могућности. Подразумевани садржај се испоручује уз Nextcloud и може да се замени произвољним.", "There was an error updating your attendance status." : "Десила се грешка приликом ажурирања статуса Вашег присуства.", "Please contact the organizer directly." : "Контактирајте директно организатора.", "Are you accepting the invitation?" : "Да ли прихватате позивницу?", diff --git a/apps/dav/l10n/sr.json b/apps/dav/l10n/sr.json index 5bfd35edf76..7df27149b4f 100644 --- a/apps/dav/l10n/sr.json +++ b/apps/dav/l10n/sr.json @@ -288,6 +288,25 @@ "Pick a start time for {dayName}" : "Изаберите време почетка за {dayName}", "Pick a end time for {dayName}" : "Изаберите време завршетка за {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Аутоматски поставља статус кориниска на „Не узнемиравај” како би се ван доступности пригушила сва обавештења.", + "Cancel" : "Откажи", + "Import" : "Увоз", + "Error while saving settings" : "Грешка приликом чувања подешавања", + "Contact reset successfully" : "Контакт је успешно ресетован", + "Error while resetting contact" : "Грешка приликом ресетовања контакта", + "Contact imported successfully" : "Контакт је успешно увезен", + "Error while importing contact" : "Грешка током увоза контакта", + "Import contact" : "Увези контакт", + "Reset to default" : "Врати на подразумевано", + "Import contacts" : "Увези контакте", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Увоз новог .vcf фајла ће да обрише постојећи подразумевани контакт и замениће га са новим. Желите ли да наставите?", + "Failed to save example event creation setting" : "Није успело чување подешавања креирања догађаја за пример", + "Failed to upload the example event" : "Није успело отпремање догађаја за пример", + "Custom example event was saved successfully" : "Произвољни догађај за пример је успешно сачуван", + "Failed to delete the custom example event" : "Произвољни догађај за пример није могао да се обрише", + "Custom example event was deleted successfully" : "Произвољни догађај за пример је успешно обрисан", + "Import calendar event" : "Увоз догађаја календара", + "Uploading a new event will overwrite the existing one." : "Отпремање новог догађаја ће да препише постојећи.", + "Upload event" : "Отпреми догађај", "Availability" : "Доступност", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Ако подесите своје радне сате, када буду заказивали састанак, други људи ће видети када сте ван канцеларије.", "Absence" : "Одсутност", @@ -304,19 +323,8 @@ "Send reminder notifications to calendar sharees as well" : "Пошаљи подсетнике и корисницима којима је календар подељен", "Reminders are always sent to organizers and attendees." : "Подсетници се увек шаљу организаторима и учесницима.", "Enable notifications for events via push" : "Укључи обавештења за догађаје преко гурања догађаја", - "Cancel" : "Откажи", - "Import" : "Увоз", - "Error while saving settings" : "Грешка приликом чувања подешавања", - "Contact reset successfully" : "Контакт је успешно ресетован", - "Error while resetting contact" : "Грешка приликом ресетовања контакта", - "Contact imported successfully" : "Контакт је успешно увезен", - "Error while importing contact" : "Грешка током увоза контакта", - "Example Content" : "Пример садржаја", - "Set example content to be created on new user first login." : "Постављање примера садржаја који се креира приликом прве пријаве новог корисника.", - "Import contact" : "Увези контакт", - "Reset to default contact" : "Ресетуј на подразумевани контакт", - "Import contacts" : "Увези контакте", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Увоз новог .vcf фајла ће да обрише постојећи подразумевани контакт и замениће га са новим. Желите ли да наставите?", + "Example content" : "Садржај за пример", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Садржај за пример служи да покаже Nextcloud могућности. Подразумевани садржај се испоручује уз Nextcloud и може да се замени произвољним.", "There was an error updating your attendance status." : "Десила се грешка приликом ажурирања статуса Вашег присуства.", "Please contact the organizer directly." : "Контактирајте директно организатора.", "Are you accepting the invitation?" : "Да ли прихватате позивницу?", diff --git a/apps/dav/l10n/sv.js b/apps/dav/l10n/sv.js index 8182e00bcca..feb1adde944 100644 --- a/apps/dav/l10n/sv.js +++ b/apps/dav/l10n/sv.js @@ -290,6 +290,25 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Välj en starttid för {dayName}", "Pick a end time for {dayName}" : "Välj en sluttid för {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Sätt automatiskt användarstatus till \"Stör ej\" utanför tillgängliga tider för att tysta alla notifikationer.", + "Cancel" : "Avbryt", + "Import" : "Importera", + "Error while saving settings" : "Fel vid sparande av inställningar", + "Contact reset successfully" : "Kontakten har återställts", + "Error while resetting contact" : "Fel vid återställning av kontakt", + "Contact imported successfully" : "Kontakten har importerats", + "Error while importing contact" : "Fel vid import av kontakt", + "Import contact" : "Importera kontakt", + "Reset to default" : "Återställ till grundinställningar", + "Import contacts" : "Importera kontakter", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Att importera en ny .vcf-fil kommer att radera den befintliga standardkontakten och ersätta den med den nya. Vill du fortsätta?", + "Failed to save example event creation setting" : "Kunde inte spara exemplet för inställning av händelseskapande", + "Failed to upload the example event" : "Kunde inte ladda upp exempelhändelsen", + "Custom example event was saved successfully" : "Anpassad exempelhändelse sparades", + "Failed to delete the custom example event" : "Kunde inte ta bort den anpassade exempelhändelsen", + "Custom example event was deleted successfully" : "Anpassad exempelhändelse har raderats", + "Import calendar event" : "Importera kalenderhändelse", + "Uploading a new event will overwrite the existing one." : "Om du laddar upp en ny händelse kommer den att skriva över den befintliga.", + "Upload event" : "Ladda upp händelse", "Availability" : "Din tillgänglighet", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Om du konfigurerar dina arbetstider kommer andra att se när du är frånvarande när de bokar ett möte.", "Absence" : "Frånvaro", @@ -306,19 +325,8 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Skicka även påminnelser till kalenderdeltagare", "Reminders are always sent to organizers and attendees." : "Påminnelser skickas alltid till arrangörer och deltagare.", "Enable notifications for events via push" : "Aktivera notiser för händelser via push", - "Cancel" : "Avbryt", - "Import" : "Importera", - "Error while saving settings" : "Fel vid sparande av inställningar", - "Contact reset successfully" : "Kontakten har återställts", - "Error while resetting contact" : "Fel vid återställning av kontakt", - "Contact imported successfully" : "Kontakten har importerats", - "Error while importing contact" : "Fel vid import av kontakt", - "Example Content" : "Exempelinnehåll", - "Set example content to be created on new user first login." : "Ställ in exempelinnehåll som ska skapas vid ny användares första inloggning.", - "Import contact" : "Importera kontakt", - "Reset to default contact" : "Återställ till standardkontakt", - "Import contacts" : "Importera kontakter", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Att importera en ny .vcf-fil kommer att radera den befintliga standardkontakten och ersätta den med den nya. Vill du fortsätta?", + "Example content" : "Exempelinnehåll", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Exempelinnehåll används för att visa upp funktionerna i Nextcloud. Standardinnehåll levereras med Nextcloud och kan ersättas med anpassat innehåll.", "There was an error updating your attendance status." : "Ett fel uppstod vid uppdatering av din närvarostatus.", "Please contact the organizer directly." : "Vänligen kontakta arrangören direkt.", "Are you accepting the invitation?" : "Acceptera inbjudan?", diff --git a/apps/dav/l10n/sv.json b/apps/dav/l10n/sv.json index bbaba01edfb..0496461778f 100644 --- a/apps/dav/l10n/sv.json +++ b/apps/dav/l10n/sv.json @@ -288,6 +288,25 @@ "Pick a start time for {dayName}" : "Välj en starttid för {dayName}", "Pick a end time for {dayName}" : "Välj en sluttid för {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Sätt automatiskt användarstatus till \"Stör ej\" utanför tillgängliga tider för att tysta alla notifikationer.", + "Cancel" : "Avbryt", + "Import" : "Importera", + "Error while saving settings" : "Fel vid sparande av inställningar", + "Contact reset successfully" : "Kontakten har återställts", + "Error while resetting contact" : "Fel vid återställning av kontakt", + "Contact imported successfully" : "Kontakten har importerats", + "Error while importing contact" : "Fel vid import av kontakt", + "Import contact" : "Importera kontakt", + "Reset to default" : "Återställ till grundinställningar", + "Import contacts" : "Importera kontakter", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Att importera en ny .vcf-fil kommer att radera den befintliga standardkontakten och ersätta den med den nya. Vill du fortsätta?", + "Failed to save example event creation setting" : "Kunde inte spara exemplet för inställning av händelseskapande", + "Failed to upload the example event" : "Kunde inte ladda upp exempelhändelsen", + "Custom example event was saved successfully" : "Anpassad exempelhändelse sparades", + "Failed to delete the custom example event" : "Kunde inte ta bort den anpassade exempelhändelsen", + "Custom example event was deleted successfully" : "Anpassad exempelhändelse har raderats", + "Import calendar event" : "Importera kalenderhändelse", + "Uploading a new event will overwrite the existing one." : "Om du laddar upp en ny händelse kommer den att skriva över den befintliga.", + "Upload event" : "Ladda upp händelse", "Availability" : "Din tillgänglighet", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Om du konfigurerar dina arbetstider kommer andra att se när du är frånvarande när de bokar ett möte.", "Absence" : "Frånvaro", @@ -304,19 +323,8 @@ "Send reminder notifications to calendar sharees as well" : "Skicka även påminnelser till kalenderdeltagare", "Reminders are always sent to organizers and attendees." : "Påminnelser skickas alltid till arrangörer och deltagare.", "Enable notifications for events via push" : "Aktivera notiser för händelser via push", - "Cancel" : "Avbryt", - "Import" : "Importera", - "Error while saving settings" : "Fel vid sparande av inställningar", - "Contact reset successfully" : "Kontakten har återställts", - "Error while resetting contact" : "Fel vid återställning av kontakt", - "Contact imported successfully" : "Kontakten har importerats", - "Error while importing contact" : "Fel vid import av kontakt", - "Example Content" : "Exempelinnehåll", - "Set example content to be created on new user first login." : "Ställ in exempelinnehåll som ska skapas vid ny användares första inloggning.", - "Import contact" : "Importera kontakt", - "Reset to default contact" : "Återställ till standardkontakt", - "Import contacts" : "Importera kontakter", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Att importera en ny .vcf-fil kommer att radera den befintliga standardkontakten och ersätta den med den nya. Vill du fortsätta?", + "Example content" : "Exempelinnehåll", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Exempelinnehåll används för att visa upp funktionerna i Nextcloud. Standardinnehåll levereras med Nextcloud och kan ersättas med anpassat innehåll.", "There was an error updating your attendance status." : "Ett fel uppstod vid uppdatering av din närvarostatus.", "Please contact the organizer directly." : "Vänligen kontakta arrangören direkt.", "Are you accepting the invitation?" : "Acceptera inbjudan?", diff --git a/apps/dav/l10n/tr.js b/apps/dav/l10n/tr.js index 62ff9546e67..084ea7e103c 100644 --- a/apps/dav/l10n/tr.js +++ b/apps/dav/l10n/tr.js @@ -290,6 +290,17 @@ OC.L10N.register( "Pick a start time for {dayName}" : "{dayName} için başlangıç zamanını seçin", "Pick a end time for {dayName}" : "{dayName} için bitiş zamanını seçin", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Tüm bildirimleri sessize almak için, uygunluk durumu dışında kullanıcı durumu otomatik olarak \"Rahatsız etmeyin\" olarak ayarlanır.", + "Cancel" : "İptal", + "Import" : "İçe aktar", + "Error while saving settings" : "Ayarlar kaydedilirken sorun çıktı", + "Contact reset successfully" : "Kişi sıfırlandı", + "Error while resetting contact" : "Kişi sıfırlanırken sorun çıktı", + "Contact imported successfully" : "Kişi içe aktarıldı", + "Error while importing contact" : "Kişi içe aktarılırken sorun çıktı", + "Import contact" : "Kişiyi içe aktar", + "Reset to default" : "Varsayılanlara dön", + "Import contacts" : "Kişileri içe aktar", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Yeni bir .vcf dosyasını içe aktarmak, var olan varsayılan kişiyi siler ve yenisiyle değiştirir. İlerlemek istiyor musunuz?", "Availability" : "Uygunluk", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Çalışma saatlerinizi ayarlarsanız, diğer kişiler bir toplantı ayarladıklarında ofis dışında olduğunuzu görürler.", "Absence" : "Bulunmama", @@ -306,19 +317,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Takvim paylaşımlarına da hatırlatma bildirimleri gönderilsin", "Reminders are always sent to organizers and attendees." : "Bu seçenek etkinleştirildiğinde, hatırlatıcılar her zaman düzenleyici ve katılımcılara gönderilir.", "Enable notifications for events via push" : "Anında etkinlik bildirimlerini aç", - "Cancel" : "İptal", - "Import" : "İçe aktar", - "Error while saving settings" : "Ayarlar kaydedilirken sorun çıktı", - "Contact reset successfully" : "Kişi sıfırlandı", - "Error while resetting contact" : "Kişi sıfırlanırken sorun çıktı", - "Contact imported successfully" : "Kişi içe aktarıldı", - "Error while importing contact" : "Kişi içe aktarılırken sorun çıktı", - "Example Content" : "Örnek içerik", - "Set example content to be created on new user first login." : "Yeni kullanıcının ilk oturum açmasında oluşturulacak örnek içeriği ayarlayın.", - "Import contact" : "Kişiyi içe aktar", - "Reset to default contact" : "Varsayılan kişiye sıfırla", - "Import contacts" : "Kişileri içe aktar", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Yeni bir .vcf dosyasını içe aktarmak, var olan varsayılan kişiyi siler ve yenisiyle değiştirir. İlerlemek istiyor musunuz?", "There was an error updating your attendance status." : "Katılım durumunuz güncellenirken bir sorun çıktı.", "Please contact the organizer directly." : "Lütfen düzenleyici ile doğrudan görüşün.", "Are you accepting the invitation?" : "Daveti kabul ediyor musunuz?", diff --git a/apps/dav/l10n/tr.json b/apps/dav/l10n/tr.json index dafc8d490e2..9a198ad9ab7 100644 --- a/apps/dav/l10n/tr.json +++ b/apps/dav/l10n/tr.json @@ -288,6 +288,17 @@ "Pick a start time for {dayName}" : "{dayName} için başlangıç zamanını seçin", "Pick a end time for {dayName}" : "{dayName} için bitiş zamanını seçin", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Tüm bildirimleri sessize almak için, uygunluk durumu dışında kullanıcı durumu otomatik olarak \"Rahatsız etmeyin\" olarak ayarlanır.", + "Cancel" : "İptal", + "Import" : "İçe aktar", + "Error while saving settings" : "Ayarlar kaydedilirken sorun çıktı", + "Contact reset successfully" : "Kişi sıfırlandı", + "Error while resetting contact" : "Kişi sıfırlanırken sorun çıktı", + "Contact imported successfully" : "Kişi içe aktarıldı", + "Error while importing contact" : "Kişi içe aktarılırken sorun çıktı", + "Import contact" : "Kişiyi içe aktar", + "Reset to default" : "Varsayılanlara dön", + "Import contacts" : "Kişileri içe aktar", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Yeni bir .vcf dosyasını içe aktarmak, var olan varsayılan kişiyi siler ve yenisiyle değiştirir. İlerlemek istiyor musunuz?", "Availability" : "Uygunluk", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Çalışma saatlerinizi ayarlarsanız, diğer kişiler bir toplantı ayarladıklarında ofis dışında olduğunuzu görürler.", "Absence" : "Bulunmama", @@ -304,19 +315,6 @@ "Send reminder notifications to calendar sharees as well" : "Takvim paylaşımlarına da hatırlatma bildirimleri gönderilsin", "Reminders are always sent to organizers and attendees." : "Bu seçenek etkinleştirildiğinde, hatırlatıcılar her zaman düzenleyici ve katılımcılara gönderilir.", "Enable notifications for events via push" : "Anında etkinlik bildirimlerini aç", - "Cancel" : "İptal", - "Import" : "İçe aktar", - "Error while saving settings" : "Ayarlar kaydedilirken sorun çıktı", - "Contact reset successfully" : "Kişi sıfırlandı", - "Error while resetting contact" : "Kişi sıfırlanırken sorun çıktı", - "Contact imported successfully" : "Kişi içe aktarıldı", - "Error while importing contact" : "Kişi içe aktarılırken sorun çıktı", - "Example Content" : "Örnek içerik", - "Set example content to be created on new user first login." : "Yeni kullanıcının ilk oturum açmasında oluşturulacak örnek içeriği ayarlayın.", - "Import contact" : "Kişiyi içe aktar", - "Reset to default contact" : "Varsayılan kişiye sıfırla", - "Import contacts" : "Kişileri içe aktar", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Yeni bir .vcf dosyasını içe aktarmak, var olan varsayılan kişiyi siler ve yenisiyle değiştirir. İlerlemek istiyor musunuz?", "There was an error updating your attendance status." : "Katılım durumunuz güncellenirken bir sorun çıktı.", "Please contact the organizer directly." : "Lütfen düzenleyici ile doğrudan görüşün.", "Are you accepting the invitation?" : "Daveti kabul ediyor musunuz?", diff --git a/apps/dav/l10n/ug.js b/apps/dav/l10n/ug.js index f5042589ce4..5915a185740 100644 --- a/apps/dav/l10n/ug.js +++ b/apps/dav/l10n/ug.js @@ -239,6 +239,10 @@ OC.L10N.register( "Pick a start time for {dayName}" : "{dayName} نىڭ باشلىنىش ۋاقتىنى تاللاڭ", "Pick a end time for {dayName}" : "{dayName} نىڭ ئاخىرقى ۋاقتىنى تاللاڭ", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "بارلىق ئۇقتۇرۇشلارنى ئاۋازسىز قىلىش ئۈچۈن ئىشلەتكۈچى ھالىتىنى ئاپتوماتىك ھالدا «ئاۋارە قىلماڭ» قىلىپ تەڭشەڭ.", + "Cancel" : "بىكار قىلىش", + "Import" : "ئەكىر", + "Error while saving settings" : "تەڭشەكلەرنى ساقلاش جەريانىدا خاتالىق", + "Reset to default" : "سۈكۈتتىكى ھالىتىگە قايتىڭ", "Availability" : "ئىشلەتكىلى بولىدۇ", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "ئەگەر خىزمەت ۋاقتىڭىزنى تەڭشىسىڭىز ، باشقىلار يىغىن زاكاز قىلغاندا سىزنىڭ ئىشتىن چۈشكەن ۋاقتىڭىزنى كۆرىدۇ.", "Absence" : "يوق", @@ -255,9 +259,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "كالېندار ھەمبەھىرلىرىگىمۇ ئەسكەرتىش ئۇقتۇرۇشى ئەۋەتىڭ", "Reminders are always sent to organizers and attendees." : "ئەسكەرتىش ھەمىشە تەشكىللىگۈچىلەر ۋە قاتناشقۇچىلارغا ئەۋەتىلىدۇ.", "Enable notifications for events via push" : "ئىتتىرىش ئارقىلىق ۋەقەلەرگە ئۇقتۇرۇشنى قوزغىتىڭ", - "Cancel" : "بىكار قىلىش", - "Import" : "ئەكىر", - "Error while saving settings" : "تەڭشەكلەرنى ساقلاش جەريانىدا خاتالىق", "There was an error updating your attendance status." : "قاتنىشىش ھالىتىڭىزنى يېڭىلاشتا خاتالىق كۆرۈلدى.", "Please contact the organizer directly." : "تەشكىللىگۈچى بىلەن بىۋاسىتە ئالاقىلىشىڭ.", "Are you accepting the invitation?" : "تەكلىپنى قوبۇل قىلامسىز؟", diff --git a/apps/dav/l10n/ug.json b/apps/dav/l10n/ug.json index c908f61a072..abbbc45161f 100644 --- a/apps/dav/l10n/ug.json +++ b/apps/dav/l10n/ug.json @@ -237,6 +237,10 @@ "Pick a start time for {dayName}" : "{dayName} نىڭ باشلىنىش ۋاقتىنى تاللاڭ", "Pick a end time for {dayName}" : "{dayName} نىڭ ئاخىرقى ۋاقتىنى تاللاڭ", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "بارلىق ئۇقتۇرۇشلارنى ئاۋازسىز قىلىش ئۈچۈن ئىشلەتكۈچى ھالىتىنى ئاپتوماتىك ھالدا «ئاۋارە قىلماڭ» قىلىپ تەڭشەڭ.", + "Cancel" : "بىكار قىلىش", + "Import" : "ئەكىر", + "Error while saving settings" : "تەڭشەكلەرنى ساقلاش جەريانىدا خاتالىق", + "Reset to default" : "سۈكۈتتىكى ھالىتىگە قايتىڭ", "Availability" : "ئىشلەتكىلى بولىدۇ", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "ئەگەر خىزمەت ۋاقتىڭىزنى تەڭشىسىڭىز ، باشقىلار يىغىن زاكاز قىلغاندا سىزنىڭ ئىشتىن چۈشكەن ۋاقتىڭىزنى كۆرىدۇ.", "Absence" : "يوق", @@ -253,9 +257,6 @@ "Send reminder notifications to calendar sharees as well" : "كالېندار ھەمبەھىرلىرىگىمۇ ئەسكەرتىش ئۇقتۇرۇشى ئەۋەتىڭ", "Reminders are always sent to organizers and attendees." : "ئەسكەرتىش ھەمىشە تەشكىللىگۈچىلەر ۋە قاتناشقۇچىلارغا ئەۋەتىلىدۇ.", "Enable notifications for events via push" : "ئىتتىرىش ئارقىلىق ۋەقەلەرگە ئۇقتۇرۇشنى قوزغىتىڭ", - "Cancel" : "بىكار قىلىش", - "Import" : "ئەكىر", - "Error while saving settings" : "تەڭشەكلەرنى ساقلاش جەريانىدا خاتالىق", "There was an error updating your attendance status." : "قاتنىشىش ھالىتىڭىزنى يېڭىلاشتا خاتالىق كۆرۈلدى.", "Please contact the organizer directly." : "تەشكىللىگۈچى بىلەن بىۋاسىتە ئالاقىلىشىڭ.", "Are you accepting the invitation?" : "تەكلىپنى قوبۇل قىلامسىز؟", diff --git a/apps/dav/l10n/uk.js b/apps/dav/l10n/uk.js index 40e933a72a2..c8beb750ce2 100644 --- a/apps/dav/l10n/uk.js +++ b/apps/dav/l10n/uk.js @@ -258,6 +258,12 @@ OC.L10N.register( "Pick a start time for {dayName}" : "Виберіть час початку для {dayName}", "Pick a end time for {dayName}" : "Виберіть час завершення для {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Автоматично встановлювати статус користувача у \"Не турбувати\", коли ви не доступні. В цей проміжок часу ви не отримуватимете сповіщення.", + "Cancel" : "Скасувати", + "Import" : "Імпорт", + "Error while saving settings" : "Помилка під час збереження налаштувань", + "Import contact" : "Імпортувати контакт", + "Reset to default" : "Скинути до типового", + "Import contacts" : "Імпортувати контакти", "Availability" : "Доступність", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Будь ласка, налаштуйте ваші робочі години, щоб інші користувачі могли бачити, коли ви відсутні під час створення зустрічей.", "Absence" : "Відсутність", @@ -274,12 +280,6 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "Також надсилайте нагадування користувачам вашого спільного календаря", "Reminders are always sent to organizers and attendees." : "Нагадування завжди надсилаються організаторам і учасникам.", "Enable notifications for events via push" : "Увімкнути push-сповіщення для подій", - "Cancel" : "Скасувати", - "Import" : "Імпорт", - "Error while saving settings" : "Помилка під час збереження налаштувань", - "Import contact" : "Імпортувати контакт", - "Reset to default contact" : "Скинути то типового контакту", - "Import contacts" : "Імпортувати контакти", "There was an error updating your attendance status." : "Виникла помилка при оновленні вашого статусу учасника.", "Please contact the organizer directly." : "Будь-ласка повідомте організатора.", "Are you accepting the invitation?" : "Чи приймаєте ви запрошення?", diff --git a/apps/dav/l10n/uk.json b/apps/dav/l10n/uk.json index 8da240553a3..8ac5f933cf6 100644 --- a/apps/dav/l10n/uk.json +++ b/apps/dav/l10n/uk.json @@ -256,6 +256,12 @@ "Pick a start time for {dayName}" : "Виберіть час початку для {dayName}", "Pick a end time for {dayName}" : "Виберіть час завершення для {dayName}", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Автоматично встановлювати статус користувача у \"Не турбувати\", коли ви не доступні. В цей проміжок часу ви не отримуватимете сповіщення.", + "Cancel" : "Скасувати", + "Import" : "Імпорт", + "Error while saving settings" : "Помилка під час збереження налаштувань", + "Import contact" : "Імпортувати контакт", + "Reset to default" : "Скинути до типового", + "Import contacts" : "Імпортувати контакти", "Availability" : "Доступність", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Будь ласка, налаштуйте ваші робочі години, щоб інші користувачі могли бачити, коли ви відсутні під час створення зустрічей.", "Absence" : "Відсутність", @@ -272,12 +278,6 @@ "Send reminder notifications to calendar sharees as well" : "Також надсилайте нагадування користувачам вашого спільного календаря", "Reminders are always sent to organizers and attendees." : "Нагадування завжди надсилаються організаторам і учасникам.", "Enable notifications for events via push" : "Увімкнути push-сповіщення для подій", - "Cancel" : "Скасувати", - "Import" : "Імпорт", - "Error while saving settings" : "Помилка під час збереження налаштувань", - "Import contact" : "Імпортувати контакт", - "Reset to default contact" : "Скинути то типового контакту", - "Import contacts" : "Імпортувати контакти", "There was an error updating your attendance status." : "Виникла помилка при оновленні вашого статусу учасника.", "Please contact the organizer directly." : "Будь-ласка повідомте організатора.", "Are you accepting the invitation?" : "Чи приймаєте ви запрошення?", diff --git a/apps/dav/l10n/zh_CN.js b/apps/dav/l10n/zh_CN.js index 8505eff28d4..e181553ce39 100644 --- a/apps/dav/l10n/zh_CN.js +++ b/apps/dav/l10n/zh_CN.js @@ -156,7 +156,7 @@ OC.L10N.register( "Invitation: %1$s" : "邀请:%1$s", "%1$s would like to invite you to \"%2$s\"" : "%1$s 想邀请您加入“%2$s”", "Organizer:" : "组织者:", - "Attendees:" : "与会者:", + "Attendees:" : "参加者:", "Title:" : "标题:", "When:" : "时间:", "Location:" : "地区:", @@ -261,7 +261,7 @@ OC.L10N.register( "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "您的网页服务器没有正确设置允许文件同步,因为 WebDAV 接口看起来无法正常工作。", "Your web server is properly set up to allow file synchronization over WebDAV." : "您的 Web 服务器已正确设置为允许通过 WebDAV 进行文件同步。", "Migrated calendar (%1$s)" : "迁移的日历(%1$s)", - "Calendars including events, details and attendees" : "日历包含活动、参与人和事件详情", + "Calendars including events, details and attendees" : "日历,包括事件、详情和参加者", "Contacts and groups" : "联系人和群组", "WebDAV" : "WebDAV", "Absence saved" : "缺席已保存", @@ -290,6 +290,25 @@ OC.L10N.register( "Pick a start time for {dayName}" : "选择 {dayName} 的开始时间", "Pick a end time for {dayName}" : "选择 {dayName} 的结束时间", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "不在工作时间内时,自动将用户状态设置为“勿扰”并静音所有通知。", + "Cancel" : "取消", + "Import" : "导入", + "Error while saving settings" : "保存设置时出错", + "Contact reset successfully" : "联系人重置成功", + "Error while resetting contact" : "重置联系人时出错", + "Contact imported successfully" : "联系人导入成功", + "Error while importing contact" : "导入联系人时出错", + "Import contact" : "导入联系人", + "Reset to default" : "重置为默认设置", + "Import contacts" : "导入联系人", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "导入新的 .vcf 文件将删除现有的默认联系人,并用新联系人替换。是否要继续?", + "Failed to save example event creation setting" : "无法保存示例事件创建设置", + "Failed to upload the example event" : "无法上传示例事件", + "Custom example event was saved successfully" : "已成功保存自定义示例事件", + "Failed to delete the custom example event" : "无法删除自定义示例事件", + "Custom example event was deleted successfully" : "已成功删除自定义示例事件", + "Import calendar event" : "导入日历事件", + "Uploading a new event will overwrite the existing one." : "上传新事件将覆盖现有事件。", + "Upload event" : "上传事件", "Availability" : "工作时间", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "如果你配置了工作时间,其他人在预订会议时会看到你何时不在办公室。", "Absence" : "离开", @@ -297,28 +316,17 @@ OC.L10N.register( "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "也安装{calendarappstoreopen}日历应用{linkclose},或者{calendardocopen}连接您的桌面和移动端同步日历 ↗{linkclose}。", "Please make sure to properly set up {emailopen}the email server{linkclose}." : "请确保正确设置{emailopen}邮件服务器{linkclose}。", "Calendar server" : "日历服务器", - "Send invitations to attendees" : "向与会者发送邀请", + "Send invitations to attendees" : "向参加者发送邀请", "Automatically generate a birthday calendar" : "自动生成生日日历", "Birthday calendars will be generated by a background job." : "生日日历将由后台作业生成。", "Hence they will not be available immediately after enabling but will show up after some time." : "因此,它们在启用后不会立即可用,但会在一段时间后显示出来。", "Send notifications for events" : "发送事件通知", "Notifications are sent via background jobs, so these must occur often enough." : "通知将通过后台任务发送,所以任务的频率要足够高。", "Send reminder notifications to calendar sharees as well" : "同时向日历共享者发送提醒通知", - "Reminders are always sent to organizers and attendees." : "始终向组织者和与会者发出提醒。", + "Reminders are always sent to organizers and attendees." : "始终向组织者和参加者发送提醒。", "Enable notifications for events via push" : "启用推送事件通知", - "Cancel" : "取消", - "Import" : "导入", - "Error while saving settings" : "保存设置时出错", - "Contact reset successfully" : "联系人重置成功", - "Error while resetting contact" : "重置联系人时出错", - "Contact imported successfully" : "联系人导入成功", - "Error while importing contact" : "导入联系人时出错", - "Example Content" : "示例内容", - "Set example content to be created on new user first login." : "设置新用户首次登录时要创建的示例内容。", - "Import contact" : "导入联系人", - "Reset to default contact" : "重置为默认联系人", - "Import contacts" : "导入联系人", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "导入新的 .vcf 文件将删除现有的默认联系人,并用新联系人替换。是否要继续?", + "Example content" : "示例内容", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "示例内容用于展示 Nextcloud 的功能。默认内容随 Nextcloud 一起提供,可以用自定义内容替换。", "There was an error updating your attendance status." : "更新您的出席状态时出错。", "Please contact the organizer directly." : "请直接联系组织者。", "Are you accepting the invitation?" : "您是否接受邀请?", diff --git a/apps/dav/l10n/zh_CN.json b/apps/dav/l10n/zh_CN.json index 989770e5895..8e3986f615c 100644 --- a/apps/dav/l10n/zh_CN.json +++ b/apps/dav/l10n/zh_CN.json @@ -154,7 +154,7 @@ "Invitation: %1$s" : "邀请:%1$s", "%1$s would like to invite you to \"%2$s\"" : "%1$s 想邀请您加入“%2$s”", "Organizer:" : "组织者:", - "Attendees:" : "与会者:", + "Attendees:" : "参加者:", "Title:" : "标题:", "When:" : "时间:", "Location:" : "地区:", @@ -259,7 +259,7 @@ "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "您的网页服务器没有正确设置允许文件同步,因为 WebDAV 接口看起来无法正常工作。", "Your web server is properly set up to allow file synchronization over WebDAV." : "您的 Web 服务器已正确设置为允许通过 WebDAV 进行文件同步。", "Migrated calendar (%1$s)" : "迁移的日历(%1$s)", - "Calendars including events, details and attendees" : "日历包含活动、参与人和事件详情", + "Calendars including events, details and attendees" : "日历,包括事件、详情和参加者", "Contacts and groups" : "联系人和群组", "WebDAV" : "WebDAV", "Absence saved" : "缺席已保存", @@ -288,6 +288,25 @@ "Pick a start time for {dayName}" : "选择 {dayName} 的开始时间", "Pick a end time for {dayName}" : "选择 {dayName} 的结束时间", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "不在工作时间内时,自动将用户状态设置为“勿扰”并静音所有通知。", + "Cancel" : "取消", + "Import" : "导入", + "Error while saving settings" : "保存设置时出错", + "Contact reset successfully" : "联系人重置成功", + "Error while resetting contact" : "重置联系人时出错", + "Contact imported successfully" : "联系人导入成功", + "Error while importing contact" : "导入联系人时出错", + "Import contact" : "导入联系人", + "Reset to default" : "重置为默认设置", + "Import contacts" : "导入联系人", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "导入新的 .vcf 文件将删除现有的默认联系人,并用新联系人替换。是否要继续?", + "Failed to save example event creation setting" : "无法保存示例事件创建设置", + "Failed to upload the example event" : "无法上传示例事件", + "Custom example event was saved successfully" : "已成功保存自定义示例事件", + "Failed to delete the custom example event" : "无法删除自定义示例事件", + "Custom example event was deleted successfully" : "已成功删除自定义示例事件", + "Import calendar event" : "导入日历事件", + "Uploading a new event will overwrite the existing one." : "上传新事件将覆盖现有事件。", + "Upload event" : "上传事件", "Availability" : "工作时间", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "如果你配置了工作时间,其他人在预订会议时会看到你何时不在办公室。", "Absence" : "离开", @@ -295,28 +314,17 @@ "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "也安装{calendarappstoreopen}日历应用{linkclose},或者{calendardocopen}连接您的桌面和移动端同步日历 ↗{linkclose}。", "Please make sure to properly set up {emailopen}the email server{linkclose}." : "请确保正确设置{emailopen}邮件服务器{linkclose}。", "Calendar server" : "日历服务器", - "Send invitations to attendees" : "向与会者发送邀请", + "Send invitations to attendees" : "向参加者发送邀请", "Automatically generate a birthday calendar" : "自动生成生日日历", "Birthday calendars will be generated by a background job." : "生日日历将由后台作业生成。", "Hence they will not be available immediately after enabling but will show up after some time." : "因此,它们在启用后不会立即可用,但会在一段时间后显示出来。", "Send notifications for events" : "发送事件通知", "Notifications are sent via background jobs, so these must occur often enough." : "通知将通过后台任务发送,所以任务的频率要足够高。", "Send reminder notifications to calendar sharees as well" : "同时向日历共享者发送提醒通知", - "Reminders are always sent to organizers and attendees." : "始终向组织者和与会者发出提醒。", + "Reminders are always sent to organizers and attendees." : "始终向组织者和参加者发送提醒。", "Enable notifications for events via push" : "启用推送事件通知", - "Cancel" : "取消", - "Import" : "导入", - "Error while saving settings" : "保存设置时出错", - "Contact reset successfully" : "联系人重置成功", - "Error while resetting contact" : "重置联系人时出错", - "Contact imported successfully" : "联系人导入成功", - "Error while importing contact" : "导入联系人时出错", - "Example Content" : "示例内容", - "Set example content to be created on new user first login." : "设置新用户首次登录时要创建的示例内容。", - "Import contact" : "导入联系人", - "Reset to default contact" : "重置为默认联系人", - "Import contacts" : "导入联系人", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "导入新的 .vcf 文件将删除现有的默认联系人,并用新联系人替换。是否要继续?", + "Example content" : "示例内容", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "示例内容用于展示 Nextcloud 的功能。默认内容随 Nextcloud 一起提供,可以用自定义内容替换。", "There was an error updating your attendance status." : "更新您的出席状态时出错。", "Please contact the organizer directly." : "请直接联系组织者。", "Are you accepting the invitation?" : "您是否接受邀请?", diff --git a/apps/dav/l10n/zh_HK.js b/apps/dav/l10n/zh_HK.js index 991cf35b8fb..df201c06f90 100644 --- a/apps/dav/l10n/zh_HK.js +++ b/apps/dav/l10n/zh_HK.js @@ -290,6 +290,25 @@ OC.L10N.register( "Pick a start time for {dayName}" : "為 {dayName} 挑選開始時間", "Pick a end time for {dayName}" : "為 {dayName} 挑選結束時間", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "在忙碌時,自動將用戶狀態設定為「請勿打擾」以靜音所有通知。", + "Cancel" : "取消", + "Import" : "導入", + "Error while saving settings" : "儲存設定時發生錯誤", + "Contact reset successfully" : "聯絡人重設成功", + "Error while resetting contact" : "重設聯絡人時發生錯誤", + "Contact imported successfully" : "成功導入了聯絡人", + "Error while importing contact" : "導入聯絡人時發生錯誤", + "Import contact" : "導入聯絡人", + "Reset to default" : "恢復預設值", + "Import contacts" : "導入聯絡人", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "導入新的 .vcf 檔案將刪除現有的默認聯絡人並將其替換為新的聯絡人。您想繼續嗎?", + "Failed to save example event creation setting" : "儲存範例事件建立設定失敗", + "Failed to upload the example event" : "上傳範例事件失敗", + "Custom example event was saved successfully" : "已成功儲存自訂範例事件", + "Failed to delete the custom example event" : "刪除自訂範例事件失敗", + "Custom example event was deleted successfully" : "已成功刪除自訂範例事件", + "Import calendar event" : "導入日曆活動", + "Uploading a new event will overwrite the existing one." : "上傳新活動將會覆寫原有的", + "Upload event" : "上傳活動", "Availability" : "空閒時間", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "若您設定了您的工作時間,其他人仕在預約會議時就會知道您何時不在辦公室。", "Absence" : "缺席", @@ -306,19 +325,8 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "也向共享日曆者傳送提醒通告", "Reminders are always sent to organizers and attendees." : "一律傳送提醒通知給舉辦者與參與者。", "Enable notifications for events via push" : "啟用推送活動通知", - "Cancel" : "取消", - "Import" : "導入", - "Error while saving settings" : "儲存設定時發生錯誤", - "Contact reset successfully" : "聯絡人重設成功", - "Error while resetting contact" : "重設聯絡人時發生錯誤", - "Contact imported successfully" : "成功導入了聯絡人", - "Error while importing contact" : "導入聯絡人時發生錯誤", - "Example Content" : "範例內容", - "Set example content to be created on new user first login." : "設定新用戶首次登入時所建立的範例內容。", - "Import contact" : "導入聯絡人", - "Reset to default contact" : "重設為默認聯絡人", - "Import contacts" : "導入聯絡人", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "導入新的 .vcf 檔案將刪除現有的默認聯絡人並將其替換為新的聯絡人。您想繼續嗎?", + "Example content" : "範例內容", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "範例內容用來展示 Nextcloud 的功能。Nextcloud 隨附預設內容,可由自訂內容取代。", "There was an error updating your attendance status." : "更新您的參與狀況時發生錯誤", "Please contact the organizer directly." : "請直接聯繫絡主辦人", "Are you accepting the invitation?" : "接受邀請嗎?", diff --git a/apps/dav/l10n/zh_HK.json b/apps/dav/l10n/zh_HK.json index 6effaf8c269..0cafd6ec077 100644 --- a/apps/dav/l10n/zh_HK.json +++ b/apps/dav/l10n/zh_HK.json @@ -288,6 +288,25 @@ "Pick a start time for {dayName}" : "為 {dayName} 挑選開始時間", "Pick a end time for {dayName}" : "為 {dayName} 挑選結束時間", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "在忙碌時,自動將用戶狀態設定為「請勿打擾」以靜音所有通知。", + "Cancel" : "取消", + "Import" : "導入", + "Error while saving settings" : "儲存設定時發生錯誤", + "Contact reset successfully" : "聯絡人重設成功", + "Error while resetting contact" : "重設聯絡人時發生錯誤", + "Contact imported successfully" : "成功導入了聯絡人", + "Error while importing contact" : "導入聯絡人時發生錯誤", + "Import contact" : "導入聯絡人", + "Reset to default" : "恢復預設值", + "Import contacts" : "導入聯絡人", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "導入新的 .vcf 檔案將刪除現有的默認聯絡人並將其替換為新的聯絡人。您想繼續嗎?", + "Failed to save example event creation setting" : "儲存範例事件建立設定失敗", + "Failed to upload the example event" : "上傳範例事件失敗", + "Custom example event was saved successfully" : "已成功儲存自訂範例事件", + "Failed to delete the custom example event" : "刪除自訂範例事件失敗", + "Custom example event was deleted successfully" : "已成功刪除自訂範例事件", + "Import calendar event" : "導入日曆活動", + "Uploading a new event will overwrite the existing one." : "上傳新活動將會覆寫原有的", + "Upload event" : "上傳活動", "Availability" : "空閒時間", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "若您設定了您的工作時間,其他人仕在預約會議時就會知道您何時不在辦公室。", "Absence" : "缺席", @@ -304,19 +323,8 @@ "Send reminder notifications to calendar sharees as well" : "也向共享日曆者傳送提醒通告", "Reminders are always sent to organizers and attendees." : "一律傳送提醒通知給舉辦者與參與者。", "Enable notifications for events via push" : "啟用推送活動通知", - "Cancel" : "取消", - "Import" : "導入", - "Error while saving settings" : "儲存設定時發生錯誤", - "Contact reset successfully" : "聯絡人重設成功", - "Error while resetting contact" : "重設聯絡人時發生錯誤", - "Contact imported successfully" : "成功導入了聯絡人", - "Error while importing contact" : "導入聯絡人時發生錯誤", - "Example Content" : "範例內容", - "Set example content to be created on new user first login." : "設定新用戶首次登入時所建立的範例內容。", - "Import contact" : "導入聯絡人", - "Reset to default contact" : "重設為默認聯絡人", - "Import contacts" : "導入聯絡人", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "導入新的 .vcf 檔案將刪除現有的默認聯絡人並將其替換為新的聯絡人。您想繼續嗎?", + "Example content" : "範例內容", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "範例內容用來展示 Nextcloud 的功能。Nextcloud 隨附預設內容,可由自訂內容取代。", "There was an error updating your attendance status." : "更新您的參與狀況時發生錯誤", "Please contact the organizer directly." : "請直接聯繫絡主辦人", "Are you accepting the invitation?" : "接受邀請嗎?", diff --git a/apps/dav/l10n/zh_TW.js b/apps/dav/l10n/zh_TW.js index fef4d1c9eec..191f6631bbf 100644 --- a/apps/dav/l10n/zh_TW.js +++ b/apps/dav/l10n/zh_TW.js @@ -290,6 +290,25 @@ OC.L10N.register( "Pick a start time for {dayName}" : "為 {dayName} 挑選開始時間", "Pick a end time for {dayName}" : "為 {dayName} 挑選結束時間", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "在空閒時間以外,自動將使用者狀態設定為「請勿打擾」以靜音所有通知。", + "Cancel" : "取消", + "Import" : "匯入", + "Error while saving settings" : "儲存設定時發生錯誤", + "Contact reset successfully" : "成功重設聯絡人", + "Error while resetting contact" : "重設聯絡人時發生錯誤", + "Contact imported successfully" : "成功匯入聯絡人", + "Error while importing contact" : "匯入聯絡人時發生錯誤", + "Import contact" : "匯入聯絡人", + "Reset to default" : "重設為預設值", + "Import contacts" : "匯入聯絡人", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "匯入新的 .vcf 檔案將會刪除現有的預設聯絡人並將其取代為新的聯絡人。您想要繼續嗎?", + "Failed to save example event creation setting" : "儲存範例事件建立設定失敗", + "Failed to upload the example event" : "上傳範例事件失敗", + "Custom example event was saved successfully" : "已成功儲存自訂範例事件", + "Failed to delete the custom example event" : "刪除自訂範例事件失敗", + "Custom example event was deleted successfully" : "已成功刪除自訂範例事件", + "Import calendar event" : "匯入日曆事件", + "Uploading a new event will overwrite the existing one." : "上傳新事件將會覆寫原有的", + "Upload event" : "上傳事件", "Availability" : "空閒時間", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "若您設定了您的工作時間,其他使用者在預約會議時就會知道您何時不在辦公室。", "Absence" : "不在", @@ -306,19 +325,8 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "也向共享行事曆傳送提醒通知", "Reminders are always sent to organizers and attendees." : "一律傳送提醒給主辦者與參與者。", "Enable notifications for events via push" : "啟用行程通知推播", - "Cancel" : "取消", - "Import" : "匯入", - "Error while saving settings" : "儲存設定時發生錯誤", - "Contact reset successfully" : "成功重設聯絡人", - "Error while resetting contact" : "重設聯絡人時發生錯誤", - "Contact imported successfully" : "成功匯入聯絡人", - "Error while importing contact" : "匯入聯絡人時發生錯誤", - "Example Content" : "範例內容", - "Set example content to be created on new user first login." : "設定新使用者首次登入時要建立的範例內容。", - "Import contact" : "匯入聯絡人", - "Reset to default contact" : "重設回預設聯絡人", - "Import contacts" : "匯入聯絡人", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "匯入新的 .vcf 檔案將會刪除現有的預設聯絡人並將其取代為新的聯絡人。您想要繼續嗎?", + "Example content" : "範例內容", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "範例內容用來展示 Nextcloud 的功能。Nextcloud 隨附預設內容,可由自訂內容取代。", "There was an error updating your attendance status." : "更新您的參與狀態時發生錯誤。", "Please contact the organizer directly." : "請直接聯絡主辦者。", "Are you accepting the invitation?" : "您要接受邀請嗎?", diff --git a/apps/dav/l10n/zh_TW.json b/apps/dav/l10n/zh_TW.json index 3afaf26a723..53990163a73 100644 --- a/apps/dav/l10n/zh_TW.json +++ b/apps/dav/l10n/zh_TW.json @@ -288,6 +288,25 @@ "Pick a start time for {dayName}" : "為 {dayName} 挑選開始時間", "Pick a end time for {dayName}" : "為 {dayName} 挑選結束時間", "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "在空閒時間以外,自動將使用者狀態設定為「請勿打擾」以靜音所有通知。", + "Cancel" : "取消", + "Import" : "匯入", + "Error while saving settings" : "儲存設定時發生錯誤", + "Contact reset successfully" : "成功重設聯絡人", + "Error while resetting contact" : "重設聯絡人時發生錯誤", + "Contact imported successfully" : "成功匯入聯絡人", + "Error while importing contact" : "匯入聯絡人時發生錯誤", + "Import contact" : "匯入聯絡人", + "Reset to default" : "重設為預設值", + "Import contacts" : "匯入聯絡人", + "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "匯入新的 .vcf 檔案將會刪除現有的預設聯絡人並將其取代為新的聯絡人。您想要繼續嗎?", + "Failed to save example event creation setting" : "儲存範例事件建立設定失敗", + "Failed to upload the example event" : "上傳範例事件失敗", + "Custom example event was saved successfully" : "已成功儲存自訂範例事件", + "Failed to delete the custom example event" : "刪除自訂範例事件失敗", + "Custom example event was deleted successfully" : "已成功刪除自訂範例事件", + "Import calendar event" : "匯入日曆事件", + "Uploading a new event will overwrite the existing one." : "上傳新事件將會覆寫原有的", + "Upload event" : "上傳事件", "Availability" : "空閒時間", "If you configure your working hours, other people will see when you are out of office when they book a meeting." : "若您設定了您的工作時間,其他使用者在預約會議時就會知道您何時不在辦公室。", "Absence" : "不在", @@ -304,19 +323,8 @@ "Send reminder notifications to calendar sharees as well" : "也向共享行事曆傳送提醒通知", "Reminders are always sent to organizers and attendees." : "一律傳送提醒給主辦者與參與者。", "Enable notifications for events via push" : "啟用行程通知推播", - "Cancel" : "取消", - "Import" : "匯入", - "Error while saving settings" : "儲存設定時發生錯誤", - "Contact reset successfully" : "成功重設聯絡人", - "Error while resetting contact" : "重設聯絡人時發生錯誤", - "Contact imported successfully" : "成功匯入聯絡人", - "Error while importing contact" : "匯入聯絡人時發生錯誤", - "Example Content" : "範例內容", - "Set example content to be created on new user first login." : "設定新使用者首次登入時要建立的範例內容。", - "Import contact" : "匯入聯絡人", - "Reset to default contact" : "重設回預設聯絡人", - "Import contacts" : "匯入聯絡人", - "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "匯入新的 .vcf 檔案將會刪除現有的預設聯絡人並將其取代為新的聯絡人。您想要繼續嗎?", + "Example content" : "範例內容", + "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "範例內容用來展示 Nextcloud 的功能。Nextcloud 隨附預設內容,可由自訂內容取代。", "There was an error updating your attendance status." : "更新您的參與狀態時發生錯誤。", "Please contact the organizer directly." : "請直接聯絡主辦者。", "Are you accepting the invitation?" : "您要接受邀請嗎?", diff --git a/apps/dav/lib/CalDAV/CalDavBackend.php b/apps/dav/lib/CalDAV/CalDavBackend.php index c49e843d2b9..1cbf2a1e4eb 100644 --- a/apps/dav/lib/CalDAV/CalDavBackend.php +++ b/apps/dav/lib/CalDAV/CalDavBackend.php @@ -2986,7 +2986,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription 'calendarid' => $query->createNamedParameter($calendarId), 'operation' => $query->createNamedParameter($operation), 'calendartype' => $query->createNamedParameter($calendarType), - 'created_at' => time(), + 'created_at' => $query->createNamedParameter(time()), ]); foreach ($objectUris as $uri) { $query->setParameter('uri', $uri); diff --git a/apps/dav/lib/Connector/Sabre/FilesPlugin.php b/apps/dav/lib/Connector/Sabre/FilesPlugin.php index 9e2affddb6b..5364b7cff41 100644 --- a/apps/dav/lib/Connector/Sabre/FilesPlugin.php +++ b/apps/dav/lib/Connector/Sabre/FilesPlugin.php @@ -9,6 +9,7 @@ namespace OCA\DAV\Connector\Sabre; use OC\AppFramework\Http\Request; use OC\FilesMetadata\Model\FilesMetadata; +use OC\User\NoUserException; use OCA\DAV\Connector\Sabre\Exception\InvalidPath; use OCA\Files_Sharing\External\Mount as SharingExternalMount; use OCP\Accounts\IAccountManager; @@ -374,7 +375,13 @@ class FilesPlugin extends ServerPlugin { } // Check if the user published their display name - $ownerAccount = $this->accountManager->getAccount($owner); + try { + $ownerAccount = $this->accountManager->getAccount($owner); + } catch (NoUserException) { + // do not lock process if owner is not local + return null; + } + $ownerNameProperty = $ownerAccount->getProperty(IAccountManager::PROPERTY_DISPLAYNAME); // Since we are not logged in, we need to have at least the published scope diff --git a/apps/dav/lib/Controller/ExampleContentController.php b/apps/dav/lib/Controller/ExampleContentController.php index 905fd392e6c..e20ee4b7f49 100644 --- a/apps/dav/lib/Controller/ExampleContentController.php +++ b/apps/dav/lib/Controller/ExampleContentController.php @@ -10,6 +10,7 @@ declare(strict_types=1); namespace OCA\DAV\Controller; use OCA\DAV\AppInfo\Application; +use OCA\DAV\Service\ExampleContactService; use OCA\DAV\Service\ExampleEventService; use OCP\AppFramework\ApiController; use OCP\AppFramework\Http; @@ -17,103 +18,50 @@ use OCP\AppFramework\Http\Attribute\FrontpageRoute; use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\DataDownloadResponse; use OCP\AppFramework\Http\JSONResponse; -use OCP\Files\AppData\IAppDataFactory; -use OCP\Files\IAppData; -use OCP\Files\NotFoundException; -use OCP\IAppConfig; -use OCP\IConfig; use OCP\IRequest; use Psr\Log\LoggerInterface; class ExampleContentController extends ApiController { - private IAppData $appData; - public function __construct( IRequest $request, - private IConfig $config, - private IAppConfig $appConfig, - private IAppDataFactory $appDataFactory, - private LoggerInterface $logger, - private ExampleEventService $exampleEventService, + private readonly LoggerInterface $logger, + private readonly ExampleEventService $exampleEventService, + private readonly ExampleContactService $exampleContactService, ) { parent::__construct(Application::APP_ID, $request); - $this->appData = $this->appDataFactory->get('dav'); } - public function setEnableDefaultContact($allow) { - if ($allow === 'yes' && !$this->defaultContactExists()) { + #[FrontpageRoute(verb: 'PUT', url: '/api/defaultcontact/config')] + public function setEnableDefaultContact(bool $allow): JSONResponse { + if ($allow && !$this->exampleContactService->defaultContactExists()) { try { - $this->setCard(); + $this->exampleContactService->setCard(); } catch (\Exception $e) { $this->logger->error('Could not create default contact', ['exception' => $e]); return new JSONResponse([], Http::STATUS_INTERNAL_SERVER_ERROR); } } - $this->config->setAppValue(Application::APP_ID, 'enableDefaultContact', $allow); + $this->exampleContactService->setDefaultContactEnabled($allow); return new JSONResponse([], Http::STATUS_OK); } #[NoCSRFRequired] + #[FrontpageRoute(verb: 'GET', url: '/api/defaultcontact/contact')] public function getDefaultContact(): DataDownloadResponse { - $cardData = $this->getCard() + $cardData = $this->exampleContactService->getCard() ?? file_get_contents(__DIR__ . '/../ExampleContentFiles/exampleContact.vcf'); return new DataDownloadResponse($cardData, 'example_contact.vcf', 'text/vcard'); } + #[FrontpageRoute(verb: 'PUT', url: '/api/defaultcontact/contact')] public function setDefaultContact(?string $contactData = null) { - if (!$this->config->getAppValue(Application::APP_ID, 'enableDefaultContact', 'yes')) { + if (!$this->exampleContactService->isDefaultContactEnabled()) { return new JSONResponse([], Http::STATUS_FORBIDDEN); } - $this->setCard($contactData); + $this->exampleContactService->setCard($contactData); return new JSONResponse([], Http::STATUS_OK); } - private function getCard(): ?string { - try { - $folder = $this->appData->getFolder('defaultContact'); - } catch (NotFoundException $e) { - return null; - } - - if (!$folder->fileExists('defaultContact.vcf')) { - return null; - } - - return $folder->getFile('defaultContact.vcf')->getContent(); - } - - private function setCard(?string $cardData = null) { - try { - $folder = $this->appData->getFolder('defaultContact'); - } catch (NotFoundException $e) { - $folder = $this->appData->newFolder('defaultContact'); - } - - $isCustom = true; - if (is_null($cardData)) { - $cardData = file_get_contents(__DIR__ . '/../ExampleContentFiles/exampleContact.vcf'); - $isCustom = false; - } - - if (!$cardData) { - throw new \Exception('Could not read exampleContact.vcf'); - } - - $file = (!$folder->fileExists('defaultContact.vcf')) ? $folder->newFile('defaultContact.vcf') : $folder->getFile('defaultContact.vcf'); - $file->putContent($cardData); - - $this->appConfig->setValueBool(Application::APP_ID, 'hasCustomDefaultContact', $isCustom); - } - - private function defaultContactExists(): bool { - try { - $folder = $this->appData->getFolder('defaultContact'); - } catch (NotFoundException $e) { - return false; - } - return $folder->fileExists('defaultContact.vcf'); - } - #[FrontpageRoute(verb: 'POST', url: '/api/exampleEvent/enable')] public function setCreateExampleEvent(bool $enable): JSONResponse { $this->exampleEventService->setCreateExampleEvent($enable); diff --git a/apps/dav/lib/DAV/GroupPrincipalBackend.php b/apps/dav/lib/DAV/GroupPrincipalBackend.php index ddbd64bdda1..70a0099330c 100644 --- a/apps/dav/lib/DAV/GroupPrincipalBackend.php +++ b/apps/dav/lib/DAV/GroupPrincipalBackend.php @@ -188,6 +188,10 @@ class GroupPrincipalBackend implements BackendInterface { $groups = $this->groupManager->search($value, $searchLimit); $results[] = array_reduce($groups, function (array $carry, IGroup $group) use ($restrictGroups) { + if ($group->hideFromCollaboration()) { + return $carry; + } + $gid = $group->getGID(); // is sharing restricted to groups only? if ($restrictGroups !== false) { diff --git a/apps/dav/lib/Listener/UserEventsListener.php b/apps/dav/lib/Listener/UserEventsListener.php index 67cf228515a..c876192d67f 100644 --- a/apps/dav/lib/Listener/UserEventsListener.php +++ b/apps/dav/lib/Listener/UserEventsListener.php @@ -12,7 +12,7 @@ namespace OCA\DAV\Listener; use OCA\DAV\CalDAV\CalDavBackend; use OCA\DAV\CardDAV\CardDavBackend; use OCA\DAV\CardDAV\SyncService; -use OCA\DAV\Service\DefaultContactService; +use OCA\DAV\Service\ExampleContactService; use OCA\DAV\Service\ExampleEventService; use OCP\Accounts\UserUpdatedEvent; use OCP\Defaults; @@ -46,7 +46,7 @@ class UserEventsListener implements IEventListener { private CalDavBackend $calDav, private CardDavBackend $cardDav, private Defaults $themingDefaults, - private DefaultContactService $defaultContactService, + private ExampleContactService $exampleContactService, private ExampleEventService $exampleEventService, private LoggerInterface $logger, ) { @@ -175,7 +175,7 @@ class UserEventsListener implements IEventListener { } } if ($addressBookId) { - $this->defaultContactService->createDefaultContact($addressBookId); + $this->exampleContactService->createDefaultContact($addressBookId); } } } diff --git a/apps/dav/lib/Service/DefaultContactService.php b/apps/dav/lib/Service/DefaultContactService.php deleted file mode 100644 index 24e55ef7b69..00000000000 --- a/apps/dav/lib/Service/DefaultContactService.php +++ /dev/null @@ -1,77 +0,0 @@ -<?php - -declare(strict_types=1); - -/** - * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors - * SPDX-License-Identifier: AGPL-3.0-or-later - */ - -namespace OCA\DAV\Service; - -use OCA\DAV\AppInfo\Application; -use OCA\DAV\CardDAV\CardDavBackend; -use OCP\App\IAppManager; -use OCP\Files\AppData\IAppDataFactory; -use OCP\IAppConfig; -use Psr\Log\LoggerInterface; -use Symfony\Component\Uid\Uuid; - -class DefaultContactService { - public function __construct( - private CardDavBackend $cardDav, - private IAppManager $appManager, - private IAppDataFactory $appDataFactory, - private IAppConfig $config, - private LoggerInterface $logger, - ) { - } - - public function createDefaultContact(int $addressBookId): void { - $enableDefaultContact = $this->config->getValueString(Application::APP_ID, 'enableDefaultContact', 'yes'); - if ($enableDefaultContact !== 'yes') { - return; - } - $appData = $this->appDataFactory->get('dav'); - try { - $folder = $appData->getFolder('defaultContact'); - $defaultContactFile = $folder->getFile('defaultContact.vcf'); - $data = $defaultContactFile->getContent(); - } catch (\Exception $e) { - $this->logger->error('Couldn\'t get default contact file', ['exception' => $e]); - return; - } - - // Make sure the UID is unique - $newUid = Uuid::v4()->toRfc4122(); - $newRev = date('Ymd\THis\Z'); - $vcard = \Sabre\VObject\Reader::read($data, \Sabre\VObject\Reader::OPTION_FORGIVING); - if ($vcard->UID) { - $vcard->UID->setValue($newUid); - } else { - $vcard->add('UID', $newUid); - } - if ($vcard->REV) { - $vcard->REV->setValue($newRev); - } else { - $vcard->add('REV', $newRev); - } - - // Level 3 means that the document is invalid - // https://sabre.io/vobject/vcard/#validating-vcard - $level3Warnings = array_filter($vcard->validate(), function ($warning) { - return $warning['level'] === 3; - }); - - if (!empty($level3Warnings)) { - $this->logger->error('Default contact is invalid', ['warnings' => $level3Warnings]); - return; - } - try { - $this->cardDav->createCard($addressBookId, 'default', $vcard->serialize(), false); - } catch (\Exception $e) { - $this->logger->error($e->getMessage(), ['exception' => $e]); - } - - } -} diff --git a/apps/dav/lib/Service/ExampleContactService.php b/apps/dav/lib/Service/ExampleContactService.php new file mode 100644 index 00000000000..6ed6c66cbb3 --- /dev/null +++ b/apps/dav/lib/Service/ExampleContactService.php @@ -0,0 +1,132 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace OCA\DAV\Service; + +use OCA\DAV\AppInfo\Application; +use OCA\DAV\CardDAV\CardDavBackend; +use OCP\AppFramework\Services\IAppConfig; +use OCP\Files\AppData\IAppDataFactory; +use OCP\Files\IAppData; +use OCP\Files\NotFoundException; +use Psr\Log\LoggerInterface; +use Symfony\Component\Uid\Uuid; + +class ExampleContactService { + private readonly IAppData $appData; + + public function __construct( + IAppDataFactory $appDataFactory, + private readonly IAppConfig $appConfig, + private readonly LoggerInterface $logger, + private readonly CardDavBackend $cardDav, + ) { + $this->appData = $appDataFactory->get(Application::APP_ID); + } + + public function isDefaultContactEnabled(): bool { + return $this->appConfig->getAppValueBool('enableDefaultContact', true); + } + + public function setDefaultContactEnabled(bool $value): void { + $this->appConfig->setAppValueBool('enableDefaultContact', $value); + } + + public function getCard(): ?string { + try { + $folder = $this->appData->getFolder('defaultContact'); + } catch (NotFoundException $e) { + return null; + } + + if (!$folder->fileExists('defaultContact.vcf')) { + return null; + } + + return $folder->getFile('defaultContact.vcf')->getContent(); + } + + public function setCard(?string $cardData = null) { + try { + $folder = $this->appData->getFolder('defaultContact'); + } catch (NotFoundException $e) { + $folder = $this->appData->newFolder('defaultContact'); + } + + $isCustom = true; + if (is_null($cardData)) { + $cardData = file_get_contents(__DIR__ . '/../ExampleContentFiles/exampleContact.vcf'); + $isCustom = false; + } + + if (!$cardData) { + throw new \Exception('Could not read exampleContact.vcf'); + } + + $file = (!$folder->fileExists('defaultContact.vcf')) ? $folder->newFile('defaultContact.vcf') : $folder->getFile('defaultContact.vcf'); + $file->putContent($cardData); + + $this->appConfig->setAppValueBool('hasCustomDefaultContact', $isCustom); + } + + public function defaultContactExists(): bool { + try { + $folder = $this->appData->getFolder('defaultContact'); + } catch (NotFoundException $e) { + return false; + } + return $folder->fileExists('defaultContact.vcf'); + } + + public function createDefaultContact(int $addressBookId): void { + if (!$this->isDefaultContactEnabled()) { + return; + } + + try { + $folder = $this->appData->getFolder('defaultContact'); + $defaultContactFile = $folder->getFile('defaultContact.vcf'); + $data = $defaultContactFile->getContent(); + } catch (\Exception $e) { + $this->logger->error('Couldn\'t get default contact file', ['exception' => $e]); + return; + } + + // Make sure the UID is unique + $newUid = Uuid::v4()->toRfc4122(); + $newRev = date('Ymd\THis\Z'); + $vcard = \Sabre\VObject\Reader::read($data, \Sabre\VObject\Reader::OPTION_FORGIVING); + if ($vcard->UID) { + $vcard->UID->setValue($newUid); + } else { + $vcard->add('UID', $newUid); + } + if ($vcard->REV) { + $vcard->REV->setValue($newRev); + } else { + $vcard->add('REV', $newRev); + } + + // Level 3 means that the document is invalid + // https://sabre.io/vobject/vcard/#validating-vcard + $level3Warnings = array_filter($vcard->validate(), static function ($warning) { + return $warning['level'] === 3; + }); + + if (!empty($level3Warnings)) { + $this->logger->error('Default contact is invalid', ['warnings' => $level3Warnings]); + return; + } + try { + $this->cardDav->createCard($addressBookId, 'default', $vcard->serialize(), false); + } catch (\Exception $e) { + $this->logger->error($e->getMessage(), ['exception' => $e]); + } + } +} diff --git a/apps/dav/lib/Settings/ExampleContentSettings.php b/apps/dav/lib/Settings/ExampleContentSettings.php index fef2d25b8d2..7b6f9b03a3a 100644 --- a/apps/dav/lib/Settings/ExampleContentSettings.php +++ b/apps/dav/lib/Settings/ExampleContentSettings.php @@ -9,21 +9,21 @@ declare(strict_types=1); namespace OCA\DAV\Settings; use OCA\DAV\AppInfo\Application; +use OCA\DAV\Service\ExampleContactService; use OCA\DAV\Service\ExampleEventService; use OCP\App\IAppManager; use OCP\AppFramework\Http\TemplateResponse; +use OCP\AppFramework\Services\IAppConfig; use OCP\AppFramework\Services\IInitialState; -use OCP\IAppConfig; -use OCP\IConfig; use OCP\Settings\ISettings; class ExampleContentSettings implements ISettings { public function __construct( - private readonly IConfig $config, private readonly IAppConfig $appConfig, private readonly IInitialState $initialState, private readonly IAppManager $appManager, private readonly ExampleEventService $exampleEventService, + private readonly ExampleContactService $exampleContactService, ) { } @@ -43,11 +43,13 @@ class ExampleContentSettings implements ISettings { } if ($contactsEnabled) { - $enableDefaultContact = $this->config->getAppValue(Application::APP_ID, 'enableDefaultContact', 'yes'); - $this->initialState->provideInitialState('enableDefaultContact', $enableDefaultContact); + $this->initialState->provideInitialState( + 'enableDefaultContact', + $this->exampleContactService->isDefaultContactEnabled(), + ); $this->initialState->provideInitialState( 'hasCustomDefaultContact', - $this->appConfig->getValueBool(Application::APP_ID, 'hasCustomDefaultContact'), + $this->appConfig->getAppValueBool('hasCustomDefaultContact'), ); } diff --git a/apps/dav/src/components/ExampleContactSettings.vue b/apps/dav/src/components/ExampleContactSettings.vue index 0e34c7a12da..cdfdc130189 100644 --- a/apps/dav/src/components/ExampleContactSettings.vue +++ b/apps/dav/src/components/ExampleContactSettings.vue @@ -63,7 +63,7 @@ import IconCheck from '@mdi/svg/svg/check.svg?raw' import logger from '../service/logger.js' import ExampleContentDownloadButton from './ExampleContentDownloadButton.vue' -const enableDefaultContact = loadState('dav', 'enableDefaultContact') === 'yes' +const enableDefaultContact = loadState('dav', 'enableDefaultContact') const hasCustomDefaultContact = loadState('dav', 'hasCustomDefaultContact') export default { @@ -106,7 +106,7 @@ export default { methods: { updateEnableDefaultContact() { axios.put(generateUrl('apps/dav/api/defaultcontact/config'), { - allow: this.enableDefaultContact ? 'no' : 'yes', + allow: !this.enableDefaultContact, }).then(() => { this.enableDefaultContact = !this.enableDefaultContact }).catch(() => { diff --git a/apps/dav/tests/unit/DAV/Listener/UserEventsListenerTest.php b/apps/dav/tests/unit/DAV/Listener/UserEventsListenerTest.php index f03343af008..40d2fb62431 100644 --- a/apps/dav/tests/unit/DAV/Listener/UserEventsListenerTest.php +++ b/apps/dav/tests/unit/DAV/Listener/UserEventsListenerTest.php @@ -14,7 +14,7 @@ use OCA\DAV\CalDAV\CalDavBackend; use OCA\DAV\CardDAV\CardDavBackend; use OCA\DAV\CardDAV\SyncService; use OCA\DAV\Listener\UserEventsListener; -use OCA\DAV\Service\DefaultContactService; +use OCA\DAV\Service\ExampleContactService; use OCA\DAV\Service\ExampleEventService; use OCP\Defaults; use OCP\IUser; @@ -29,7 +29,7 @@ class UserEventsListenerTest extends TestCase { private CalDavBackend&MockObject $calDavBackend; private CardDavBackend&MockObject $cardDavBackend; private Defaults&MockObject $defaults; - private DefaultContactService&MockObject $defaultContactService; + private ExampleContactService&MockObject $exampleContactService; private ExampleEventService&MockObject $exampleEventService; private LoggerInterface&MockObject $logger; @@ -43,7 +43,7 @@ class UserEventsListenerTest extends TestCase { $this->calDavBackend = $this->createMock(CalDavBackend::class); $this->cardDavBackend = $this->createMock(CardDavBackend::class); $this->defaults = $this->createMock(Defaults::class); - $this->defaultContactService = $this->createMock(DefaultContactService::class); + $this->exampleContactService = $this->createMock(ExampleContactService::class); $this->exampleEventService = $this->createMock(ExampleEventService::class); $this->logger = $this->createMock(LoggerInterface::class); @@ -53,7 +53,7 @@ class UserEventsListenerTest extends TestCase { $this->calDavBackend, $this->cardDavBackend, $this->defaults, - $this->defaultContactService, + $this->exampleContactService, $this->exampleEventService, $this->logger, ); diff --git a/apps/dav/tests/unit/Service/DefaultContactServiceTest.php b/apps/dav/tests/unit/Service/ExampleContactServiceTest.php index 3bd8c9cb6f6..4c8d900ae86 100644 --- a/apps/dav/tests/unit/Service/DefaultContactServiceTest.php +++ b/apps/dav/tests/unit/Service/ExampleContactServiceTest.php @@ -10,56 +10,60 @@ declare(strict_types=1); namespace OCA\DAV\Tests\unit\Service; use OCA\DAV\CardDAV\CardDavBackend; -use OCA\DAV\Service\DefaultContactService; +use OCA\DAV\Service\ExampleContactService; use OCP\App\IAppManager; +use OCP\AppFramework\Services\IAppConfig; use OCP\Files\AppData\IAppDataFactory; use OCP\Files\IAppData; use OCP\Files\NotFoundException; use OCP\Files\SimpleFS\ISimpleFile; use OCP\Files\SimpleFS\ISimpleFolder; -use OCP\IAppConfig; use PHPUnit\Framework\MockObject\MockObject; use Psr\Log\LoggerInterface; use Symfony\Component\Uid\Uuid; use Test\TestCase; -class DefaultContactServiceTest extends TestCase { - protected DefaultContactService $service; +class ExampleContactServiceTest extends TestCase { + protected ExampleContactService $service; protected CardDavBackend&MockObject $cardDav; protected IAppManager&MockObject $appManager; protected IAppDataFactory&MockObject $appDataFactory; protected LoggerInterface&MockObject $logger; - protected IAppConfig&MockObject $config; + protected IAppConfig&MockObject $appConfig; + protected IAppData&MockObject $appData; protected function setUp(): void { parent::setUp(); $this->cardDav = $this->createMock(CardDavBackend::class); - $this->appManager = $this->createMock(IAppManager::class); $this->appDataFactory = $this->createMock(IAppDataFactory::class); $this->logger = $this->createMock(LoggerInterface::class); - $this->config = $this->createMock(IAppConfig::class); + $this->appConfig = $this->createMock(IAppConfig::class); - $this->service = new DefaultContactService( - $this->cardDav, - $this->appManager, + $this->appData = $this->createMock(IAppData::class); + $this->appDataFactory->method('get') + ->with('dav') + ->willReturn($this->appData); + + $this->service = new ExampleContactService( $this->appDataFactory, - $this->config, + $this->appConfig, $this->logger, + $this->cardDav, ); } public function testCreateDefaultContactWithInvalidCard(): void { // Invalid vCard missing required FN property $vcardContent = "BEGIN:VCARD\nVERSION:3.0\nEND:VCARD"; - $this->config->method('getValueString')->willReturn('yes'); - $appData = $this->createMock(IAppData::class); + $this->appConfig->method('getAppValueBool') + ->with('enableDefaultContact', true) + ->willReturn(true); $folder = $this->createMock(ISimpleFolder::class); $file = $this->createMock(ISimpleFile::class); $file->method('getContent')->willReturn($vcardContent); $folder->method('getFile')->willReturn($file); - $appData->method('getFolder')->willReturn($folder); - $this->appDataFactory->method('get')->willReturn($appData); + $this->appData->method('getFolder')->willReturn($folder); $this->logger->expects($this->once()) ->method('error') @@ -76,14 +80,14 @@ class DefaultContactServiceTest extends TestCase { $originalRev = '20200101T000000Z'; $vcardContent = "BEGIN:VCARD\nVERSION:3.0\nFN:Test User\nUID:$originalUid\nREV:$originalRev\nEND:VCARD"; - $this->config->method('getValueString')->willReturn('yes'); - $appData = $this->createMock(IAppData::class); + $this->appConfig->method('getAppValueBool') + ->with('enableDefaultContact', true) + ->willReturn(true); $folder = $this->createMock(ISimpleFolder::class); $file = $this->createMock(ISimpleFile::class); $file->method('getContent')->willReturn($vcardContent); $folder->method('getFile')->willReturn($file); - $appData->method('getFolder')->willReturn($folder); - $this->appDataFactory->method('get')->willReturn($appData); + $this->appData->method('getFolder')->willReturn($folder); $capturedCardData = null; $this->cardDav->expects($this->once()) @@ -107,10 +111,10 @@ class DefaultContactServiceTest extends TestCase { } public function testDefaultContactFileDoesNotExist(): void { - $appData = $this->createMock(IAppData::class); - $this->config->method('getValueString')->willReturn('yes'); - $appData->method('getFolder')->willThrowException(new NotFoundException()); - $this->appDataFactory->method('get')->willReturn($appData); + $this->appConfig->method('getAppValueBool') + ->with('enableDefaultContact', true) + ->willReturn(true); + $this->appData->method('getFolder')->willThrowException(new NotFoundException()); $this->cardDav->expects($this->never()) ->method('createCard'); @@ -121,14 +125,14 @@ class DefaultContactServiceTest extends TestCase { public function testUidAndRevAreAddedIfMissing(): void { $vcardContent = "BEGIN:VCARD\nVERSION:3.0\nFN:Test User\nEND:VCARD"; - $this->config->method('getValueString')->willReturn('yes'); - $appData = $this->createMock(IAppData::class); + $this->appConfig->method('getAppValueBool') + ->with('enableDefaultContact', true) + ->willReturn(true); $folder = $this->createMock(ISimpleFolder::class); $file = $this->createMock(ISimpleFile::class); $file->method('getContent')->willReturn($vcardContent); $folder->method('getFile')->willReturn($file); - $appData->method('getFolder')->willReturn($folder); - $this->appDataFactory->method('get')->willReturn($appData); + $this->appData->method('getFolder')->willReturn($folder); $capturedCardData = 'new-card-data'; @@ -154,7 +158,9 @@ class DefaultContactServiceTest extends TestCase { } public function testDefaultContactIsNotCreatedIfEnabled(): void { - $this->config->method('getValueString')->willReturn('no'); + $this->appConfig->method('getAppValueBool') + ->with('enableDefaultContact', true) + ->willReturn(false); $this->logger->expects($this->never()) ->method('error'); $this->cardDav->expects($this->never()) @@ -162,4 +168,27 @@ class DefaultContactServiceTest extends TestCase { $this->service->createDefaultContact(123); } + + public static function provideDefaultContactEnableData(): array { + return [[true], [false]]; + } + + /** @dataProvider provideDefaultContactEnableData */ + public function testIsDefaultContactEnabled(bool $enabled): void { + $this->appConfig->expects(self::once()) + ->method('getAppValueBool') + ->with('enableDefaultContact', true) + ->willReturn($enabled); + + $this->assertEquals($enabled, $this->service->isDefaultContactEnabled()); + } + + /** @dataProvider provideDefaultContactEnableData */ + public function testSetDefaultContactEnabled(bool $enabled): void { + $this->appConfig->expects(self::once()) + ->method('setAppValueBool') + ->with('enableDefaultContact', $enabled); + + $this->service->setDefaultContactEnabled($enabled); + } } |