summaryrefslogtreecommitdiffstats
path: root/apps/dav
diff options
context:
space:
mode:
Diffstat (limited to 'apps/dav')
-rw-r--r--apps/dav/composer/composer/InstalledVersions.php14
-rw-r--r--apps/dav/composer/composer/autoload_classmap.php4
-rw-r--r--apps/dav/composer/composer/autoload_static.php4
-rw-r--r--apps/dav/l10n/bg.js46
-rw-r--r--apps/dav/l10n/bg.json46
-rw-r--r--apps/dav/l10n/ca.js27
-rw-r--r--apps/dav/l10n/ca.json27
-rw-r--r--apps/dav/l10n/cs.js43
-rw-r--r--apps/dav/l10n/cs.json43
-rw-r--r--apps/dav/l10n/da.js26
-rw-r--r--apps/dav/l10n/da.json26
-rw-r--r--apps/dav/l10n/de.js47
-rw-r--r--apps/dav/l10n/de.json47
-rw-r--r--apps/dav/l10n/de_DE.js43
-rw-r--r--apps/dav/l10n/de_DE.json43
-rw-r--r--apps/dav/l10n/el.js36
-rw-r--r--apps/dav/l10n/el.json36
-rw-r--r--apps/dav/l10n/eo.js26
-rw-r--r--apps/dav/l10n/eo.json26
-rw-r--r--apps/dav/l10n/es.js43
-rw-r--r--apps/dav/l10n/es.json43
-rw-r--r--apps/dav/l10n/eu.js43
-rw-r--r--apps/dav/l10n/eu.json43
-rw-r--r--apps/dav/l10n/fi.js29
-rw-r--r--apps/dav/l10n/fi.json29
-rw-r--r--apps/dav/l10n/fr.js26
-rw-r--r--apps/dav/l10n/fr.json26
-rw-r--r--apps/dav/l10n/gl.js26
-rw-r--r--apps/dav/l10n/gl.json26
-rw-r--r--apps/dav/l10n/he.js26
-rw-r--r--apps/dav/l10n/he.json26
-rw-r--r--apps/dav/l10n/hr.js26
-rw-r--r--apps/dav/l10n/hr.json26
-rw-r--r--apps/dav/l10n/hu.js43
-rw-r--r--apps/dav/l10n/hu.json43
-rw-r--r--apps/dav/l10n/is.js26
-rw-r--r--apps/dav/l10n/is.json26
-rw-r--r--apps/dav/l10n/it.js26
-rw-r--r--apps/dav/l10n/it.json26
-rw-r--r--apps/dav/l10n/ja.js47
-rw-r--r--apps/dav/l10n/ja.json47
-rw-r--r--apps/dav/l10n/ko.js101
-rw-r--r--apps/dav/l10n/ko.json101
-rw-r--r--apps/dav/l10n/lt_LT.js26
-rw-r--r--apps/dav/l10n/lt_LT.json26
-rw-r--r--apps/dav/l10n/mk.js30
-rw-r--r--apps/dav/l10n/mk.json30
-rw-r--r--apps/dav/l10n/nb.js26
-rw-r--r--apps/dav/l10n/nb.json26
-rw-r--r--apps/dav/l10n/nl.js35
-rw-r--r--apps/dav/l10n/nl.json35
-rw-r--r--apps/dav/l10n/pl.js43
-rw-r--r--apps/dav/l10n/pl.json43
-rw-r--r--apps/dav/l10n/pt_BR.js43
-rw-r--r--apps/dav/l10n/pt_BR.json43
-rw-r--r--apps/dav/l10n/ru.js50
-rw-r--r--apps/dav/l10n/ru.json50
-rw-r--r--apps/dav/l10n/sc.js26
-rw-r--r--apps/dav/l10n/sc.json26
-rw-r--r--apps/dav/l10n/sk.js26
-rw-r--r--apps/dav/l10n/sk.json26
-rw-r--r--apps/dav/l10n/sl.js26
-rw-r--r--apps/dav/l10n/sl.json26
-rw-r--r--apps/dav/l10n/sr.js26
-rw-r--r--apps/dav/l10n/sr.json26
-rw-r--r--apps/dav/l10n/sv.js26
-rw-r--r--apps/dav/l10n/sv.json26
-rw-r--r--apps/dav/l10n/tr.js43
-rw-r--r--apps/dav/l10n/tr.json43
-rw-r--r--apps/dav/l10n/uk.js26
-rw-r--r--apps/dav/l10n/uk.json26
-rw-r--r--apps/dav/l10n/zh_CN.js26
-rw-r--r--apps/dav/l10n/zh_CN.json26
-rw-r--r--apps/dav/l10n/zh_HK.js43
-rw-r--r--apps/dav/l10n/zh_HK.json43
-rw-r--r--apps/dav/l10n/zh_TW.js43
-rw-r--r--apps/dav/l10n/zh_TW.json43
-rw-r--r--apps/dav/lib/AppInfo/Application.php24
-rw-r--r--apps/dav/lib/BackgroundJob/UserStatusAutomation.php188
-rw-r--r--apps/dav/lib/CalDAV/Activity/Backend.php102
-rw-r--r--apps/dav/lib/CalDAV/Activity/Filter/Todo.php2
-rw-r--r--apps/dav/lib/CalDAV/Activity/Provider/Event.php23
-rw-r--r--apps/dav/lib/CalDAV/Activity/Provider/Todo.php42
-rw-r--r--apps/dav/lib/CalDAV/Activity/Setting/Todo.php2
-rw-r--r--apps/dav/lib/CalDAV/CalDavBackend.php78
-rw-r--r--apps/dav/lib/CalDAV/Calendar.php64
-rw-r--r--apps/dav/lib/CalDAV/CalendarObject.php7
-rw-r--r--apps/dav/lib/CardDAV/AddressBook.php24
-rw-r--r--apps/dav/lib/CardDAV/CardDavBackend.php67
-rw-r--r--apps/dav/lib/CardDAV/SyncService.php88
-rw-r--r--apps/dav/lib/Command/MoveCalendar.php44
-rw-r--r--apps/dav/lib/Connector/Sabre/Directory.php4
-rw-r--r--apps/dav/lib/DAV/CustomPropertiesBackend.php130
-rw-r--r--apps/dav/lib/DAV/Sharing/Backend.php78
-rw-r--r--apps/dav/lib/DAV/Sharing/IShareable.php20
-rw-r--r--apps/dav/lib/Events/CalendarObjectMovedEvent.php120
-rw-r--r--apps/dav/lib/Events/CalendarShareUpdatedEvent.php39
-rw-r--r--apps/dav/lib/Listener/ActivityUpdaterListener.php22
-rw-r--r--apps/dav/lib/Listener/TrustedServerRemovedListener.php50
-rw-r--r--apps/dav/lib/Listener/UserPreferenceListener.php59
-rw-r--r--apps/dav/lib/Settings/AvailabilitySettings.php24
-rw-r--r--apps/dav/lib/UserMigration/ContactsMigrator.php4
-rw-r--r--apps/dav/src/service/PreferenceService.js50
-rw-r--r--apps/dav/src/views/Availability.vue17
-rw-r--r--apps/dav/tests/unit/BackgroundJob/CleanupInvitationTokenJobTest.php6
-rw-r--r--apps/dav/tests/unit/Comments/CommentsNodeTest.php5
-rw-r--r--apps/dav/tests/unit/Controller/InvitationResponseControllerTest.php6
107 files changed, 2641 insertions, 1410 deletions
diff --git a/apps/dav/composer/composer/InstalledVersions.php b/apps/dav/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/dav/composer/composer/InstalledVersions.php
+++ b/apps/dav/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/dav/composer/composer/autoload_classmap.php b/apps/dav/composer/composer/autoload_classmap.php
index 6f02140df40..b01ae68e43a 100644
--- a/apps/dav/composer/composer/autoload_classmap.php
+++ b/apps/dav/composer/composer/autoload_classmap.php
@@ -22,6 +22,7 @@ return array(
'OCA\\DAV\\BackgroundJob\\RegisterRegenerateBirthdayCalendars' => $baseDir . '/../lib/BackgroundJob/RegisterRegenerateBirthdayCalendars.php',
'OCA\\DAV\\BackgroundJob\\UpdateCalendarResourcesRoomsBackgroundJob' => $baseDir . '/../lib/BackgroundJob/UpdateCalendarResourcesRoomsBackgroundJob.php',
'OCA\\DAV\\BackgroundJob\\UploadCleanup' => $baseDir . '/../lib/BackgroundJob/UploadCleanup.php',
+ 'OCA\\DAV\\BackgroundJob\\UserStatusAutomation' => $baseDir . '/../lib/BackgroundJob/UserStatusAutomation.php',
'OCA\\DAV\\BulkUpload\\BulkUploadPlugin' => $baseDir . '/../lib/BulkUpload/BulkUploadPlugin.php',
'OCA\\DAV\\BulkUpload\\MultipartRequestParser' => $baseDir . '/../lib/BulkUpload/MultipartRequestParser.php',
'OCA\\DAV\\CalDAV\\Activity\\Backend' => $baseDir . '/../lib/CalDAV/Activity/Backend.php',
@@ -209,6 +210,7 @@ return array(
'OCA\\DAV\\Events\\CalendarMovedToTrashEvent' => $baseDir . '/../lib/Events/CalendarMovedToTrashEvent.php',
'OCA\\DAV\\Events\\CalendarObjectCreatedEvent' => $baseDir . '/../lib/Events/CalendarObjectCreatedEvent.php',
'OCA\\DAV\\Events\\CalendarObjectDeletedEvent' => $baseDir . '/../lib/Events/CalendarObjectDeletedEvent.php',
+ 'OCA\\DAV\\Events\\CalendarObjectMovedEvent' => $baseDir . '/../lib/Events/CalendarObjectMovedEvent.php',
'OCA\\DAV\\Events\\CalendarObjectMovedToTrashEvent' => $baseDir . '/../lib/Events/CalendarObjectMovedToTrashEvent.php',
'OCA\\DAV\\Events\\CalendarObjectRestoredEvent' => $baseDir . '/../lib/Events/CalendarObjectRestoredEvent.php',
'OCA\\DAV\\Events\\CalendarObjectUpdatedEvent' => $baseDir . '/../lib/Events/CalendarObjectUpdatedEvent.php',
@@ -245,6 +247,8 @@ return array(
'OCA\\DAV\\Listener\\CardListener' => $baseDir . '/../lib/Listener/CardListener.php',
'OCA\\DAV\\Listener\\ClearPhotoCacheListener' => $baseDir . '/../lib/Listener/ClearPhotoCacheListener.php',
'OCA\\DAV\\Listener\\SubscriptionListener' => $baseDir . '/../lib/Listener/SubscriptionListener.php',
+ 'OCA\\DAV\\Listener\\TrustedServerRemovedListener' => $baseDir . '/../lib/Listener/TrustedServerRemovedListener.php',
+ 'OCA\\DAV\\Listener\\UserPreferenceListener' => $baseDir . '/../lib/Listener/UserPreferenceListener.php',
'OCA\\DAV\\Migration\\BuildCalendarSearchIndex' => $baseDir . '/../lib/Migration/BuildCalendarSearchIndex.php',
'OCA\\DAV\\Migration\\BuildCalendarSearchIndexBackgroundJob' => $baseDir . '/../lib/Migration/BuildCalendarSearchIndexBackgroundJob.php',
'OCA\\DAV\\Migration\\BuildSocialSearchIndex' => $baseDir . '/../lib/Migration/BuildSocialSearchIndex.php',
diff --git a/apps/dav/composer/composer/autoload_static.php b/apps/dav/composer/composer/autoload_static.php
index 296b8a497c9..4c9a1dcc793 100644
--- a/apps/dav/composer/composer/autoload_static.php
+++ b/apps/dav/composer/composer/autoload_static.php
@@ -37,6 +37,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\BackgroundJob\\RegisterRegenerateBirthdayCalendars' => __DIR__ . '/..' . '/../lib/BackgroundJob/RegisterRegenerateBirthdayCalendars.php',
'OCA\\DAV\\BackgroundJob\\UpdateCalendarResourcesRoomsBackgroundJob' => __DIR__ . '/..' . '/../lib/BackgroundJob/UpdateCalendarResourcesRoomsBackgroundJob.php',
'OCA\\DAV\\BackgroundJob\\UploadCleanup' => __DIR__ . '/..' . '/../lib/BackgroundJob/UploadCleanup.php',
+ 'OCA\\DAV\\BackgroundJob\\UserStatusAutomation' => __DIR__ . '/..' . '/../lib/BackgroundJob/UserStatusAutomation.php',
'OCA\\DAV\\BulkUpload\\BulkUploadPlugin' => __DIR__ . '/..' . '/../lib/BulkUpload/BulkUploadPlugin.php',
'OCA\\DAV\\BulkUpload\\MultipartRequestParser' => __DIR__ . '/..' . '/../lib/BulkUpload/MultipartRequestParser.php',
'OCA\\DAV\\CalDAV\\Activity\\Backend' => __DIR__ . '/..' . '/../lib/CalDAV/Activity/Backend.php',
@@ -224,6 +225,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Events\\CalendarMovedToTrashEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarMovedToTrashEvent.php',
'OCA\\DAV\\Events\\CalendarObjectCreatedEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarObjectCreatedEvent.php',
'OCA\\DAV\\Events\\CalendarObjectDeletedEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarObjectDeletedEvent.php',
+ 'OCA\\DAV\\Events\\CalendarObjectMovedEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarObjectMovedEvent.php',
'OCA\\DAV\\Events\\CalendarObjectMovedToTrashEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarObjectMovedToTrashEvent.php',
'OCA\\DAV\\Events\\CalendarObjectRestoredEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarObjectRestoredEvent.php',
'OCA\\DAV\\Events\\CalendarObjectUpdatedEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarObjectUpdatedEvent.php',
@@ -260,6 +262,8 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Listener\\CardListener' => __DIR__ . '/..' . '/../lib/Listener/CardListener.php',
'OCA\\DAV\\Listener\\ClearPhotoCacheListener' => __DIR__ . '/..' . '/../lib/Listener/ClearPhotoCacheListener.php',
'OCA\\DAV\\Listener\\SubscriptionListener' => __DIR__ . '/..' . '/../lib/Listener/SubscriptionListener.php',
+ 'OCA\\DAV\\Listener\\TrustedServerRemovedListener' => __DIR__ . '/..' . '/../lib/Listener/TrustedServerRemovedListener.php',
+ 'OCA\\DAV\\Listener\\UserPreferenceListener' => __DIR__ . '/..' . '/../lib/Listener/UserPreferenceListener.php',
'OCA\\DAV\\Migration\\BuildCalendarSearchIndex' => __DIR__ . '/..' . '/../lib/Migration/BuildCalendarSearchIndex.php',
'OCA\\DAV\\Migration\\BuildCalendarSearchIndexBackgroundJob' => __DIR__ . '/..' . '/../lib/Migration/BuildCalendarSearchIndexBackgroundJob.php',
'OCA\\DAV\\Migration\\BuildSocialSearchIndex' => __DIR__ . '/..' . '/../lib/Migration/BuildSocialSearchIndex.php',
diff --git a/apps/dav/l10n/bg.js b/apps/dav/l10n/bg.js
index f4842a46d30..690115069c3 100644
--- a/apps/dav/l10n/bg.js
+++ b/apps/dav/l10n/bg.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Календар",
- "Todos" : "Задачи",
+ "To-dos" : "Задачи за изпълнение",
"Personal" : "Личен",
"{actor} created calendar {calendar}" : "{actor} направи календар {calendar}",
"You created calendar {calendar}" : "Създадохте календара {calendar}",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Изтрихте събитие {event} от календар {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} обнови събитие {event} в календар {calendar}",
"You updated event {event} in calendar {calendar}" : "Обновихте събитие {event} в календар {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} премести събитие {event} от календар {sourceCalendar} в календар {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Преместихте събитие {event} от календар {sourceCalendar} в календар {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} възстанови събитие {event} от календар {calendar}",
"You restored event {event} of calendar {calendar}" : "Вие възстановихте събитие {event} от календар {calendar}",
"Busy" : "Зает",
- "{actor} created todo {todo} in list {calendar}" : "{actor} създаде задача {todo} в списък {calendar}",
- "You created todo {todo} in list {calendar}" : "Създадохте задача {todo} в списък {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} изтри задача {todo} от списък {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Изтрихте задача {todo} от списък {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} актуализира задача {todo} в списък {calendar}",
- "You updated todo {todo} in list {calendar}" : "Променихте задача {todo} в списък {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} разреши задача {todo} в списък {calendar}",
- "You solved todo {todo} in list {calendar}" : "Разрешихте задача {todo} в списък {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} възобнови задача {todo} в списък {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Възобновихте задача {todo} в списък {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} създаде задача {todo} в списък {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Създадохте задача {todo} в списък {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} изтри задача {todo} от списък {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Изтрихте задача {todo} от списък {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} актуализира задача {todo} в списък {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Актуализирахте задачи {todo} в списъка {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} разреши задача {todo} в списък {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Разрешихте задача {todo} в списък {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} отвори отново задача {todo} в списък {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Отворихте отново задача {todo} в списък {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} премести задача {todo} от списък {sourceCalendar} в списък {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Преместихте задача {todo} от списък {sourceCalendar} в списък {targetCalendar}",
"Calendar, contacts and tasks" : "Календар, контакти и задачи",
"A <strong>calendar</strong> was modified" : "Промяна на <strong>календар</strong>",
"A calendar <strong>event</strong> was modified" : "Промяна на календарно <strong>събитие</strong>",
- "A calendar <strong>todo</strong> was modified" : "Промяна на календарна <strong>задача</strong>",
+ "A calendar <strong>to-do</strong> was modified" : "<strong>задача</strong>от календар беше променена",
"Contact birthdays" : "Рождени дни на контакти",
"Death of %s" : "Смърт на %s",
"Calendar:" : "Календар:",
@@ -155,7 +159,11 @@ OC.L10N.register(
"Friday" : "Петък",
"Saturday" : "Събота",
"Sunday" : "Неделя",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Автоматично задаване на потребителският статус на „Не безпокойте“ извън достъпността, за заглушаване на всички известия.",
"Save" : "Запазване",
+ "Failed to load availability" : "Неуспешно зареждане на наличност",
+ "Saved availability" : "Запазена наличност",
+ "Failed to save availability" : "Неуспешно записване на наличност",
"Calendar server" : "Сървър на календар",
"Send invitations to attendees" : "Изпращане на покани до участниците",
"Automatically generate a birthday calendar" : "Автоматично генериране на календар с рождени дни.",
@@ -174,6 +182,18 @@ OC.L10N.register(
"Tentative" : "Несигурно",
"Number of guests" : "Брой на гостите ",
"Comment" : "Коментар",
- "Your attendance was updated successfully." : "Вашето присъствие е актуализирано успешно."
+ "Your attendance was updated successfully." : "Вашето присъствие е актуализирано успешно.",
+ "Todos" : "Задачи",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} създаде задача {todo} в списък {calendar}",
+ "You created todo {todo} in list {calendar}" : "Създадохте задача {todo} в списък {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} изтри задача {todo} от списък {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Изтрихте задача {todo} от списък {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} актуализира задача {todo} в списък {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Променихте задача {todo} в списък {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} разреши задача {todo} в списък {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Разрешихте задача {todo} в списък {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} възобнови задача {todo} в списък {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Възобновихте задача {todo} в списък {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Промяна на календарна <strong>задача</strong>"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/bg.json b/apps/dav/l10n/bg.json
index 3a6ffd3e5fe..85f51d6e36b 100644
--- a/apps/dav/l10n/bg.json
+++ b/apps/dav/l10n/bg.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Календар",
- "Todos" : "Задачи",
+ "To-dos" : "Задачи за изпълнение",
"Personal" : "Личен",
"{actor} created calendar {calendar}" : "{actor} направи календар {calendar}",
"You created calendar {calendar}" : "Създадохте календара {calendar}",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "Изтрихте събитие {event} от календар {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} обнови събитие {event} в календар {calendar}",
"You updated event {event} in calendar {calendar}" : "Обновихте събитие {event} в календар {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} премести събитие {event} от календар {sourceCalendar} в календар {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Преместихте събитие {event} от календар {sourceCalendar} в календар {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} възстанови събитие {event} от календар {calendar}",
"You restored event {event} of calendar {calendar}" : "Вие възстановихте събитие {event} от календар {calendar}",
"Busy" : "Зает",
- "{actor} created todo {todo} in list {calendar}" : "{actor} създаде задача {todo} в списък {calendar}",
- "You created todo {todo} in list {calendar}" : "Създадохте задача {todo} в списък {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} изтри задача {todo} от списък {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Изтрихте задача {todo} от списък {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} актуализира задача {todo} в списък {calendar}",
- "You updated todo {todo} in list {calendar}" : "Променихте задача {todo} в списък {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} разреши задача {todo} в списък {calendar}",
- "You solved todo {todo} in list {calendar}" : "Разрешихте задача {todo} в списък {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} възобнови задача {todo} в списък {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Възобновихте задача {todo} в списък {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} създаде задача {todo} в списък {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Създадохте задача {todo} в списък {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} изтри задача {todo} от списък {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Изтрихте задача {todo} от списък {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} актуализира задача {todo} в списък {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Актуализирахте задачи {todo} в списъка {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} разреши задача {todo} в списък {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Разрешихте задача {todo} в списък {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} отвори отново задача {todo} в списък {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Отворихте отново задача {todo} в списък {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} премести задача {todo} от списък {sourceCalendar} в списък {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Преместихте задача {todo} от списък {sourceCalendar} в списък {targetCalendar}",
"Calendar, contacts and tasks" : "Календар, контакти и задачи",
"A <strong>calendar</strong> was modified" : "Промяна на <strong>календар</strong>",
"A calendar <strong>event</strong> was modified" : "Промяна на календарно <strong>събитие</strong>",
- "A calendar <strong>todo</strong> was modified" : "Промяна на календарна <strong>задача</strong>",
+ "A calendar <strong>to-do</strong> was modified" : "<strong>задача</strong>от календар беше променена",
"Contact birthdays" : "Рождени дни на контакти",
"Death of %s" : "Смърт на %s",
"Calendar:" : "Календар:",
@@ -153,7 +157,11 @@
"Friday" : "Петък",
"Saturday" : "Събота",
"Sunday" : "Неделя",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Автоматично задаване на потребителският статус на „Не безпокойте“ извън достъпността, за заглушаване на всички известия.",
"Save" : "Запазване",
+ "Failed to load availability" : "Неуспешно зареждане на наличност",
+ "Saved availability" : "Запазена наличност",
+ "Failed to save availability" : "Неуспешно записване на наличност",
"Calendar server" : "Сървър на календар",
"Send invitations to attendees" : "Изпращане на покани до участниците",
"Automatically generate a birthday calendar" : "Автоматично генериране на календар с рождени дни.",
@@ -172,6 +180,18 @@
"Tentative" : "Несигурно",
"Number of guests" : "Брой на гостите ",
"Comment" : "Коментар",
- "Your attendance was updated successfully." : "Вашето присъствие е актуализирано успешно."
+ "Your attendance was updated successfully." : "Вашето присъствие е актуализирано успешно.",
+ "Todos" : "Задачи",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} създаде задача {todo} в списък {calendar}",
+ "You created todo {todo} in list {calendar}" : "Създадохте задача {todo} в списък {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} изтри задача {todo} от списък {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Изтрихте задача {todo} от списък {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} актуализира задача {todo} в списък {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Променихте задача {todo} в списък {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} разреши задача {todo} в списък {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Разрешихте задача {todo} в списък {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} възобнови задача {todo} в списък {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Възобновихте задача {todo} в списък {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Промяна на календарна <strong>задача</strong>"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/ca.js b/apps/dav/l10n/ca.js
index 63d0d35c797..a1d37e37ba3 100644
--- a/apps/dav/l10n/ca.js
+++ b/apps/dav/l10n/ca.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Calendari",
- "Todos" : "Tasques",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} ha creat el calendari {calendar}",
"You created calendar {calendar}" : "Heu creat el calendari {calendar}",
@@ -31,19 +30,8 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "{actor} esdeveniment actualitzat {esdeveniment} al calendari {calendar}",
"You updated event {event} in calendar {calendar}" : "Heu actualitzat l'esdeveniment {event} al calendari {calendar}",
"Busy" : "Ocupat",
- "{actor} created todo {todo} in list {calendar}" : "{actor} ha creat la tasca {todo} a {calendar}",
- "You created todo {todo} in list {calendar}" : "Heu creat la tasca {todo} a {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} ha suprimit la tasca {todo} de la llista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Heu suprimit la tasca {todo} de la llista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ha actualitzat la tasca {todo} a {calendar}",
- "You updated todo {todo} in list {calendar}" : "Heu actualitzat la tasca {todo} a {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} ha resolt la tasca {todo} a {calendar}",
- "You solved todo {todo} in list {calendar}" : "Heu resolt la tasca {todo} a {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} ha tornat a obrir la tasca {todo} a {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Heu tornat a obrir la tasca {todo} a {calendar}",
"A <strong>calendar</strong> was modified" : "El <strong>calendari</strong> has estat modificat",
"A calendar <strong>event</strong> was modified" : "S'ha modificat un <strong> esdeveniment </strong> del calendari",
- "A calendar <strong>todo</strong> was modified" : "S'ha modificat una <strong>tasca</strong> d'un calendari",
"Contact birthdays" : "Aniversaris dels contactes",
"Death of %s" : "Mort de %s",
"Calendar:" : "Calendari:",
@@ -90,6 +78,7 @@ OC.L10N.register(
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "Punt final de WebDAV",
"to" : "a",
+ "Delete slot" : "Suprimeix unitat temporal",
"Monday" : "Dilluns",
"Tuesday" : "Dimarts",
"Wednesday" : "Dimecres",
@@ -113,6 +102,18 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Accepteu la invitació?",
"Tentative" : "Provisional",
"Comment" : "Comentari",
- "Your attendance was updated successfully." : "La vostra assistència ha estat actualitzada correctament."
+ "Your attendance was updated successfully." : "La vostra assistència ha estat actualitzada correctament.",
+ "Todos" : "Tasques",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} ha creat la tasca {todo} a {calendar}",
+ "You created todo {todo} in list {calendar}" : "Heu creat la tasca {todo} a {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} ha suprimit la tasca {todo} de la llista {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Heu suprimit la tasca {todo} de la llista {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} ha actualitzat la tasca {todo} a {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Heu actualitzat la tasca {todo} a {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} ha resolt la tasca {todo} a {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Heu resolt la tasca {todo} a {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} ha tornat a obrir la tasca {todo} a {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Heu tornat a obrir la tasca {todo} a {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "S'ha modificat una <strong>tasca</strong> d'un calendari"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/ca.json b/apps/dav/l10n/ca.json
index 0952b65181b..5d339d4de30 100644
--- a/apps/dav/l10n/ca.json
+++ b/apps/dav/l10n/ca.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Calendari",
- "Todos" : "Tasques",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} ha creat el calendari {calendar}",
"You created calendar {calendar}" : "Heu creat el calendari {calendar}",
@@ -29,19 +28,8 @@
"{actor} updated event {event} in calendar {calendar}" : "{actor} esdeveniment actualitzat {esdeveniment} al calendari {calendar}",
"You updated event {event} in calendar {calendar}" : "Heu actualitzat l'esdeveniment {event} al calendari {calendar}",
"Busy" : "Ocupat",
- "{actor} created todo {todo} in list {calendar}" : "{actor} ha creat la tasca {todo} a {calendar}",
- "You created todo {todo} in list {calendar}" : "Heu creat la tasca {todo} a {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} ha suprimit la tasca {todo} de la llista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Heu suprimit la tasca {todo} de la llista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ha actualitzat la tasca {todo} a {calendar}",
- "You updated todo {todo} in list {calendar}" : "Heu actualitzat la tasca {todo} a {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} ha resolt la tasca {todo} a {calendar}",
- "You solved todo {todo} in list {calendar}" : "Heu resolt la tasca {todo} a {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} ha tornat a obrir la tasca {todo} a {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Heu tornat a obrir la tasca {todo} a {calendar}",
"A <strong>calendar</strong> was modified" : "El <strong>calendari</strong> has estat modificat",
"A calendar <strong>event</strong> was modified" : "S'ha modificat un <strong> esdeveniment </strong> del calendari",
- "A calendar <strong>todo</strong> was modified" : "S'ha modificat una <strong>tasca</strong> d'un calendari",
"Contact birthdays" : "Aniversaris dels contactes",
"Death of %s" : "Mort de %s",
"Calendar:" : "Calendari:",
@@ -88,6 +76,7 @@
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "Punt final de WebDAV",
"to" : "a",
+ "Delete slot" : "Suprimeix unitat temporal",
"Monday" : "Dilluns",
"Tuesday" : "Dimarts",
"Wednesday" : "Dimecres",
@@ -111,6 +100,18 @@
"Are you accepting the invitation?" : "Accepteu la invitació?",
"Tentative" : "Provisional",
"Comment" : "Comentari",
- "Your attendance was updated successfully." : "La vostra assistència ha estat actualitzada correctament."
+ "Your attendance was updated successfully." : "La vostra assistència ha estat actualitzada correctament.",
+ "Todos" : "Tasques",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} ha creat la tasca {todo} a {calendar}",
+ "You created todo {todo} in list {calendar}" : "Heu creat la tasca {todo} a {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} ha suprimit la tasca {todo} de la llista {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Heu suprimit la tasca {todo} de la llista {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} ha actualitzat la tasca {todo} a {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Heu actualitzat la tasca {todo} a {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} ha resolt la tasca {todo} a {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Heu resolt la tasca {todo} a {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} ha tornat a obrir la tasca {todo} a {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Heu tornat a obrir la tasca {todo} a {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "S'ha modificat una <strong>tasca</strong> d'un calendari"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/cs.js b/apps/dav/l10n/cs.js
index 5dfc5bcd147..f15065305a6 100644
--- a/apps/dav/l10n/cs.js
+++ b/apps/dav/l10n/cs.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalendář",
- "Todos" : "Úkoly",
+ "To-dos" : "Zbývá udělat",
"Personal" : "Osobní",
"{actor} created calendar {calendar}" : "{actor} vytvořil(a) kalendář {calendar}",
"You created calendar {calendar}" : "Vytvořili jste kalendář {calendar}",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Smazali jste událost {event} z kalendáře {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} aktualizoval(a) událost {event} v kalendáři {calendar}",
"You updated event {event} in calendar {calendar}" : "Aktualizovali jste událost {event} v kalendáři {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} přesunul(a) událost {event} z kalendáře {sourceCalendar} do kalendáře {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Přesunuli jste událost {event} z kalendáře {sourceCalendar} do kalendáře {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} obnovil(a) událost {event} kalendáře {calendar}",
"You restored event {event} of calendar {calendar}" : "Obnovili jste událost {event} kalendáře {calendar}",
"Busy" : "Zaneprázdněn(a)",
- "{actor} created todo {todo} in list {calendar}" : "{actor} vytvořil(a) v seznamu {calendar} vytvořila úkol {todo}",
- "You created todo {todo} in list {calendar}" : "V seznamu {calendar} jste vytvořili úkol {todo}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} smazal(a) úkol {todo} ze seznamu {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Ze seznamu {calendar} jste smazali úkol {todo}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} aktualizoval(a) úkol {todo} v seznamu {calendar}",
- "You updated todo {todo} in list {calendar}" : "Aktualizovali jste úkol {todo} v seznamu {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} vyřešil(a) úkol {todo} v seznamu {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vyřešili jste úkol {todo} v seznamu {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} znovu otevřel(a) úkol {todo} v seznamu {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Znovu jste otevřeli úkol {todo} v seznamu {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} vytvořil(a) úkol {todo} v seznamu {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Vytvořili jste úkol {todo} v seznamu {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} vymazal(a) úkol {todo} ze seznamu {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Vymazali jste úkol {todo} ze seznamu {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} aktualizoval(a) úkol {todo} v seznamu {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Aktualizovali jste úkol {todo} v seznamu {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} vyřešil(a) úkol {todo} v seznamu {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Vyřešili jste úkol {todo} v seznamu {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} znovu otevřel(a) úkol {todo} v seznamu {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Znovuotevřeli jste úkol {todo} v seznamu {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} přesunul(a) úkol {todo} ze seznamu {sourceCalendar} do seznamu {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Přesunuli jste úkol {todo} ze seznamu {sourceCalendar} do seznamu {targetCalendar}",
"Calendar, contacts and tasks" : "Kalendář, kontakty a úkoly",
"A <strong>calendar</strong> was modified" : "<strong>Kalendář</strong> byl změněn",
"A calendar <strong>event</strong> was modified" : "<strong>Událost</strong> v kalendáři byla změněna",
- "A calendar <strong>todo</strong> was modified" : "<strong>Úkol</strong> v kalendáři byl změněn",
+ "A calendar <strong>to-do</strong> was modified" : "Kalendář <strong>úkoly</strong> byl upraven",
"Contact birthdays" : "Narozeniny kontaktů",
"Death of %s" : "Datum úmrtí %s",
"Calendar:" : "Kalendář:",
@@ -155,6 +159,7 @@ OC.L10N.register(
"Friday" : "pátek",
"Saturday" : "sobota",
"Sunday" : "neděle",
+ "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 jako „Nerušit“ a ztlumit tak veškerá upozornění pro něho.",
"Save" : "Uložit",
"Failed to load availability" : "Nepodařilo se načíst dostupnost",
"Saved availability" : "Uložena dostupnost",
@@ -177,6 +182,18 @@ OC.L10N.register(
"Tentative" : "Nezávazně",
"Number of guests" : "Počet hostů",
"Comment" : "Komentář",
- "Your attendance was updated successfully." : "Vaše účast byla úspěšně aktualizována."
+ "Your attendance was updated successfully." : "Vaše účast byla úspěšně aktualizována.",
+ "Todos" : "Úkoly",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} vytvořil(a) v seznamu {calendar} vytvořila úkol {todo}",
+ "You created todo {todo} in list {calendar}" : "V seznamu {calendar} jste vytvořili úkol {todo}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} smazal(a) úkol {todo} ze seznamu {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Ze seznamu {calendar} jste smazali úkol {todo}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} aktualizoval(a) úkol {todo} v seznamu {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Aktualizovali jste úkol {todo} v seznamu {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} vyřešil(a) úkol {todo} v seznamu {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vyřešili jste úkol {todo} v seznamu {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} znovu otevřel(a) úkol {todo} v seznamu {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Znovu jste otevřeli úkol {todo} v seznamu {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "<strong>Úkol</strong> v kalendáři byl změněn"
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");
diff --git a/apps/dav/l10n/cs.json b/apps/dav/l10n/cs.json
index 12df93f770d..91635a5353f 100644
--- a/apps/dav/l10n/cs.json
+++ b/apps/dav/l10n/cs.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Kalendář",
- "Todos" : "Úkoly",
+ "To-dos" : "Zbývá udělat",
"Personal" : "Osobní",
"{actor} created calendar {calendar}" : "{actor} vytvořil(a) kalendář {calendar}",
"You created calendar {calendar}" : "Vytvořili jste kalendář {calendar}",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "Smazali jste událost {event} z kalendáře {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} aktualizoval(a) událost {event} v kalendáři {calendar}",
"You updated event {event} in calendar {calendar}" : "Aktualizovali jste událost {event} v kalendáři {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} přesunul(a) událost {event} z kalendáře {sourceCalendar} do kalendáře {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Přesunuli jste událost {event} z kalendáře {sourceCalendar} do kalendáře {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} obnovil(a) událost {event} kalendáře {calendar}",
"You restored event {event} of calendar {calendar}" : "Obnovili jste událost {event} kalendáře {calendar}",
"Busy" : "Zaneprázdněn(a)",
- "{actor} created todo {todo} in list {calendar}" : "{actor} vytvořil(a) v seznamu {calendar} vytvořila úkol {todo}",
- "You created todo {todo} in list {calendar}" : "V seznamu {calendar} jste vytvořili úkol {todo}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} smazal(a) úkol {todo} ze seznamu {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Ze seznamu {calendar} jste smazali úkol {todo}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} aktualizoval(a) úkol {todo} v seznamu {calendar}",
- "You updated todo {todo} in list {calendar}" : "Aktualizovali jste úkol {todo} v seznamu {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} vyřešil(a) úkol {todo} v seznamu {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vyřešili jste úkol {todo} v seznamu {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} znovu otevřel(a) úkol {todo} v seznamu {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Znovu jste otevřeli úkol {todo} v seznamu {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} vytvořil(a) úkol {todo} v seznamu {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Vytvořili jste úkol {todo} v seznamu {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} vymazal(a) úkol {todo} ze seznamu {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Vymazali jste úkol {todo} ze seznamu {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} aktualizoval(a) úkol {todo} v seznamu {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Aktualizovali jste úkol {todo} v seznamu {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} vyřešil(a) úkol {todo} v seznamu {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Vyřešili jste úkol {todo} v seznamu {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} znovu otevřel(a) úkol {todo} v seznamu {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Znovuotevřeli jste úkol {todo} v seznamu {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} přesunul(a) úkol {todo} ze seznamu {sourceCalendar} do seznamu {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Přesunuli jste úkol {todo} ze seznamu {sourceCalendar} do seznamu {targetCalendar}",
"Calendar, contacts and tasks" : "Kalendář, kontakty a úkoly",
"A <strong>calendar</strong> was modified" : "<strong>Kalendář</strong> byl změněn",
"A calendar <strong>event</strong> was modified" : "<strong>Událost</strong> v kalendáři byla změněna",
- "A calendar <strong>todo</strong> was modified" : "<strong>Úkol</strong> v kalendáři byl změněn",
+ "A calendar <strong>to-do</strong> was modified" : "Kalendář <strong>úkoly</strong> byl upraven",
"Contact birthdays" : "Narozeniny kontaktů",
"Death of %s" : "Datum úmrtí %s",
"Calendar:" : "Kalendář:",
@@ -153,6 +157,7 @@
"Friday" : "pátek",
"Saturday" : "sobota",
"Sunday" : "neděle",
+ "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 jako „Nerušit“ a ztlumit tak veškerá upozornění pro něho.",
"Save" : "Uložit",
"Failed to load availability" : "Nepodařilo se načíst dostupnost",
"Saved availability" : "Uložena dostupnost",
@@ -175,6 +180,18 @@
"Tentative" : "Nezávazně",
"Number of guests" : "Počet hostů",
"Comment" : "Komentář",
- "Your attendance was updated successfully." : "Vaše účast byla úspěšně aktualizována."
+ "Your attendance was updated successfully." : "Vaše účast byla úspěšně aktualizována.",
+ "Todos" : "Úkoly",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} vytvořil(a) v seznamu {calendar} vytvořila úkol {todo}",
+ "You created todo {todo} in list {calendar}" : "V seznamu {calendar} jste vytvořili úkol {todo}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} smazal(a) úkol {todo} ze seznamu {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Ze seznamu {calendar} jste smazali úkol {todo}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} aktualizoval(a) úkol {todo} v seznamu {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Aktualizovali jste úkol {todo} v seznamu {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} vyřešil(a) úkol {todo} v seznamu {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vyřešili jste úkol {todo} v seznamu {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} znovu otevřel(a) úkol {todo} v seznamu {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Znovu jste otevřeli úkol {todo} v seznamu {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "<strong>Úkol</strong> v kalendáři byl změněn"
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
} \ No newline at end of file
diff --git a/apps/dav/l10n/da.js b/apps/dav/l10n/da.js
index ec7ca67b4c7..0018b8f7947 100644
--- a/apps/dav/l10n/da.js
+++ b/apps/dav/l10n/da.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalender",
- "Todos" : "Opgaver",
"Personal" : "Personligt",
"{actor} created calendar {calendar}" : "{actor} oprettede kalenderen {calendar}",
"You created calendar {calendar}" : "Du oprettede kalenderen {calendar}",
@@ -35,20 +34,9 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor} gendannede begivenhed {event} i kalender {calendar}",
"You restored event {event} of calendar {calendar}" : "Du gendannede begivenhed {begivenhed} i kalender {kalender}",
"Busy" : "Optaget",
- "{actor} created todo {todo} in list {calendar}" : "{actor} oprettede en opgave {todo} i listen {calendar}",
- "You created todo {todo} in list {calendar}" : "Du oprettede opgaven {todo} i listen {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettede opgaven {todo} fra listen {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Du slettede opgaven {todo} fra listen {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} opdaterede opgaven {todo} i listen {calendar}",
- "You updated todo {todo} in list {calendar}" : "Du opdaterede opgaven {todo} i listen {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} løste opgaven {todo} i listen {calendar}",
- "You solved todo {todo} in list {calendar}" : "Du løste opgaven {todo} i listen {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} genåbnede opgaven {todo} i listen {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Du genåbnede opgaven {todo} i listen {calendar}",
"Calendar, contacts and tasks" : "Kalender, kontakter og opgaver",
"A <strong>calendar</strong> was modified" : "En <strong>kalender</strong> er blevet ændret",
"A calendar <strong>event</strong> was modified" : "En kalender <strong>begivenhed</strong> er blevet ændret",
- "A calendar <strong>todo</strong> was modified" : "En kalender <strong>opgave</strong> blev ændret",
"Contact birthdays" : "Kontakt fødselsdag",
"Death of %s" : "Død af%s",
"Calendar:" : "Kalender:",
@@ -102,6 +90,18 @@ OC.L10N.register(
"Hence they will not be available immediately after enabling but will show up after some time." : "Derfor vil de ikke blive synlige med det samme efter aktivering, men vil vise sig efter noget tid.",
"Are you accepting the invitation?" : "Accepter du invitationen?",
"Tentative" : "Foreløbig",
- "Comment" : "Kommentér"
+ "Comment" : "Kommentér",
+ "Todos" : "Opgaver",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} oprettede en opgave {todo} i listen {calendar}",
+ "You created todo {todo} in list {calendar}" : "Du oprettede opgaven {todo} i listen {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettede opgaven {todo} fra listen {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Du slettede opgaven {todo} fra listen {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} opdaterede opgaven {todo} i listen {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Du opdaterede opgaven {todo} i listen {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} løste opgaven {todo} i listen {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Du løste opgaven {todo} i listen {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} genåbnede opgaven {todo} i listen {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Du genåbnede opgaven {todo} i listen {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "En kalender <strong>opgave</strong> blev ændret"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/da.json b/apps/dav/l10n/da.json
index 56cbfd455cd..aa71d4631af 100644
--- a/apps/dav/l10n/da.json
+++ b/apps/dav/l10n/da.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Kalender",
- "Todos" : "Opgaver",
"Personal" : "Personligt",
"{actor} created calendar {calendar}" : "{actor} oprettede kalenderen {calendar}",
"You created calendar {calendar}" : "Du oprettede kalenderen {calendar}",
@@ -33,20 +32,9 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor} gendannede begivenhed {event} i kalender {calendar}",
"You restored event {event} of calendar {calendar}" : "Du gendannede begivenhed {begivenhed} i kalender {kalender}",
"Busy" : "Optaget",
- "{actor} created todo {todo} in list {calendar}" : "{actor} oprettede en opgave {todo} i listen {calendar}",
- "You created todo {todo} in list {calendar}" : "Du oprettede opgaven {todo} i listen {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettede opgaven {todo} fra listen {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Du slettede opgaven {todo} fra listen {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} opdaterede opgaven {todo} i listen {calendar}",
- "You updated todo {todo} in list {calendar}" : "Du opdaterede opgaven {todo} i listen {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} løste opgaven {todo} i listen {calendar}",
- "You solved todo {todo} in list {calendar}" : "Du løste opgaven {todo} i listen {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} genåbnede opgaven {todo} i listen {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Du genåbnede opgaven {todo} i listen {calendar}",
"Calendar, contacts and tasks" : "Kalender, kontakter og opgaver",
"A <strong>calendar</strong> was modified" : "En <strong>kalender</strong> er blevet ændret",
"A calendar <strong>event</strong> was modified" : "En kalender <strong>begivenhed</strong> er blevet ændret",
- "A calendar <strong>todo</strong> was modified" : "En kalender <strong>opgave</strong> blev ændret",
"Contact birthdays" : "Kontakt fødselsdag",
"Death of %s" : "Død af%s",
"Calendar:" : "Kalender:",
@@ -100,6 +88,18 @@
"Hence they will not be available immediately after enabling but will show up after some time." : "Derfor vil de ikke blive synlige med det samme efter aktivering, men vil vise sig efter noget tid.",
"Are you accepting the invitation?" : "Accepter du invitationen?",
"Tentative" : "Foreløbig",
- "Comment" : "Kommentér"
+ "Comment" : "Kommentér",
+ "Todos" : "Opgaver",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} oprettede en opgave {todo} i listen {calendar}",
+ "You created todo {todo} in list {calendar}" : "Du oprettede opgaven {todo} i listen {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettede opgaven {todo} fra listen {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Du slettede opgaven {todo} fra listen {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} opdaterede opgaven {todo} i listen {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Du opdaterede opgaven {todo} i listen {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} løste opgaven {todo} i listen {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Du løste opgaven {todo} i listen {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} genåbnede opgaven {todo} i listen {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Du genåbnede opgaven {todo} i listen {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "En kalender <strong>opgave</strong> blev ændret"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/de.js b/apps/dav/l10n/de.js
index 7f60996b78e..98e15bafb03 100644
--- a/apps/dav/l10n/de.js
+++ b/apps/dav/l10n/de.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalender",
- "Todos" : "Aufgaben",
+ "To-dos" : "Aufgaben",
"Personal" : "Persönlich",
"{actor} created calendar {calendar}" : "{actor} hat den Kalender {calendar} erstellt",
"You created calendar {calendar}" : "Du hast den Kalender {calendar} erstellt",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Du hast den Termin {event} im Kalender {calendar} gelöscht",
"{actor} updated event {event} in calendar {calendar}" : "{actor} hat den Termin {event} im Kalender {calendar} aktualisiert",
"You updated event {event} in calendar {calendar}" : "Du hast den Termin {event} im Kalender {calendar} aktualisiert",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} hat das Ereignis {event} vom Kalender {sourceCalendar} in den Kalender {targetCalendar} verschoben",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Du hast das Ereignis {event} vom Kalender {sourceCalendar} in den Kalender {targetCalendar} verschoben",
"{actor} restored event {event} of calendar {calendar}" : "{actor} hat das Adressbuch {addressbook} mit Dir geteilt",
"You restored event {event} of calendar {calendar}" : "Du hast den Termin {event} im Kalender {calendar} wiederhergestellt",
"Busy" : "Beschäftigt",
- "{actor} created todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
- "You created todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erstellt",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} gelöscht",
- "You deleted todo {todo} from list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} gelöscht",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
- "You updated todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} aktualisiert",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
- "You solved todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erledigt",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
- "You reopened todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "You created to-do {todo} in list {calendar}" : "Du hast eine Aufgabe {todo} in der Liste {calendar} erstellt",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} aus der Liste {calendar} gelöscht",
+ "You deleted to-do {todo} from list {calendar}" : "Du hast die Aufgabe {todo} aus der Liste {calendar} gelöscht",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "You updated to-do {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "You solved to-do {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "You reopened to-do {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} hat die Aufgabe {todo} von der Liste {sourceCalendar} in die Liste {targetCalendar} verschoben",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Du hast die Aufgabe {todo} von der Liste {sourceCalendar} in die Liste {targetCalendar} verschoben",
"Calendar, contacts and tasks" : "Kalender, Kontakte und Aufgaben",
"A <strong>calendar</strong> was modified" : "Ein <strong>Kalender</strong> wurde bearbeitet",
"A calendar <strong>event</strong> was modified" : "Ein Kalender-<strong>Termin</strong> wurde bearbeitet",
- "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet",
+ "A calendar <strong>to-do</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde geändert",
"Contact birthdays" : "Geburtstage von Kontakten",
"Death of %s" : "Todestag von %s",
"Calendar:" : "Kalender:",
@@ -155,6 +159,7 @@ OC.L10N.register(
"Friday" : "Freitag",
"Saturday" : "Samstag",
"Sunday" : "Sonntag",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Setze den Benutzerstatus automatisch auf „Nicht stören“, wenn Du nicht erreichbar bist, um alle Benachrichtigungen stumm zu schalten.",
"Save" : "Speichern",
"Failed to load availability" : "Fehler beim Laden der Verfügbarkeit",
"Saved availability" : "Verfügbarkeit gespeichert",
@@ -163,9 +168,9 @@ OC.L10N.register(
"Send invitations to attendees" : "Einladungen an die Teilnehmer versenden",
"Automatically generate a birthday calendar" : "Automatisch einen Kalender für Geburtstage erstellen",
"Birthday calendars will be generated by a background job." : "Kalender für Geburtstage werden von einem Hintergrund-Auftrag erstellt",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Die Einträge werden nicht sofort angezeigt. Nach der Aktivierung wird es ein wenig dauern bis zur Anzeige.",
+ "Hence they will not be available immediately after enabling but will show up after some time." : "Die Einträge werden nicht sofort angezeigt. Nach der Aktivierung wird es bis zur Anzeige ein wenig dauern.",
"Send notifications for events" : "Sende Benachrichtigungen für Termine",
- "Notifications are sent via background jobs, so these must occur often enough." : "Benachrichtigungen werden von Hintergrundjobs versendet, so dass diese häufig genug ausgeführt werden müssen.",
+ "Notifications are sent via background jobs, so these must occur often enough." : "Benachrichtigungen werden von Hintergrundjobs versendet, so dass diese häufig genug ausgeführt werden.",
"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",
@@ -177,6 +182,18 @@ OC.L10N.register(
"Tentative" : "Vorläufig",
"Number of guests" : "Anzahl Gäste",
"Comment" : "Kommentar",
- "Your attendance was updated successfully." : "Dein Teilnehmerstatus wurde aktualisiert."
+ "Your attendance was updated successfully." : "Dein Teilnehmerstatus wurde aktualisiert.",
+ "Todos" : "Aufgaben",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "You created todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} gelöscht",
+ "You deleted todo {todo} from list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} gelöscht",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "You updated todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "You solved todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "You reopened todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/de.json b/apps/dav/l10n/de.json
index a53bd9f0473..5712276fe83 100644
--- a/apps/dav/l10n/de.json
+++ b/apps/dav/l10n/de.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Kalender",
- "Todos" : "Aufgaben",
+ "To-dos" : "Aufgaben",
"Personal" : "Persönlich",
"{actor} created calendar {calendar}" : "{actor} hat den Kalender {calendar} erstellt",
"You created calendar {calendar}" : "Du hast den Kalender {calendar} erstellt",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "Du hast den Termin {event} im Kalender {calendar} gelöscht",
"{actor} updated event {event} in calendar {calendar}" : "{actor} hat den Termin {event} im Kalender {calendar} aktualisiert",
"You updated event {event} in calendar {calendar}" : "Du hast den Termin {event} im Kalender {calendar} aktualisiert",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} hat das Ereignis {event} vom Kalender {sourceCalendar} in den Kalender {targetCalendar} verschoben",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Du hast das Ereignis {event} vom Kalender {sourceCalendar} in den Kalender {targetCalendar} verschoben",
"{actor} restored event {event} of calendar {calendar}" : "{actor} hat das Adressbuch {addressbook} mit Dir geteilt",
"You restored event {event} of calendar {calendar}" : "Du hast den Termin {event} im Kalender {calendar} wiederhergestellt",
"Busy" : "Beschäftigt",
- "{actor} created todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
- "You created todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erstellt",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} gelöscht",
- "You deleted todo {todo} from list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} gelöscht",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
- "You updated todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} aktualisiert",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
- "You solved todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erledigt",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
- "You reopened todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "You created to-do {todo} in list {calendar}" : "Du hast eine Aufgabe {todo} in der Liste {calendar} erstellt",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} aus der Liste {calendar} gelöscht",
+ "You deleted to-do {todo} from list {calendar}" : "Du hast die Aufgabe {todo} aus der Liste {calendar} gelöscht",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "You updated to-do {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "You solved to-do {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "You reopened to-do {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} hat die Aufgabe {todo} von der Liste {sourceCalendar} in die Liste {targetCalendar} verschoben",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Du hast die Aufgabe {todo} von der Liste {sourceCalendar} in die Liste {targetCalendar} verschoben",
"Calendar, contacts and tasks" : "Kalender, Kontakte und Aufgaben",
"A <strong>calendar</strong> was modified" : "Ein <strong>Kalender</strong> wurde bearbeitet",
"A calendar <strong>event</strong> was modified" : "Ein Kalender-<strong>Termin</strong> wurde bearbeitet",
- "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet",
+ "A calendar <strong>to-do</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde geändert",
"Contact birthdays" : "Geburtstage von Kontakten",
"Death of %s" : "Todestag von %s",
"Calendar:" : "Kalender:",
@@ -153,6 +157,7 @@
"Friday" : "Freitag",
"Saturday" : "Samstag",
"Sunday" : "Sonntag",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Setze den Benutzerstatus automatisch auf „Nicht stören“, wenn Du nicht erreichbar bist, um alle Benachrichtigungen stumm zu schalten.",
"Save" : "Speichern",
"Failed to load availability" : "Fehler beim Laden der Verfügbarkeit",
"Saved availability" : "Verfügbarkeit gespeichert",
@@ -161,9 +166,9 @@
"Send invitations to attendees" : "Einladungen an die Teilnehmer versenden",
"Automatically generate a birthday calendar" : "Automatisch einen Kalender für Geburtstage erstellen",
"Birthday calendars will be generated by a background job." : "Kalender für Geburtstage werden von einem Hintergrund-Auftrag erstellt",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Die Einträge werden nicht sofort angezeigt. Nach der Aktivierung wird es ein wenig dauern bis zur Anzeige.",
+ "Hence they will not be available immediately after enabling but will show up after some time." : "Die Einträge werden nicht sofort angezeigt. Nach der Aktivierung wird es bis zur Anzeige ein wenig dauern.",
"Send notifications for events" : "Sende Benachrichtigungen für Termine",
- "Notifications are sent via background jobs, so these must occur often enough." : "Benachrichtigungen werden von Hintergrundjobs versendet, so dass diese häufig genug ausgeführt werden müssen.",
+ "Notifications are sent via background jobs, so these must occur often enough." : "Benachrichtigungen werden von Hintergrundjobs versendet, so dass diese häufig genug ausgeführt werden.",
"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",
@@ -175,6 +180,18 @@
"Tentative" : "Vorläufig",
"Number of guests" : "Anzahl Gäste",
"Comment" : "Kommentar",
- "Your attendance was updated successfully." : "Dein Teilnehmerstatus wurde aktualisiert."
+ "Your attendance was updated successfully." : "Dein Teilnehmerstatus wurde aktualisiert.",
+ "Todos" : "Aufgaben",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "You created todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} gelöscht",
+ "You deleted todo {todo} from list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} gelöscht",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "You updated todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "You solved todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "You reopened todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/de_DE.js b/apps/dav/l10n/de_DE.js
index 3c230ad7d00..2a39b390d40 100644
--- a/apps/dav/l10n/de_DE.js
+++ b/apps/dav/l10n/de_DE.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalender",
- "Todos" : "Aufgaben",
+ "To-dos" : "Aufgaben",
"Personal" : "Persönlich",
"{actor} created calendar {calendar}" : "{actor} hat den Kalender {calendar} erstellt",
"You created calendar {calendar}" : "Sie haben den Kalender {calendar} erstellt",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Sie haben den Termin {event} im Kalender {calendar} gelöscht",
"{actor} updated event {event} in calendar {calendar}" : "{actor} hat den Termin {event} im Kalender {calendar} aktualisiert",
"You updated event {event} in calendar {calendar}" : "Sie haben den Termin {event} im Kalender {calendar} aktualisiert",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} hat das Ereignis {event} vom Kalender {sourceCalendar} in den Kalender {targetCalendar} verschoben",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Sie haben das Ereignis {event} vom Kalender {sourceCalendar} in den Kalender {targetCalendar} verschoben",
"{actor} restored event {event} of calendar {calendar}" : "{actor} hat den Termin {event} im Kalender {calendar} wiederhergestellt",
"You restored event {event} of calendar {calendar}" : "Sie haben den Termin {event} im Kalender {calendar} wiederhergestellt",
"Busy" : "Beschäftigt",
- "{actor} created todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
- "You created todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} erstellt",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} gelöscht",
- "You deleted todo {todo} from list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} gelöscht",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
- "You updated todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} aktualisiert",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
- "You solved todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} erledigt",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
- "You reopened todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "You created to-do {todo} in list {calendar}" : "Sie haben eine Aufgabe {todo} in der Liste {calendar} erstellt",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} aus der Liste {calendar} gelöscht",
+ "You deleted to-do {todo} from list {calendar}" : "Sie haben die Aufgabe {todo} aus der Liste {calendar} gelöscht",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "You updated to-do {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "You solved to-do {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "You reopened to-do {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} hat die Aufgabe {todo} von der Liste {sourceCalendar} in die Liste {targetCalendar} verschoben",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Sie haben die Aufgabe {todo} von der Liste {sourceCalendar} in die Liste {targetCalendar} verschoben",
"Calendar, contacts and tasks" : "Kalender, Kontakte und Aufgaben",
"A <strong>calendar</strong> was modified" : "Ein <strong>Kalender</strong> wurde bearbeitet",
"A calendar <strong>event</strong> was modified" : "Ein Kalender-<strong>Termin</strong> wurde bearbeitet",
- "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet",
+ "A calendar <strong>to-do</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet",
"Contact birthdays" : "Geburtstage von Kontakten",
"Death of %s" : "Todestag von %s",
"Calendar:" : "Kalender:",
@@ -155,6 +159,7 @@ OC.L10N.register(
"Friday" : "Freitag",
"Saturday" : "Samstag",
"Sunday" : "Sonntag",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Setzen Sie den Benutzerstatus wenn Sie nicht erreichbar sind automatisch auf „Nicht stören“, um alle Benachrichtigungen stumm zu schalten.",
"Save" : "Speichern",
"Failed to load availability" : "Laden der Verfügbarkeit fehlgeschlagen",
"Saved availability" : "Verfügbarkeit gespeichert",
@@ -177,6 +182,18 @@ OC.L10N.register(
"Tentative" : "Vorläufig",
"Number of guests" : "Anzahl Gäste",
"Comment" : "Kommentar",
- "Your attendance was updated successfully." : "Ihr Teilnehmerstatus wurde aktualisiert."
+ "Your attendance was updated successfully." : "Ihr Teilnehmerstatus wurde aktualisiert.",
+ "Todos" : "Aufgaben",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "You created todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} gelöscht",
+ "You deleted todo {todo} from list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} gelöscht",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "You updated todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "You solved todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "You reopened todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/de_DE.json b/apps/dav/l10n/de_DE.json
index 9921f64e22b..c264ef62fde 100644
--- a/apps/dav/l10n/de_DE.json
+++ b/apps/dav/l10n/de_DE.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Kalender",
- "Todos" : "Aufgaben",
+ "To-dos" : "Aufgaben",
"Personal" : "Persönlich",
"{actor} created calendar {calendar}" : "{actor} hat den Kalender {calendar} erstellt",
"You created calendar {calendar}" : "Sie haben den Kalender {calendar} erstellt",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "Sie haben den Termin {event} im Kalender {calendar} gelöscht",
"{actor} updated event {event} in calendar {calendar}" : "{actor} hat den Termin {event} im Kalender {calendar} aktualisiert",
"You updated event {event} in calendar {calendar}" : "Sie haben den Termin {event} im Kalender {calendar} aktualisiert",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} hat das Ereignis {event} vom Kalender {sourceCalendar} in den Kalender {targetCalendar} verschoben",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Sie haben das Ereignis {event} vom Kalender {sourceCalendar} in den Kalender {targetCalendar} verschoben",
"{actor} restored event {event} of calendar {calendar}" : "{actor} hat den Termin {event} im Kalender {calendar} wiederhergestellt",
"You restored event {event} of calendar {calendar}" : "Sie haben den Termin {event} im Kalender {calendar} wiederhergestellt",
"Busy" : "Beschäftigt",
- "{actor} created todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
- "You created todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} erstellt",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} gelöscht",
- "You deleted todo {todo} from list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} gelöscht",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
- "You updated todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} aktualisiert",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
- "You solved todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} erledigt",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
- "You reopened todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "You created to-do {todo} in list {calendar}" : "Sie haben eine Aufgabe {todo} in der Liste {calendar} erstellt",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} aus der Liste {calendar} gelöscht",
+ "You deleted to-do {todo} from list {calendar}" : "Sie haben die Aufgabe {todo} aus der Liste {calendar} gelöscht",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "You updated to-do {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "You solved to-do {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "You reopened to-do {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} hat die Aufgabe {todo} von der Liste {sourceCalendar} in die Liste {targetCalendar} verschoben",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Sie haben die Aufgabe {todo} von der Liste {sourceCalendar} in die Liste {targetCalendar} verschoben",
"Calendar, contacts and tasks" : "Kalender, Kontakte und Aufgaben",
"A <strong>calendar</strong> was modified" : "Ein <strong>Kalender</strong> wurde bearbeitet",
"A calendar <strong>event</strong> was modified" : "Ein Kalender-<strong>Termin</strong> wurde bearbeitet",
- "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet",
+ "A calendar <strong>to-do</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet",
"Contact birthdays" : "Geburtstage von Kontakten",
"Death of %s" : "Todestag von %s",
"Calendar:" : "Kalender:",
@@ -153,6 +157,7 @@
"Friday" : "Freitag",
"Saturday" : "Samstag",
"Sunday" : "Sonntag",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Setzen Sie den Benutzerstatus wenn Sie nicht erreichbar sind automatisch auf „Nicht stören“, um alle Benachrichtigungen stumm zu schalten.",
"Save" : "Speichern",
"Failed to load availability" : "Laden der Verfügbarkeit fehlgeschlagen",
"Saved availability" : "Verfügbarkeit gespeichert",
@@ -175,6 +180,18 @@
"Tentative" : "Vorläufig",
"Number of guests" : "Anzahl Gäste",
"Comment" : "Kommentar",
- "Your attendance was updated successfully." : "Ihr Teilnehmerstatus wurde aktualisiert."
+ "Your attendance was updated successfully." : "Ihr Teilnehmerstatus wurde aktualisiert.",
+ "Todos" : "Aufgaben",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "You created todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} gelöscht",
+ "You deleted todo {todo} from list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} gelöscht",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "You updated todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "You solved todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "You reopened todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/el.js b/apps/dav/l10n/el.js
index e9a8c403943..45ce51a502f 100644
--- a/apps/dav/l10n/el.js
+++ b/apps/dav/l10n/el.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Ημερολόγιο",
- "Todos" : "Εργασίες προς εκτέλεση",
"Personal" : "Προσωπικά",
"{actor} created calendar {calendar}" : "{actor} δημιουργήθηκε το ημερολόγιο {calendar}",
"You created calendar {calendar}" : "Δημιουργήσατε ημερολόγιο {ημερολόγιο}",
@@ -10,6 +9,7 @@ OC.L10N.register(
"You deleted calendar {calendar}" : "Διαγράψατε το ημερολόγιο {calendar}",
"{actor} updated calendar {calendar}" : "{actor} ενημέρωσε το ημερολόγιο {calendar}",
"You updated calendar {calendar}" : "Έχετε ενημερώσει το ημερολόγιο {calendar}",
+ "You restored calendar {calendar}" : "Επαναφέρατε το ημερολόγιο {calendar}",
"You shared calendar {calendar} as public link" : "Μοιραστήκατε το ημερολόγιο {calendar} με δημόσιο σύνδεσμο.",
"You removed public link for calendar {calendar}" : "Αφαιρέσατε τον δημόσιο σύνδεσμο για το ημερολόγιο {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} διαμοιράστηκε το ημερολόγιο {calendar} με εσάς",
@@ -31,19 +31,8 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "Ο {actor} ενημέρωσε το γεγονός {event} στο ημερολόγιο {calendar}",
"You updated event {event} in calendar {calendar}" : "Ενημερώσατε το συμβάν {event} στο ημερολόγιο {calendar}",
"Busy" : "Απασχολημένος",
- "{actor} created todo {todo} in list {calendar}" : "{actor} δημιούργησε την εκκρεμότητα {todo} στη λίστα {ημερολόγιο}",
- "You created todo {todo} in list {calendar}" : "Δημιουργήσατε την εκκρεμότητα {todo} στη λίστα {ημερολόγιο}",
- "{actor} deleted todo {todo} from list {calendar}" : "Ο {actor} διέγραψε την εκκρεμότητα {todo} από τη λίστα {ημερολόγιο}",
- "You deleted todo {todo} from list {calendar}" : "Διέγραψες την εκκρεμότητα {todo} από τη λίστα {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ενημέρωσε την εκκρεμότητα {todo} στη λίστα {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ενημέρωσες την εκκρεμότητα {todo} στη λίστα {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} επίλυσε την εκκρεμότητα {todo} στην λίστα {calendar}",
- "You solved todo {todo} in list {calendar}" : "Επίλυσες την εκκρεμότητα {todo} στην λίστα {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} άνοιξε ξανά την εκκρεμότητα {todo} στην λίστα {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Άνοιξες ξανά την εκκρεμότητα {todo} στην λίστα {calendar}",
"A <strong>calendar</strong> was modified" : "Τροποποιήθηκε ένα <strong>ημερολόγιο</strong> ",
"A calendar <strong>event</strong> was modified" : "Τροποποιήθηκε ένα <strong>γεγονός</strong> του ημερολογίου",
- "A calendar <strong>todo</strong> was modified" : "Ενός ημερολογίου η <strong>εκκρεμότητα</strong> τροποποιήθηκε",
"Contact birthdays" : "Γενέθλια επαφών",
"Death of %s" : "Θάνατος του %s",
"Calendar:" : "Ημερολόγιο:",
@@ -76,6 +65,7 @@ OC.L10N.register(
"More options …" : "Περισσότερες επιλογές...",
"More options at %s" : "Περισσότερες επιλογές στο %s",
"Contacts" : "Επαφές",
+ "System is in maintenance mode." : "Το σύστημα βρίσκεται σε λειτουργία συντήρησης.",
"Upgrade needed" : "Απαιτείται αναβάθμιση",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Το %s θα πρέπει να ρυθμιστεί για να χρησιμοποιεί HTTPS για την χρήση του CalDAV και του CardDAV με το iOS/macOS.",
"Configures a CalDAV account" : "Ρυθμίσεις λογαριασμού CalDAV",
@@ -87,9 +77,12 @@ OC.L10N.register(
"Contacts and groups" : "Επαφές και ομάδες",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "Τερματικό WebDAV",
+ "Availability" : "Διαθεσιμότητα",
+ "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Εάν διαμορφώσετε τις ώρες εργασίας σας, οι άλλοι χρήστες θα βλέπουν πότε είστε εκτός γραφείου όταν κάνουν κράτηση για μια συνάντηση.",
"Time zone:" : "Ζώνη ώρας:",
"to" : "προς",
"Delete slot" : "Διαγραφή θέσης",
+ "No working hours set" : "Δεν έχει οριστεί ωράριο εργασίας",
"Monday" : "Δευτέρα",
"Tuesday" : "Τρίτη",
"Wednesday" : "Τετάρτη",
@@ -98,6 +91,8 @@ OC.L10N.register(
"Saturday" : "Σάββατο",
"Sunday" : "Κυριακή",
"Save" : "Αποθήκευση",
+ "Failed to load availability" : "Αποτυχία φόρτωσης της διαθεσιμότητας",
+ "Failed to save availability" : "Αποτυχία αποθήκευσης της διαθεσιμότητας",
"Calendar server" : "Διακομιστής ημερολογίου",
"Send invitations to attendees" : "Αποστολή προσκλήσεων στους συμμετέχοντες.",
"Automatically generate a birthday calendar" : "Δημιουργία ημερολογίου γενεθλίων αυτόματα",
@@ -105,6 +100,8 @@ OC.L10N.register(
"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." : "Οι υπενθυμίσεις αποστέλλονται πάντα στους διοργανωτές και στους συμμετέχοντες.",
"Enable notifications for events via push" : "Ενεργοποίηση ειδοποιήσεων μέσω push",
"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}.",
@@ -112,7 +109,20 @@ OC.L10N.register(
"Please contact the organizer directly." : "Παρακαλώ επικοινωνήστε απ' ευθείας με τον διοργανωτή.",
"Are you accepting the invitation?" : "Αποδέχεστε την πρόσκληση;",
"Tentative" : "Δοκιμαστικό",
+ "Number of guests" : "Πλήθος επισκεπτών",
"Comment" : "Σχόλιο",
- "Your attendance was updated successfully." : "Η παρουσία σας ενημερώθηκε με επιτυχία."
+ "Your attendance was updated successfully." : "Η παρουσία σας ενημερώθηκε με επιτυχία.",
+ "Todos" : "Εργασίες προς εκτέλεση",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} δημιούργησε την εκκρεμότητα {todo} στη λίστα {ημερολόγιο}",
+ "You created todo {todo} in list {calendar}" : "Δημιουργήσατε την εκκρεμότητα {todo} στη λίστα {ημερολόγιο}",
+ "{actor} deleted todo {todo} from list {calendar}" : "Ο {actor} διέγραψε την εκκρεμότητα {todo} από τη λίστα {ημερολόγιο}",
+ "You deleted todo {todo} from list {calendar}" : "Διέγραψες την εκκρεμότητα {todo} από τη λίστα {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} ενημέρωσε την εκκρεμότητα {todo} στη λίστα {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Ενημέρωσες την εκκρεμότητα {todo} στη λίστα {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} επίλυσε την εκκρεμότητα {todo} στην λίστα {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Επίλυσες την εκκρεμότητα {todo} στην λίστα {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} άνοιξε ξανά την εκκρεμότητα {todo} στην λίστα {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Άνοιξες ξανά την εκκρεμότητα {todo} στην λίστα {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Ενός ημερολογίου η <strong>εκκρεμότητα</strong> τροποποιήθηκε"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/el.json b/apps/dav/l10n/el.json
index 79151b2d754..019d0e757c9 100644
--- a/apps/dav/l10n/el.json
+++ b/apps/dav/l10n/el.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Ημερολόγιο",
- "Todos" : "Εργασίες προς εκτέλεση",
"Personal" : "Προσωπικά",
"{actor} created calendar {calendar}" : "{actor} δημιουργήθηκε το ημερολόγιο {calendar}",
"You created calendar {calendar}" : "Δημιουργήσατε ημερολόγιο {ημερολόγιο}",
@@ -8,6 +7,7 @@
"You deleted calendar {calendar}" : "Διαγράψατε το ημερολόγιο {calendar}",
"{actor} updated calendar {calendar}" : "{actor} ενημέρωσε το ημερολόγιο {calendar}",
"You updated calendar {calendar}" : "Έχετε ενημερώσει το ημερολόγιο {calendar}",
+ "You restored calendar {calendar}" : "Επαναφέρατε το ημερολόγιο {calendar}",
"You shared calendar {calendar} as public link" : "Μοιραστήκατε το ημερολόγιο {calendar} με δημόσιο σύνδεσμο.",
"You removed public link for calendar {calendar}" : "Αφαιρέσατε τον δημόσιο σύνδεσμο για το ημερολόγιο {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} διαμοιράστηκε το ημερολόγιο {calendar} με εσάς",
@@ -29,19 +29,8 @@
"{actor} updated event {event} in calendar {calendar}" : "Ο {actor} ενημέρωσε το γεγονός {event} στο ημερολόγιο {calendar}",
"You updated event {event} in calendar {calendar}" : "Ενημερώσατε το συμβάν {event} στο ημερολόγιο {calendar}",
"Busy" : "Απασχολημένος",
- "{actor} created todo {todo} in list {calendar}" : "{actor} δημιούργησε την εκκρεμότητα {todo} στη λίστα {ημερολόγιο}",
- "You created todo {todo} in list {calendar}" : "Δημιουργήσατε την εκκρεμότητα {todo} στη λίστα {ημερολόγιο}",
- "{actor} deleted todo {todo} from list {calendar}" : "Ο {actor} διέγραψε την εκκρεμότητα {todo} από τη λίστα {ημερολόγιο}",
- "You deleted todo {todo} from list {calendar}" : "Διέγραψες την εκκρεμότητα {todo} από τη λίστα {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ενημέρωσε την εκκρεμότητα {todo} στη λίστα {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ενημέρωσες την εκκρεμότητα {todo} στη λίστα {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} επίλυσε την εκκρεμότητα {todo} στην λίστα {calendar}",
- "You solved todo {todo} in list {calendar}" : "Επίλυσες την εκκρεμότητα {todo} στην λίστα {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} άνοιξε ξανά την εκκρεμότητα {todo} στην λίστα {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Άνοιξες ξανά την εκκρεμότητα {todo} στην λίστα {calendar}",
"A <strong>calendar</strong> was modified" : "Τροποποιήθηκε ένα <strong>ημερολόγιο</strong> ",
"A calendar <strong>event</strong> was modified" : "Τροποποιήθηκε ένα <strong>γεγονός</strong> του ημερολογίου",
- "A calendar <strong>todo</strong> was modified" : "Ενός ημερολογίου η <strong>εκκρεμότητα</strong> τροποποιήθηκε",
"Contact birthdays" : "Γενέθλια επαφών",
"Death of %s" : "Θάνατος του %s",
"Calendar:" : "Ημερολόγιο:",
@@ -74,6 +63,7 @@
"More options …" : "Περισσότερες επιλογές...",
"More options at %s" : "Περισσότερες επιλογές στο %s",
"Contacts" : "Επαφές",
+ "System is in maintenance mode." : "Το σύστημα βρίσκεται σε λειτουργία συντήρησης.",
"Upgrade needed" : "Απαιτείται αναβάθμιση",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Το %s θα πρέπει να ρυθμιστεί για να χρησιμοποιεί HTTPS για την χρήση του CalDAV και του CardDAV με το iOS/macOS.",
"Configures a CalDAV account" : "Ρυθμίσεις λογαριασμού CalDAV",
@@ -85,9 +75,12 @@
"Contacts and groups" : "Επαφές και ομάδες",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "Τερματικό WebDAV",
+ "Availability" : "Διαθεσιμότητα",
+ "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Εάν διαμορφώσετε τις ώρες εργασίας σας, οι άλλοι χρήστες θα βλέπουν πότε είστε εκτός γραφείου όταν κάνουν κράτηση για μια συνάντηση.",
"Time zone:" : "Ζώνη ώρας:",
"to" : "προς",
"Delete slot" : "Διαγραφή θέσης",
+ "No working hours set" : "Δεν έχει οριστεί ωράριο εργασίας",
"Monday" : "Δευτέρα",
"Tuesday" : "Τρίτη",
"Wednesday" : "Τετάρτη",
@@ -96,6 +89,8 @@
"Saturday" : "Σάββατο",
"Sunday" : "Κυριακή",
"Save" : "Αποθήκευση",
+ "Failed to load availability" : "Αποτυχία φόρτωσης της διαθεσιμότητας",
+ "Failed to save availability" : "Αποτυχία αποθήκευσης της διαθεσιμότητας",
"Calendar server" : "Διακομιστής ημερολογίου",
"Send invitations to attendees" : "Αποστολή προσκλήσεων στους συμμετέχοντες.",
"Automatically generate a birthday calendar" : "Δημιουργία ημερολογίου γενεθλίων αυτόματα",
@@ -103,6 +98,8 @@
"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." : "Οι υπενθυμίσεις αποστέλλονται πάντα στους διοργανωτές και στους συμμετέχοντες.",
"Enable notifications for events via push" : "Ενεργοποίηση ειδοποιήσεων μέσω push",
"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}.",
@@ -110,7 +107,20 @@
"Please contact the organizer directly." : "Παρακαλώ επικοινωνήστε απ' ευθείας με τον διοργανωτή.",
"Are you accepting the invitation?" : "Αποδέχεστε την πρόσκληση;",
"Tentative" : "Δοκιμαστικό",
+ "Number of guests" : "Πλήθος επισκεπτών",
"Comment" : "Σχόλιο",
- "Your attendance was updated successfully." : "Η παρουσία σας ενημερώθηκε με επιτυχία."
+ "Your attendance was updated successfully." : "Η παρουσία σας ενημερώθηκε με επιτυχία.",
+ "Todos" : "Εργασίες προς εκτέλεση",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} δημιούργησε την εκκρεμότητα {todo} στη λίστα {ημερολόγιο}",
+ "You created todo {todo} in list {calendar}" : "Δημιουργήσατε την εκκρεμότητα {todo} στη λίστα {ημερολόγιο}",
+ "{actor} deleted todo {todo} from list {calendar}" : "Ο {actor} διέγραψε την εκκρεμότητα {todo} από τη λίστα {ημερολόγιο}",
+ "You deleted todo {todo} from list {calendar}" : "Διέγραψες την εκκρεμότητα {todo} από τη λίστα {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} ενημέρωσε την εκκρεμότητα {todo} στη λίστα {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Ενημέρωσες την εκκρεμότητα {todo} στη λίστα {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} επίλυσε την εκκρεμότητα {todo} στην λίστα {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Επίλυσες την εκκρεμότητα {todo} στην λίστα {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} άνοιξε ξανά την εκκρεμότητα {todo} στην λίστα {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Άνοιξες ξανά την εκκρεμότητα {todo} στην λίστα {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Ενός ημερολογίου η <strong>εκκρεμότητα</strong> τροποποιήθηκε"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/eo.js b/apps/dav/l10n/eo.js
index 63861008c39..50cb8077a10 100644
--- a/apps/dav/l10n/eo.js
+++ b/apps/dav/l10n/eo.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalendaro",
- "Todos" : "Taskoj",
"Personal" : "Persona",
"{actor} created calendar {calendar}" : "{actor} kreis kalendaron {calendar}",
"You created calendar {calendar}" : "Vi kreis kalendaron {calendar}",
@@ -31,19 +30,8 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "{actor} ĝisdatigis okazaĵon {event} en kalendaro {calendar}",
"You updated event {event} in calendar {calendar}" : "Vi ĝisdatigis okazaĵon {event} en kalendaro {calendar}",
"Busy" : "Okupita",
- "{actor} created todo {todo} in list {calendar}" : "{actor} kreis farendaĵon {todo} en listo {calendar}",
- "You created todo {todo} in list {calendar}" : "Vi kreis farendaĵon {todo} en listo {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} forigis farendaĵon {todo} en listo {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Vi forigis farendaĵon {todo} en listo {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ĝisdatigis farendaĵon {todo} en listo {calendar}",
- "You updated todo {todo} in list {calendar}" : "Vi ĝisdatigis farendaĵon {todo} en listo {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} plenumis farendaĵon {todo} en listo {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vi plenumis farendaĵon {todo} en listo {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} remalfermis farendaĵon {todo} en listo {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Vi remalfermis farendaĵon {todo} en listo {calendar}",
"A <strong>calendar</strong> was modified" : "<strong>Kalendaro</strong> estis modifita",
"A calendar <strong>event</strong> was modified" : "Kalendara <strong>okazaĵo</strong> estis modifita",
- "A calendar <strong>todo</strong> was modified" : "Kalendara <strong>farendaĵo</strong> estis modifita",
"Contact birthdays" : "Kontaktaj datrevenoj",
"Death of %s" : "Morto de %s",
"Calendar:" : "Kalendaro:",
@@ -100,6 +88,18 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Ĉu vi akceptas la inviton?",
"Tentative" : "Nekonfirmita",
"Comment" : "Komento",
- "Your attendance was updated successfully." : "Via ĉeesto sukcese ĝisdatiĝis."
+ "Your attendance was updated successfully." : "Via ĉeesto sukcese ĝisdatiĝis.",
+ "Todos" : "Taskoj",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} kreis farendaĵon {todo} en listo {calendar}",
+ "You created todo {todo} in list {calendar}" : "Vi kreis farendaĵon {todo} en listo {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} forigis farendaĵon {todo} en listo {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Vi forigis farendaĵon {todo} en listo {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} ĝisdatigis farendaĵon {todo} en listo {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Vi ĝisdatigis farendaĵon {todo} en listo {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} plenumis farendaĵon {todo} en listo {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vi plenumis farendaĵon {todo} en listo {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} remalfermis farendaĵon {todo} en listo {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Vi remalfermis farendaĵon {todo} en listo {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Kalendara <strong>farendaĵo</strong> estis modifita"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/eo.json b/apps/dav/l10n/eo.json
index 2eb6017f344..8025d45c597 100644
--- a/apps/dav/l10n/eo.json
+++ b/apps/dav/l10n/eo.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Kalendaro",
- "Todos" : "Taskoj",
"Personal" : "Persona",
"{actor} created calendar {calendar}" : "{actor} kreis kalendaron {calendar}",
"You created calendar {calendar}" : "Vi kreis kalendaron {calendar}",
@@ -29,19 +28,8 @@
"{actor} updated event {event} in calendar {calendar}" : "{actor} ĝisdatigis okazaĵon {event} en kalendaro {calendar}",
"You updated event {event} in calendar {calendar}" : "Vi ĝisdatigis okazaĵon {event} en kalendaro {calendar}",
"Busy" : "Okupita",
- "{actor} created todo {todo} in list {calendar}" : "{actor} kreis farendaĵon {todo} en listo {calendar}",
- "You created todo {todo} in list {calendar}" : "Vi kreis farendaĵon {todo} en listo {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} forigis farendaĵon {todo} en listo {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Vi forigis farendaĵon {todo} en listo {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ĝisdatigis farendaĵon {todo} en listo {calendar}",
- "You updated todo {todo} in list {calendar}" : "Vi ĝisdatigis farendaĵon {todo} en listo {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} plenumis farendaĵon {todo} en listo {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vi plenumis farendaĵon {todo} en listo {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} remalfermis farendaĵon {todo} en listo {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Vi remalfermis farendaĵon {todo} en listo {calendar}",
"A <strong>calendar</strong> was modified" : "<strong>Kalendaro</strong> estis modifita",
"A calendar <strong>event</strong> was modified" : "Kalendara <strong>okazaĵo</strong> estis modifita",
- "A calendar <strong>todo</strong> was modified" : "Kalendara <strong>farendaĵo</strong> estis modifita",
"Contact birthdays" : "Kontaktaj datrevenoj",
"Death of %s" : "Morto de %s",
"Calendar:" : "Kalendaro:",
@@ -98,6 +86,18 @@
"Are you accepting the invitation?" : "Ĉu vi akceptas la inviton?",
"Tentative" : "Nekonfirmita",
"Comment" : "Komento",
- "Your attendance was updated successfully." : "Via ĉeesto sukcese ĝisdatiĝis."
+ "Your attendance was updated successfully." : "Via ĉeesto sukcese ĝisdatiĝis.",
+ "Todos" : "Taskoj",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} kreis farendaĵon {todo} en listo {calendar}",
+ "You created todo {todo} in list {calendar}" : "Vi kreis farendaĵon {todo} en listo {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} forigis farendaĵon {todo} en listo {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Vi forigis farendaĵon {todo} en listo {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} ĝisdatigis farendaĵon {todo} en listo {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Vi ĝisdatigis farendaĵon {todo} en listo {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} plenumis farendaĵon {todo} en listo {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vi plenumis farendaĵon {todo} en listo {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} remalfermis farendaĵon {todo} en listo {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Vi remalfermis farendaĵon {todo} en listo {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Kalendara <strong>farendaĵo</strong> estis modifita"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/es.js b/apps/dav/l10n/es.js
index 375abc0f62b..45c60e806ca 100644
--- a/apps/dav/l10n/es.js
+++ b/apps/dav/l10n/es.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Calendario",
- "Todos" : "Todos",
+ "To-dos" : "Tareas",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
"You created calendar {calendar}" : "Usted creó el calendario {calendar}",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Usted eliminó el evento {event} del calendario {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
"You updated event {event} in calendar {calendar}" : "Usted actualizó el evento {event} en el calendario {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} ha movido el evento {event} del calendario {sourceCalendar} al calendario {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Has movido el evento {event} del calendario {sourceCalendar} al calendario {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} ha restablecido el evento {event} del calendario {calendar}",
"You restored event {event} of calendar {calendar}" : "Has reestablecido el evento {event} del calendario {calendar}",
"Busy" : "Ocupado",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó la tarea {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Usted creó la tarea {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} eliminó la tarea {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Usted eliminó la tarea {tod} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó la tarea {todo }en la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Usted actualizó la tarea {todo} en la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} completó la tarea {todo} en la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Usted completó la tarea {todo} en la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió la tarea {todo} en la lista {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Usted reabrió la tarea {todo} en la lista {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} ha creado la tarea {todo} en la lista {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Has creado la tarea {todo} en la lista {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} ha eliminado la tarea{todo} de la lista {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Has eliminado la tarea {todo} de la lista {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} ha actualizado la tarea {todo} en la lista {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Has actualizado la tarea {todo} en la lista {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} ha resuelto la tarea {todo} de la lista {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Has resuelto la tarea {todo} de la lista {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} ha reabierto la tarea {todo} en la lista {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Has reabierto la tarea {todo} en la lista {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} ha movido la tarea {todo} de la lista {sourceCalendar} a la lista{targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Has movido la tarea {todo} de la lista {sourceCalendar} a la lista {targetCalendar}",
"Calendar, contacts and tasks" : "Calendario, contactos y tareas",
"A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado.",
"A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario fue modificado.",
- "A calendar <strong>todo</strong> was modified" : "Una <strong>lista de tareas</strong> fue modificada",
+ "A calendar <strong>to-do</strong> was modified" : "Se ha modificado una <strong>tarea</strong> de calendario",
"Contact birthdays" : "Cumpleaños del contacto",
"Death of %s" : "Muerte de %s",
"Calendar:" : "Calendario:",
@@ -155,6 +159,7 @@ OC.L10N.register(
"Friday" : "Viernes",
"Saturday" : "Sábado",
"Sunday" : "Domingo",
+ "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.",
"Save" : "Guardar",
"Failed to load availability" : "No se ha podido cargar la disponibilidad",
"Saved availability" : "Disponibilidad guardada",
@@ -177,6 +182,18 @@ OC.L10N.register(
"Tentative" : "Provisional",
"Number of guests" : "Número de invitados",
"Comment" : "Comentario",
- "Your attendance was updated successfully." : "Tu asistencia se ha actualizado con éxito."
+ "Your attendance was updated successfully." : "Tu asistencia se ha actualizado con éxito.",
+ "Todos" : "Todos",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} creó la tarea {todo} en la lista {calendar}",
+ "You created todo {todo} in list {calendar}" : "Usted creó la tarea {todo} en la lista {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} eliminó la tarea {todo} de la lista {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Usted eliminó la tarea {tod} de la lista {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó la tarea {todo }en la lista {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Usted actualizó la tarea {todo} en la lista {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} completó la tarea {todo} en la lista {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Usted completó la tarea {todo} en la lista {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió la tarea {todo} en la lista {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Usted reabrió la tarea {todo} en la lista {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Una <strong>lista de tareas</strong> fue modificada"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/dav/l10n/es.json b/apps/dav/l10n/es.json
index 350c64df063..55f7e459654 100644
--- a/apps/dav/l10n/es.json
+++ b/apps/dav/l10n/es.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Calendario",
- "Todos" : "Todos",
+ "To-dos" : "Tareas",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
"You created calendar {calendar}" : "Usted creó el calendario {calendar}",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "Usted eliminó el evento {event} del calendario {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
"You updated event {event} in calendar {calendar}" : "Usted actualizó el evento {event} en el calendario {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} ha movido el evento {event} del calendario {sourceCalendar} al calendario {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Has movido el evento {event} del calendario {sourceCalendar} al calendario {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} ha restablecido el evento {event} del calendario {calendar}",
"You restored event {event} of calendar {calendar}" : "Has reestablecido el evento {event} del calendario {calendar}",
"Busy" : "Ocupado",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó la tarea {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Usted creó la tarea {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} eliminó la tarea {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Usted eliminó la tarea {tod} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó la tarea {todo }en la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Usted actualizó la tarea {todo} en la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} completó la tarea {todo} en la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Usted completó la tarea {todo} en la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió la tarea {todo} en la lista {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Usted reabrió la tarea {todo} en la lista {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} ha creado la tarea {todo} en la lista {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Has creado la tarea {todo} en la lista {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} ha eliminado la tarea{todo} de la lista {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Has eliminado la tarea {todo} de la lista {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} ha actualizado la tarea {todo} en la lista {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Has actualizado la tarea {todo} en la lista {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} ha resuelto la tarea {todo} de la lista {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Has resuelto la tarea {todo} de la lista {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} ha reabierto la tarea {todo} en la lista {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Has reabierto la tarea {todo} en la lista {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} ha movido la tarea {todo} de la lista {sourceCalendar} a la lista{targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Has movido la tarea {todo} de la lista {sourceCalendar} a la lista {targetCalendar}",
"Calendar, contacts and tasks" : "Calendario, contactos y tareas",
"A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado.",
"A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario fue modificado.",
- "A calendar <strong>todo</strong> was modified" : "Una <strong>lista de tareas</strong> fue modificada",
+ "A calendar <strong>to-do</strong> was modified" : "Se ha modificado una <strong>tarea</strong> de calendario",
"Contact birthdays" : "Cumpleaños del contacto",
"Death of %s" : "Muerte de %s",
"Calendar:" : "Calendario:",
@@ -153,6 +157,7 @@
"Friday" : "Viernes",
"Saturday" : "Sábado",
"Sunday" : "Domingo",
+ "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.",
"Save" : "Guardar",
"Failed to load availability" : "No se ha podido cargar la disponibilidad",
"Saved availability" : "Disponibilidad guardada",
@@ -175,6 +180,18 @@
"Tentative" : "Provisional",
"Number of guests" : "Número de invitados",
"Comment" : "Comentario",
- "Your attendance was updated successfully." : "Tu asistencia se ha actualizado con éxito."
+ "Your attendance was updated successfully." : "Tu asistencia se ha actualizado con éxito.",
+ "Todos" : "Todos",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} creó la tarea {todo} en la lista {calendar}",
+ "You created todo {todo} in list {calendar}" : "Usted creó la tarea {todo} en la lista {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} eliminó la tarea {todo} de la lista {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Usted eliminó la tarea {tod} de la lista {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó la tarea {todo }en la lista {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Usted actualizó la tarea {todo} en la lista {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} completó la tarea {todo} en la lista {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Usted completó la tarea {todo} en la lista {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió la tarea {todo} en la lista {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Usted reabrió la tarea {todo} en la lista {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Una <strong>lista de tareas</strong> fue modificada"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/dav/l10n/eu.js b/apps/dav/l10n/eu.js
index d9e0da425a1..8e723019d82 100644
--- a/apps/dav/l10n/eu.js
+++ b/apps/dav/l10n/eu.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Egutegia",
- "Todos" : "Egitekoak",
+ "To-dos" : "Eginbeharrak",
"Personal" : "Pertsonala",
"{actor} created calendar {calendar}" : "{actor}-k sortutako egutegia: {calendar}",
"You created calendar {calendar}" : "{calendar} egutegia sortu duzu",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "{event} gertaera ezabatu duzu {calendar} egutegitik ",
"{actor} updated event {event} in calendar {calendar}" : "{actor}-(r)ek {event} gertaera eguneratu du {calendar} egutegian",
"You updated event {event} in calendar {calendar}" : "{event} gertaera eguneratu duzu {calendar} egutegian ",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor}-(e)k {event} gertaera {sourceCalendar} egutegitik {targetCalendar} egutegira mugitu duzu",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{event} gertaera {sourceCalendar} egutegitik {targetCalendar} egutegira mugitu duzu",
"{actor} restored event {event} of calendar {calendar}" : "{actor}-(e)k berrezarri du {calendar} egutegiko {event} gertaera ",
"You restored event {event} of calendar {calendar}" : "Berrezarri duzu {calendar} egutegiko {event} gertaera ",
"Busy" : "Lanpetua",
- "{actor} created todo {todo} in list {calendar}" : "{actor}-ek {calendar} zerrendan {todo} zeregina sortu du.",
- "You created todo {todo} in list {calendar}" : "{calendar} zerrendan {todo} ekintza sortu duzu.",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina borratu du.",
- "You deleted todo {todo} from list {calendar}" : " {calendar} zerrendan {todo} zeregina borratu duzu.",
- "{actor} updated todo {todo} in list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina eguneratu du.",
- "You updated todo {todo} in list {calendar}" : "{calendar} zerrendan {todo} zeregina eguneratu duzu.",
- "{actor} solved todo {todo} in list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina bukatu du.",
- "You solved todo {todo} in list {calendar}" : " {calendar} zerrendan {todo} zeregina bukatu duzu.",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} erabiltzaileak {calendar} zerrendan {todo} zeregina berrireki du.",
- "You reopened todo {todo} in list {calendar}" : "{calendar} egutegian {todo} zeregina berrireki duzu. ",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor}-(e)k {calendar} zerrendan {todo} egitekoa sortu du",
+ "You created to-do {todo} in list {calendar}" : "{calendar} zerrendan {todo} egitekoa sortu duzu",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor}-(e)k {calendar} zerrendan {todo} egitekoa ezabatu du",
+ "You deleted to-do {todo} from list {calendar}" : " {calendar} zerrendan {todo} egitekoa ezabatu duzu",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor}-(e)k {calendar} zerrendan {todo} egitekoa eguneratu du",
+ "You updated to-do {todo} in list {calendar}" : "{calendar} zerrendan {todo} egitekoa eguneratu duzu",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor}-(e)k {calendar} zerrendan {todo} egitekoa bukatu du.",
+ "You solved to-do {todo} in list {calendar}" : " {calendar} zerrendan {todo} egitekoa bukatu duzu",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor}-(e)k {calendar} zerrendan {todo} egitekoa berrireki du",
+ "You reopened to-do {todo} in list {calendar}" : "{calendar} zerrendan {todo} egitekoa berrireki duzu",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor}-(e)k {todo} egitekoa {sourceCalendar} zerrendatik {targetCalendar} zerrendara mugitu du",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{todo} egitekoa {sourceCalendar} zerrendatik {targetCalendar} zerrendara mugitu duzu",
"Calendar, contacts and tasks" : "Egutegia, kontaktuak eta atazak",
"A <strong>calendar</strong> was modified" : "Egutegia aldatu da",
"A calendar <strong>event</strong> was modified" : "Egutegiaren <strong>gertaera</strong> bat aldatu da",
- "A calendar <strong>todo</strong> was modified" : "Egutegiaren zeregin bat aldatu da",
+ "A calendar <strong>to-do</strong> was modified" : "Egutegi baten <strong>eginbeharra</strong> aldatu da",
"Contact birthdays" : "Kontaktuen urtebetetzeak",
"Death of %s" : "%s(r)en heriotza",
"Calendar:" : "Egutegia:",
@@ -155,6 +159,7 @@ OC.L10N.register(
"Friday" : "Ostirala",
"Saturday" : "Larunbata",
"Sunday" : "Igandea",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Ezarri automatikoki erabiltzailearen egoera \"Ez molestatu\" moduan erabilgarritasunetik kanpo jakinarazpen guztiak isilarazteko.",
"Save" : "Gorde",
"Failed to load availability" : "Ezin izan da kargatu erabilgarritasuna",
"Saved availability" : "Gordetako erabilgarritasuna",
@@ -177,6 +182,18 @@ OC.L10N.register(
"Tentative" : "Behin behinekoa",
"Number of guests" : "Gonbidatu kopurua",
"Comment" : "Iruzkindu",
- "Your attendance was updated successfully." : "Zure parte-hartzea ondo eguneratu da."
+ "Your attendance was updated successfully." : "Zure parte-hartzea ondo eguneratu da.",
+ "Todos" : "Egitekoak",
+ "{actor} created todo {todo} in list {calendar}" : "{actor}-ek {calendar} zerrendan {todo} zeregina sortu du.",
+ "You created todo {todo} in list {calendar}" : "{calendar} zerrendan {todo} ekintza sortu duzu.",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina borratu du.",
+ "You deleted todo {todo} from list {calendar}" : " {calendar} zerrendan {todo} zeregina borratu duzu.",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina eguneratu du.",
+ "You updated todo {todo} in list {calendar}" : "{calendar} zerrendan {todo} zeregina eguneratu duzu.",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina bukatu du.",
+ "You solved todo {todo} in list {calendar}" : " {calendar} zerrendan {todo} zeregina bukatu duzu.",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} erabiltzaileak {calendar} zerrendan {todo} zeregina berrireki du.",
+ "You reopened todo {todo} in list {calendar}" : "{calendar} egutegian {todo} zeregina berrireki duzu. ",
+ "A calendar <strong>todo</strong> was modified" : "Egutegiaren zeregin bat aldatu da"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/eu.json b/apps/dav/l10n/eu.json
index bda903e0899..a8e79f76cf5 100644
--- a/apps/dav/l10n/eu.json
+++ b/apps/dav/l10n/eu.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Egutegia",
- "Todos" : "Egitekoak",
+ "To-dos" : "Eginbeharrak",
"Personal" : "Pertsonala",
"{actor} created calendar {calendar}" : "{actor}-k sortutako egutegia: {calendar}",
"You created calendar {calendar}" : "{calendar} egutegia sortu duzu",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "{event} gertaera ezabatu duzu {calendar} egutegitik ",
"{actor} updated event {event} in calendar {calendar}" : "{actor}-(r)ek {event} gertaera eguneratu du {calendar} egutegian",
"You updated event {event} in calendar {calendar}" : "{event} gertaera eguneratu duzu {calendar} egutegian ",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor}-(e)k {event} gertaera {sourceCalendar} egutegitik {targetCalendar} egutegira mugitu duzu",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{event} gertaera {sourceCalendar} egutegitik {targetCalendar} egutegira mugitu duzu",
"{actor} restored event {event} of calendar {calendar}" : "{actor}-(e)k berrezarri du {calendar} egutegiko {event} gertaera ",
"You restored event {event} of calendar {calendar}" : "Berrezarri duzu {calendar} egutegiko {event} gertaera ",
"Busy" : "Lanpetua",
- "{actor} created todo {todo} in list {calendar}" : "{actor}-ek {calendar} zerrendan {todo} zeregina sortu du.",
- "You created todo {todo} in list {calendar}" : "{calendar} zerrendan {todo} ekintza sortu duzu.",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina borratu du.",
- "You deleted todo {todo} from list {calendar}" : " {calendar} zerrendan {todo} zeregina borratu duzu.",
- "{actor} updated todo {todo} in list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina eguneratu du.",
- "You updated todo {todo} in list {calendar}" : "{calendar} zerrendan {todo} zeregina eguneratu duzu.",
- "{actor} solved todo {todo} in list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina bukatu du.",
- "You solved todo {todo} in list {calendar}" : " {calendar} zerrendan {todo} zeregina bukatu duzu.",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} erabiltzaileak {calendar} zerrendan {todo} zeregina berrireki du.",
- "You reopened todo {todo} in list {calendar}" : "{calendar} egutegian {todo} zeregina berrireki duzu. ",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor}-(e)k {calendar} zerrendan {todo} egitekoa sortu du",
+ "You created to-do {todo} in list {calendar}" : "{calendar} zerrendan {todo} egitekoa sortu duzu",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor}-(e)k {calendar} zerrendan {todo} egitekoa ezabatu du",
+ "You deleted to-do {todo} from list {calendar}" : " {calendar} zerrendan {todo} egitekoa ezabatu duzu",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor}-(e)k {calendar} zerrendan {todo} egitekoa eguneratu du",
+ "You updated to-do {todo} in list {calendar}" : "{calendar} zerrendan {todo} egitekoa eguneratu duzu",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor}-(e)k {calendar} zerrendan {todo} egitekoa bukatu du.",
+ "You solved to-do {todo} in list {calendar}" : " {calendar} zerrendan {todo} egitekoa bukatu duzu",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor}-(e)k {calendar} zerrendan {todo} egitekoa berrireki du",
+ "You reopened to-do {todo} in list {calendar}" : "{calendar} zerrendan {todo} egitekoa berrireki duzu",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor}-(e)k {todo} egitekoa {sourceCalendar} zerrendatik {targetCalendar} zerrendara mugitu du",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{todo} egitekoa {sourceCalendar} zerrendatik {targetCalendar} zerrendara mugitu duzu",
"Calendar, contacts and tasks" : "Egutegia, kontaktuak eta atazak",
"A <strong>calendar</strong> was modified" : "Egutegia aldatu da",
"A calendar <strong>event</strong> was modified" : "Egutegiaren <strong>gertaera</strong> bat aldatu da",
- "A calendar <strong>todo</strong> was modified" : "Egutegiaren zeregin bat aldatu da",
+ "A calendar <strong>to-do</strong> was modified" : "Egutegi baten <strong>eginbeharra</strong> aldatu da",
"Contact birthdays" : "Kontaktuen urtebetetzeak",
"Death of %s" : "%s(r)en heriotza",
"Calendar:" : "Egutegia:",
@@ -153,6 +157,7 @@
"Friday" : "Ostirala",
"Saturday" : "Larunbata",
"Sunday" : "Igandea",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Ezarri automatikoki erabiltzailearen egoera \"Ez molestatu\" moduan erabilgarritasunetik kanpo jakinarazpen guztiak isilarazteko.",
"Save" : "Gorde",
"Failed to load availability" : "Ezin izan da kargatu erabilgarritasuna",
"Saved availability" : "Gordetako erabilgarritasuna",
@@ -175,6 +180,18 @@
"Tentative" : "Behin behinekoa",
"Number of guests" : "Gonbidatu kopurua",
"Comment" : "Iruzkindu",
- "Your attendance was updated successfully." : "Zure parte-hartzea ondo eguneratu da."
+ "Your attendance was updated successfully." : "Zure parte-hartzea ondo eguneratu da.",
+ "Todos" : "Egitekoak",
+ "{actor} created todo {todo} in list {calendar}" : "{actor}-ek {calendar} zerrendan {todo} zeregina sortu du.",
+ "You created todo {todo} in list {calendar}" : "{calendar} zerrendan {todo} ekintza sortu duzu.",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina borratu du.",
+ "You deleted todo {todo} from list {calendar}" : " {calendar} zerrendan {todo} zeregina borratu duzu.",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina eguneratu du.",
+ "You updated todo {todo} in list {calendar}" : "{calendar} zerrendan {todo} zeregina eguneratu duzu.",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina bukatu du.",
+ "You solved todo {todo} in list {calendar}" : " {calendar} zerrendan {todo} zeregina bukatu duzu.",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} erabiltzaileak {calendar} zerrendan {todo} zeregina berrireki du.",
+ "You reopened todo {todo} in list {calendar}" : "{calendar} egutegian {todo} zeregina berrireki duzu. ",
+ "A calendar <strong>todo</strong> was modified" : "Egutegiaren zeregin bat aldatu da"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/fi.js b/apps/dav/l10n/fi.js
index 07a8eb95b8d..ac1dc646a9b 100644
--- a/apps/dav/l10n/fi.js
+++ b/apps/dav/l10n/fi.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalenteri",
- "Todos" : "Tehtävät",
"Personal" : "Henkilökohtainen",
"{actor} created calendar {calendar}" : "{actor} loi kalenterin {calendar}",
"You created calendar {calendar}" : "Loit kalenterin {calendar}",
@@ -33,20 +32,9 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "{actor} päivitti tapahtuman {event} kalenteriin {calendar}",
"You updated event {event} in calendar {calendar}" : "Päivitit tapahtuman {event} kalenteriin {calendar}",
"Busy" : "Varattu",
- "{actor} created todo {todo} in list {calendar}" : "{actor} loi tehtävän {todo} listaan {calendar}",
- "You created todo {todo} in list {calendar}" : "Loit tehtävän {todo} listaan {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} poisti tehtävän {todo} listasta {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Poistit tehtävän {todo} listasta {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} päivitti tehtävän {todo} listassa {calendar}",
- "You updated todo {todo} in list {calendar}" : "Päivitit tehtävän {todo} listassa {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} suoritti tehtävän {todo} listasta {calendar}",
- "You solved todo {todo} in list {calendar}" : "Suoritit tehtävän {todo} listasta {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} avasi uudelleen tehtävän {todo} listassa {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Avasit uudelleen tehtävän {todo} listassa {calendar}",
"Calendar, contacts and tasks" : "Kalenteri, yhteystiedot ja tehtävät",
"A <strong>calendar</strong> was modified" : "<strong>Kalenteria</strong> on muokattu",
"A calendar <strong>event</strong> was modified" : "Kalenterin <strong>tapahtumaa</strong> on muokattu",
- "A calendar <strong>todo</strong> was modified" : "Kalenterin <strong>tehtävää</strong> on muokattu",
"Contact birthdays" : "Yhteystietojen syntymäpäivät",
"Death of %s" : "%s kuolema",
"Calendar:" : "Kalenteri:",
@@ -100,6 +88,8 @@ OC.L10N.register(
"File is not updatable: %1$s" : "Tiedosto ei ole päivitettävissä: %1$s",
"_%n byte_::_%n bytes_" : ["%n tavu","%n tavua"],
"Could not open file" : "Tiedoston avaaminen ei onnistunut",
+ "Encryption not ready: %1$s" : "Salaus ei ole valmis: %1$s",
+ "Failed to open file: %1$s" : "Tiedoston avaaminen epäonnistui: %1$s",
"File not found: %1$s" : "Tiedostoa ei löydy: %1$s",
"System is in maintenance mode." : "Järjestelmä on huoltotilassa",
"Upgrade needed" : "Päivitys tarvitaan",
@@ -126,6 +116,7 @@ OC.L10N.register(
"Saturday" : "Lauantai",
"Sunday" : "Sunnuntai",
"Save" : "Tallenna",
+ "Failed to load availability" : "Saatavuuden lataaminen epäonnistui",
"Calendar server" : "Kalenteripalvelin",
"Send invitations to attendees" : "Lähetä kutsut osallistujille",
"Automatically generate a birthday calendar" : "Luo syntymäpäiväkalenteri automaattisesti",
@@ -140,6 +131,18 @@ OC.L10N.register(
"Tentative" : "Alustava",
"Number of guests" : "Vieraiden määrä",
"Comment" : "Kommentti",
- "Your attendance was updated successfully." : "Osallistumisesi päivitettiin onnistuneesti."
+ "Your attendance was updated successfully." : "Osallistumisesi päivitettiin onnistuneesti.",
+ "Todos" : "Tehtävät",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} loi tehtävän {todo} listaan {calendar}",
+ "You created todo {todo} in list {calendar}" : "Loit tehtävän {todo} listaan {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} poisti tehtävän {todo} listasta {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Poistit tehtävän {todo} listasta {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} päivitti tehtävän {todo} listassa {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Päivitit tehtävän {todo} listassa {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} suoritti tehtävän {todo} listasta {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Suoritit tehtävän {todo} listasta {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} avasi uudelleen tehtävän {todo} listassa {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Avasit uudelleen tehtävän {todo} listassa {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Kalenterin <strong>tehtävää</strong> on muokattu"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/fi.json b/apps/dav/l10n/fi.json
index 5398895b76f..2f3691370ea 100644
--- a/apps/dav/l10n/fi.json
+++ b/apps/dav/l10n/fi.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Kalenteri",
- "Todos" : "Tehtävät",
"Personal" : "Henkilökohtainen",
"{actor} created calendar {calendar}" : "{actor} loi kalenterin {calendar}",
"You created calendar {calendar}" : "Loit kalenterin {calendar}",
@@ -31,20 +30,9 @@
"{actor} updated event {event} in calendar {calendar}" : "{actor} päivitti tapahtuman {event} kalenteriin {calendar}",
"You updated event {event} in calendar {calendar}" : "Päivitit tapahtuman {event} kalenteriin {calendar}",
"Busy" : "Varattu",
- "{actor} created todo {todo} in list {calendar}" : "{actor} loi tehtävän {todo} listaan {calendar}",
- "You created todo {todo} in list {calendar}" : "Loit tehtävän {todo} listaan {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} poisti tehtävän {todo} listasta {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Poistit tehtävän {todo} listasta {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} päivitti tehtävän {todo} listassa {calendar}",
- "You updated todo {todo} in list {calendar}" : "Päivitit tehtävän {todo} listassa {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} suoritti tehtävän {todo} listasta {calendar}",
- "You solved todo {todo} in list {calendar}" : "Suoritit tehtävän {todo} listasta {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} avasi uudelleen tehtävän {todo} listassa {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Avasit uudelleen tehtävän {todo} listassa {calendar}",
"Calendar, contacts and tasks" : "Kalenteri, yhteystiedot ja tehtävät",
"A <strong>calendar</strong> was modified" : "<strong>Kalenteria</strong> on muokattu",
"A calendar <strong>event</strong> was modified" : "Kalenterin <strong>tapahtumaa</strong> on muokattu",
- "A calendar <strong>todo</strong> was modified" : "Kalenterin <strong>tehtävää</strong> on muokattu",
"Contact birthdays" : "Yhteystietojen syntymäpäivät",
"Death of %s" : "%s kuolema",
"Calendar:" : "Kalenteri:",
@@ -98,6 +86,8 @@
"File is not updatable: %1$s" : "Tiedosto ei ole päivitettävissä: %1$s",
"_%n byte_::_%n bytes_" : ["%n tavu","%n tavua"],
"Could not open file" : "Tiedoston avaaminen ei onnistunut",
+ "Encryption not ready: %1$s" : "Salaus ei ole valmis: %1$s",
+ "Failed to open file: %1$s" : "Tiedoston avaaminen epäonnistui: %1$s",
"File not found: %1$s" : "Tiedostoa ei löydy: %1$s",
"System is in maintenance mode." : "Järjestelmä on huoltotilassa",
"Upgrade needed" : "Päivitys tarvitaan",
@@ -124,6 +114,7 @@
"Saturday" : "Lauantai",
"Sunday" : "Sunnuntai",
"Save" : "Tallenna",
+ "Failed to load availability" : "Saatavuuden lataaminen epäonnistui",
"Calendar server" : "Kalenteripalvelin",
"Send invitations to attendees" : "Lähetä kutsut osallistujille",
"Automatically generate a birthday calendar" : "Luo syntymäpäiväkalenteri automaattisesti",
@@ -138,6 +129,18 @@
"Tentative" : "Alustava",
"Number of guests" : "Vieraiden määrä",
"Comment" : "Kommentti",
- "Your attendance was updated successfully." : "Osallistumisesi päivitettiin onnistuneesti."
+ "Your attendance was updated successfully." : "Osallistumisesi päivitettiin onnistuneesti.",
+ "Todos" : "Tehtävät",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} loi tehtävän {todo} listaan {calendar}",
+ "You created todo {todo} in list {calendar}" : "Loit tehtävän {todo} listaan {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} poisti tehtävän {todo} listasta {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Poistit tehtävän {todo} listasta {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} päivitti tehtävän {todo} listassa {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Päivitit tehtävän {todo} listassa {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} suoritti tehtävän {todo} listasta {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Suoritit tehtävän {todo} listasta {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} avasi uudelleen tehtävän {todo} listassa {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Avasit uudelleen tehtävän {todo} listassa {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Kalenterin <strong>tehtävää</strong> on muokattu"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/fr.js b/apps/dav/l10n/fr.js
index 3d9caf69ef0..95b8395b659 100644
--- a/apps/dav/l10n/fr.js
+++ b/apps/dav/l10n/fr.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Agenda",
- "Todos" : "Tâches",
"Personal" : "Personnel",
"{actor} created calendar {calendar}" : "{actor} a créé l'agenda {calendar}",
"You created calendar {calendar}" : "Vous avez créé l'agenda {calendar}",
@@ -35,20 +34,9 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor} a restauré l'événement {event} dans l'agenda {calendar}",
"You restored event {event} of calendar {calendar}" : "Vous avez restauré l'événement {event} dans l'agenda {calendar}",
"Busy" : "Occupé",
- "{actor} created todo {todo} in list {calendar}" : "{actor} a créé la tâche {todo} dans la liste {calendar}",
- "You created todo {todo} in list {calendar}" : "Vous avez créé la tâche {todo} dans la liste {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} a supprimé la tâche {todo} de la liste {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Vous avez supprimé la tâche {todo} de la liste {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} a mis à jour la tâche {todo} dans la liste {calendar}",
- "You updated todo {todo} in list {calendar}" : "Vous avez mis à jour la tâche {todo} dans la liste {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} a terminé la tâche {todo} de la liste {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vous avez terminé la tâche {todo} de la liste {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} a réouvert la tâche {todo} dans la liste {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Vous avez réouvert la tâche {todo} dans la liste {calendar}",
"Calendar, contacts and tasks" : "Agenda, contacts et tâches",
"A <strong>calendar</strong> was modified" : "Un <strong>agenda</strong> a été modifié",
"A calendar <strong>event</strong> was modified" : "Un <strong>événement</strong> de l'agenda a été modifié",
- "A calendar <strong>todo</strong> was modified" : "Une <strong>liste de tâches</strong> de l'agenda a été modifiée",
"Contact birthdays" : "Anniversaires des contacts",
"Death of %s" : "Mort de %s",
"Calendar:" : "Agenda:",
@@ -173,6 +161,18 @@ OC.L10N.register(
"Tentative" : "Provisoire",
"Number of guests" : "Nombre d'invités",
"Comment" : "Commentaire",
- "Your attendance was updated successfully." : "Votre présence a été mise à jour avec succès."
+ "Your attendance was updated successfully." : "Votre présence a été mise à jour avec succès.",
+ "Todos" : "Tâches",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} a créé la tâche {todo} dans la liste {calendar}",
+ "You created todo {todo} in list {calendar}" : "Vous avez créé la tâche {todo} dans la liste {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} a supprimé la tâche {todo} de la liste {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Vous avez supprimé la tâche {todo} de la liste {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} a mis à jour la tâche {todo} dans la liste {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Vous avez mis à jour la tâche {todo} dans la liste {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} a terminé la tâche {todo} de la liste {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vous avez terminé la tâche {todo} de la liste {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} a réouvert la tâche {todo} dans la liste {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Vous avez réouvert la tâche {todo} dans la liste {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Une <strong>liste de tâches</strong> de l'agenda a été modifiée"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/dav/l10n/fr.json b/apps/dav/l10n/fr.json
index 7134ea75384..b52b5d11d3e 100644
--- a/apps/dav/l10n/fr.json
+++ b/apps/dav/l10n/fr.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Agenda",
- "Todos" : "Tâches",
"Personal" : "Personnel",
"{actor} created calendar {calendar}" : "{actor} a créé l'agenda {calendar}",
"You created calendar {calendar}" : "Vous avez créé l'agenda {calendar}",
@@ -33,20 +32,9 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor} a restauré l'événement {event} dans l'agenda {calendar}",
"You restored event {event} of calendar {calendar}" : "Vous avez restauré l'événement {event} dans l'agenda {calendar}",
"Busy" : "Occupé",
- "{actor} created todo {todo} in list {calendar}" : "{actor} a créé la tâche {todo} dans la liste {calendar}",
- "You created todo {todo} in list {calendar}" : "Vous avez créé la tâche {todo} dans la liste {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} a supprimé la tâche {todo} de la liste {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Vous avez supprimé la tâche {todo} de la liste {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} a mis à jour la tâche {todo} dans la liste {calendar}",
- "You updated todo {todo} in list {calendar}" : "Vous avez mis à jour la tâche {todo} dans la liste {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} a terminé la tâche {todo} de la liste {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vous avez terminé la tâche {todo} de la liste {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} a réouvert la tâche {todo} dans la liste {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Vous avez réouvert la tâche {todo} dans la liste {calendar}",
"Calendar, contacts and tasks" : "Agenda, contacts et tâches",
"A <strong>calendar</strong> was modified" : "Un <strong>agenda</strong> a été modifié",
"A calendar <strong>event</strong> was modified" : "Un <strong>événement</strong> de l'agenda a été modifié",
- "A calendar <strong>todo</strong> was modified" : "Une <strong>liste de tâches</strong> de l'agenda a été modifiée",
"Contact birthdays" : "Anniversaires des contacts",
"Death of %s" : "Mort de %s",
"Calendar:" : "Agenda:",
@@ -171,6 +159,18 @@
"Tentative" : "Provisoire",
"Number of guests" : "Nombre d'invités",
"Comment" : "Commentaire",
- "Your attendance was updated successfully." : "Votre présence a été mise à jour avec succès."
+ "Your attendance was updated successfully." : "Votre présence a été mise à jour avec succès.",
+ "Todos" : "Tâches",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} a créé la tâche {todo} dans la liste {calendar}",
+ "You created todo {todo} in list {calendar}" : "Vous avez créé la tâche {todo} dans la liste {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} a supprimé la tâche {todo} de la liste {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Vous avez supprimé la tâche {todo} de la liste {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} a mis à jour la tâche {todo} dans la liste {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Vous avez mis à jour la tâche {todo} dans la liste {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} a terminé la tâche {todo} de la liste {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vous avez terminé la tâche {todo} de la liste {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} a réouvert la tâche {todo} dans la liste {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Vous avez réouvert la tâche {todo} dans la liste {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Une <strong>liste de tâches</strong> de l'agenda a été modifiée"
},"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/gl.js b/apps/dav/l10n/gl.js
index cdc03edca59..6159f311993 100644
--- a/apps/dav/l10n/gl.js
+++ b/apps/dav/l10n/gl.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Calendario",
- "Todos" : "Asuntos pendentes",
"Personal" : "Persoal",
"{actor} created calendar {calendar}" : "{actor} creou o calendario {calendar}",
"You created calendar {calendar}" : "Vostede creou o calendario {calendar}",
@@ -31,19 +30,8 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "{actor} actualizou o evento {event} no calendario {calendar}",
"You updated event {event} in calendar {calendar}" : "Vostede actualizou o evento {event} no calendario {calendar}",
"Busy" : "Ocupado",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creou os asuntos pendentes {todo} na lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Vostede creou os asuntos pendentes {todo} na lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} eliminou os asuntos pendentes {todo} da lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Vostede eliminou os asuntos pendentes {todo} da lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizou os asuntos pendentes {todo} na lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Vostede actualizou os asuntos pendentes {todo} na lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolveu os asuntos pendentes {todo} na lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vostede resolveu os asuntos pendentes {todo} na lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} volveu abrir os asuntos pendentes {todo} na lista {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Vostede volveu abrir os asuntos pendentes {todo} na lista {calendar}",
"A <strong>calendar</strong> was modified" : "Foi modificado un <strong>calendario</strong>",
"A calendar <strong>event</strong> was modified" : "Foi modificado un <strong>evento</strong> do calendario",
- "A calendar <strong>todo</strong> was modified" : "Foi modificado un <strong>asunto pendente</strong> do calendario",
"Contact birthdays" : "Aniversario do contacto",
"Death of %s" : "Falecemento de %s",
"Calendar:" : "Calendario:",
@@ -113,6 +101,18 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Acepta vostede o convite?",
"Tentative" : "Tentativa",
"Comment" : "Comentario",
- "Your attendance was updated successfully." : "A súa asistencia foi actualizada satisfactoriamente."
+ "Your attendance was updated successfully." : "A súa asistencia foi actualizada satisfactoriamente.",
+ "Todos" : "Asuntos pendentes",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} creou os asuntos pendentes {todo} na lista {calendar}",
+ "You created todo {todo} in list {calendar}" : "Vostede creou os asuntos pendentes {todo} na lista {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} eliminou os asuntos pendentes {todo} da lista {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Vostede eliminou os asuntos pendentes {todo} da lista {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizou os asuntos pendentes {todo} na lista {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Vostede actualizou os asuntos pendentes {todo} na lista {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} resolveu os asuntos pendentes {todo} na lista {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vostede resolveu os asuntos pendentes {todo} na lista {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} volveu abrir os asuntos pendentes {todo} na lista {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Vostede volveu abrir os asuntos pendentes {todo} na lista {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Foi modificado un <strong>asunto pendente</strong> do calendario"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/gl.json b/apps/dav/l10n/gl.json
index f00a9f4e7ae..bb11ce4a5d6 100644
--- a/apps/dav/l10n/gl.json
+++ b/apps/dav/l10n/gl.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Calendario",
- "Todos" : "Asuntos pendentes",
"Personal" : "Persoal",
"{actor} created calendar {calendar}" : "{actor} creou o calendario {calendar}",
"You created calendar {calendar}" : "Vostede creou o calendario {calendar}",
@@ -29,19 +28,8 @@
"{actor} updated event {event} in calendar {calendar}" : "{actor} actualizou o evento {event} no calendario {calendar}",
"You updated event {event} in calendar {calendar}" : "Vostede actualizou o evento {event} no calendario {calendar}",
"Busy" : "Ocupado",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creou os asuntos pendentes {todo} na lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Vostede creou os asuntos pendentes {todo} na lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} eliminou os asuntos pendentes {todo} da lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Vostede eliminou os asuntos pendentes {todo} da lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizou os asuntos pendentes {todo} na lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Vostede actualizou os asuntos pendentes {todo} na lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolveu os asuntos pendentes {todo} na lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vostede resolveu os asuntos pendentes {todo} na lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} volveu abrir os asuntos pendentes {todo} na lista {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Vostede volveu abrir os asuntos pendentes {todo} na lista {calendar}",
"A <strong>calendar</strong> was modified" : "Foi modificado un <strong>calendario</strong>",
"A calendar <strong>event</strong> was modified" : "Foi modificado un <strong>evento</strong> do calendario",
- "A calendar <strong>todo</strong> was modified" : "Foi modificado un <strong>asunto pendente</strong> do calendario",
"Contact birthdays" : "Aniversario do contacto",
"Death of %s" : "Falecemento de %s",
"Calendar:" : "Calendario:",
@@ -111,6 +99,18 @@
"Are you accepting the invitation?" : "Acepta vostede o convite?",
"Tentative" : "Tentativa",
"Comment" : "Comentario",
- "Your attendance was updated successfully." : "A súa asistencia foi actualizada satisfactoriamente."
+ "Your attendance was updated successfully." : "A súa asistencia foi actualizada satisfactoriamente.",
+ "Todos" : "Asuntos pendentes",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} creou os asuntos pendentes {todo} na lista {calendar}",
+ "You created todo {todo} in list {calendar}" : "Vostede creou os asuntos pendentes {todo} na lista {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} eliminou os asuntos pendentes {todo} da lista {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Vostede eliminou os asuntos pendentes {todo} da lista {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizou os asuntos pendentes {todo} na lista {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Vostede actualizou os asuntos pendentes {todo} na lista {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} resolveu os asuntos pendentes {todo} na lista {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vostede resolveu os asuntos pendentes {todo} na lista {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} volveu abrir os asuntos pendentes {todo} na lista {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Vostede volveu abrir os asuntos pendentes {todo} na lista {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Foi modificado un <strong>asunto pendente</strong> do calendario"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/he.js b/apps/dav/l10n/he.js
index 1e15402036f..00b31765b85 100644
--- a/apps/dav/l10n/he.js
+++ b/apps/dav/l10n/he.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "יומן",
- "Todos" : "משימות מטלות",
"Personal" : "אישי",
"{actor} created calendar {calendar}" : "היומן {calendar} נוצר על ידי {actor}",
"You created calendar {calendar}" : "מחקת את היומן {calendar}",
@@ -31,19 +30,8 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "האירוע {event} עודכן בלוח השנה {calendar} על ידי {actor}",
"You updated event {event} in calendar {calendar}" : "עדכנת את האירוע {event} בלוח השנה {calendar}",
"Busy" : "עסוק",
- "{actor} created todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נוצרה על ידי {actor}",
- "You created todo {todo} in list {calendar}" : "יצרת את המשימה לביצוע {todo} ברשימה {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "המשימה לביצוע {todo} מהרשימה {calendar} נמחקה על ידי {actor}",
- "You deleted todo {todo} from list {calendar}" : "מחקת את המשימה לביצוע {todo} מהרשימה {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} עודכנה על ידי {actor}",
- "You updated todo {todo} in list {calendar}" : "עדכנת את המשימה לביצוע {todo} ברשימה {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נפתרה על ידי {actor}",
- "You solved todo {todo} in list {calendar}" : "פתרת משימה לביצוע {todo} ברשימה {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נפתחה מחדש על ידי {actor}",
- "You reopened todo {todo} in list {calendar}" : "פתחת מחדש את המשימה לביצוע {todo} ברשימה {calendar}",
"A <strong>calendar</strong> was modified" : " <strong>יומן</strong> נערך",
"A calendar <strong>event</strong> was modified" : "<strong>אירוע</strong> ביומן נערך",
- "A calendar <strong>todo</strong> was modified" : "נערכה <strong>מטלה</strong> בלוח שנה",
"Contact birthdays" : "ימי הולדת של אנשי קשר",
"Death of %s" : "הפטירה של %s",
"Calendar:" : "לוח שנה:",
@@ -111,6 +99,18 @@ OC.L10N.register(
"Are you accepting the invitation?" : "האם להיענות להזמנה?",
"Tentative" : "טנטטיבית",
"Comment" : "הערה",
- "Your attendance was updated successfully." : "ההשתתפות שלך עודכנה בהצלחה."
+ "Your attendance was updated successfully." : "ההשתתפות שלך עודכנה בהצלחה.",
+ "Todos" : "משימות מטלות",
+ "{actor} created todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נוצרה על ידי {actor}",
+ "You created todo {todo} in list {calendar}" : "יצרת את המשימה לביצוע {todo} ברשימה {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "המשימה לביצוע {todo} מהרשימה {calendar} נמחקה על ידי {actor}",
+ "You deleted todo {todo} from list {calendar}" : "מחקת את המשימה לביצוע {todo} מהרשימה {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} עודכנה על ידי {actor}",
+ "You updated todo {todo} in list {calendar}" : "עדכנת את המשימה לביצוע {todo} ברשימה {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נפתרה על ידי {actor}",
+ "You solved todo {todo} in list {calendar}" : "פתרת משימה לביצוע {todo} ברשימה {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נפתחה מחדש על ידי {actor}",
+ "You reopened todo {todo} in list {calendar}" : "פתחת מחדש את המשימה לביצוע {todo} ברשימה {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "נערכה <strong>מטלה</strong> בלוח שנה"
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;");
diff --git a/apps/dav/l10n/he.json b/apps/dav/l10n/he.json
index f344047fa78..46bd17eac40 100644
--- a/apps/dav/l10n/he.json
+++ b/apps/dav/l10n/he.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "יומן",
- "Todos" : "משימות מטלות",
"Personal" : "אישי",
"{actor} created calendar {calendar}" : "היומן {calendar} נוצר על ידי {actor}",
"You created calendar {calendar}" : "מחקת את היומן {calendar}",
@@ -29,19 +28,8 @@
"{actor} updated event {event} in calendar {calendar}" : "האירוע {event} עודכן בלוח השנה {calendar} על ידי {actor}",
"You updated event {event} in calendar {calendar}" : "עדכנת את האירוע {event} בלוח השנה {calendar}",
"Busy" : "עסוק",
- "{actor} created todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נוצרה על ידי {actor}",
- "You created todo {todo} in list {calendar}" : "יצרת את המשימה לביצוע {todo} ברשימה {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "המשימה לביצוע {todo} מהרשימה {calendar} נמחקה על ידי {actor}",
- "You deleted todo {todo} from list {calendar}" : "מחקת את המשימה לביצוע {todo} מהרשימה {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} עודכנה על ידי {actor}",
- "You updated todo {todo} in list {calendar}" : "עדכנת את המשימה לביצוע {todo} ברשימה {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נפתרה על ידי {actor}",
- "You solved todo {todo} in list {calendar}" : "פתרת משימה לביצוע {todo} ברשימה {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נפתחה מחדש על ידי {actor}",
- "You reopened todo {todo} in list {calendar}" : "פתחת מחדש את המשימה לביצוע {todo} ברשימה {calendar}",
"A <strong>calendar</strong> was modified" : " <strong>יומן</strong> נערך",
"A calendar <strong>event</strong> was modified" : "<strong>אירוע</strong> ביומן נערך",
- "A calendar <strong>todo</strong> was modified" : "נערכה <strong>מטלה</strong> בלוח שנה",
"Contact birthdays" : "ימי הולדת של אנשי קשר",
"Death of %s" : "הפטירה של %s",
"Calendar:" : "לוח שנה:",
@@ -109,6 +97,18 @@
"Are you accepting the invitation?" : "האם להיענות להזמנה?",
"Tentative" : "טנטטיבית",
"Comment" : "הערה",
- "Your attendance was updated successfully." : "ההשתתפות שלך עודכנה בהצלחה."
+ "Your attendance was updated successfully." : "ההשתתפות שלך עודכנה בהצלחה.",
+ "Todos" : "משימות מטלות",
+ "{actor} created todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נוצרה על ידי {actor}",
+ "You created todo {todo} in list {calendar}" : "יצרת את המשימה לביצוע {todo} ברשימה {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "המשימה לביצוע {todo} מהרשימה {calendar} נמחקה על ידי {actor}",
+ "You deleted todo {todo} from list {calendar}" : "מחקת את המשימה לביצוע {todo} מהרשימה {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} עודכנה על ידי {actor}",
+ "You updated todo {todo} in list {calendar}" : "עדכנת את המשימה לביצוע {todo} ברשימה {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נפתרה על ידי {actor}",
+ "You solved todo {todo} in list {calendar}" : "פתרת משימה לביצוע {todo} ברשימה {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נפתחה מחדש על ידי {actor}",
+ "You reopened todo {todo} in list {calendar}" : "פתחת מחדש את המשימה לביצוע {todo} ברשימה {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "נערכה <strong>מטלה</strong> בלוח שנה"
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"
} \ No newline at end of file
diff --git a/apps/dav/l10n/hr.js b/apps/dav/l10n/hr.js
index fcb376918ff..8a47e10ae50 100644
--- a/apps/dav/l10n/hr.js
+++ b/apps/dav/l10n/hr.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalendar",
- "Todos" : "Zadaci",
"Personal" : "Osobno",
"{actor} created calendar {calendar}" : "{actor} je stvorio kalendar {calendar}",
"You created calendar {calendar}" : "Stvorili ste kalendar {calendar}",
@@ -35,20 +34,9 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor} je vratio događaj {event} kalendara {calendar}",
"You restored event {event} of calendar {calendar}" : "Vratili ste događaj {event} kalendara {calendar}",
"Busy" : "Zauzeto",
- "{actor} created todo {todo} in list {calendar}" : "{actor} je stvorio zadatak {todo} u popisu {calendar}",
- "You created todo {todo} in list {calendar}" : "Stvorili ste zadatak {todo} u popisu {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} je izbrisao zadatak {todo} s popisa {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Izbrisali ste zadatak {todo} s popisa {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} je ažurirao zadatak {todo} u popisu {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ažurirali ste zadatak {todo} u popisu {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} je izvršio zadatak {todo} u popisu {calendar}",
- "You solved todo {todo} in list {calendar}" : "Izvršili ste zadatak {todo} u popisu {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} je ponovno otvorio zadatak {todo} u popisu {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Ponovno ste otvorili zadatak {todo} u popisu {calendar}",
"Calendar, contacts and tasks" : "Kalendar, kontakti i zadaci",
"A <strong>calendar</strong> was modified" : "Izmijenjen je <strong>kalendar</strong>",
"A calendar <strong>event</strong> was modified" : "Izmijenjen je <strong>događaj</strong> u kalendaru",
- "A calendar <strong>todo</strong> was modified" : "Izmijenjen je <strong>zadatak</strong> u kalendaru",
"Contact birthdays" : "Rođendani kontakata",
"Death of %s" : "Smrt %s",
"Calendar:" : "Kalendar:",
@@ -151,6 +139,18 @@ OC.L10N.register(
"Tentative" : "Uvjetno",
"Number of guests" : "Broj gostiju",
"Comment" : "Komentar",
- "Your attendance was updated successfully." : "Vaša je prisutnost uspješno ažurirana."
+ "Your attendance was updated successfully." : "Vaša je prisutnost uspješno ažurirana.",
+ "Todos" : "Zadaci",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} je stvorio zadatak {todo} u popisu {calendar}",
+ "You created todo {todo} in list {calendar}" : "Stvorili ste zadatak {todo} u popisu {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} je izbrisao zadatak {todo} s popisa {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Izbrisali ste zadatak {todo} s popisa {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} je ažurirao zadatak {todo} u popisu {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Ažurirali ste zadatak {todo} u popisu {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} je izvršio zadatak {todo} u popisu {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Izvršili ste zadatak {todo} u popisu {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} je ponovno otvorio zadatak {todo} u popisu {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Ponovno ste otvorili zadatak {todo} u popisu {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Izmijenjen je <strong>zadatak</strong> u kalendaru"
},
"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");
diff --git a/apps/dav/l10n/hr.json b/apps/dav/l10n/hr.json
index 0956dcb6afb..51da26b10bc 100644
--- a/apps/dav/l10n/hr.json
+++ b/apps/dav/l10n/hr.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Kalendar",
- "Todos" : "Zadaci",
"Personal" : "Osobno",
"{actor} created calendar {calendar}" : "{actor} je stvorio kalendar {calendar}",
"You created calendar {calendar}" : "Stvorili ste kalendar {calendar}",
@@ -33,20 +32,9 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor} je vratio događaj {event} kalendara {calendar}",
"You restored event {event} of calendar {calendar}" : "Vratili ste događaj {event} kalendara {calendar}",
"Busy" : "Zauzeto",
- "{actor} created todo {todo} in list {calendar}" : "{actor} je stvorio zadatak {todo} u popisu {calendar}",
- "You created todo {todo} in list {calendar}" : "Stvorili ste zadatak {todo} u popisu {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} je izbrisao zadatak {todo} s popisa {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Izbrisali ste zadatak {todo} s popisa {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} je ažurirao zadatak {todo} u popisu {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ažurirali ste zadatak {todo} u popisu {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} je izvršio zadatak {todo} u popisu {calendar}",
- "You solved todo {todo} in list {calendar}" : "Izvršili ste zadatak {todo} u popisu {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} je ponovno otvorio zadatak {todo} u popisu {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Ponovno ste otvorili zadatak {todo} u popisu {calendar}",
"Calendar, contacts and tasks" : "Kalendar, kontakti i zadaci",
"A <strong>calendar</strong> was modified" : "Izmijenjen je <strong>kalendar</strong>",
"A calendar <strong>event</strong> was modified" : "Izmijenjen je <strong>događaj</strong> u kalendaru",
- "A calendar <strong>todo</strong> was modified" : "Izmijenjen je <strong>zadatak</strong> u kalendaru",
"Contact birthdays" : "Rođendani kontakata",
"Death of %s" : "Smrt %s",
"Calendar:" : "Kalendar:",
@@ -149,6 +137,18 @@
"Tentative" : "Uvjetno",
"Number of guests" : "Broj gostiju",
"Comment" : "Komentar",
- "Your attendance was updated successfully." : "Vaša je prisutnost uspješno ažurirana."
+ "Your attendance was updated successfully." : "Vaša je prisutnost uspješno ažurirana.",
+ "Todos" : "Zadaci",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} je stvorio zadatak {todo} u popisu {calendar}",
+ "You created todo {todo} in list {calendar}" : "Stvorili ste zadatak {todo} u popisu {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} je izbrisao zadatak {todo} s popisa {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Izbrisali ste zadatak {todo} s popisa {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} je ažurirao zadatak {todo} u popisu {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Ažurirali ste zadatak {todo} u popisu {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} je izvršio zadatak {todo} u popisu {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Izvršili ste zadatak {todo} u popisu {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} je ponovno otvorio zadatak {todo} u popisu {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Ponovno ste otvorili zadatak {todo} u popisu {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Izmijenjen je <strong>zadatak</strong> u kalendaru"
},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/dav/l10n/hu.js b/apps/dav/l10n/hu.js
index 6ef5eeebe67..df447038dd8 100644
--- a/apps/dav/l10n/hu.js
+++ b/apps/dav/l10n/hu.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Naptár",
- "Todos" : "Teendők",
+ "To-dos" : "Teendők",
"Personal" : "Személyes",
"{actor} created calendar {calendar}" : "{actor} létrehozta a naptárt: {calendar}",
"You created calendar {calendar}" : "Létrehozta a naptárt: {calendar}",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Törölte a(z) {event} eseményt a következő naptárból: {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} frissítette a(z) {event} eseményt a következő naptárban: {calendar}",
"You updated event {event} in calendar {calendar}" : "Frissítette a(z) {event} eseményt a következő naptárban: {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} áthelyezte a(z) {event} eseményt a(z) {sourceCalendar} naptárból a(z) {targetCalendar} naptárba",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Áthelyezte a(z) {event} eseményt a(z) {sourceCalendar} naptárból a(z) {targetCalendar} naptárba",
"{actor} restored event {event} of calendar {calendar}" : "{actor} helyreállította a(z) {calendar} naptár következő eseményét: {event}",
"You restored event {event} of calendar {calendar}" : "Helyreállította a(z) {calendar} naptár következő eseményét: {event}",
"Busy" : "Foglalt",
- "{actor} created todo {todo} in list {calendar}" : "{actor} létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
- "You created todo {todo} in list {calendar}" : "Létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} törölte a(z) {todo} teendőt a következő listából: {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Törölte a(z) {todo} teendőt a következő listából: {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} frissítette a(z) {todo} teendőt a következő listában: {calendar}",
- "You updated todo {todo} in list {calendar}" : "Frissítette a(z) {todo} teendőt a következő listában: {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} elintézte a(z) {todo} teendőt a következő listában: {calendar}",
- "You solved todo {todo} in list {calendar}" : "Elintézte a(z) {todo} teendőt a következő listában: {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} törölte a(z) {todo} teendőt a következő listából: {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Törölte a(z) {todo} teendőt a következő listából: {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} frissítette a(z) {todo} teendőt a következő listában: {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Frissítette a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} elintézte a(z) {todo} teendőt a következő listában: {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Elintézte a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} áthelyezte a(z) {todo} teendőt a(z) {sourceCalendar} listából a(z) {targetCalendar} listába",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Áthelyezte a(z) {todo} teendőt a(z) {sourceCalendar} listából a(z) {targetCalendar} listába",
"Calendar, contacts and tasks" : "Naptár, címjegyzék és feladatok",
"A <strong>calendar</strong> was modified" : "Egy <strong>naptár</strong> megváltozott",
"A calendar <strong>event</strong> was modified" : "Egy <strong>naptáresemény</strong> megváltozott",
- "A calendar <strong>todo</strong> was modified" : "Egy <strong>naptárteendő</strong> megváltozott",
+ "A calendar <strong>to-do</strong> was modified" : "Egy <strong>naptárteendő</strong> megváltozott",
"Contact birthdays" : "Névjegyek születésnapjai",
"Death of %s" : "%s halála",
"Calendar:" : "Naptár:",
@@ -155,6 +159,7 @@ OC.L10N.register(
"Friday" : "Péntek",
"Saturday" : "Szombat",
"Sunday" : "Vasárnap",
+ "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.",
"Save" : "Mentés",
"Failed to load availability" : "Az elérhetőség betöltése sikertelen",
"Saved availability" : "Elérhetőség mentve",
@@ -177,6 +182,18 @@ OC.L10N.register(
"Tentative" : "Feltételes",
"Number of guests" : "Vendégek száma",
"Comment" : "Megjegyzés",
- "Your attendance was updated successfully." : "A részvétele frissítése sikeres."
+ "Your attendance was updated successfully." : "A részvétele frissítése sikeres.",
+ "Todos" : "Teendők",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
+ "You created todo {todo} in list {calendar}" : "Létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} törölte a(z) {todo} teendőt a következő listából: {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Törölte a(z) {todo} teendőt a következő listából: {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} frissítette a(z) {todo} teendőt a következő listában: {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Frissítette a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} elintézte a(z) {todo} teendőt a következő listában: {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Elintézte a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Egy <strong>naptárteendő</strong> megváltozott"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/hu.json b/apps/dav/l10n/hu.json
index b6907f61630..7b4b1e63c4e 100644
--- a/apps/dav/l10n/hu.json
+++ b/apps/dav/l10n/hu.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Naptár",
- "Todos" : "Teendők",
+ "To-dos" : "Teendők",
"Personal" : "Személyes",
"{actor} created calendar {calendar}" : "{actor} létrehozta a naptárt: {calendar}",
"You created calendar {calendar}" : "Létrehozta a naptárt: {calendar}",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "Törölte a(z) {event} eseményt a következő naptárból: {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} frissítette a(z) {event} eseményt a következő naptárban: {calendar}",
"You updated event {event} in calendar {calendar}" : "Frissítette a(z) {event} eseményt a következő naptárban: {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} áthelyezte a(z) {event} eseményt a(z) {sourceCalendar} naptárból a(z) {targetCalendar} naptárba",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Áthelyezte a(z) {event} eseményt a(z) {sourceCalendar} naptárból a(z) {targetCalendar} naptárba",
"{actor} restored event {event} of calendar {calendar}" : "{actor} helyreállította a(z) {calendar} naptár következő eseményét: {event}",
"You restored event {event} of calendar {calendar}" : "Helyreállította a(z) {calendar} naptár következő eseményét: {event}",
"Busy" : "Foglalt",
- "{actor} created todo {todo} in list {calendar}" : "{actor} létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
- "You created todo {todo} in list {calendar}" : "Létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} törölte a(z) {todo} teendőt a következő listából: {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Törölte a(z) {todo} teendőt a következő listából: {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} frissítette a(z) {todo} teendőt a következő listában: {calendar}",
- "You updated todo {todo} in list {calendar}" : "Frissítette a(z) {todo} teendőt a következő listában: {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} elintézte a(z) {todo} teendőt a következő listában: {calendar}",
- "You solved todo {todo} in list {calendar}" : "Elintézte a(z) {todo} teendőt a következő listában: {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} törölte a(z) {todo} teendőt a következő listából: {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Törölte a(z) {todo} teendőt a következő listából: {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} frissítette a(z) {todo} teendőt a következő listában: {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Frissítette a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} elintézte a(z) {todo} teendőt a következő listában: {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Elintézte a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} áthelyezte a(z) {todo} teendőt a(z) {sourceCalendar} listából a(z) {targetCalendar} listába",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Áthelyezte a(z) {todo} teendőt a(z) {sourceCalendar} listából a(z) {targetCalendar} listába",
"Calendar, contacts and tasks" : "Naptár, címjegyzék és feladatok",
"A <strong>calendar</strong> was modified" : "Egy <strong>naptár</strong> megváltozott",
"A calendar <strong>event</strong> was modified" : "Egy <strong>naptáresemény</strong> megváltozott",
- "A calendar <strong>todo</strong> was modified" : "Egy <strong>naptárteendő</strong> megváltozott",
+ "A calendar <strong>to-do</strong> was modified" : "Egy <strong>naptárteendő</strong> megváltozott",
"Contact birthdays" : "Névjegyek születésnapjai",
"Death of %s" : "%s halála",
"Calendar:" : "Naptár:",
@@ -153,6 +157,7 @@
"Friday" : "Péntek",
"Saturday" : "Szombat",
"Sunday" : "Vasárnap",
+ "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.",
"Save" : "Mentés",
"Failed to load availability" : "Az elérhetőség betöltése sikertelen",
"Saved availability" : "Elérhetőség mentve",
@@ -175,6 +180,18 @@
"Tentative" : "Feltételes",
"Number of guests" : "Vendégek száma",
"Comment" : "Megjegyzés",
- "Your attendance was updated successfully." : "A részvétele frissítése sikeres."
+ "Your attendance was updated successfully." : "A részvétele frissítése sikeres.",
+ "Todos" : "Teendők",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
+ "You created todo {todo} in list {calendar}" : "Létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} törölte a(z) {todo} teendőt a következő listából: {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Törölte a(z) {todo} teendőt a következő listából: {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} frissítette a(z) {todo} teendőt a következő listában: {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Frissítette a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} elintézte a(z) {todo} teendőt a következő listában: {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Elintézte a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Egy <strong>naptárteendő</strong> megváltozott"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/is.js b/apps/dav/l10n/is.js
index 6e03824ae14..9d16ae97f91 100644
--- a/apps/dav/l10n/is.js
+++ b/apps/dav/l10n/is.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Dagatal",
- "Todos" : "Verkþættir",
"Personal" : "Einka",
"{actor} created calendar {calendar}" : "{actor} bjó til dagatalið {calendar}",
"You created calendar {calendar}" : "Þú bjóst til dagatalið {calendar}",
@@ -31,19 +30,8 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "{actor} uppfærði atburðinn {event} í dagatalinu {calendar}",
"You updated event {event} in calendar {calendar}" : "Þú uppfærðir atburðinn {event} í dagatalinu {calendar}",
"Busy" : "Upptekið",
- "{actor} created todo {todo} in list {calendar}" : "{actor} bjó til verkefnið {todo} á listanum {calendar}",
- "You created todo {todo} in list {calendar}" : "Þú bjóst til verkefnið {todo} á listanum {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} eyddi verkefninu {todo} af listanum {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Þú eyddir verkefninu {todo} af listanum {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} uppfærði verkefnið {todo} á listanum {calendar}",
- "You updated todo {todo} in list {calendar}" : "Þú uppfærðir verkefnið {todo} á listanum {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} leysti verkefnið {todo} á listanum {calendar}",
- "You solved todo {todo} in list {calendar}" : "Þú leystir verkefnið {todo} á listanum {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} opnaði aftur verkefnið {todo} á listanum {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Þú opnaðir aftur verkefnið {todo} á listanum {calendar}",
"A <strong>calendar</strong> was modified" : "<strong>Dagatali</strong> var breytt",
"A calendar <strong>event</strong> was modified" : "<strong>Atburði</strong> dagatals var breytt",
- "A calendar <strong>todo</strong> was modified" : "<strong>Verkefnalista</strong> dagatals var breytt",
"Contact birthdays" : "Afmælisdagar tengiliðar",
"Calendar:" : "Dagatal:",
"Date:" : "Dagsetning:",
@@ -98,6 +86,18 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Ætlar þú að samþykkja boðið?",
"Tentative" : "Bráðabirgða",
"Comment" : "Athugasemd",
- "Your attendance was updated successfully." : "Mætingarstaða þín var uppfærð."
+ "Your attendance was updated successfully." : "Mætingarstaða þín var uppfærð.",
+ "Todos" : "Verkþættir",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} bjó til verkefnið {todo} á listanum {calendar}",
+ "You created todo {todo} in list {calendar}" : "Þú bjóst til verkefnið {todo} á listanum {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} eyddi verkefninu {todo} af listanum {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Þú eyddir verkefninu {todo} af listanum {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} uppfærði verkefnið {todo} á listanum {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Þú uppfærðir verkefnið {todo} á listanum {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} leysti verkefnið {todo} á listanum {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Þú leystir verkefnið {todo} á listanum {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} opnaði aftur verkefnið {todo} á listanum {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Þú opnaðir aftur verkefnið {todo} á listanum {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "<strong>Verkefnalista</strong> dagatals var breytt"
},
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/apps/dav/l10n/is.json b/apps/dav/l10n/is.json
index d7b6bda37f6..29ba35dc18c 100644
--- a/apps/dav/l10n/is.json
+++ b/apps/dav/l10n/is.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Dagatal",
- "Todos" : "Verkþættir",
"Personal" : "Einka",
"{actor} created calendar {calendar}" : "{actor} bjó til dagatalið {calendar}",
"You created calendar {calendar}" : "Þú bjóst til dagatalið {calendar}",
@@ -29,19 +28,8 @@
"{actor} updated event {event} in calendar {calendar}" : "{actor} uppfærði atburðinn {event} í dagatalinu {calendar}",
"You updated event {event} in calendar {calendar}" : "Þú uppfærðir atburðinn {event} í dagatalinu {calendar}",
"Busy" : "Upptekið",
- "{actor} created todo {todo} in list {calendar}" : "{actor} bjó til verkefnið {todo} á listanum {calendar}",
- "You created todo {todo} in list {calendar}" : "Þú bjóst til verkefnið {todo} á listanum {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} eyddi verkefninu {todo} af listanum {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Þú eyddir verkefninu {todo} af listanum {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} uppfærði verkefnið {todo} á listanum {calendar}",
- "You updated todo {todo} in list {calendar}" : "Þú uppfærðir verkefnið {todo} á listanum {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} leysti verkefnið {todo} á listanum {calendar}",
- "You solved todo {todo} in list {calendar}" : "Þú leystir verkefnið {todo} á listanum {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} opnaði aftur verkefnið {todo} á listanum {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Þú opnaðir aftur verkefnið {todo} á listanum {calendar}",
"A <strong>calendar</strong> was modified" : "<strong>Dagatali</strong> var breytt",
"A calendar <strong>event</strong> was modified" : "<strong>Atburði</strong> dagatals var breytt",
- "A calendar <strong>todo</strong> was modified" : "<strong>Verkefnalista</strong> dagatals var breytt",
"Contact birthdays" : "Afmælisdagar tengiliðar",
"Calendar:" : "Dagatal:",
"Date:" : "Dagsetning:",
@@ -96,6 +84,18 @@
"Are you accepting the invitation?" : "Ætlar þú að samþykkja boðið?",
"Tentative" : "Bráðabirgða",
"Comment" : "Athugasemd",
- "Your attendance was updated successfully." : "Mætingarstaða þín var uppfærð."
+ "Your attendance was updated successfully." : "Mætingarstaða þín var uppfærð.",
+ "Todos" : "Verkþættir",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} bjó til verkefnið {todo} á listanum {calendar}",
+ "You created todo {todo} in list {calendar}" : "Þú bjóst til verkefnið {todo} á listanum {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} eyddi verkefninu {todo} af listanum {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Þú eyddir verkefninu {todo} af listanum {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} uppfærði verkefnið {todo} á listanum {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Þú uppfærðir verkefnið {todo} á listanum {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} leysti verkefnið {todo} á listanum {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Þú leystir verkefnið {todo} á listanum {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} opnaði aftur verkefnið {todo} á listanum {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Þú opnaðir aftur verkefnið {todo} á listanum {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "<strong>Verkefnalista</strong> dagatals var breytt"
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/it.js b/apps/dav/l10n/it.js
index 1d90a506fe8..bdc929df478 100644
--- a/apps/dav/l10n/it.js
+++ b/apps/dav/l10n/it.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Calendario",
- "Todos" : "Cose da fare",
"Personal" : "Personale",
"{actor} created calendar {calendar}" : "{actor} ha creato il calendario {calendar}",
"You created calendar {calendar}" : "Hai creato il calendario {calendar}",
@@ -35,20 +34,9 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor} ha ripristinato l'evento {event} del calendario {calendar}",
"You restored event {event} of calendar {calendar}" : "Hai ripristinato l'evento {event} del calendario {calendar}",
"Busy" : "Occupato",
- "{actor} created todo {todo} in list {calendar}" : "{actor} ha creato la cosa da fare {todo} nell'elenco {calendar}",
- "You created todo {todo} in list {calendar}" : "Hai creato la cosa da fare {todo} nell'elenco {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} ha eliminato la cosa da fare {todo} dall'elenco {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Hai eliminato la cosa da fare {todo} dall'elenco {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ha aggiornato la cosa da fare {todo} nell'elenco {calendar}",
- "You updated todo {todo} in list {calendar}" : "Hai aggiornato la cosa da fare {todo} nell'elenco {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} ha risolto la cosa da fare {todo} nell'elenco {calendar}",
- "You solved todo {todo} in list {calendar}" : "Hai risolto la cosa da fare {todo} nell'elenco {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} ha riaperto la cosa da fare {todo} nell'elenco {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Hai riaperto la cosa da fare {todo} nell'elenco {calendar}",
"Calendar, contacts and tasks" : "Calendario, contatti e attività",
"A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> è stato modificato",
"A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario è stato modificato",
- "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa da fare</strong> del calendario è stata modificata",
"Contact birthdays" : "Date di nascita dei contatti",
"Death of %s" : "Morte di %s",
"Calendar:" : "Calendario:",
@@ -171,6 +159,18 @@ OC.L10N.register(
"Tentative" : "Provvisorio",
"Number of guests" : "Numero di ospiti",
"Comment" : "Commento",
- "Your attendance was updated successfully." : "La tua partecipazione è stata aggiornata correttamente."
+ "Your attendance was updated successfully." : "La tua partecipazione è stata aggiornata correttamente.",
+ "Todos" : "Cose da fare",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} ha creato la cosa da fare {todo} nell'elenco {calendar}",
+ "You created todo {todo} in list {calendar}" : "Hai creato la cosa da fare {todo} nell'elenco {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} ha eliminato la cosa da fare {todo} dall'elenco {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Hai eliminato la cosa da fare {todo} dall'elenco {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} ha aggiornato la cosa da fare {todo} nell'elenco {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Hai aggiornato la cosa da fare {todo} nell'elenco {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} ha risolto la cosa da fare {todo} nell'elenco {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Hai risolto la cosa da fare {todo} nell'elenco {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} ha riaperto la cosa da fare {todo} nell'elenco {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Hai riaperto la cosa da fare {todo} nell'elenco {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa da fare</strong> del calendario è stata modificata"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/dav/l10n/it.json b/apps/dav/l10n/it.json
index 5bbdb84d88f..c1d27701463 100644
--- a/apps/dav/l10n/it.json
+++ b/apps/dav/l10n/it.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Calendario",
- "Todos" : "Cose da fare",
"Personal" : "Personale",
"{actor} created calendar {calendar}" : "{actor} ha creato il calendario {calendar}",
"You created calendar {calendar}" : "Hai creato il calendario {calendar}",
@@ -33,20 +32,9 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor} ha ripristinato l'evento {event} del calendario {calendar}",
"You restored event {event} of calendar {calendar}" : "Hai ripristinato l'evento {event} del calendario {calendar}",
"Busy" : "Occupato",
- "{actor} created todo {todo} in list {calendar}" : "{actor} ha creato la cosa da fare {todo} nell'elenco {calendar}",
- "You created todo {todo} in list {calendar}" : "Hai creato la cosa da fare {todo} nell'elenco {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} ha eliminato la cosa da fare {todo} dall'elenco {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Hai eliminato la cosa da fare {todo} dall'elenco {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ha aggiornato la cosa da fare {todo} nell'elenco {calendar}",
- "You updated todo {todo} in list {calendar}" : "Hai aggiornato la cosa da fare {todo} nell'elenco {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} ha risolto la cosa da fare {todo} nell'elenco {calendar}",
- "You solved todo {todo} in list {calendar}" : "Hai risolto la cosa da fare {todo} nell'elenco {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} ha riaperto la cosa da fare {todo} nell'elenco {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Hai riaperto la cosa da fare {todo} nell'elenco {calendar}",
"Calendar, contacts and tasks" : "Calendario, contatti e attività",
"A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> è stato modificato",
"A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario è stato modificato",
- "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa da fare</strong> del calendario è stata modificata",
"Contact birthdays" : "Date di nascita dei contatti",
"Death of %s" : "Morte di %s",
"Calendar:" : "Calendario:",
@@ -169,6 +157,18 @@
"Tentative" : "Provvisorio",
"Number of guests" : "Numero di ospiti",
"Comment" : "Commento",
- "Your attendance was updated successfully." : "La tua partecipazione è stata aggiornata correttamente."
+ "Your attendance was updated successfully." : "La tua partecipazione è stata aggiornata correttamente.",
+ "Todos" : "Cose da fare",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} ha creato la cosa da fare {todo} nell'elenco {calendar}",
+ "You created todo {todo} in list {calendar}" : "Hai creato la cosa da fare {todo} nell'elenco {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} ha eliminato la cosa da fare {todo} dall'elenco {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Hai eliminato la cosa da fare {todo} dall'elenco {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} ha aggiornato la cosa da fare {todo} nell'elenco {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Hai aggiornato la cosa da fare {todo} nell'elenco {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} ha risolto la cosa da fare {todo} nell'elenco {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Hai risolto la cosa da fare {todo} nell'elenco {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} ha riaperto la cosa da fare {todo} nell'elenco {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Hai riaperto la cosa da fare {todo} nell'elenco {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa da fare</strong> del calendario è stata modificata"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/dav/l10n/ja.js b/apps/dav/l10n/ja.js
index 07c1086f404..a9cbf7e6b94 100644
--- a/apps/dav/l10n/ja.js
+++ b/apps/dav/l10n/ja.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "カレンダー",
- "Todos" : "ToDo",
"Personal" : "個人",
"{actor} created calendar {calendar}" : "{actor}はカレンダー {calendar} を作成しました",
"You created calendar {calendar}" : "カレンダー {calendar} を作成しました",
@@ -35,20 +34,9 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor}はカレンダー {calendar}のイベント {event}を復元しました",
"You restored event {event} of calendar {calendar}" : "カレンダー {calendar} のイベント {event}を復元しました",
"Busy" : "ビジー",
- "{actor} created todo {todo} in list {calendar}" : "{actor}はリスト{calendar}のtodo {todo}を作成しました",
- "You created todo {todo} in list {calendar}" : "リスト {calendar} にtodo {todo} を作成しました",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor}リスト{カレンダー}からtodo {todo}を削除しました",
- "You deleted todo {todo} from list {calendar}" : "あなたはtodo {todo}を{calendar}のリストから削除しました。",
- "{actor} updated todo {todo} in list {calendar}" : "{actor}リスト{calendar}のtodo {todo}を更新しました",
- "You updated todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を更新しました。",
- "{actor} solved todo {todo} in list {calendar}" : "{actor}リスト{calendar}のtodo {todo}を解決しました",
- "You solved todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を解決しました。",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor}リスト{calendar}のToDo {todo}を再開しました",
- "You reopened todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を再開しました",
"Calendar, contacts and tasks" : "カレンダー、連絡帳とタスク",
"A <strong>calendar</strong> was modified" : "<strong>カレンダー</strong>が変更されたとき",
"A calendar <strong>event</strong> was modified" : "カレンダーの<strong>イベント</strong>が変更されたとき",
- "A calendar <strong>todo</strong> was modified" : "カレンダーの<strong>ToDo</strong>が変更されたとき",
"Contact birthdays" : "誕生日",
"Death of %s" : "%sの命日",
"Calendar:" : "カレンダー:",
@@ -112,7 +100,19 @@ OC.L10N.register(
"Could not write to final file, canceled by hook" : "最終ファイルへの書き込みができなかったため、フックによりキャンセルされた",
"Could not write file contents" : "ファイルの内容を書き込むことができませんでした",
"_%n byte_::_%n bytes_" : ["%n bytes"],
+ "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "ファイルをコピー先へコピー中にエラーが発生しました (コピー済: %1$s, 想定ファイルサイズ: %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." : "Nextcloudクライアントからの想定ファイルサイズは、%1$s ですが、Nextcloudストレージへの書き込みファイルサイズは %2$s でした。送信側のネットワークの問題またはサーバー側のストレージへの書き込みに問題がある可能性があります。",
+ "Could not rename part file to final file, canceled by hook" : "最終ファイルの名前の変更が出来なかったため、フックによりキャンセルされました",
+ "Could not rename part file to final file" : "最終ファイルの名前の変更が出来ませんでした",
+ "Failed to check file size: %1$s" : "ファイルサイズの確認に失敗: %1$s",
"Could not open file" : "ファイルを開くことができませんでした",
+ "Encryption not ready: %1$s" : "暗号化の準備が出来ていません: %1$s",
+ "Failed to open file: %1$s" : "ファイルを開くのに失敗: %1$s",
+ "Failed to unlink: %1$s" : "リンクの解除に失敗: %1$s",
+ "Invalid chunk name" : "無効なチャンク名",
+ "Could not rename part file assembled from chunks" : "チャンクから構成されている部分ファイルの名前の変更ができませんでした",
+ "Failed to write file contents: %1$s" : "ファイルの内容の書き込みに失敗: %1$s",
+ "File not found: %1$s" : "ファイルが見つかりません: %1$s",
"System is in maintenance mode." : "システムはメンテナンスモードです。",
"Upgrade needed" : "アップグレードが必要です",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "iOS / macOSでCalDAVおよびCardDAVを使用するには、%sにHTTPSを設定する必要があります。",
@@ -124,6 +124,8 @@ OC.L10N.register(
"Completed on %s" : "%sに完了",
"Due on %s by %s" : "期限日%s が%sにより設定",
"Due on %s" : "期限日:%s",
+ "Migrated calendar (%1$s)" : "カレンダーを移行しました (%1$s)",
+ "Calendars including events, details and attendees" : "カレンダーには、イベント、イベントの詳細及び出席者が含まれます",
"Contacts and groups" : "連絡先とグループ",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAVエンドポイント",
@@ -133,6 +135,7 @@ OC.L10N.register(
"to" : "宛先",
"Delete slot" : "スロットを削除",
"No working hours set" : "勤務時間未設定",
+ "Add slot" : "スロットを追加",
"Monday" : "月曜日",
"Tuesday" : "火曜日",
"Wednesday" : "水曜日",
@@ -141,6 +144,9 @@ OC.L10N.register(
"Saturday" : "土曜日",
"Sunday" : "日曜日",
"Save" : "保存",
+ "Failed to load availability" : "可用性の読み込みに失敗",
+ "Saved availability" : "可用性を保存しました",
+ "Failed to save availability" : "可用性を保存しました",
"Calendar server" : "カレンダーサーバー",
"Send invitations to attendees" : "参加者に招待状を送信する",
"Automatically generate a birthday calendar" : "自動的に誕生日カレンダーを生成する",
@@ -148,6 +154,8 @@ OC.L10N.register(
"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." : "リマインダーを常に作成者と出席者に送信します。",
"Enable notifications for events via push" : "イベントのプッシュ通知を有効にする",
"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}を正しく設定してください。",
@@ -155,7 +163,20 @@ OC.L10N.register(
"Please contact the organizer directly." : "主催者に直接お問い合わせください。",
"Are you accepting the invitation?" : "招待を受け入れていますか?",
"Tentative" : "暫定的",
+ "Number of guests" : "ゲスト数",
"Comment" : "コメント",
- "Your attendance was updated successfully." : "出席は正常に更新されました。"
+ "Your attendance was updated successfully." : "出席は正常に更新されました。",
+ "Todos" : "ToDo",
+ "{actor} created todo {todo} in list {calendar}" : "{actor}はリスト{calendar}のtodo {todo}を作成しました",
+ "You created todo {todo} in list {calendar}" : "リスト {calendar} にtodo {todo} を作成しました",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor}リスト{カレンダー}からtodo {todo}を削除しました",
+ "You deleted todo {todo} from list {calendar}" : "あなたはtodo {todo}を{calendar}のリストから削除しました。",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor}リスト{calendar}のtodo {todo}を更新しました",
+ "You updated todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を更新しました。",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor}リスト{calendar}のtodo {todo}を解決しました",
+ "You solved todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を解決しました。",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor}リスト{calendar}のToDo {todo}を再開しました",
+ "You reopened todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を再開しました",
+ "A calendar <strong>todo</strong> was modified" : "カレンダーの<strong>ToDo</strong>が変更されたとき"
},
"nplurals=1; plural=0;");
diff --git a/apps/dav/l10n/ja.json b/apps/dav/l10n/ja.json
index 46748402cd9..e5ec8aeb504 100644
--- a/apps/dav/l10n/ja.json
+++ b/apps/dav/l10n/ja.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "カレンダー",
- "Todos" : "ToDo",
"Personal" : "個人",
"{actor} created calendar {calendar}" : "{actor}はカレンダー {calendar} を作成しました",
"You created calendar {calendar}" : "カレンダー {calendar} を作成しました",
@@ -33,20 +32,9 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor}はカレンダー {calendar}のイベント {event}を復元しました",
"You restored event {event} of calendar {calendar}" : "カレンダー {calendar} のイベント {event}を復元しました",
"Busy" : "ビジー",
- "{actor} created todo {todo} in list {calendar}" : "{actor}はリスト{calendar}のtodo {todo}を作成しました",
- "You created todo {todo} in list {calendar}" : "リスト {calendar} にtodo {todo} を作成しました",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor}リスト{カレンダー}からtodo {todo}を削除しました",
- "You deleted todo {todo} from list {calendar}" : "あなたはtodo {todo}を{calendar}のリストから削除しました。",
- "{actor} updated todo {todo} in list {calendar}" : "{actor}リスト{calendar}のtodo {todo}を更新しました",
- "You updated todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を更新しました。",
- "{actor} solved todo {todo} in list {calendar}" : "{actor}リスト{calendar}のtodo {todo}を解決しました",
- "You solved todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を解決しました。",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor}リスト{calendar}のToDo {todo}を再開しました",
- "You reopened todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を再開しました",
"Calendar, contacts and tasks" : "カレンダー、連絡帳とタスク",
"A <strong>calendar</strong> was modified" : "<strong>カレンダー</strong>が変更されたとき",
"A calendar <strong>event</strong> was modified" : "カレンダーの<strong>イベント</strong>が変更されたとき",
- "A calendar <strong>todo</strong> was modified" : "カレンダーの<strong>ToDo</strong>が変更されたとき",
"Contact birthdays" : "誕生日",
"Death of %s" : "%sの命日",
"Calendar:" : "カレンダー:",
@@ -110,7 +98,19 @@
"Could not write to final file, canceled by hook" : "最終ファイルへの書き込みができなかったため、フックによりキャンセルされた",
"Could not write file contents" : "ファイルの内容を書き込むことができませんでした",
"_%n byte_::_%n bytes_" : ["%n bytes"],
+ "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "ファイルをコピー先へコピー中にエラーが発生しました (コピー済: %1$s, 想定ファイルサイズ: %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." : "Nextcloudクライアントからの想定ファイルサイズは、%1$s ですが、Nextcloudストレージへの書き込みファイルサイズは %2$s でした。送信側のネットワークの問題またはサーバー側のストレージへの書き込みに問題がある可能性があります。",
+ "Could not rename part file to final file, canceled by hook" : "最終ファイルの名前の変更が出来なかったため、フックによりキャンセルされました",
+ "Could not rename part file to final file" : "最終ファイルの名前の変更が出来ませんでした",
+ "Failed to check file size: %1$s" : "ファイルサイズの確認に失敗: %1$s",
"Could not open file" : "ファイルを開くことができませんでした",
+ "Encryption not ready: %1$s" : "暗号化の準備が出来ていません: %1$s",
+ "Failed to open file: %1$s" : "ファイルを開くのに失敗: %1$s",
+ "Failed to unlink: %1$s" : "リンクの解除に失敗: %1$s",
+ "Invalid chunk name" : "無効なチャンク名",
+ "Could not rename part file assembled from chunks" : "チャンクから構成されている部分ファイルの名前の変更ができませんでした",
+ "Failed to write file contents: %1$s" : "ファイルの内容の書き込みに失敗: %1$s",
+ "File not found: %1$s" : "ファイルが見つかりません: %1$s",
"System is in maintenance mode." : "システムはメンテナンスモードです。",
"Upgrade needed" : "アップグレードが必要です",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "iOS / macOSでCalDAVおよびCardDAVを使用するには、%sにHTTPSを設定する必要があります。",
@@ -122,6 +122,8 @@
"Completed on %s" : "%sに完了",
"Due on %s by %s" : "期限日%s が%sにより設定",
"Due on %s" : "期限日:%s",
+ "Migrated calendar (%1$s)" : "カレンダーを移行しました (%1$s)",
+ "Calendars including events, details and attendees" : "カレンダーには、イベント、イベントの詳細及び出席者が含まれます",
"Contacts and groups" : "連絡先とグループ",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAVエンドポイント",
@@ -131,6 +133,7 @@
"to" : "宛先",
"Delete slot" : "スロットを削除",
"No working hours set" : "勤務時間未設定",
+ "Add slot" : "スロットを追加",
"Monday" : "月曜日",
"Tuesday" : "火曜日",
"Wednesday" : "水曜日",
@@ -139,6 +142,9 @@
"Saturday" : "土曜日",
"Sunday" : "日曜日",
"Save" : "保存",
+ "Failed to load availability" : "可用性の読み込みに失敗",
+ "Saved availability" : "可用性を保存しました",
+ "Failed to save availability" : "可用性を保存しました",
"Calendar server" : "カレンダーサーバー",
"Send invitations to attendees" : "参加者に招待状を送信する",
"Automatically generate a birthday calendar" : "自動的に誕生日カレンダーを生成する",
@@ -146,6 +152,8 @@
"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." : "リマインダーを常に作成者と出席者に送信します。",
"Enable notifications for events via push" : "イベントのプッシュ通知を有効にする",
"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}を正しく設定してください。",
@@ -153,7 +161,20 @@
"Please contact the organizer directly." : "主催者に直接お問い合わせください。",
"Are you accepting the invitation?" : "招待を受け入れていますか?",
"Tentative" : "暫定的",
+ "Number of guests" : "ゲスト数",
"Comment" : "コメント",
- "Your attendance was updated successfully." : "出席は正常に更新されました。"
+ "Your attendance was updated successfully." : "出席は正常に更新されました。",
+ "Todos" : "ToDo",
+ "{actor} created todo {todo} in list {calendar}" : "{actor}はリスト{calendar}のtodo {todo}を作成しました",
+ "You created todo {todo} in list {calendar}" : "リスト {calendar} にtodo {todo} を作成しました",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor}リスト{カレンダー}からtodo {todo}を削除しました",
+ "You deleted todo {todo} from list {calendar}" : "あなたはtodo {todo}を{calendar}のリストから削除しました。",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor}リスト{calendar}のtodo {todo}を更新しました",
+ "You updated todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を更新しました。",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor}リスト{calendar}のtodo {todo}を解決しました",
+ "You solved todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を解決しました。",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor}リスト{calendar}のToDo {todo}を再開しました",
+ "You reopened todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を再開しました",
+ "A calendar <strong>todo</strong> was modified" : "カレンダーの<strong>ToDo</strong>が変更されたとき"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/dav/l10n/ko.js b/apps/dav/l10n/ko.js
index 9bb56bd1782..a5b398f33b2 100644
--- a/apps/dav/l10n/ko.js
+++ b/apps/dav/l10n/ko.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "달력",
- "Todos" : "할 일",
+ "To-dos" : "할 일",
"Personal" : "개인",
"{actor} created calendar {calendar}" : "{actor} 님이 달력 {calendar}을(를) 생성함",
"You created calendar {calendar}" : "달력 {calendar}을(를) 생성함",
@@ -25,41 +25,45 @@ OC.L10N.register(
"{actor} shared calendar {calendar} with group {group}" : "{actor} 님이 달력 {calendar}을(를) 그룹 {group}와(과) 공유함",
"You unshared calendar {calendar} from group {group}" : "달력 {calendar}을(를) 그룹 {group}와(과) 공유하지 않음",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} 님이 달력 {calendar}을(를) 그룹 {group}와(과) 공유하지 않음",
- "Untitled event" : "제목없는 이벤트",
+ "Untitled event" : "제목 없는 일정",
"{actor} created event {event} in calendar {calendar}" : "{actor} 님이 행사 {event}을(를) 달력 {calendar}에 생성함",
"You created event {event} in calendar {calendar}" : "행사 {event}을(를) 달력 {calendar}에 생성함",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} 님이 행사 {event}을(를) 달력 {calendar}에서 삭제함",
"You deleted event {event} from calendar {calendar}" : "행사 {event}을(를) 달력 {calendar}에서 삭제함",
"{actor} updated event {event} in calendar {calendar}" : "{actor} 님이 달력 {calendar}의 행사 {event}을(를) 업데이트함",
"You updated event {event} in calendar {calendar}" : "달력 {calendar}의 행사 {event}을(를) 업데이트함",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} 님이 행사 {event}을(를) 달력 {sourceCalendar}에서 달력 {targetCalendar}(으)로 옮김",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "행사 {event}을(를) 달력 {sourceCalendar}에서 달력 {targetCalendar}(으)로 옮김",
"{actor} restored event {event} of calendar {calendar}" : "{actor} 님이 행사 {event}을(를) 달력 {calendar}에 복구함",
"You restored event {event} of calendar {calendar}" : "행사 {event}을(를) 달력 {calendar}에 복구함",
"Busy" : "바쁨",
- "{actor} created todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}에 할 일 {todo}을(를) 생성함",
- "You created todo {todo} in list {calendar}" : "목록 {calendar}에 할 일 {todo}을(를) 생성함",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} 님이 목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
- "You deleted todo {todo} from list {calendar}" : "목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
- "You updated todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 끝냄",
- "You solved todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 끝냄",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 다시 염",
- "You reopened todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 다시 염",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}에 할 일 {todo}을(를) 생성함",
+ "You created to-do {todo} in list {calendar}" : "목록 {calendar}에 할 일 {todo}을(를) 생성함",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} 님이 목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
+ "You deleted to-do {todo} from list {calendar}" : "목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
+ "You updated to-do {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 끝냄",
+ "You solved to-do {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 끝냄",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 다시 엶",
+ "You reopened to-do {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 다시 엶",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} 님이 할 일 {todo}을(를) 목록 {sourceCalendar}에서 목록 {targetCalendar}(으)로 옮김",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "할 일 {todo}을(를) 목록 {sourceCalendar}에서 목록 {targetCalendar}(으)로 옮김",
"Calendar, contacts and tasks" : "달력, 연락처 및 작업",
"A <strong>calendar</strong> was modified" : "<strong>달력</strong>이 수정됨",
"A calendar <strong>event</strong> was modified" : "달력 <strong>행사</strong>가 수정됨",
- "A calendar <strong>todo</strong> was modified" : "달력의 <strong>할 일</strong>이 수정됨",
+ "A calendar <strong>to-do</strong> was modified" : "달력 <strong>할 일</strong>이 수정됨",
"Contact birthdays" : "연락처에 등록된 생일",
- "Death of %s" : "%s의 사망",
+ "Death of %s" : "%s의 기일",
"Calendar:" : "달력:",
"Date:" : "날짜:",
"Where:" : "장소:",
"Description:" : "설명:",
"_%n year_::_%n years_" : ["%n년"],
- "_%n month_::_%n months_" : ["%d개월"],
+ "_%n month_::_%n months_" : ["%n개월"],
"_%n day_::_%n days_" : ["%n일"],
- "_%n hour_::_%n hours_" : ["%d시간"],
- "_%n minute_::_%n minutes_" : ["%d분"],
+ "_%n hour_::_%n hours_" : ["%n시간"],
+ "_%n minute_::_%n minutes_" : ["%n분"],
"%s (in %s)" : "%s(%s에)",
"%s (%s ago)" : "%s(%s 전)",
"Calendar: %s" : "달력: %s",
@@ -93,13 +97,14 @@ OC.L10N.register(
"{actor} shared address book {addressbook} with you" : "{actor} 님이 나와 주소록 {addressbook}을(를) 공유함",
"You shared address book {addressbook} with {user}" : "{user} 님과 주소록 {addressbook}을(를) 공유함",
"{actor} shared address book {addressbook} with {user}" : "{actor} 님이 {user} 님과 주소록 {addressbook}을(를) 공유함",
- "{actor} unshared address book {addressbook} from you" : "{actor} 님이 주소록 {addressbook}을(를) 더이상 공유하지 않음",
- "You unshared address book {addressbook} from {user}" : "{user} 님과 주소록 {addressbook}을(를) 더이상 공유하지 않음",
- "{actor} unshared address book {addressbook} from {user}" : "{actor} 님이 {user} 님과 주소록 {addressbook}을(를) 더이상 공유하지 않음",
+ "{actor} unshared address book {addressbook} from you" : "{actor} 님이 주소록 {addressbook}의 공유를 해제함",
+ "You unshared address book {addressbook} from {user}" : "{user} 님과 주소록 {addressbook}의 공유를 해제함",
+ "{actor} unshared address book {addressbook} from {user}" : "{actor} 님이 {user} 님과 주소록 {addressbook}의 공유를 해제함",
+ "{actor} unshared address book {addressbook} from themselves" : "{actor} 님이 자신과 주소록 {addressbook}의 공유를 해제함",
"You shared address book {addressbook} with group {group}" : "그룹 {group}과(와) 주소록 {addressbook}을(를) 공유함",
"{actor} shared address book {addressbook} with group {group}" : "{actor} 님이 그룹 {group}과(와) 주소록 {addressbook}을(를) 공유함",
- "You unshared address book {addressbook} from group {group}" : "그룹 {group}과(와) 주소록 {addressbook}을(를) 더이상 공유하지 않음",
- "{actor} unshared address book {addressbook} from group {group}" : "{actor} 님이 그룹 {group}과(와) 주소록 {addressbook}을(를) 더이상 공유하지 않음",
+ "You unshared address book {addressbook} from group {group}" : "그룹 {group}과(와) 주소록 {addressbook}의 공유를 해제함",
+ "{actor} unshared address book {addressbook} from group {group}" : "{actor} 님이 그룹 {group}과(와) 주소록 {addressbook}의 공유를 해제함",
"{actor} created contact {card} in address book {addressbook}" : "{actor} 님이 연락처 {card}을(를) 주소록 {addressbook}에 생성함",
"You created contact {card} in address book {addressbook}" : "연락처 {card}을(를) 주소록 {addressbook}에 생성함",
"{actor} deleted contact {card} from address book {addressbook}" : "{actor} 님이 연락처 {card}을(를) 주소록 {addressbook}에서 제거함",
@@ -107,6 +112,23 @@ OC.L10N.register(
"{actor} updated contact {card} in address book {addressbook}" : "{actor} 님이 주소록 {addressbook}의 연락처 {card}을(를) 갱신함",
"You updated contact {card} in address book {addressbook}" : "주소록 {addressbook}의 연락처 {card}을(를) 갱신함",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong>연락처</strong> 또는 <strong>주소록</strong>이 변경됨",
+ "File is not updatable: %1$s" : "파일을 갱신할 수 없습니다: %1$s",
+ "Could not write to final file, canceled by hook" : "후크에 의해 취소되어 최종 파일에 쓸 수 없음",
+ "Could not write file contents" : "파일 내용을 쓸 수 없음",
+ "_%n byte_::_%n bytes_" : ["%n 바이트"],
+ "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "파일을 대상 위치로 복사하는 동안 오류 발생 (복사됨: %1$s, 예상 파일 크기: %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." : "예상 파일 크기는 %1$s이지만 읽고(Nextcloud 클라이언트에서) 및 쓴(Nextcloud 스토리지로) 크기는 %2$s입니다. 보내는 쪽의 네트워크 문제이거나 서버 쪽의 저장소에 쓰는 데 문제가 있을 수 있습니다.",
+ "Could not rename part file to final file, canceled by hook" : "후크에 의해 취소되어 부분 파일의 이름을 최종 파일로 바꿀 수 없음",
+ "Could not rename part file to final file" : "부분 파일의 이름을 최종 파일로 바꿀 수 없음",
+ "Failed to check file size: %1$s" : "파일 크기 확인 실패: %1$s",
+ "Could not open file" : "파일을 열 수 없음",
+ "Encryption not ready: %1$s" : "암호화가 준비되지 않음: %1$s",
+ "Failed to open file: %1$s" : "파일을 열 수 없음: %1$s",
+ "Failed to unlink: %1$s" : "파일을 삭제할 수 없음: %1$s",
+ "Invalid chunk name" : "잘못된 청크 이름",
+ "Could not rename part file assembled from chunks" : "청크에서 조합 된 부분 파일의 이름을 바꿀 수 없음",
+ "Failed to write file contents: %1$s" : "파일 내용을 쓸 수 없음: %1$s",
+ "File not found: %1$s" : "파일을 찾을 수 없음: %1$s",
"System is in maintenance mode." : "시스템이 유지 관리 모드입니다.",
"Upgrade needed" : "업그레이드 필요",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "iOS/macOS에서 CalDAV 및 CardDAV를 사용하려면 %s에서 HTTPS를 사용하도록 설정해야 합니다.",
@@ -116,11 +138,20 @@ OC.L10N.register(
"Tasks" : "작업",
"Untitled task" : "제목없는 작업",
"Completed on %s" : "%s에 완료됨",
- "Due on %s" : "만료일: %s",
+ "Due on %s by %s" : "%s일 %s에 만료됨",
+ "Due on %s" : "%s에 만료됨",
+ "Migrated calendar (%1$s)" : "가져온 달력 (%1$s)",
+ "Calendars including events, details and attendees" : "이벤트, 세부 정보 및 참석자를 포함한 캘린더",
"Contacts and groups" : "연락처 및 그룹",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV 종단점",
- "to" : "받는 사람",
+ "Availability" : "가능한 시간대",
+ "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "업무 시간을 설정하면, 회의를 예약할 때 다른 사용자가 부재 중 시간을 볼 수 있습니다.",
+ "Time zone:" : "시간대:",
+ "to" : "에서",
+ "Delete slot" : "시간대 삭제",
+ "No working hours set" : "업무 시간이 설정되지 않음",
+ "Add slot" : "시간대 추가",
"Monday" : "월요일",
"Tuesday" : "화요일",
"Wednesday" : "수요일",
@@ -129,6 +160,9 @@ OC.L10N.register(
"Saturday" : "토요일",
"Sunday" : "일요일",
"Save" : "저장",
+ "Failed to load availability" : "가능한 시간대 불러오기 실패",
+ "Saved availability" : "가능한 시간대를 저장함",
+ "Failed to save availability" : "가능한 시간대 저장 실패",
"Calendar server" : "달력 서버",
"Send invitations to attendees" : "참석자에게 초대장 보내기",
"Automatically generate a birthday calendar" : "자동으로 생일 달력 생성",
@@ -136,14 +170,29 @@ OC.L10N.register(
"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." : "미리 알림은 주최자와 참석자에게 항상 전송됩니다.",
"Enable notifications for events via push" : "이벤트에 대한 푸시 알림 활성화",
"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}가 올바르게 설치되어 있는지 확인하십시오..",
"There was an error updating your attendance status." : "참석 상태를 업데이트하는 중 오류가 발생했습니다.",
"Please contact the organizer directly." : "주최자에게 직접 연락하십시오.",
"Are you accepting the invitation?" : "초대를 수락하시겠습니까?",
- "Tentative" : "예정됨",
+ "Tentative" : "보류",
+ "Number of guests" : "손님의 수",
"Comment" : "설명",
- "Your attendance was updated successfully." : "참석 정보를 업데이트했습니다."
+ "Your attendance was updated successfully." : "참석 정보를 업데이트했습니다.",
+ "Todos" : "할 일",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}에 할 일 {todo}을(를) 생성함",
+ "You created todo {todo} in list {calendar}" : "목록 {calendar}에 할 일 {todo}을(를) 생성함",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} 님이 목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
+ "You deleted todo {todo} from list {calendar}" : "목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
+ "You updated todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 끝냄",
+ "You solved todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 끝냄",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 다시 염",
+ "You reopened todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 다시 염",
+ "A calendar <strong>todo</strong> was modified" : "달력의 <strong>할 일</strong>이 수정됨"
},
"nplurals=1; plural=0;");
diff --git a/apps/dav/l10n/ko.json b/apps/dav/l10n/ko.json
index e4ee28abcbc..cc9504f48cd 100644
--- a/apps/dav/l10n/ko.json
+++ b/apps/dav/l10n/ko.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "달력",
- "Todos" : "할 일",
+ "To-dos" : "할 일",
"Personal" : "개인",
"{actor} created calendar {calendar}" : "{actor} 님이 달력 {calendar}을(를) 생성함",
"You created calendar {calendar}" : "달력 {calendar}을(를) 생성함",
@@ -23,41 +23,45 @@
"{actor} shared calendar {calendar} with group {group}" : "{actor} 님이 달력 {calendar}을(를) 그룹 {group}와(과) 공유함",
"You unshared calendar {calendar} from group {group}" : "달력 {calendar}을(를) 그룹 {group}와(과) 공유하지 않음",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} 님이 달력 {calendar}을(를) 그룹 {group}와(과) 공유하지 않음",
- "Untitled event" : "제목없는 이벤트",
+ "Untitled event" : "제목 없는 일정",
"{actor} created event {event} in calendar {calendar}" : "{actor} 님이 행사 {event}을(를) 달력 {calendar}에 생성함",
"You created event {event} in calendar {calendar}" : "행사 {event}을(를) 달력 {calendar}에 생성함",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} 님이 행사 {event}을(를) 달력 {calendar}에서 삭제함",
"You deleted event {event} from calendar {calendar}" : "행사 {event}을(를) 달력 {calendar}에서 삭제함",
"{actor} updated event {event} in calendar {calendar}" : "{actor} 님이 달력 {calendar}의 행사 {event}을(를) 업데이트함",
"You updated event {event} in calendar {calendar}" : "달력 {calendar}의 행사 {event}을(를) 업데이트함",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} 님이 행사 {event}을(를) 달력 {sourceCalendar}에서 달력 {targetCalendar}(으)로 옮김",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "행사 {event}을(를) 달력 {sourceCalendar}에서 달력 {targetCalendar}(으)로 옮김",
"{actor} restored event {event} of calendar {calendar}" : "{actor} 님이 행사 {event}을(를) 달력 {calendar}에 복구함",
"You restored event {event} of calendar {calendar}" : "행사 {event}을(를) 달력 {calendar}에 복구함",
"Busy" : "바쁨",
- "{actor} created todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}에 할 일 {todo}을(를) 생성함",
- "You created todo {todo} in list {calendar}" : "목록 {calendar}에 할 일 {todo}을(를) 생성함",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} 님이 목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
- "You deleted todo {todo} from list {calendar}" : "목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
- "You updated todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 끝냄",
- "You solved todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 끝냄",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 다시 염",
- "You reopened todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 다시 염",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}에 할 일 {todo}을(를) 생성함",
+ "You created to-do {todo} in list {calendar}" : "목록 {calendar}에 할 일 {todo}을(를) 생성함",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} 님이 목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
+ "You deleted to-do {todo} from list {calendar}" : "목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
+ "You updated to-do {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 끝냄",
+ "You solved to-do {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 끝냄",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 다시 엶",
+ "You reopened to-do {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 다시 엶",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} 님이 할 일 {todo}을(를) 목록 {sourceCalendar}에서 목록 {targetCalendar}(으)로 옮김",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "할 일 {todo}을(를) 목록 {sourceCalendar}에서 목록 {targetCalendar}(으)로 옮김",
"Calendar, contacts and tasks" : "달력, 연락처 및 작업",
"A <strong>calendar</strong> was modified" : "<strong>달력</strong>이 수정됨",
"A calendar <strong>event</strong> was modified" : "달력 <strong>행사</strong>가 수정됨",
- "A calendar <strong>todo</strong> was modified" : "달력의 <strong>할 일</strong>이 수정됨",
+ "A calendar <strong>to-do</strong> was modified" : "달력 <strong>할 일</strong>이 수정됨",
"Contact birthdays" : "연락처에 등록된 생일",
- "Death of %s" : "%s의 사망",
+ "Death of %s" : "%s의 기일",
"Calendar:" : "달력:",
"Date:" : "날짜:",
"Where:" : "장소:",
"Description:" : "설명:",
"_%n year_::_%n years_" : ["%n년"],
- "_%n month_::_%n months_" : ["%d개월"],
+ "_%n month_::_%n months_" : ["%n개월"],
"_%n day_::_%n days_" : ["%n일"],
- "_%n hour_::_%n hours_" : ["%d시간"],
- "_%n minute_::_%n minutes_" : ["%d분"],
+ "_%n hour_::_%n hours_" : ["%n시간"],
+ "_%n minute_::_%n minutes_" : ["%n분"],
"%s (in %s)" : "%s(%s에)",
"%s (%s ago)" : "%s(%s 전)",
"Calendar: %s" : "달력: %s",
@@ -91,13 +95,14 @@
"{actor} shared address book {addressbook} with you" : "{actor} 님이 나와 주소록 {addressbook}을(를) 공유함",
"You shared address book {addressbook} with {user}" : "{user} 님과 주소록 {addressbook}을(를) 공유함",
"{actor} shared address book {addressbook} with {user}" : "{actor} 님이 {user} 님과 주소록 {addressbook}을(를) 공유함",
- "{actor} unshared address book {addressbook} from you" : "{actor} 님이 주소록 {addressbook}을(를) 더이상 공유하지 않음",
- "You unshared address book {addressbook} from {user}" : "{user} 님과 주소록 {addressbook}을(를) 더이상 공유하지 않음",
- "{actor} unshared address book {addressbook} from {user}" : "{actor} 님이 {user} 님과 주소록 {addressbook}을(를) 더이상 공유하지 않음",
+ "{actor} unshared address book {addressbook} from you" : "{actor} 님이 주소록 {addressbook}의 공유를 해제함",
+ "You unshared address book {addressbook} from {user}" : "{user} 님과 주소록 {addressbook}의 공유를 해제함",
+ "{actor} unshared address book {addressbook} from {user}" : "{actor} 님이 {user} 님과 주소록 {addressbook}의 공유를 해제함",
+ "{actor} unshared address book {addressbook} from themselves" : "{actor} 님이 자신과 주소록 {addressbook}의 공유를 해제함",
"You shared address book {addressbook} with group {group}" : "그룹 {group}과(와) 주소록 {addressbook}을(를) 공유함",
"{actor} shared address book {addressbook} with group {group}" : "{actor} 님이 그룹 {group}과(와) 주소록 {addressbook}을(를) 공유함",
- "You unshared address book {addressbook} from group {group}" : "그룹 {group}과(와) 주소록 {addressbook}을(를) 더이상 공유하지 않음",
- "{actor} unshared address book {addressbook} from group {group}" : "{actor} 님이 그룹 {group}과(와) 주소록 {addressbook}을(를) 더이상 공유하지 않음",
+ "You unshared address book {addressbook} from group {group}" : "그룹 {group}과(와) 주소록 {addressbook}의 공유를 해제함",
+ "{actor} unshared address book {addressbook} from group {group}" : "{actor} 님이 그룹 {group}과(와) 주소록 {addressbook}의 공유를 해제함",
"{actor} created contact {card} in address book {addressbook}" : "{actor} 님이 연락처 {card}을(를) 주소록 {addressbook}에 생성함",
"You created contact {card} in address book {addressbook}" : "연락처 {card}을(를) 주소록 {addressbook}에 생성함",
"{actor} deleted contact {card} from address book {addressbook}" : "{actor} 님이 연락처 {card}을(를) 주소록 {addressbook}에서 제거함",
@@ -105,6 +110,23 @@
"{actor} updated contact {card} in address book {addressbook}" : "{actor} 님이 주소록 {addressbook}의 연락처 {card}을(를) 갱신함",
"You updated contact {card} in address book {addressbook}" : "주소록 {addressbook}의 연락처 {card}을(를) 갱신함",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong>연락처</strong> 또는 <strong>주소록</strong>이 변경됨",
+ "File is not updatable: %1$s" : "파일을 갱신할 수 없습니다: %1$s",
+ "Could not write to final file, canceled by hook" : "후크에 의해 취소되어 최종 파일에 쓸 수 없음",
+ "Could not write file contents" : "파일 내용을 쓸 수 없음",
+ "_%n byte_::_%n bytes_" : ["%n 바이트"],
+ "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "파일을 대상 위치로 복사하는 동안 오류 발생 (복사됨: %1$s, 예상 파일 크기: %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." : "예상 파일 크기는 %1$s이지만 읽고(Nextcloud 클라이언트에서) 및 쓴(Nextcloud 스토리지로) 크기는 %2$s입니다. 보내는 쪽의 네트워크 문제이거나 서버 쪽의 저장소에 쓰는 데 문제가 있을 수 있습니다.",
+ "Could not rename part file to final file, canceled by hook" : "후크에 의해 취소되어 부분 파일의 이름을 최종 파일로 바꿀 수 없음",
+ "Could not rename part file to final file" : "부분 파일의 이름을 최종 파일로 바꿀 수 없음",
+ "Failed to check file size: %1$s" : "파일 크기 확인 실패: %1$s",
+ "Could not open file" : "파일을 열 수 없음",
+ "Encryption not ready: %1$s" : "암호화가 준비되지 않음: %1$s",
+ "Failed to open file: %1$s" : "파일을 열 수 없음: %1$s",
+ "Failed to unlink: %1$s" : "파일을 삭제할 수 없음: %1$s",
+ "Invalid chunk name" : "잘못된 청크 이름",
+ "Could not rename part file assembled from chunks" : "청크에서 조합 된 부분 파일의 이름을 바꿀 수 없음",
+ "Failed to write file contents: %1$s" : "파일 내용을 쓸 수 없음: %1$s",
+ "File not found: %1$s" : "파일을 찾을 수 없음: %1$s",
"System is in maintenance mode." : "시스템이 유지 관리 모드입니다.",
"Upgrade needed" : "업그레이드 필요",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "iOS/macOS에서 CalDAV 및 CardDAV를 사용하려면 %s에서 HTTPS를 사용하도록 설정해야 합니다.",
@@ -114,11 +136,20 @@
"Tasks" : "작업",
"Untitled task" : "제목없는 작업",
"Completed on %s" : "%s에 완료됨",
- "Due on %s" : "만료일: %s",
+ "Due on %s by %s" : "%s일 %s에 만료됨",
+ "Due on %s" : "%s에 만료됨",
+ "Migrated calendar (%1$s)" : "가져온 달력 (%1$s)",
+ "Calendars including events, details and attendees" : "이벤트, 세부 정보 및 참석자를 포함한 캘린더",
"Contacts and groups" : "연락처 및 그룹",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV 종단점",
- "to" : "받는 사람",
+ "Availability" : "가능한 시간대",
+ "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "업무 시간을 설정하면, 회의를 예약할 때 다른 사용자가 부재 중 시간을 볼 수 있습니다.",
+ "Time zone:" : "시간대:",
+ "to" : "에서",
+ "Delete slot" : "시간대 삭제",
+ "No working hours set" : "업무 시간이 설정되지 않음",
+ "Add slot" : "시간대 추가",
"Monday" : "월요일",
"Tuesday" : "화요일",
"Wednesday" : "수요일",
@@ -127,6 +158,9 @@
"Saturday" : "토요일",
"Sunday" : "일요일",
"Save" : "저장",
+ "Failed to load availability" : "가능한 시간대 불러오기 실패",
+ "Saved availability" : "가능한 시간대를 저장함",
+ "Failed to save availability" : "가능한 시간대 저장 실패",
"Calendar server" : "달력 서버",
"Send invitations to attendees" : "참석자에게 초대장 보내기",
"Automatically generate a birthday calendar" : "자동으로 생일 달력 생성",
@@ -134,14 +168,29 @@
"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." : "미리 알림은 주최자와 참석자에게 항상 전송됩니다.",
"Enable notifications for events via push" : "이벤트에 대한 푸시 알림 활성화",
"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}가 올바르게 설치되어 있는지 확인하십시오..",
"There was an error updating your attendance status." : "참석 상태를 업데이트하는 중 오류가 발생했습니다.",
"Please contact the organizer directly." : "주최자에게 직접 연락하십시오.",
"Are you accepting the invitation?" : "초대를 수락하시겠습니까?",
- "Tentative" : "예정됨",
+ "Tentative" : "보류",
+ "Number of guests" : "손님의 수",
"Comment" : "설명",
- "Your attendance was updated successfully." : "참석 정보를 업데이트했습니다."
+ "Your attendance was updated successfully." : "참석 정보를 업데이트했습니다.",
+ "Todos" : "할 일",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}에 할 일 {todo}을(를) 생성함",
+ "You created todo {todo} in list {calendar}" : "목록 {calendar}에 할 일 {todo}을(를) 생성함",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} 님이 목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
+ "You deleted todo {todo} from list {calendar}" : "목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
+ "You updated todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 끝냄",
+ "You solved todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 끝냄",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 다시 염",
+ "You reopened todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 다시 염",
+ "A calendar <strong>todo</strong> was modified" : "달력의 <strong>할 일</strong>이 수정됨"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/dav/l10n/lt_LT.js b/apps/dav/l10n/lt_LT.js
index 1b060dbd492..f1462487e40 100644
--- a/apps/dav/l10n/lt_LT.js
+++ b/apps/dav/l10n/lt_LT.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalendorius",
- "Todos" : "Užduotys",
"Personal" : "Asmeniniai",
"{actor} created calendar {calendar}" : "{actor} sukūrė kalendorių {calendar}",
"You created calendar {calendar}" : "Jūs sukūrėte kalendorių {calendar}",
@@ -35,20 +34,9 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor} kalendoriuje {calendar} atkūrė įvykį {event}",
"You restored event {event} of calendar {calendar}" : "Jūs kalendoriuje {calendar} atkūrėte įvykį {event}",
"Busy" : "Užimtas laikas",
- "{actor} created todo {todo} in list {calendar}" : "{actor} sąraše {calendar} sukūrė užduotį {todo}",
- "You created todo {todo} in list {calendar}" : "Jūs sąraše {calendar} sukūrėte užduotį {todo}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} iš sąrašo {calendar} ištrynė užduotį {todo}",
- "You deleted todo {todo} from list {calendar}" : "Jūs iš sąrašo {calendar} ištrynėte užduotį {todo}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} sąraše {calendar} atnaujino užduotį {todo}",
- "You updated todo {todo} in list {calendar}" : "Jūs sąraše {calendar} atnaujinote užduotį {todo}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} sąraše {calendar} išsprendė užduotį {todo}",
- "You solved todo {todo} in list {calendar}" : "Jūs sąraše {calendar} išsprendėte užduotį {todo}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} sąraše {calendar} vėl pradėjo užduotį {todo}",
- "You reopened todo {todo} in list {calendar}" : "Jūs sąraše {calendar} vėl pradėjote užduotį {todo}",
"Calendar, contacts and tasks" : "Kalendorius, adresatai ir užduotys",
"A <strong>calendar</strong> was modified" : "<strong>Kalendorius</strong> buvo modifikuotas",
"A calendar <strong>event</strong> was modified" : "Kalendoriaus <strong>įvykis</strong> buvo modifikuotas",
- "A calendar <strong>todo</strong> was modified" : "Kalendoriaus <strong>užduotis</strong> buvo modifikuota",
"Contact birthdays" : "Adresatų gimtadieniai",
"Calendar:" : "Kalendorius:",
"Date:" : "Data:",
@@ -121,6 +109,18 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Ar priimate pakvietimą?",
"Tentative" : "Preliminarus",
"Number of guests" : "Svečių skaičius",
- "Comment" : "Komentaras"
+ "Comment" : "Komentaras",
+ "Todos" : "Užduotys",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} sąraše {calendar} sukūrė užduotį {todo}",
+ "You created todo {todo} in list {calendar}" : "Jūs sąraše {calendar} sukūrėte užduotį {todo}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} iš sąrašo {calendar} ištrynė užduotį {todo}",
+ "You deleted todo {todo} from list {calendar}" : "Jūs iš sąrašo {calendar} ištrynėte užduotį {todo}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} sąraše {calendar} atnaujino užduotį {todo}",
+ "You updated todo {todo} in list {calendar}" : "Jūs sąraše {calendar} atnaujinote užduotį {todo}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} sąraše {calendar} išsprendė užduotį {todo}",
+ "You solved todo {todo} in list {calendar}" : "Jūs sąraše {calendar} išsprendėte užduotį {todo}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} sąraše {calendar} vėl pradėjo užduotį {todo}",
+ "You reopened todo {todo} in list {calendar}" : "Jūs sąraše {calendar} vėl pradėjote užduotį {todo}",
+ "A calendar <strong>todo</strong> was modified" : "Kalendoriaus <strong>užduotis</strong> buvo modifikuota"
},
"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);");
diff --git a/apps/dav/l10n/lt_LT.json b/apps/dav/l10n/lt_LT.json
index 0b6d8f25c1c..0407e342c5c 100644
--- a/apps/dav/l10n/lt_LT.json
+++ b/apps/dav/l10n/lt_LT.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Kalendorius",
- "Todos" : "Užduotys",
"Personal" : "Asmeniniai",
"{actor} created calendar {calendar}" : "{actor} sukūrė kalendorių {calendar}",
"You created calendar {calendar}" : "Jūs sukūrėte kalendorių {calendar}",
@@ -33,20 +32,9 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor} kalendoriuje {calendar} atkūrė įvykį {event}",
"You restored event {event} of calendar {calendar}" : "Jūs kalendoriuje {calendar} atkūrėte įvykį {event}",
"Busy" : "Užimtas laikas",
- "{actor} created todo {todo} in list {calendar}" : "{actor} sąraše {calendar} sukūrė užduotį {todo}",
- "You created todo {todo} in list {calendar}" : "Jūs sąraše {calendar} sukūrėte užduotį {todo}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} iš sąrašo {calendar} ištrynė užduotį {todo}",
- "You deleted todo {todo} from list {calendar}" : "Jūs iš sąrašo {calendar} ištrynėte užduotį {todo}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} sąraše {calendar} atnaujino užduotį {todo}",
- "You updated todo {todo} in list {calendar}" : "Jūs sąraše {calendar} atnaujinote užduotį {todo}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} sąraše {calendar} išsprendė užduotį {todo}",
- "You solved todo {todo} in list {calendar}" : "Jūs sąraše {calendar} išsprendėte užduotį {todo}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} sąraše {calendar} vėl pradėjo užduotį {todo}",
- "You reopened todo {todo} in list {calendar}" : "Jūs sąraše {calendar} vėl pradėjote užduotį {todo}",
"Calendar, contacts and tasks" : "Kalendorius, adresatai ir užduotys",
"A <strong>calendar</strong> was modified" : "<strong>Kalendorius</strong> buvo modifikuotas",
"A calendar <strong>event</strong> was modified" : "Kalendoriaus <strong>įvykis</strong> buvo modifikuotas",
- "A calendar <strong>todo</strong> was modified" : "Kalendoriaus <strong>užduotis</strong> buvo modifikuota",
"Contact birthdays" : "Adresatų gimtadieniai",
"Calendar:" : "Kalendorius:",
"Date:" : "Data:",
@@ -119,6 +107,18 @@
"Are you accepting the invitation?" : "Ar priimate pakvietimą?",
"Tentative" : "Preliminarus",
"Number of guests" : "Svečių skaičius",
- "Comment" : "Komentaras"
+ "Comment" : "Komentaras",
+ "Todos" : "Užduotys",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} sąraše {calendar} sukūrė užduotį {todo}",
+ "You created todo {todo} in list {calendar}" : "Jūs sąraše {calendar} sukūrėte užduotį {todo}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} iš sąrašo {calendar} ištrynė užduotį {todo}",
+ "You deleted todo {todo} from list {calendar}" : "Jūs iš sąrašo {calendar} ištrynėte užduotį {todo}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} sąraše {calendar} atnaujino užduotį {todo}",
+ "You updated todo {todo} in list {calendar}" : "Jūs sąraše {calendar} atnaujinote užduotį {todo}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} sąraše {calendar} išsprendė užduotį {todo}",
+ "You solved todo {todo} in list {calendar}" : "Jūs sąraše {calendar} išsprendėte užduotį {todo}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} sąraše {calendar} vėl pradėjo užduotį {todo}",
+ "You reopened todo {todo} in list {calendar}" : "Jūs sąraše {calendar} vėl pradėjote užduotį {todo}",
+ "A calendar <strong>todo</strong> was modified" : "Kalendoriaus <strong>užduotis</strong> buvo modifikuota"
},"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/mk.js b/apps/dav/l10n/mk.js
index d7f9310f519..6072a407445 100644
--- a/apps/dav/l10n/mk.js
+++ b/apps/dav/l10n/mk.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Календар",
- "Todos" : "Задачи",
"Personal" : "Лично",
"{actor} created calendar {calendar}" : "{actor} креираше календар {calendar}",
"You created calendar {calendar}" : "Креиравте календар {calendar}",
@@ -33,20 +32,9 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor} врати настан {event} во календарот {calendar}",
"You restored event {event} of calendar {calendar}" : "Вративте настан {event} во календарот {calendar}",
"Busy" : "Зафатен",
- "{actor} created todo {todo} in list {calendar}" : "{actor} креираше задолжение {todo} во листата {calendar}",
- "You created todo {todo} in list {calendar}" : "Креиравте задолжение {todo} во листата {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} избриша задолжение {todo} од листата {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Избришавте задолжение {todo} од листата {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ажурираше задолжение {todo} во листата {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ажуриравте задолжение {todo} во листата {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} го реши задолжението {todo} во листата {calendar}",
- "You solved todo {todo} in list {calendar}" : "Го решивте задолжението {todo} во листата {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно го отвори задолжението {todo} во листата {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Повторно го отворивте задолжението {todo} во листата {calendar}",
"Calendar, contacts and tasks" : "Календар, контакти и задачи",
"A <strong>calendar</strong> was modified" : "<strong>Календарот</strong> е променет",
"A calendar <strong>event</strong> was modified" : "Изменет е <strong>настан</strong> во календарот",
- "A calendar <strong>todo</strong> was modified" : "Изменета е <strong>задача</strong> во календарот",
"Contact birthdays" : "Родендени на контактите",
"Death of %s" : "Смрт на %s",
"Calendar:" : "Календар:",
@@ -82,6 +70,7 @@ OC.L10N.register(
"More options …" : "Повеќе опции ...",
"More options at %s" : "Повеќе опции на %s",
"Contacts" : "Контакти",
+ "A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong>Контракт</strong> или <strong>адресар</strong> е променет",
"System is in maintenance mode." : "Системот е во мод за одржување.",
"Upgrade needed" : "Потребна е надградба",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Вашиот %s треба да биде конфигуриран за да користи HTTPS за да може да се користи CalDAV и CardDAV на iOS/macOS.",
@@ -97,8 +86,11 @@ OC.L10N.register(
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV крајна точка",
"Availability" : "Достапност",
+ "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Ако ги поставите работните часови, другите корисници ќе можат да видат кога сте слободни за да можат да закажат состанок.",
+ "Time zone:" : "Временска зона:",
"to" : "до",
"Delete slot" : "Избриши слот",
+ "No working hours set" : "Не се поставени работни часови",
"Add slot" : "Додади слот",
"Monday" : "Понеделник",
"Tuesday" : "Вторник",
@@ -124,6 +116,18 @@ OC.L10N.register(
"Tentative" : "Прелиминарно",
"Number of guests" : "Број на гости",
"Comment" : "Коментар",
- "Your attendance was updated successfully." : "Вашето присуство е успешно ажурирано."
+ "Your attendance was updated successfully." : "Вашето присуство е успешно ажурирано.",
+ "Todos" : "Задачи",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} креираше задолжение {todo} во листата {calendar}",
+ "You created todo {todo} in list {calendar}" : "Креиравте задолжение {todo} во листата {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} избриша задолжение {todo} од листата {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Избришавте задолжение {todo} од листата {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} ажурираше задолжение {todo} во листата {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Ажуриравте задолжение {todo} во листата {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} го реши задолжението {todo} во листата {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Го решивте задолжението {todo} во листата {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно го отвори задолжението {todo} во листата {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Повторно го отворивте задолжението {todo} во листата {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Изменета е <strong>задача</strong> во календарот"
},
"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;");
diff --git a/apps/dav/l10n/mk.json b/apps/dav/l10n/mk.json
index f37a3724984..71629f18fe7 100644
--- a/apps/dav/l10n/mk.json
+++ b/apps/dav/l10n/mk.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Календар",
- "Todos" : "Задачи",
"Personal" : "Лично",
"{actor} created calendar {calendar}" : "{actor} креираше календар {calendar}",
"You created calendar {calendar}" : "Креиравте календар {calendar}",
@@ -31,20 +30,9 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor} врати настан {event} во календарот {calendar}",
"You restored event {event} of calendar {calendar}" : "Вративте настан {event} во календарот {calendar}",
"Busy" : "Зафатен",
- "{actor} created todo {todo} in list {calendar}" : "{actor} креираше задолжение {todo} во листата {calendar}",
- "You created todo {todo} in list {calendar}" : "Креиравте задолжение {todo} во листата {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} избриша задолжение {todo} од листата {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Избришавте задолжение {todo} од листата {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ажурираше задолжение {todo} во листата {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ажуриравте задолжение {todo} во листата {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} го реши задолжението {todo} во листата {calendar}",
- "You solved todo {todo} in list {calendar}" : "Го решивте задолжението {todo} во листата {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно го отвори задолжението {todo} во листата {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Повторно го отворивте задолжението {todo} во листата {calendar}",
"Calendar, contacts and tasks" : "Календар, контакти и задачи",
"A <strong>calendar</strong> was modified" : "<strong>Календарот</strong> е променет",
"A calendar <strong>event</strong> was modified" : "Изменет е <strong>настан</strong> во календарот",
- "A calendar <strong>todo</strong> was modified" : "Изменета е <strong>задача</strong> во календарот",
"Contact birthdays" : "Родендени на контактите",
"Death of %s" : "Смрт на %s",
"Calendar:" : "Календар:",
@@ -80,6 +68,7 @@
"More options …" : "Повеќе опции ...",
"More options at %s" : "Повеќе опции на %s",
"Contacts" : "Контакти",
+ "A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong>Контракт</strong> или <strong>адресар</strong> е променет",
"System is in maintenance mode." : "Системот е во мод за одржување.",
"Upgrade needed" : "Потребна е надградба",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Вашиот %s треба да биде конфигуриран за да користи HTTPS за да може да се користи CalDAV и CardDAV на iOS/macOS.",
@@ -95,8 +84,11 @@
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV крајна точка",
"Availability" : "Достапност",
+ "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Ако ги поставите работните часови, другите корисници ќе можат да видат кога сте слободни за да можат да закажат состанок.",
+ "Time zone:" : "Временска зона:",
"to" : "до",
"Delete slot" : "Избриши слот",
+ "No working hours set" : "Не се поставени работни часови",
"Add slot" : "Додади слот",
"Monday" : "Понеделник",
"Tuesday" : "Вторник",
@@ -122,6 +114,18 @@
"Tentative" : "Прелиминарно",
"Number of guests" : "Број на гости",
"Comment" : "Коментар",
- "Your attendance was updated successfully." : "Вашето присуство е успешно ажурирано."
+ "Your attendance was updated successfully." : "Вашето присуство е успешно ажурирано.",
+ "Todos" : "Задачи",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} креираше задолжение {todo} во листата {calendar}",
+ "You created todo {todo} in list {calendar}" : "Креиравте задолжение {todo} во листата {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} избриша задолжение {todo} од листата {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Избришавте задолжение {todo} од листата {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} ажурираше задолжение {todo} во листата {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Ажуриравте задолжение {todo} во листата {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} го реши задолжението {todo} во листата {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Го решивте задолжението {todo} во листата {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно го отвори задолжението {todo} во листата {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Повторно го отворивте задолжението {todo} во листата {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Изменета е <strong>задача</strong> во календарот"
},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"
} \ No newline at end of file
diff --git a/apps/dav/l10n/nb.js b/apps/dav/l10n/nb.js
index b2169406345..06279d90460 100644
--- a/apps/dav/l10n/nb.js
+++ b/apps/dav/l10n/nb.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalender",
- "Todos" : "Gjøremål",
"Personal" : "Personlig",
"{actor} created calendar {calendar}" : "{actor} opprettet kalenderen {calendar}",
"You created calendar {calendar}" : "Du opprettet kalenderen {calendar}",
@@ -31,19 +30,8 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "{actor} oppdaterte hendelsen {event} i kalenderen {calendar}",
"You updated event {event} in calendar {calendar}" : "Du oppdaterte hendelsen {event} i kalenderen {calendar}",
"Busy" : "Opptatt",
- "{actor} created todo {todo} in list {calendar}" : "{actor} opprettet en oppgaven {todo} i listen {calendar}",
- "You created todo {todo} in list {calendar}" : "Du opprettet en oppgave {todo} i listen {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettet gjøremålet {todo} fra listen {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Du slettet gjøremålet {todo} fra listen {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} oppdaterte gjøremålet {todo} i listen {calendar}",
- "You updated todo {todo} in list {calendar}" : "Du oppdaterte gjøremålet {todo} i listen {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} ferdigstilte gjøremålet {todo} i listen {calendar}",
- "You solved todo {todo} in list {calendar}" : "Du ferdigstilte gjøremålet {todo} i listen {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} gjenåpnet gjøremålet {todo} i listen {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Du gjenåpnet oppgaven {todo} i listen {calendar}",
"A <strong>calendar</strong> was modified" : "En <strong>kalender</strong> ble endret",
"A calendar <strong>event</strong> was modified" : "En kalender <strong>hendelse</strong> ble endret",
- "A calendar <strong>todo</strong> was modified" : "En kalende <strong>gjøremål</strong> ble endret",
"Contact birthdays" : "Kontakters fødelsdag",
"Death of %s" : "Død av %s",
"Calendar:" : "Kalender:",
@@ -112,6 +100,18 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Aksepterer du invitasjonen?",
"Tentative" : "Foreløpig",
"Comment" : "Kommentar",
- "Your attendance was updated successfully." : "Deltakelsen din ble oppdatert."
+ "Your attendance was updated successfully." : "Deltakelsen din ble oppdatert.",
+ "Todos" : "Gjøremål",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} opprettet en oppgaven {todo} i listen {calendar}",
+ "You created todo {todo} in list {calendar}" : "Du opprettet en oppgave {todo} i listen {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettet gjøremålet {todo} fra listen {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Du slettet gjøremålet {todo} fra listen {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} oppdaterte gjøremålet {todo} i listen {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Du oppdaterte gjøremålet {todo} i listen {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} ferdigstilte gjøremålet {todo} i listen {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Du ferdigstilte gjøremålet {todo} i listen {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} gjenåpnet gjøremålet {todo} i listen {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Du gjenåpnet oppgaven {todo} i listen {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "En kalende <strong>gjøremål</strong> ble endret"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/nb.json b/apps/dav/l10n/nb.json
index 9998d2be238..9e8f78bddac 100644
--- a/apps/dav/l10n/nb.json
+++ b/apps/dav/l10n/nb.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Kalender",
- "Todos" : "Gjøremål",
"Personal" : "Personlig",
"{actor} created calendar {calendar}" : "{actor} opprettet kalenderen {calendar}",
"You created calendar {calendar}" : "Du opprettet kalenderen {calendar}",
@@ -29,19 +28,8 @@
"{actor} updated event {event} in calendar {calendar}" : "{actor} oppdaterte hendelsen {event} i kalenderen {calendar}",
"You updated event {event} in calendar {calendar}" : "Du oppdaterte hendelsen {event} i kalenderen {calendar}",
"Busy" : "Opptatt",
- "{actor} created todo {todo} in list {calendar}" : "{actor} opprettet en oppgaven {todo} i listen {calendar}",
- "You created todo {todo} in list {calendar}" : "Du opprettet en oppgave {todo} i listen {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettet gjøremålet {todo} fra listen {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Du slettet gjøremålet {todo} fra listen {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} oppdaterte gjøremålet {todo} i listen {calendar}",
- "You updated todo {todo} in list {calendar}" : "Du oppdaterte gjøremålet {todo} i listen {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} ferdigstilte gjøremålet {todo} i listen {calendar}",
- "You solved todo {todo} in list {calendar}" : "Du ferdigstilte gjøremålet {todo} i listen {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} gjenåpnet gjøremålet {todo} i listen {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Du gjenåpnet oppgaven {todo} i listen {calendar}",
"A <strong>calendar</strong> was modified" : "En <strong>kalender</strong> ble endret",
"A calendar <strong>event</strong> was modified" : "En kalender <strong>hendelse</strong> ble endret",
- "A calendar <strong>todo</strong> was modified" : "En kalende <strong>gjøremål</strong> ble endret",
"Contact birthdays" : "Kontakters fødelsdag",
"Death of %s" : "Død av %s",
"Calendar:" : "Kalender:",
@@ -110,6 +98,18 @@
"Are you accepting the invitation?" : "Aksepterer du invitasjonen?",
"Tentative" : "Foreløpig",
"Comment" : "Kommentar",
- "Your attendance was updated successfully." : "Deltakelsen din ble oppdatert."
+ "Your attendance was updated successfully." : "Deltakelsen din ble oppdatert.",
+ "Todos" : "Gjøremål",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} opprettet en oppgaven {todo} i listen {calendar}",
+ "You created todo {todo} in list {calendar}" : "Du opprettet en oppgave {todo} i listen {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettet gjøremålet {todo} fra listen {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Du slettet gjøremålet {todo} fra listen {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} oppdaterte gjøremålet {todo} i listen {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Du oppdaterte gjøremålet {todo} i listen {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} ferdigstilte gjøremålet {todo} i listen {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Du ferdigstilte gjøremålet {todo} i listen {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} gjenåpnet gjøremålet {todo} i listen {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Du gjenåpnet oppgaven {todo} i listen {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "En kalende <strong>gjøremål</strong> ble endret"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/nl.js b/apps/dav/l10n/nl.js
index 6a1f9ee6efd..2d466feeb98 100644
--- a/apps/dav/l10n/nl.js
+++ b/apps/dav/l10n/nl.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Agenda",
- "Todos" : "Te doen",
+ "To-dos" : "Taken",
"Personal" : "Persoonlijk",
"{actor} created calendar {calendar}" : "{actor} creëerde agenda {calendar}",
"You created calendar {calendar}" : "Jij creëerde agenda {calendar}",
@@ -35,20 +35,17 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor} herstelde afspraak {event} in agenda {calendar}",
"You restored event {event} of calendar {calendar}" : "Je herstelde afspraak {event} in agenda {calendar}",
"Busy" : "Bezig",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creëerde taak {todo} in lijst {calendar}",
- "You created todo {todo} in list {calendar}" : "Jij creëerde taak {todo} in lijst {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} heeft de taak {todo} uit lijst {calendar} verwijderd",
- "You deleted todo {todo} from list {calendar}" : "Je verwijderde taak {todo} uit lijst {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} heeft taak {todo} bijgewerkt in lijst {calendar}",
- "You updated todo {todo} in list {calendar}" : "Je hebt taak {todo} bijgewerkt in lijst {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} heeft taak {todo} in lijst {calendar} afgewerkt",
- "You solved todo {todo} in list {calendar}" : "Je hebt taak {todo} in lijst {calendar} afgewerkt",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} heropende taak {todo} in lijst {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Je heropende taak {todo} in lijst {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} voegde de taak {todo} to aan de lijst {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Je voegde de taak {todo} toe aan de lijst {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} verwijderde de taak {todo} van de lijst {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Jij verwijderde de taak {todo} van de lijst {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} paste de taak {todo} in de lijst {calendar} aan",
+ "You updated to-do {todo} in list {calendar}" : "Jij paste de taak {todo} in de lijst {calendar} aan",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} voltooide de taak {todo} in de lijst {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Jij voltooide de taak {todo} in de lijst {calendar}",
"Calendar, contacts and tasks" : "Agenda, contactpersonen en taken",
"A <strong>calendar</strong> was modified" : "Een <strong>agenda</strong> is aangepast",
"A calendar <strong>event</strong> was modified" : "Een agenda <strong>gebeurtenis</strong> is aangepast",
- "A calendar <strong>todo</strong> was modified" : "Een agenda <strong>Te doen</strong> was aangepast",
"Contact birthdays" : "Verjaardagen",
"Death of %s" : "Sterfdatum van %s",
"Calendar:" : "Agenda",
@@ -157,6 +154,18 @@ OC.L10N.register(
"Tentative" : "Onder voorbehoud",
"Number of guests" : "Aantal gasten",
"Comment" : "Notitie",
- "Your attendance was updated successfully." : "Je deelname is succesvol bijgewerkt."
+ "Your attendance was updated successfully." : "Je deelname is succesvol bijgewerkt.",
+ "Todos" : "Te doen",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} creëerde taak {todo} in lijst {calendar}",
+ "You created todo {todo} in list {calendar}" : "Jij creëerde taak {todo} in lijst {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} heeft de taak {todo} uit lijst {calendar} verwijderd",
+ "You deleted todo {todo} from list {calendar}" : "Je verwijderde taak {todo} uit lijst {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} heeft taak {todo} bijgewerkt in lijst {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Je hebt taak {todo} bijgewerkt in lijst {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} heeft taak {todo} in lijst {calendar} afgewerkt",
+ "You solved todo {todo} in list {calendar}" : "Je hebt taak {todo} in lijst {calendar} afgewerkt",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} heropende taak {todo} in lijst {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Je heropende taak {todo} in lijst {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Een agenda <strong>Te doen</strong> was aangepast"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/nl.json b/apps/dav/l10n/nl.json
index 6ef31be82d9..13b40b33bdc 100644
--- a/apps/dav/l10n/nl.json
+++ b/apps/dav/l10n/nl.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Agenda",
- "Todos" : "Te doen",
+ "To-dos" : "Taken",
"Personal" : "Persoonlijk",
"{actor} created calendar {calendar}" : "{actor} creëerde agenda {calendar}",
"You created calendar {calendar}" : "Jij creëerde agenda {calendar}",
@@ -33,20 +33,17 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor} herstelde afspraak {event} in agenda {calendar}",
"You restored event {event} of calendar {calendar}" : "Je herstelde afspraak {event} in agenda {calendar}",
"Busy" : "Bezig",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creëerde taak {todo} in lijst {calendar}",
- "You created todo {todo} in list {calendar}" : "Jij creëerde taak {todo} in lijst {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} heeft de taak {todo} uit lijst {calendar} verwijderd",
- "You deleted todo {todo} from list {calendar}" : "Je verwijderde taak {todo} uit lijst {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} heeft taak {todo} bijgewerkt in lijst {calendar}",
- "You updated todo {todo} in list {calendar}" : "Je hebt taak {todo} bijgewerkt in lijst {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} heeft taak {todo} in lijst {calendar} afgewerkt",
- "You solved todo {todo} in list {calendar}" : "Je hebt taak {todo} in lijst {calendar} afgewerkt",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} heropende taak {todo} in lijst {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Je heropende taak {todo} in lijst {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} voegde de taak {todo} to aan de lijst {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Je voegde de taak {todo} toe aan de lijst {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} verwijderde de taak {todo} van de lijst {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Jij verwijderde de taak {todo} van de lijst {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} paste de taak {todo} in de lijst {calendar} aan",
+ "You updated to-do {todo} in list {calendar}" : "Jij paste de taak {todo} in de lijst {calendar} aan",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} voltooide de taak {todo} in de lijst {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Jij voltooide de taak {todo} in de lijst {calendar}",
"Calendar, contacts and tasks" : "Agenda, contactpersonen en taken",
"A <strong>calendar</strong> was modified" : "Een <strong>agenda</strong> is aangepast",
"A calendar <strong>event</strong> was modified" : "Een agenda <strong>gebeurtenis</strong> is aangepast",
- "A calendar <strong>todo</strong> was modified" : "Een agenda <strong>Te doen</strong> was aangepast",
"Contact birthdays" : "Verjaardagen",
"Death of %s" : "Sterfdatum van %s",
"Calendar:" : "Agenda",
@@ -155,6 +152,18 @@
"Tentative" : "Onder voorbehoud",
"Number of guests" : "Aantal gasten",
"Comment" : "Notitie",
- "Your attendance was updated successfully." : "Je deelname is succesvol bijgewerkt."
+ "Your attendance was updated successfully." : "Je deelname is succesvol bijgewerkt.",
+ "Todos" : "Te doen",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} creëerde taak {todo} in lijst {calendar}",
+ "You created todo {todo} in list {calendar}" : "Jij creëerde taak {todo} in lijst {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} heeft de taak {todo} uit lijst {calendar} verwijderd",
+ "You deleted todo {todo} from list {calendar}" : "Je verwijderde taak {todo} uit lijst {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} heeft taak {todo} bijgewerkt in lijst {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Je hebt taak {todo} bijgewerkt in lijst {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} heeft taak {todo} in lijst {calendar} afgewerkt",
+ "You solved todo {todo} in list {calendar}" : "Je hebt taak {todo} in lijst {calendar} afgewerkt",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} heropende taak {todo} in lijst {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Je heropende taak {todo} in lijst {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Een agenda <strong>Te doen</strong> was aangepast"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/pl.js b/apps/dav/l10n/pl.js
index a66f5a394da..4a6e63a27d6 100644
--- a/apps/dav/l10n/pl.js
+++ b/apps/dav/l10n/pl.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalendarz",
- "Todos" : "Zadania",
+ "To-dos" : "Do zrobienia",
"Personal" : "Osobiste",
"{actor} created calendar {calendar}" : "{actor} utworzył kalendarz {calendar}",
"You created calendar {calendar}" : "Utworzyłeś kalendarz {calendar}",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Usunąłeś wydarzenie {event} z kalendarza {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} zaktualizował wydarzenie {event} z kalendarza {calendar}",
"You updated event {event} in calendar {calendar}" : "Zaktualizowałeś wydarzenie {event} w kalendarzu {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} przeniósł wydarzenie {event} z kalendarza {sourceCalendar} do kalendarza {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Przeniosłeś wydarzenie {event} z kalendarza {sourceCalendar} do kalendarza {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} przywrócił wydarzenie {event} z kalendarza {calendar}",
"You restored event {event} of calendar {calendar}" : "Przywróciłeś wydarzenie {event} z kalendarza {calendar}",
"Busy" : "Czekaj",
- "{actor} created todo {todo} in list {calendar}" : "{actor} utworzył zadanie {todo} na liście {calendar}",
- "You created todo {todo} in list {calendar}" : "Utworzyłeś zadanie {todo} na liście {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} usunął zadanie {todo} z listy {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Usunąłeś zadanie {todo} z listy {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} zaktualizował zadanie {todo} na liście {calendar}",
- "You updated todo {todo} in list {calendar}" : "Zaktualizowałeś zadanie {todo} na liście {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} zakończył zadanie {todo} na liście {calendar}",
- "You solved todo {todo} in list {calendar}" : "Zakończyłeś zadanie {todo} na liście {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} otworzył ponownie zadanie {todo} na liście {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Otworzyłeś ponownie zadanie {todo} na liście {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} utworzył zadanie {todo} na liście {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Utworzyłeś zadanie {todo} na liście {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} usunął zadanie {todo} z listy {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Usunąłeś zadanie {todo} z listy {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} zaktualizował zadanie {todo} na liście {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Zaktualizowałeś zadanie {todo} na liście {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} zakończył zadanie {todo} na liście {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Zakończyłeś zadanie {todo} na liście {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} otworzył ponownie zadanie {todo} na liście {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Otworzyłeś ponownie zadanie {todo} na liście {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} przeniósł zadanie {todo} z listy {sourceCalendar} na listę {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Przeniosłeś zadanie {todo} z listy {sourceCalendar} na listę {targetCalendar}",
"Calendar, contacts and tasks" : "Kalendarz, kontakty i zadania",
"A <strong>calendar</strong> was modified" : "<strong>Kalendarz</strong> został zmodyfikowany",
"A calendar <strong>event</strong> was modified" : "<strong>Zdarzenie</strong> kalendarza zostało zmodyfikowane",
- "A calendar <strong>todo</strong> was modified" : "Kalendarz <strong>zadań</strong> został zmieniony",
+ "A calendar <strong>to-do</strong> was modified" : "Kalendarz <strong>zadań</strong> został zmieniony",
"Contact birthdays" : "Urodziny kontaktu",
"Death of %s" : "Śmierć %s",
"Calendar:" : "Kalendarz:",
@@ -155,6 +159,7 @@ OC.L10N.register(
"Friday" : "Piątek",
"Saturday" : "Sobota",
"Sunday" : "Niedziela",
+ "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.",
"Save" : "Zapisz",
"Failed to load availability" : "Nie udało się wczytać dostępności",
"Saved availability" : "Zapisana dostępność",
@@ -177,6 +182,18 @@ OC.L10N.register(
"Tentative" : "Niepewne",
"Number of guests" : "Liczba gości",
"Comment" : "Komentarz",
- "Your attendance was updated successfully." : "Twoja obecność została pomyślnie zaktualizowana."
+ "Your attendance was updated successfully." : "Twoja obecność została pomyślnie zaktualizowana.",
+ "Todos" : "Zadania",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} utworzył zadanie {todo} na liście {calendar}",
+ "You created todo {todo} in list {calendar}" : "Utworzyłeś zadanie {todo} na liście {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} usunął zadanie {todo} z listy {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Usunąłeś zadanie {todo} z listy {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} zaktualizował zadanie {todo} na liście {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Zaktualizowałeś zadanie {todo} na liście {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} zakończył zadanie {todo} na liście {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Zakończyłeś zadanie {todo} na liście {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} otworzył ponownie zadanie {todo} na liście {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Otworzyłeś ponownie zadanie {todo} na liście {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Kalendarz <strong>zadań</strong> został zmieniony"
},
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");
diff --git a/apps/dav/l10n/pl.json b/apps/dav/l10n/pl.json
index c6096000fad..ec85fe58081 100644
--- a/apps/dav/l10n/pl.json
+++ b/apps/dav/l10n/pl.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Kalendarz",
- "Todos" : "Zadania",
+ "To-dos" : "Do zrobienia",
"Personal" : "Osobiste",
"{actor} created calendar {calendar}" : "{actor} utworzył kalendarz {calendar}",
"You created calendar {calendar}" : "Utworzyłeś kalendarz {calendar}",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "Usunąłeś wydarzenie {event} z kalendarza {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} zaktualizował wydarzenie {event} z kalendarza {calendar}",
"You updated event {event} in calendar {calendar}" : "Zaktualizowałeś wydarzenie {event} w kalendarzu {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} przeniósł wydarzenie {event} z kalendarza {sourceCalendar} do kalendarza {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Przeniosłeś wydarzenie {event} z kalendarza {sourceCalendar} do kalendarza {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} przywrócił wydarzenie {event} z kalendarza {calendar}",
"You restored event {event} of calendar {calendar}" : "Przywróciłeś wydarzenie {event} z kalendarza {calendar}",
"Busy" : "Czekaj",
- "{actor} created todo {todo} in list {calendar}" : "{actor} utworzył zadanie {todo} na liście {calendar}",
- "You created todo {todo} in list {calendar}" : "Utworzyłeś zadanie {todo} na liście {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} usunął zadanie {todo} z listy {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Usunąłeś zadanie {todo} z listy {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} zaktualizował zadanie {todo} na liście {calendar}",
- "You updated todo {todo} in list {calendar}" : "Zaktualizowałeś zadanie {todo} na liście {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} zakończył zadanie {todo} na liście {calendar}",
- "You solved todo {todo} in list {calendar}" : "Zakończyłeś zadanie {todo} na liście {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} otworzył ponownie zadanie {todo} na liście {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Otworzyłeś ponownie zadanie {todo} na liście {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} utworzył zadanie {todo} na liście {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Utworzyłeś zadanie {todo} na liście {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} usunął zadanie {todo} z listy {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Usunąłeś zadanie {todo} z listy {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} zaktualizował zadanie {todo} na liście {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Zaktualizowałeś zadanie {todo} na liście {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} zakończył zadanie {todo} na liście {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Zakończyłeś zadanie {todo} na liście {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} otworzył ponownie zadanie {todo} na liście {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Otworzyłeś ponownie zadanie {todo} na liście {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} przeniósł zadanie {todo} z listy {sourceCalendar} na listę {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Przeniosłeś zadanie {todo} z listy {sourceCalendar} na listę {targetCalendar}",
"Calendar, contacts and tasks" : "Kalendarz, kontakty i zadania",
"A <strong>calendar</strong> was modified" : "<strong>Kalendarz</strong> został zmodyfikowany",
"A calendar <strong>event</strong> was modified" : "<strong>Zdarzenie</strong> kalendarza zostało zmodyfikowane",
- "A calendar <strong>todo</strong> was modified" : "Kalendarz <strong>zadań</strong> został zmieniony",
+ "A calendar <strong>to-do</strong> was modified" : "Kalendarz <strong>zadań</strong> został zmieniony",
"Contact birthdays" : "Urodziny kontaktu",
"Death of %s" : "Śmierć %s",
"Calendar:" : "Kalendarz:",
@@ -153,6 +157,7 @@
"Friday" : "Piątek",
"Saturday" : "Sobota",
"Sunday" : "Niedziela",
+ "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.",
"Save" : "Zapisz",
"Failed to load availability" : "Nie udało się wczytać dostępności",
"Saved availability" : "Zapisana dostępność",
@@ -175,6 +180,18 @@
"Tentative" : "Niepewne",
"Number of guests" : "Liczba gości",
"Comment" : "Komentarz",
- "Your attendance was updated successfully." : "Twoja obecność została pomyślnie zaktualizowana."
+ "Your attendance was updated successfully." : "Twoja obecność została pomyślnie zaktualizowana.",
+ "Todos" : "Zadania",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} utworzył zadanie {todo} na liście {calendar}",
+ "You created todo {todo} in list {calendar}" : "Utworzyłeś zadanie {todo} na liście {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} usunął zadanie {todo} z listy {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Usunąłeś zadanie {todo} z listy {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} zaktualizował zadanie {todo} na liście {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Zaktualizowałeś zadanie {todo} na liście {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} zakończył zadanie {todo} na liście {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Zakończyłeś zadanie {todo} na liście {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} otworzył ponownie zadanie {todo} na liście {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Otworzyłeś ponownie zadanie {todo} na liście {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Kalendarz <strong>zadań</strong> został zmieniony"
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/pt_BR.js b/apps/dav/l10n/pt_BR.js
index 8c56afa1708..4136835a80a 100644
--- a/apps/dav/l10n/pt_BR.js
+++ b/apps/dav/l10n/pt_BR.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Calendário",
- "Todos" : "Tarefas",
+ "To-dos" : "Tarefas",
"Personal" : "Pessoal",
"{actor} created calendar {calendar}" : "{actor} criou o calendário {calendar}",
"You created calendar {calendar}" : "Você criou o calendário {calendar}",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Você excluiu o evento {event} do calendário {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} atualizou o evento {event} no calendário {calendar}",
"You updated event {event} in calendar {calendar}" : "Você atualizou o evento {event} no calendário {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} moveu o evento {event} do calendario {sourceCalendar} para o calendario {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Você moveu o evento {event} do calendario {sourceCalendar} para o calendario {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} restaurou o evento {event} do calendário {calendar}",
"You restored event {event} of calendar {calendar}" : "Você restaurou o evento {event} do calendário {calendar}",
"Busy" : "Ocupado",
- "{actor} created todo {todo} in list {calendar}" : "{actor} criou a tarefa {todo} na lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Você criou a tarefa {todo} na lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} excluiu a tarefa {todo} da lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Você excluiu a tarefa {todo} da lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} atualizou a tarefa {todo} na lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Você atualizou a tarefa {todo} na lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} tarefa resolvida {todo} na lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Você terminou a tarefa {todo} na lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabriu tarefa {todo} na lista {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Você reabriu a terefa {todo} na lista {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} criou tarefa {todo} na lista {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Você criou a tarefa {todo} na lista {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} excluiu a tarefa {todo} da lista {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Você excluiu a tarefa {todo} da lista {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} atualizou a tarefa {todo} na lista {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Você atualizou a tarefa {todo} na lista {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} resolveu a tarefa {todo} na lista {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Você resolveu a tarefa {todo} na lista {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}" : "Você reabriu a tarefa {todo} na lista {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} moveu a tarefa {todo} da lista {sourceCalendar} para a lista {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Você moveu a tarefa {todo} da lista {sourceCalendar} para a lista {targetCalendar}",
"Calendar, contacts and tasks" : "Calendário, contatos e tarefas",
"A <strong>calendar</strong> was modified" : "Um <strong>calendário</strong> foi modificado",
"A calendar <strong>event</strong> was modified" : "Um <strong>evento</strong> do calendário foi modificado",
- "A calendar <strong>todo</strong> was modified" : "Uma <strong>tarefa</strong> do calendário foi modificada",
+ "A calendar <strong>to-do</strong> was modified" : "Um calendário <strong>tarefa</strong> foi modificado",
"Contact birthdays" : "Aniversário dos contatos",
"Death of %s" : "Morte de %s",
"Calendar:" : "Calendário:",
@@ -155,6 +159,7 @@ OC.L10N.register(
"Friday" : "Sexta-feira",
"Saturday" : "Sábado ",
"Sunday" : "Domingo",
+ "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.",
"Save" : "Salvar",
"Failed to load availability" : "Falha ao carregar a disponibilidade",
"Saved availability" : "Disponibilidade salva",
@@ -177,6 +182,18 @@ OC.L10N.register(
"Tentative" : "Tentativa",
"Number of guests" : "Número de convidados",
"Comment" : "Comentário",
- "Your attendance was updated successfully." : "Sua presença foi atualizada com sucesso."
+ "Your attendance was updated successfully." : "Sua presença foi atualizada com sucesso.",
+ "Todos" : "Tarefas",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} criou a tarefa {todo} na lista {calendar}",
+ "You created todo {todo} in list {calendar}" : "Você criou a tarefa {todo} na lista {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} excluiu a tarefa {todo} da lista {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Você excluiu a tarefa {todo} da lista {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} atualizou a tarefa {todo} na lista {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Você atualizou a tarefa {todo} na lista {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} tarefa resolvida {todo} na lista {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Você terminou a tarefa {todo} na lista {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabriu tarefa {todo} na lista {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Você reabriu a terefa {todo} na lista {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Uma <strong>tarefa</strong> do calendário foi modificada"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/dav/l10n/pt_BR.json b/apps/dav/l10n/pt_BR.json
index 852dac798ba..792d5bf3573 100644
--- a/apps/dav/l10n/pt_BR.json
+++ b/apps/dav/l10n/pt_BR.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Calendário",
- "Todos" : "Tarefas",
+ "To-dos" : "Tarefas",
"Personal" : "Pessoal",
"{actor} created calendar {calendar}" : "{actor} criou o calendário {calendar}",
"You created calendar {calendar}" : "Você criou o calendário {calendar}",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "Você excluiu o evento {event} do calendário {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} atualizou o evento {event} no calendário {calendar}",
"You updated event {event} in calendar {calendar}" : "Você atualizou o evento {event} no calendário {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} moveu o evento {event} do calendario {sourceCalendar} para o calendario {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Você moveu o evento {event} do calendario {sourceCalendar} para o calendario {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} restaurou o evento {event} do calendário {calendar}",
"You restored event {event} of calendar {calendar}" : "Você restaurou o evento {event} do calendário {calendar}",
"Busy" : "Ocupado",
- "{actor} created todo {todo} in list {calendar}" : "{actor} criou a tarefa {todo} na lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Você criou a tarefa {todo} na lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} excluiu a tarefa {todo} da lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Você excluiu a tarefa {todo} da lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} atualizou a tarefa {todo} na lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Você atualizou a tarefa {todo} na lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} tarefa resolvida {todo} na lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Você terminou a tarefa {todo} na lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabriu tarefa {todo} na lista {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Você reabriu a terefa {todo} na lista {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} criou tarefa {todo} na lista {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Você criou a tarefa {todo} na lista {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} excluiu a tarefa {todo} da lista {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Você excluiu a tarefa {todo} da lista {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} atualizou a tarefa {todo} na lista {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Você atualizou a tarefa {todo} na lista {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} resolveu a tarefa {todo} na lista {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Você resolveu a tarefa {todo} na lista {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}" : "Você reabriu a tarefa {todo} na lista {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} moveu a tarefa {todo} da lista {sourceCalendar} para a lista {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Você moveu a tarefa {todo} da lista {sourceCalendar} para a lista {targetCalendar}",
"Calendar, contacts and tasks" : "Calendário, contatos e tarefas",
"A <strong>calendar</strong> was modified" : "Um <strong>calendário</strong> foi modificado",
"A calendar <strong>event</strong> was modified" : "Um <strong>evento</strong> do calendário foi modificado",
- "A calendar <strong>todo</strong> was modified" : "Uma <strong>tarefa</strong> do calendário foi modificada",
+ "A calendar <strong>to-do</strong> was modified" : "Um calendário <strong>tarefa</strong> foi modificado",
"Contact birthdays" : "Aniversário dos contatos",
"Death of %s" : "Morte de %s",
"Calendar:" : "Calendário:",
@@ -153,6 +157,7 @@
"Friday" : "Sexta-feira",
"Saturday" : "Sábado ",
"Sunday" : "Domingo",
+ "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.",
"Save" : "Salvar",
"Failed to load availability" : "Falha ao carregar a disponibilidade",
"Saved availability" : "Disponibilidade salva",
@@ -175,6 +180,18 @@
"Tentative" : "Tentativa",
"Number of guests" : "Número de convidados",
"Comment" : "Comentário",
- "Your attendance was updated successfully." : "Sua presença foi atualizada com sucesso."
+ "Your attendance was updated successfully." : "Sua presença foi atualizada com sucesso.",
+ "Todos" : "Tarefas",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} criou a tarefa {todo} na lista {calendar}",
+ "You created todo {todo} in list {calendar}" : "Você criou a tarefa {todo} na lista {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} excluiu a tarefa {todo} da lista {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Você excluiu a tarefa {todo} da lista {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} atualizou a tarefa {todo} na lista {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Você atualizou a tarefa {todo} na lista {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} tarefa resolvida {todo} na lista {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Você terminou a tarefa {todo} na lista {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabriu tarefa {todo} na lista {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Você reabriu a terefa {todo} na lista {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Uma <strong>tarefa</strong> do calendário foi modificada"
},"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 a2a21aa535f..188f950d4b3 100644
--- a/apps/dav/l10n/ru.js
+++ b/apps/dav/l10n/ru.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Календарь",
- "Todos" : "Задачи",
+ "To-dos" : "Задачи",
"Personal" : "Личное",
"{actor} created calendar {calendar}" : "{actor} создал(а) календарь «{calendar}»",
"You created calendar {calendar}" : "Вы создали календарь «{calendar}»",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Вы удалили событие «{event}» из календаря «{calendar}»",
"{actor} updated event {event} in calendar {calendar}" : "{actor} обновил(а) событие «{event}» в календаре «{calendar}»",
"You updated event {event} in calendar {calendar}" : "Вы обновили событие «{event}» в календаре «{calendar}»",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} переместил(а) событие «{event}» из календаря «{sourceCalendar}» в календарь «{targetCalendar}»",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Вы переместили событие «{event}» из календаря «{sourceCalendar}» в календарь «{targetCalendar}»",
"{actor} restored event {event} of calendar {calendar}" : "{actor} восстановил(а) событие {event} в календаре {calendar}",
"You restored event {event} of calendar {calendar}" : "Вы восстановили событие {event} в календаре {calendar}",
"Busy" : "Занято",
- "{actor} created todo {todo} in list {calendar}" : "{actor} создал(а) задачу «{todo}» в списке «{calendar}»",
- "You created todo {todo} in list {calendar}" : "Вы создали задачу «{todo}» в списке «{calendar}»",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} удалил(а) задачу «{todo}» из списка «{calendar}»",
- "You deleted todo {todo} from list {calendar}" : "Вы удалили задачу «{todo}» из списка «{calendar}»",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} обновил(а) задачу «{todo}» из списка «{calendar}»",
- "You updated todo {todo} in list {calendar}" : "Вы обновили задачу «{todo}» из списка «{calendar}»",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} завершил(а) задачу «{todo}» из списка «{calendar}»",
- "You solved todo {todo} in list {calendar}" : "Вы завершили задачу «{todo}» из списка «{calendar}»",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно(а) открыл задачу «{todo}» из списка «{calendar}»",
- "You reopened todo {todo} in list {calendar}" : "Вы повторно открыли задачу «{todo}» из списка «{calendar}»",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} создал(а) задачу «{todo}» в списке «{calendar}»",
+ "You created to-do {todo} in list {calendar}" : "Вы создали задачу «{todo}» в списке «{calendar}»",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} удалил(а) задачу «{todo}» из списка «{calendar}»",
+ "You deleted to-do {todo} from list {calendar}" : "Вы удалили задачу «{todo}» из списка «{calendar}»",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} обновил(а) задачу «{todo}» из списка «{calendar}»",
+ "You updated to-do {todo} in list {calendar}" : "Вы обновили задачу «{todo}» из списка «{calendar}»",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} завершил(а) задачу «{todo}» из списка «{calendar}»",
+ "You solved to-do {todo} in list {calendar}" : "Вы завершили задачу «{todo}» из списка «{calendar}»",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} повторно(а) открыл задачу «{todo}» из списка «{calendar}»",
+ "You reopened to-do {todo} in list {calendar}" : "Вы повторно открыли задачу «{todo}» из списка «{calendar}»",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} переместил(а) задачу «{todo}» из календаря «{sourceCalendar}» в календарь «{targetCalendar}»",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Вы переместили задачу «{todo}» из календаря «{sourceCalendar}» в календарь «{targetCalendar}»",
"Calendar, contacts and tasks" : "Календарь, контакты и задачи",
"A <strong>calendar</strong> was modified" : "Изменения <strong>календаря</strong> ",
"A calendar <strong>event</strong> was modified" : "В календаре изменено <strong>событие</strong>",
- "A calendar <strong>todo</strong> was modified" : "В календаре изменена <strong>задача</strong>",
+ "A calendar <strong>to-do</strong> was modified" : "В календаре изменена <strong>задача</strong> ",
"Contact birthdays" : "Дни рождения контакта",
"Death of %s" : "Смерть %s",
"Calendar:" : "Календарь:",
@@ -110,6 +114,12 @@ OC.L10N.register(
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "Изменение <strong>контакта</strong> или <strong>адресной книги</strong>",
"File is not updatable: %1$s" : "Файл не подлежит обновлению: %1$s",
"Could not write file contents" : "Не удалось записать содержимое файла",
+ "Could not open file" : "Не удалось открыть файл",
+ "Encryption not ready: %1$s" : "Подсистема шифрования не готова: %1$s",
+ "Failed to open file: %1$s" : "Не удалось открыть файл: %1$s",
+ "Invalid chunk name" : "Недопустимое имя сегмента",
+ "Failed to write file contents: %1$s" : "Не удалось записать содержимое файла: %1$s",
+ "File not found: %1$s" : "Файл не найден: %1$s",
"System is in maintenance mode." : "Сервер находится в режиме обслуживания.",
"Upgrade needed" : "Требуется обновление",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Ваш %s должен быть настроен на использование протокола HTTPS, чтобы можно было использовать CalDAV и CardDAV на iOS/macOS.",
@@ -121,6 +131,7 @@ OC.L10N.register(
"Completed on %s" : "Завершено %s",
"Due on %s by %s" : "До %s %s",
"Due on %s" : "До %s",
+ "Calendars including events, details and attendees" : "Календари, в том числе события, подробные сведения и участники",
"Contacts and groups" : "Контакты и группы",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "точка подключения WebDAV",
@@ -139,6 +150,7 @@ OC.L10N.register(
"Saturday" : "Суббота",
"Sunday" : "Воскресенье",
"Save" : "Сохранить",
+ "Failed to load availability" : "Не удалось получить сведения о доступности",
"Calendar server" : "Сервер календаря",
"Send invitations to attendees" : "Отправить приглашения",
"Automatically generate a birthday calendar" : "Создавать календарь дней рождения автоматически",
@@ -155,6 +167,18 @@ OC.L10N.register(
"Tentative" : "Под вопросом",
"Number of guests" : "Количество гостей",
"Comment" : "Комментарий",
- "Your attendance was updated successfully." : "Статус участия обновлён."
+ "Your attendance was updated successfully." : "Статус участия обновлён.",
+ "Todos" : "Задачи",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} создал(а) задачу «{todo}» в списке «{calendar}»",
+ "You created todo {todo} in list {calendar}" : "Вы создали задачу «{todo}» в списке «{calendar}»",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} удалил(а) задачу «{todo}» из списка «{calendar}»",
+ "You deleted todo {todo} from list {calendar}" : "Вы удалили задачу «{todo}» из списка «{calendar}»",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} обновил(а) задачу «{todo}» из списка «{calendar}»",
+ "You updated todo {todo} in list {calendar}" : "Вы обновили задачу «{todo}» из списка «{calendar}»",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} завершил(а) задачу «{todo}» из списка «{calendar}»",
+ "You solved todo {todo} in list {calendar}" : "Вы завершили задачу «{todo}» из списка «{calendar}»",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно(а) открыл задачу «{todo}» из списка «{calendar}»",
+ "You reopened todo {todo} in list {calendar}" : "Вы повторно открыли задачу «{todo}» из списка «{calendar}»",
+ "A calendar <strong>todo</strong> was modified" : "В календаре изменена <strong>задача</strong>"
},
"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
diff --git a/apps/dav/l10n/ru.json b/apps/dav/l10n/ru.json
index ef6fd3e653a..49c34dd6bc8 100644
--- a/apps/dav/l10n/ru.json
+++ b/apps/dav/l10n/ru.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Календарь",
- "Todos" : "Задачи",
+ "To-dos" : "Задачи",
"Personal" : "Личное",
"{actor} created calendar {calendar}" : "{actor} создал(а) календарь «{calendar}»",
"You created calendar {calendar}" : "Вы создали календарь «{calendar}»",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "Вы удалили событие «{event}» из календаря «{calendar}»",
"{actor} updated event {event} in calendar {calendar}" : "{actor} обновил(а) событие «{event}» в календаре «{calendar}»",
"You updated event {event} in calendar {calendar}" : "Вы обновили событие «{event}» в календаре «{calendar}»",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} переместил(а) событие «{event}» из календаря «{sourceCalendar}» в календарь «{targetCalendar}»",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Вы переместили событие «{event}» из календаря «{sourceCalendar}» в календарь «{targetCalendar}»",
"{actor} restored event {event} of calendar {calendar}" : "{actor} восстановил(а) событие {event} в календаре {calendar}",
"You restored event {event} of calendar {calendar}" : "Вы восстановили событие {event} в календаре {calendar}",
"Busy" : "Занято",
- "{actor} created todo {todo} in list {calendar}" : "{actor} создал(а) задачу «{todo}» в списке «{calendar}»",
- "You created todo {todo} in list {calendar}" : "Вы создали задачу «{todo}» в списке «{calendar}»",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} удалил(а) задачу «{todo}» из списка «{calendar}»",
- "You deleted todo {todo} from list {calendar}" : "Вы удалили задачу «{todo}» из списка «{calendar}»",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} обновил(а) задачу «{todo}» из списка «{calendar}»",
- "You updated todo {todo} in list {calendar}" : "Вы обновили задачу «{todo}» из списка «{calendar}»",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} завершил(а) задачу «{todo}» из списка «{calendar}»",
- "You solved todo {todo} in list {calendar}" : "Вы завершили задачу «{todo}» из списка «{calendar}»",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно(а) открыл задачу «{todo}» из списка «{calendar}»",
- "You reopened todo {todo} in list {calendar}" : "Вы повторно открыли задачу «{todo}» из списка «{calendar}»",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} создал(а) задачу «{todo}» в списке «{calendar}»",
+ "You created to-do {todo} in list {calendar}" : "Вы создали задачу «{todo}» в списке «{calendar}»",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} удалил(а) задачу «{todo}» из списка «{calendar}»",
+ "You deleted to-do {todo} from list {calendar}" : "Вы удалили задачу «{todo}» из списка «{calendar}»",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} обновил(а) задачу «{todo}» из списка «{calendar}»",
+ "You updated to-do {todo} in list {calendar}" : "Вы обновили задачу «{todo}» из списка «{calendar}»",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} завершил(а) задачу «{todo}» из списка «{calendar}»",
+ "You solved to-do {todo} in list {calendar}" : "Вы завершили задачу «{todo}» из списка «{calendar}»",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} повторно(а) открыл задачу «{todo}» из списка «{calendar}»",
+ "You reopened to-do {todo} in list {calendar}" : "Вы повторно открыли задачу «{todo}» из списка «{calendar}»",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} переместил(а) задачу «{todo}» из календаря «{sourceCalendar}» в календарь «{targetCalendar}»",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Вы переместили задачу «{todo}» из календаря «{sourceCalendar}» в календарь «{targetCalendar}»",
"Calendar, contacts and tasks" : "Календарь, контакты и задачи",
"A <strong>calendar</strong> was modified" : "Изменения <strong>календаря</strong> ",
"A calendar <strong>event</strong> was modified" : "В календаре изменено <strong>событие</strong>",
- "A calendar <strong>todo</strong> was modified" : "В календаре изменена <strong>задача</strong>",
+ "A calendar <strong>to-do</strong> was modified" : "В календаре изменена <strong>задача</strong> ",
"Contact birthdays" : "Дни рождения контакта",
"Death of %s" : "Смерть %s",
"Calendar:" : "Календарь:",
@@ -108,6 +112,12 @@
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "Изменение <strong>контакта</strong> или <strong>адресной книги</strong>",
"File is not updatable: %1$s" : "Файл не подлежит обновлению: %1$s",
"Could not write file contents" : "Не удалось записать содержимое файла",
+ "Could not open file" : "Не удалось открыть файл",
+ "Encryption not ready: %1$s" : "Подсистема шифрования не готова: %1$s",
+ "Failed to open file: %1$s" : "Не удалось открыть файл: %1$s",
+ "Invalid chunk name" : "Недопустимое имя сегмента",
+ "Failed to write file contents: %1$s" : "Не удалось записать содержимое файла: %1$s",
+ "File not found: %1$s" : "Файл не найден: %1$s",
"System is in maintenance mode." : "Сервер находится в режиме обслуживания.",
"Upgrade needed" : "Требуется обновление",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Ваш %s должен быть настроен на использование протокола HTTPS, чтобы можно было использовать CalDAV и CardDAV на iOS/macOS.",
@@ -119,6 +129,7 @@
"Completed on %s" : "Завершено %s",
"Due on %s by %s" : "До %s %s",
"Due on %s" : "До %s",
+ "Calendars including events, details and attendees" : "Календари, в том числе события, подробные сведения и участники",
"Contacts and groups" : "Контакты и группы",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "точка подключения WebDAV",
@@ -137,6 +148,7 @@
"Saturday" : "Суббота",
"Sunday" : "Воскресенье",
"Save" : "Сохранить",
+ "Failed to load availability" : "Не удалось получить сведения о доступности",
"Calendar server" : "Сервер календаря",
"Send invitations to attendees" : "Отправить приглашения",
"Automatically generate a birthday calendar" : "Создавать календарь дней рождения автоматически",
@@ -153,6 +165,18 @@
"Tentative" : "Под вопросом",
"Number of guests" : "Количество гостей",
"Comment" : "Комментарий",
- "Your attendance was updated successfully." : "Статус участия обновлён."
+ "Your attendance was updated successfully." : "Статус участия обновлён.",
+ "Todos" : "Задачи",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} создал(а) задачу «{todo}» в списке «{calendar}»",
+ "You created todo {todo} in list {calendar}" : "Вы создали задачу «{todo}» в списке «{calendar}»",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} удалил(а) задачу «{todo}» из списка «{calendar}»",
+ "You deleted todo {todo} from list {calendar}" : "Вы удалили задачу «{todo}» из списка «{calendar}»",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} обновил(а) задачу «{todo}» из списка «{calendar}»",
+ "You updated todo {todo} in list {calendar}" : "Вы обновили задачу «{todo}» из списка «{calendar}»",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} завершил(а) задачу «{todo}» из списка «{calendar}»",
+ "You solved todo {todo} in list {calendar}" : "Вы завершили задачу «{todo}» из списка «{calendar}»",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно(а) открыл задачу «{todo}» из списка «{calendar}»",
+ "You reopened todo {todo} in list {calendar}" : "Вы повторно открыли задачу «{todo}» из списка «{calendar}»",
+ "A calendar <strong>todo</strong> was modified" : "В календаре изменена <strong>задача</strong>"
},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/sc.js b/apps/dav/l10n/sc.js
index caeaa8654aa..f2e2b3c6343 100644
--- a/apps/dav/l10n/sc.js
+++ b/apps/dav/l10n/sc.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Calendàriu",
- "Todos" : "Cosas de fàghere",
"Personal" : "Personale",
"{actor} created calendar {calendar}" : "{actor} at creadu su calendàriu {calendar}",
"You created calendar {calendar}" : "As creadu su calendàriu {calendar}",
@@ -35,20 +34,9 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor} at ripristinadu s'eventu {event} in su calendàriu {calendar}",
"You restored event {event} of calendar {calendar}" : "As ripristinadu s'eventu {event} in su calendàriu {calendar}",
"Busy" : "Impinnadu",
- "{actor} created todo {todo} in list {calendar}" : "{actor} at creadu sa cosa de fàghere {todo} in s'elencu {calendar}",
- "You created todo {todo} in list {calendar}" : "As creadu una cosa de fàghere {todo} in s'elencu {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} at cantzelladu sa cosa de fàghere {todo} dae s'elencu {calendar}",
- "You deleted todo {todo} from list {calendar}" : "As eliminadu sa cosa de fàghere {todo} dae s'elencu {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} at agiornadu sa cosa de fàghere {todo} in s'elencu {calendar}",
- "You updated todo {todo} in list {calendar}" : "As agiornadu sa cosa de fàghere {todo} in s'elencu {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} at isortu sa cosa de fàghere {todo} in s'elencu {calendar}",
- "You solved todo {todo} in list {calendar}" : "As isortu sa cosa de fàghere {todo} in s'elencu {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} at torradu a abèrrere sa cosa de fàghere {todo} in s'elencu {calendar}",
- "You reopened todo {todo} in list {calendar}" : "As torradu a abèrrere sa cosa de fàghere {todo} in s'elecu {calendar}",
"Calendar, contacts and tasks" : "Calendàriu, cuntatos e fainas",
"A <strong>calendar</strong> was modified" : "Unu <strong>calendàriu</strong> est istadu modificadu",
"A calendar <strong>event</strong> was modified" : "Un'<strong>eventu</strong> de su calendàriu est istadu modificadu",
- "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa de fàghere</strong> de su calendàriu est istada modificada",
"Contact birthdays" : "Data de nàschida de is cuntatos",
"Death of %s" : "Morte de %s",
"Calendar:" : "Calendàriu:",
@@ -145,6 +133,18 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Cheres atzetare s'invitu?",
"Tentative" : "Intentu",
"Comment" : "Cummentu",
- "Your attendance was updated successfully." : "Sa partetzipatzione tua est istada agiornada in manera curreta."
+ "Your attendance was updated successfully." : "Sa partetzipatzione tua est istada agiornada in manera curreta.",
+ "Todos" : "Cosas de fàghere",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} at creadu sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "You created todo {todo} in list {calendar}" : "As creadu una cosa de fàghere {todo} in s'elencu {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} at cantzelladu sa cosa de fàghere {todo} dae s'elencu {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "As eliminadu sa cosa de fàghere {todo} dae s'elencu {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} at agiornadu sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "You updated todo {todo} in list {calendar}" : "As agiornadu sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} at isortu sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "You solved todo {todo} in list {calendar}" : "As isortu sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} at torradu a abèrrere sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "As torradu a abèrrere sa cosa de fàghere {todo} in s'elecu {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa de fàghere</strong> de su calendàriu est istada modificada"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/sc.json b/apps/dav/l10n/sc.json
index 77c14b27fa2..4ed2e95896f 100644
--- a/apps/dav/l10n/sc.json
+++ b/apps/dav/l10n/sc.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Calendàriu",
- "Todos" : "Cosas de fàghere",
"Personal" : "Personale",
"{actor} created calendar {calendar}" : "{actor} at creadu su calendàriu {calendar}",
"You created calendar {calendar}" : "As creadu su calendàriu {calendar}",
@@ -33,20 +32,9 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor} at ripristinadu s'eventu {event} in su calendàriu {calendar}",
"You restored event {event} of calendar {calendar}" : "As ripristinadu s'eventu {event} in su calendàriu {calendar}",
"Busy" : "Impinnadu",
- "{actor} created todo {todo} in list {calendar}" : "{actor} at creadu sa cosa de fàghere {todo} in s'elencu {calendar}",
- "You created todo {todo} in list {calendar}" : "As creadu una cosa de fàghere {todo} in s'elencu {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} at cantzelladu sa cosa de fàghere {todo} dae s'elencu {calendar}",
- "You deleted todo {todo} from list {calendar}" : "As eliminadu sa cosa de fàghere {todo} dae s'elencu {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} at agiornadu sa cosa de fàghere {todo} in s'elencu {calendar}",
- "You updated todo {todo} in list {calendar}" : "As agiornadu sa cosa de fàghere {todo} in s'elencu {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} at isortu sa cosa de fàghere {todo} in s'elencu {calendar}",
- "You solved todo {todo} in list {calendar}" : "As isortu sa cosa de fàghere {todo} in s'elencu {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} at torradu a abèrrere sa cosa de fàghere {todo} in s'elencu {calendar}",
- "You reopened todo {todo} in list {calendar}" : "As torradu a abèrrere sa cosa de fàghere {todo} in s'elecu {calendar}",
"Calendar, contacts and tasks" : "Calendàriu, cuntatos e fainas",
"A <strong>calendar</strong> was modified" : "Unu <strong>calendàriu</strong> est istadu modificadu",
"A calendar <strong>event</strong> was modified" : "Un'<strong>eventu</strong> de su calendàriu est istadu modificadu",
- "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa de fàghere</strong> de su calendàriu est istada modificada",
"Contact birthdays" : "Data de nàschida de is cuntatos",
"Death of %s" : "Morte de %s",
"Calendar:" : "Calendàriu:",
@@ -143,6 +131,18 @@
"Are you accepting the invitation?" : "Cheres atzetare s'invitu?",
"Tentative" : "Intentu",
"Comment" : "Cummentu",
- "Your attendance was updated successfully." : "Sa partetzipatzione tua est istada agiornada in manera curreta."
+ "Your attendance was updated successfully." : "Sa partetzipatzione tua est istada agiornada in manera curreta.",
+ "Todos" : "Cosas de fàghere",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} at creadu sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "You created todo {todo} in list {calendar}" : "As creadu una cosa de fàghere {todo} in s'elencu {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} at cantzelladu sa cosa de fàghere {todo} dae s'elencu {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "As eliminadu sa cosa de fàghere {todo} dae s'elencu {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} at agiornadu sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "You updated todo {todo} in list {calendar}" : "As agiornadu sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} at isortu sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "You solved todo {todo} in list {calendar}" : "As isortu sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} at torradu a abèrrere sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "As torradu a abèrrere sa cosa de fàghere {todo} in s'elecu {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa de fàghere</strong> de su calendàriu est istada modificada"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/sk.js b/apps/dav/l10n/sk.js
index 127a328d249..1c62436025e 100644
--- a/apps/dav/l10n/sk.js
+++ b/apps/dav/l10n/sk.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalendár",
- "Todos" : "Úlohy",
"Personal" : "Osobné",
"{actor} created calendar {calendar}" : "[actor] vytvoril kalendár [calendar]",
"You created calendar {calendar}" : "Vytvorili ste kalendár {calendar}",
@@ -35,20 +34,9 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor} obnovil udalosť {event} v kalendári {calendar}",
"You restored event {event} of calendar {calendar}" : "Obnovili ste udalosť {event} v kalendári {calendar}",
"Busy" : "Zaneprázdnený",
- "{actor} created todo {todo} in list {calendar}" : "{actor} vytvoril úlohu {todo} v {calendar}",
- "You created todo {todo} in list {calendar}" : "Vytvorili ste úlohu {todo} v {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} zmazal úlohu {todo} z {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Zmazali ste úlohu {todo} z {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} upravil úlohu {todo} v {calendar}",
- "You updated todo {todo} in list {calendar}" : "Upravili ste úlohu {todo} v {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} vyriešil úlohu {todo} v {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vyriešili ste úlohu {todo} v {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} znovu otvoril úlohu {todo} v {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Otvorili ste znovu úlohu {todo} v {calendar}",
"Calendar, contacts and tasks" : "Kalendár, kontakty a úlohy",
"A <strong>calendar</strong> was modified" : "<strong>kalendár</strong> bol upravený",
"A calendar <strong>event</strong> was modified" : "<strong>Udalosť</strong> v kalendári bola upravená",
- "A calendar <strong>todo</strong> was modified" : "<strong>Pripomienka</strong> v kalendári bola upravená",
"Contact birthdays" : "Narodeniny kontaktu",
"Death of %s" : "Dátum úmrtia %s",
"Calendar:" : "Kalendár:",
@@ -177,6 +165,18 @@ OC.L10N.register(
"Tentative" : "Neistý",
"Number of guests" : "Počet návštevníkov",
"Comment" : "Komentár",
- "Your attendance was updated successfully." : "Vaša účasť bola aktualizovaná úspešne."
+ "Your attendance was updated successfully." : "Vaša účasť bola aktualizovaná úspešne.",
+ "Todos" : "Úlohy",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} vytvoril úlohu {todo} v {calendar}",
+ "You created todo {todo} in list {calendar}" : "Vytvorili ste úlohu {todo} v {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} zmazal úlohu {todo} z {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Zmazali ste úlohu {todo} z {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} upravil úlohu {todo} v {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Upravili ste úlohu {todo} v {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} vyriešil úlohu {todo} v {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vyriešili ste úlohu {todo} v {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} znovu otvoril úlohu {todo} v {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Otvorili ste znovu úlohu {todo} v {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "<strong>Pripomienka</strong> v kalendári bola upravená"
},
"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);");
diff --git a/apps/dav/l10n/sk.json b/apps/dav/l10n/sk.json
index 731f7b72d0a..2b2ce1b30fb 100644
--- a/apps/dav/l10n/sk.json
+++ b/apps/dav/l10n/sk.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Kalendár",
- "Todos" : "Úlohy",
"Personal" : "Osobné",
"{actor} created calendar {calendar}" : "[actor] vytvoril kalendár [calendar]",
"You created calendar {calendar}" : "Vytvorili ste kalendár {calendar}",
@@ -33,20 +32,9 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor} obnovil udalosť {event} v kalendári {calendar}",
"You restored event {event} of calendar {calendar}" : "Obnovili ste udalosť {event} v kalendári {calendar}",
"Busy" : "Zaneprázdnený",
- "{actor} created todo {todo} in list {calendar}" : "{actor} vytvoril úlohu {todo} v {calendar}",
- "You created todo {todo} in list {calendar}" : "Vytvorili ste úlohu {todo} v {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} zmazal úlohu {todo} z {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Zmazali ste úlohu {todo} z {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} upravil úlohu {todo} v {calendar}",
- "You updated todo {todo} in list {calendar}" : "Upravili ste úlohu {todo} v {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} vyriešil úlohu {todo} v {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vyriešili ste úlohu {todo} v {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} znovu otvoril úlohu {todo} v {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Otvorili ste znovu úlohu {todo} v {calendar}",
"Calendar, contacts and tasks" : "Kalendár, kontakty a úlohy",
"A <strong>calendar</strong> was modified" : "<strong>kalendár</strong> bol upravený",
"A calendar <strong>event</strong> was modified" : "<strong>Udalosť</strong> v kalendári bola upravená",
- "A calendar <strong>todo</strong> was modified" : "<strong>Pripomienka</strong> v kalendári bola upravená",
"Contact birthdays" : "Narodeniny kontaktu",
"Death of %s" : "Dátum úmrtia %s",
"Calendar:" : "Kalendár:",
@@ -175,6 +163,18 @@
"Tentative" : "Neistý",
"Number of guests" : "Počet návštevníkov",
"Comment" : "Komentár",
- "Your attendance was updated successfully." : "Vaša účasť bola aktualizovaná úspešne."
+ "Your attendance was updated successfully." : "Vaša účasť bola aktualizovaná úspešne.",
+ "Todos" : "Úlohy",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} vytvoril úlohu {todo} v {calendar}",
+ "You created todo {todo} in list {calendar}" : "Vytvorili ste úlohu {todo} v {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} zmazal úlohu {todo} z {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Zmazali ste úlohu {todo} z {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} upravil úlohu {todo} v {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Upravili ste úlohu {todo} v {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} vyriešil úlohu {todo} v {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vyriešili ste úlohu {todo} v {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} znovu otvoril úlohu {todo} v {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Otvorili ste znovu úlohu {todo} v {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "<strong>Pripomienka</strong> v kalendári bola upravená"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/sl.js b/apps/dav/l10n/sl.js
index bb07ed9b9f0..0eaabf7e2cd 100644
--- a/apps/dav/l10n/sl.js
+++ b/apps/dav/l10n/sl.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Koledar",
- "Todos" : "Naloge",
"Personal" : "Osebno",
"{actor} created calendar {calendar}" : "{actor} ustvari koledar {calendar}",
"You created calendar {calendar}" : "Ustvarim koledar {calendar}",
@@ -31,20 +30,9 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "{actor} posodobi dogodek {event} v koledarju {calendar}",
"You updated event {event} in calendar {calendar}" : "Posodobite dogodek {event} v koledarju {calendar}",
"Busy" : "Zasedeno",
- "{actor} created todo {todo} in list {calendar}" : "{actor} ustvari nalogo {todo} v koledarju {calendar}",
- "You created todo {todo} in list {calendar}" : "Ustvarite nalogo {todo} v koledarju {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} izbriše nalogo {todo} iz koledara {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Izbrišete nalogo {todo} iz koledarja {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} posodobi nalogo {todo} v koledarju {calendar}",
- "You updated todo {todo} in list {calendar}" : "Posodobite nalogo {todo} v seznamu {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} razreši nalogo {todo} v koledarju {calendar}",
- "You solved todo {todo} in list {calendar}" : "Razrešite nalogo {todo} v seznamu {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} ponovno odpre nalogo {todo} v koledarju {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Ponovno odprete nalogo {todo} v seznamu {calendar}",
"Calendar, contacts and tasks" : "Koledar, stiki in naloge",
"A <strong>calendar</strong> was modified" : "V <strong>koledar</strong> je vpisana sprememba",
"A calendar <strong>event</strong> was modified" : "Spremenjen je <strong>dogodek</strong> v koledarju",
- "A calendar <strong>todo</strong> was modified" : "Spremenjena je <strong>naloga</strong> koledarja",
"Contact birthdays" : "Obletnice stikov",
"Death of %s" : "%s (obletnica smrti)",
"Calendar:" : "Koledar:",
@@ -127,6 +115,18 @@ OC.L10N.register(
"Tentative" : "Začasno",
"Number of guests" : "Število gostov",
"Comment" : "Opomba",
- "Your attendance was updated successfully." : "Vaša prisotnost je uspešno posodobljena."
+ "Your attendance was updated successfully." : "Vaša prisotnost je uspešno posodobljena.",
+ "Todos" : "Naloge",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} ustvari nalogo {todo} v koledarju {calendar}",
+ "You created todo {todo} in list {calendar}" : "Ustvarite nalogo {todo} v koledarju {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} izbriše nalogo {todo} iz koledara {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Izbrišete nalogo {todo} iz koledarja {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} posodobi nalogo {todo} v koledarju {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Posodobite nalogo {todo} v seznamu {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} razreši nalogo {todo} v koledarju {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Razrešite nalogo {todo} v seznamu {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} ponovno odpre nalogo {todo} v koledarju {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Ponovno odprete nalogo {todo} v seznamu {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Spremenjena je <strong>naloga</strong> koledarja"
},
"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
diff --git a/apps/dav/l10n/sl.json b/apps/dav/l10n/sl.json
index cecfc2cb0c4..4df1e51d2a5 100644
--- a/apps/dav/l10n/sl.json
+++ b/apps/dav/l10n/sl.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Koledar",
- "Todos" : "Naloge",
"Personal" : "Osebno",
"{actor} created calendar {calendar}" : "{actor} ustvari koledar {calendar}",
"You created calendar {calendar}" : "Ustvarim koledar {calendar}",
@@ -29,20 +28,9 @@
"{actor} updated event {event} in calendar {calendar}" : "{actor} posodobi dogodek {event} v koledarju {calendar}",
"You updated event {event} in calendar {calendar}" : "Posodobite dogodek {event} v koledarju {calendar}",
"Busy" : "Zasedeno",
- "{actor} created todo {todo} in list {calendar}" : "{actor} ustvari nalogo {todo} v koledarju {calendar}",
- "You created todo {todo} in list {calendar}" : "Ustvarite nalogo {todo} v koledarju {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} izbriše nalogo {todo} iz koledara {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Izbrišete nalogo {todo} iz koledarja {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} posodobi nalogo {todo} v koledarju {calendar}",
- "You updated todo {todo} in list {calendar}" : "Posodobite nalogo {todo} v seznamu {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} razreši nalogo {todo} v koledarju {calendar}",
- "You solved todo {todo} in list {calendar}" : "Razrešite nalogo {todo} v seznamu {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} ponovno odpre nalogo {todo} v koledarju {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Ponovno odprete nalogo {todo} v seznamu {calendar}",
"Calendar, contacts and tasks" : "Koledar, stiki in naloge",
"A <strong>calendar</strong> was modified" : "V <strong>koledar</strong> je vpisana sprememba",
"A calendar <strong>event</strong> was modified" : "Spremenjen je <strong>dogodek</strong> v koledarju",
- "A calendar <strong>todo</strong> was modified" : "Spremenjena je <strong>naloga</strong> koledarja",
"Contact birthdays" : "Obletnice stikov",
"Death of %s" : "%s (obletnica smrti)",
"Calendar:" : "Koledar:",
@@ -125,6 +113,18 @@
"Tentative" : "Začasno",
"Number of guests" : "Število gostov",
"Comment" : "Opomba",
- "Your attendance was updated successfully." : "Vaša prisotnost je uspešno posodobljena."
+ "Your attendance was updated successfully." : "Vaša prisotnost je uspešno posodobljena.",
+ "Todos" : "Naloge",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} ustvari nalogo {todo} v koledarju {calendar}",
+ "You created todo {todo} in list {calendar}" : "Ustvarite nalogo {todo} v koledarju {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} izbriše nalogo {todo} iz koledara {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Izbrišete nalogo {todo} iz koledarja {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} posodobi nalogo {todo} v koledarju {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Posodobite nalogo {todo} v seznamu {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} razreši nalogo {todo} v koledarju {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Razrešite nalogo {todo} v seznamu {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} ponovno odpre nalogo {todo} v koledarju {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Ponovno odprete nalogo {todo} v seznamu {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Spremenjena je <strong>naloga</strong> koledarja"
},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/sr.js b/apps/dav/l10n/sr.js
index 4412a3999bf..fb78bee1f27 100644
--- a/apps/dav/l10n/sr.js
+++ b/apps/dav/l10n/sr.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Календар",
- "Todos" : "Подсетници",
"Personal" : "Лично",
"{actor} created calendar {calendar}" : "{actor} направи календар {calendar}",
"You created calendar {calendar}" : "Направили сте календар {calendar}",
@@ -31,19 +30,8 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "{actor} је ажурирао догађај {event} у календару {calendar}",
"You updated event {event} in calendar {calendar}" : "Ажурирали сте догађај {event} у календару {calendar}",
"Busy" : "Заузет/а",
- "{actor} created todo {todo} in list {calendar}" : "{actor} је направио подсетник {todo} у листи {calendar}",
- "You created todo {todo} in list {calendar}" : "Креирали сте подсетник {todo} у листи {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} је обрисао подсетник {todo} из листе {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Обрисали сте подсетник {todo} из листе {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} је ажурирао подсетник {todo} у листи {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ажурирали сте подсетник {todo} у листи {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} је обрисао подсетник {todo} из листе {calendar}",
- "You solved todo {todo} in list {calendar}" : "Маркирали сте подсетник {todo} као готов у листи {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} је поново отворио подсетник {todo} у листи {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Поново сте отворили подсетник {todo}  у листи {calendar}",
"A <strong>calendar</strong> was modified" : "<strong>Календар</strong> је измењен",
"A calendar <strong>event</strong> was modified" : "<strong>Догађај</strong> из календара је измењен",
- "A calendar <strong>todo</strong> was modified" : "<strong>Подсетник</strong> из календара је измењен",
"Contact birthdays" : "Рођендани контаката",
"Death of %s" : " %s смрт",
"Calendar:" : "Календар:",
@@ -112,6 +100,18 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Да ли прихватате позивницу?",
"Tentative" : "Условна потврда",
"Comment" : "Коментар",
- "Your attendance was updated successfully." : "Ваше присуство је успешно ажурирано."
+ "Your attendance was updated successfully." : "Ваше присуство је успешно ажурирано.",
+ "Todos" : "Подсетници",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} је направио подсетник {todo} у листи {calendar}",
+ "You created todo {todo} in list {calendar}" : "Креирали сте подсетник {todo} у листи {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} је обрисао подсетник {todo} из листе {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Обрисали сте подсетник {todo} из листе {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} је ажурирао подсетник {todo} у листи {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Ажурирали сте подсетник {todo} у листи {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} је обрисао подсетник {todo} из листе {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Маркирали сте подсетник {todo} као готов у листи {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} је поново отворио подсетник {todo} у листи {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Поново сте отворили подсетник {todo}  у листи {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "<strong>Подсетник</strong> из календара је измењен"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/dav/l10n/sr.json b/apps/dav/l10n/sr.json
index b0d59d93232..9fd5276b852 100644
--- a/apps/dav/l10n/sr.json
+++ b/apps/dav/l10n/sr.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Календар",
- "Todos" : "Подсетници",
"Personal" : "Лично",
"{actor} created calendar {calendar}" : "{actor} направи календар {calendar}",
"You created calendar {calendar}" : "Направили сте календар {calendar}",
@@ -29,19 +28,8 @@
"{actor} updated event {event} in calendar {calendar}" : "{actor} је ажурирао догађај {event} у календару {calendar}",
"You updated event {event} in calendar {calendar}" : "Ажурирали сте догађај {event} у календару {calendar}",
"Busy" : "Заузет/а",
- "{actor} created todo {todo} in list {calendar}" : "{actor} је направио подсетник {todo} у листи {calendar}",
- "You created todo {todo} in list {calendar}" : "Креирали сте подсетник {todo} у листи {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} је обрисао подсетник {todo} из листе {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Обрисали сте подсетник {todo} из листе {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} је ажурирао подсетник {todo} у листи {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ажурирали сте подсетник {todo} у листи {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} је обрисао подсетник {todo} из листе {calendar}",
- "You solved todo {todo} in list {calendar}" : "Маркирали сте подсетник {todo} као готов у листи {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} је поново отворио подсетник {todo} у листи {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Поново сте отворили подсетник {todo}  у листи {calendar}",
"A <strong>calendar</strong> was modified" : "<strong>Календар</strong> је измењен",
"A calendar <strong>event</strong> was modified" : "<strong>Догађај</strong> из календара је измењен",
- "A calendar <strong>todo</strong> was modified" : "<strong>Подсетник</strong> из календара је измењен",
"Contact birthdays" : "Рођендани контаката",
"Death of %s" : " %s смрт",
"Calendar:" : "Календар:",
@@ -110,6 +98,18 @@
"Are you accepting the invitation?" : "Да ли прихватате позивницу?",
"Tentative" : "Условна потврда",
"Comment" : "Коментар",
- "Your attendance was updated successfully." : "Ваше присуство је успешно ажурирано."
+ "Your attendance was updated successfully." : "Ваше присуство је успешно ажурирано.",
+ "Todos" : "Подсетници",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} је направио подсетник {todo} у листи {calendar}",
+ "You created todo {todo} in list {calendar}" : "Креирали сте подсетник {todo} у листи {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} је обрисао подсетник {todo} из листе {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Обрисали сте подсетник {todo} из листе {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} је ажурирао подсетник {todo} у листи {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Ажурирали сте подсетник {todo} у листи {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} је обрисао подсетник {todo} из листе {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Маркирали сте подсетник {todo} као готов у листи {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} је поново отворио подсетник {todo} у листи {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Поново сте отворили подсетник {todo}  у листи {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "<strong>Подсетник</strong> из календара је измењен"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/sv.js b/apps/dav/l10n/sv.js
index 6508c8fc33b..5bcc0d621ae 100644
--- a/apps/dav/l10n/sv.js
+++ b/apps/dav/l10n/sv.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalender",
- "Todos" : "Uppgifter",
"Personal" : "Privat",
"{actor} created calendar {calendar}" : "{actor} skapade kalender {calendar}",
"You created calendar {calendar}" : "Du skapade kalender {calendar}",
@@ -35,20 +34,9 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor} återställde händelsen {event} i kalendern {calendar}",
"You restored event {event} of calendar {calendar}" : "Du återställde händelsen {event} i kalendern {calendar}",
"Busy" : "Upptagen",
- "{actor} created todo {todo} in list {calendar}" : "{actor} skapade uppgift {todo} i listan {calendar}",
- "You created todo {todo} in list {calendar}" : "Du skapade uppgift {todo} i listan {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} tog bort uppgift {todo} från listan {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Du tog bort uppgift {todo} från listan {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} uppdaterade uppgift {todo} i listan {calendar}",
- "You updated todo {todo} in list {calendar}" : "Du uppdaterade uppgift {todo} i listan {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} löste uppgift {todo} i listan {calendar}",
- "You solved todo {todo} in list {calendar}" : "Du löste uppgift {todo} i listan {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} återupptog uppgift {todo} i listan {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Du återupptog uppgift {todo} i listan {calendar}",
"Calendar, contacts and tasks" : "Kalender, kontakter och uppgifter",
"A <strong>calendar</strong> was modified" : "En <strong>kalender</strong> modifierades",
"A calendar <strong>event</strong> was modified" : "En kalender-<strong>händelse</strong> modifierades",
- "A calendar <strong>todo</strong> was modified" : "En kalender <strong>uppgift</strong> modifierades",
"Contact birthdays" : "Födelsedagar",
"Death of %s" : "Död av %s",
"Calendar:" : "Kalender:",
@@ -151,6 +139,18 @@ OC.L10N.register(
"Tentative" : "Preliminärt",
"Number of guests" : "Antal gäster",
"Comment" : "Kommentar",
- "Your attendance was updated successfully." : "Dina närvaro uppdaterades."
+ "Your attendance was updated successfully." : "Dina närvaro uppdaterades.",
+ "Todos" : "Uppgifter",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} skapade uppgift {todo} i listan {calendar}",
+ "You created todo {todo} in list {calendar}" : "Du skapade uppgift {todo} i listan {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} tog bort uppgift {todo} från listan {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Du tog bort uppgift {todo} från listan {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} uppdaterade uppgift {todo} i listan {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Du uppdaterade uppgift {todo} i listan {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} löste uppgift {todo} i listan {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Du löste uppgift {todo} i listan {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} återupptog uppgift {todo} i listan {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Du återupptog uppgift {todo} i listan {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "En kalender <strong>uppgift</strong> modifierades"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/sv.json b/apps/dav/l10n/sv.json
index 8040b5f3f34..e4bbb46e490 100644
--- a/apps/dav/l10n/sv.json
+++ b/apps/dav/l10n/sv.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Kalender",
- "Todos" : "Uppgifter",
"Personal" : "Privat",
"{actor} created calendar {calendar}" : "{actor} skapade kalender {calendar}",
"You created calendar {calendar}" : "Du skapade kalender {calendar}",
@@ -33,20 +32,9 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor} återställde händelsen {event} i kalendern {calendar}",
"You restored event {event} of calendar {calendar}" : "Du återställde händelsen {event} i kalendern {calendar}",
"Busy" : "Upptagen",
- "{actor} created todo {todo} in list {calendar}" : "{actor} skapade uppgift {todo} i listan {calendar}",
- "You created todo {todo} in list {calendar}" : "Du skapade uppgift {todo} i listan {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} tog bort uppgift {todo} från listan {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Du tog bort uppgift {todo} från listan {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} uppdaterade uppgift {todo} i listan {calendar}",
- "You updated todo {todo} in list {calendar}" : "Du uppdaterade uppgift {todo} i listan {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} löste uppgift {todo} i listan {calendar}",
- "You solved todo {todo} in list {calendar}" : "Du löste uppgift {todo} i listan {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} återupptog uppgift {todo} i listan {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Du återupptog uppgift {todo} i listan {calendar}",
"Calendar, contacts and tasks" : "Kalender, kontakter och uppgifter",
"A <strong>calendar</strong> was modified" : "En <strong>kalender</strong> modifierades",
"A calendar <strong>event</strong> was modified" : "En kalender-<strong>händelse</strong> modifierades",
- "A calendar <strong>todo</strong> was modified" : "En kalender <strong>uppgift</strong> modifierades",
"Contact birthdays" : "Födelsedagar",
"Death of %s" : "Död av %s",
"Calendar:" : "Kalender:",
@@ -149,6 +137,18 @@
"Tentative" : "Preliminärt",
"Number of guests" : "Antal gäster",
"Comment" : "Kommentar",
- "Your attendance was updated successfully." : "Dina närvaro uppdaterades."
+ "Your attendance was updated successfully." : "Dina närvaro uppdaterades.",
+ "Todos" : "Uppgifter",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} skapade uppgift {todo} i listan {calendar}",
+ "You created todo {todo} in list {calendar}" : "Du skapade uppgift {todo} i listan {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} tog bort uppgift {todo} från listan {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Du tog bort uppgift {todo} från listan {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} uppdaterade uppgift {todo} i listan {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Du uppdaterade uppgift {todo} i listan {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} löste uppgift {todo} i listan {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Du löste uppgift {todo} i listan {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} återupptog uppgift {todo} i listan {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Du återupptog uppgift {todo} i listan {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "En kalender <strong>uppgift</strong> modifierades"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/tr.js b/apps/dav/l10n/tr.js
index bd11fb3dada..a7c71588df5 100644
--- a/apps/dav/l10n/tr.js
+++ b/apps/dav/l10n/tr.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Takvim",
- "Todos" : "Yapılacak işler",
+ "To-dos" : "Yapılacak işler",
"Personal" : "Kişisel",
"{actor} created calendar {calendar}" : "{actor}, {calendar} takvimini ekledi",
"You created calendar {calendar}" : "{calendar} takvimini eklediniz",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "{calendar} takviminden {event} etkinliğini sildiniz",
"{actor} updated event {event} in calendar {calendar}" : "{actor}, {calendar} takvimindeki {event} etkinliğini güncelledi",
"You updated event {event} in calendar {calendar}" : "{calendar} takvimindeki {event} etkinliğini güncellediniz",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor}, {event} etkinliğini {sourceCalendar} takviminden {targetCalendar} takvimine taşıdı",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{event} etkinliğini {sourceCalendar} takviminden {targetCalendar} takvimine taşıdınız",
"{actor} restored event {event} of calendar {calendar}" : "{actor}, {calendar} takvimindeki {event} etkinliğini geri yükledi",
"You restored event {event} of calendar {calendar}" : "{calendar} takvimindeki {event} etkinliğini geri yüklediniz",
"Busy" : "Meşgul",
- "{actor} created todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesine {todo} yapılacak işini ekledi",
- "You created todo {todo} in list {calendar}" : "{calendar} takvimi listesine {todo} yapılacak işini eklediniz",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor}, {calendar} takvimi listesinden {todo} yapılacak işini sildi",
- "You deleted todo {todo} from list {calendar}" : "{calendar} takvimi listesinden {todo} yapılacak işini sildiniz",
- "{actor} updated todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini güncelledi",
- "You updated todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini güncellediniz",
- "{actor} solved todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini tamamladı",
- "You solved todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini tamamladınız",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattı",
- "You reopened todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattınız",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesine {todo} yapılacak işini ekledi",
+ "You created to-do {todo} in list {calendar}" : "{calendar} takvimi listesine {todo} yapılacak işini eklediniz",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor}, {calendar} takvimi listesinden {todo} yapılacak işini sildi",
+ "You deleted to-do {todo} from list {calendar}" : "{calendar} takvimi listesinden {todo} yapılacak işini sildiniz",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini güncelledi",
+ "You updated to-do {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini güncellediniz",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini tamamladı",
+ "You solved to-do {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini tamamladınız",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattı",
+ "You reopened to-do {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattınız",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor}, {todo} yapılacak işini {sourceCalendar} listesinden {targetCalendar} listesine taşıdı",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{todo} yapılacak işini {sourceCalendar} listesinden {targetCalendar} listesine taşıdınız",
"Calendar, contacts and tasks" : "Takvim, kişiler ve görevler",
"A <strong>calendar</strong> was modified" : "Bir <strong>takvim</strong> düzenlendi",
"A calendar <strong>event</strong> was modified" : "Bir takvim <strong>etkinliği</strong> düzenlendi",
- "A calendar <strong>todo</strong> was modified" : "Bir takvim <strong>yapılacak işi</strong> düzenlendi",
+ "A calendar <strong>to-do</strong> was modified" : "Bir takvim <strong>yapılacak işi</strong> düzenlendi",
"Contact birthdays" : "Kişi doğum günleri",
"Death of %s" : "%s ölümü",
"Calendar:" : "Takvim:",
@@ -155,6 +159,7 @@ OC.L10N.register(
"Friday" : "Cuma",
"Saturday" : "Cumartesi",
"Sunday" : "Pazar",
+ "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.",
"Save" : "Kaydet",
"Failed to load availability" : "Uygunluk yüklenemedi",
"Saved availability" : "Uygunluk kaydedildi",
@@ -177,6 +182,18 @@ OC.L10N.register(
"Tentative" : "Kesin değil",
"Number of guests" : "Konuk sayısı",
"Comment" : "Yorum",
- "Your attendance was updated successfully." : "Katılımınız güncellendi."
+ "Your attendance was updated successfully." : "Katılımınız güncellendi.",
+ "Todos" : "Yapılacak işler",
+ "{actor} created todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesine {todo} yapılacak işini ekledi",
+ "You created todo {todo} in list {calendar}" : "{calendar} takvimi listesine {todo} yapılacak işini eklediniz",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor}, {calendar} takvimi listesinden {todo} yapılacak işini sildi",
+ "You deleted todo {todo} from list {calendar}" : "{calendar} takvimi listesinden {todo} yapılacak işini sildiniz",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini güncelledi",
+ "You updated todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini güncellediniz",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini tamamladı",
+ "You solved todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini tamamladınız",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattı",
+ "You reopened todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattınız",
+ "A calendar <strong>todo</strong> was modified" : "Bir takvim <strong>yapılacak işi</strong> düzenlendi"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/dav/l10n/tr.json b/apps/dav/l10n/tr.json
index 5767d918f7a..042418f79ec 100644
--- a/apps/dav/l10n/tr.json
+++ b/apps/dav/l10n/tr.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Takvim",
- "Todos" : "Yapılacak işler",
+ "To-dos" : "Yapılacak işler",
"Personal" : "Kişisel",
"{actor} created calendar {calendar}" : "{actor}, {calendar} takvimini ekledi",
"You created calendar {calendar}" : "{calendar} takvimini eklediniz",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "{calendar} takviminden {event} etkinliğini sildiniz",
"{actor} updated event {event} in calendar {calendar}" : "{actor}, {calendar} takvimindeki {event} etkinliğini güncelledi",
"You updated event {event} in calendar {calendar}" : "{calendar} takvimindeki {event} etkinliğini güncellediniz",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor}, {event} etkinliğini {sourceCalendar} takviminden {targetCalendar} takvimine taşıdı",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{event} etkinliğini {sourceCalendar} takviminden {targetCalendar} takvimine taşıdınız",
"{actor} restored event {event} of calendar {calendar}" : "{actor}, {calendar} takvimindeki {event} etkinliğini geri yükledi",
"You restored event {event} of calendar {calendar}" : "{calendar} takvimindeki {event} etkinliğini geri yüklediniz",
"Busy" : "Meşgul",
- "{actor} created todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesine {todo} yapılacak işini ekledi",
- "You created todo {todo} in list {calendar}" : "{calendar} takvimi listesine {todo} yapılacak işini eklediniz",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor}, {calendar} takvimi listesinden {todo} yapılacak işini sildi",
- "You deleted todo {todo} from list {calendar}" : "{calendar} takvimi listesinden {todo} yapılacak işini sildiniz",
- "{actor} updated todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini güncelledi",
- "You updated todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini güncellediniz",
- "{actor} solved todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini tamamladı",
- "You solved todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini tamamladınız",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattı",
- "You reopened todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattınız",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesine {todo} yapılacak işini ekledi",
+ "You created to-do {todo} in list {calendar}" : "{calendar} takvimi listesine {todo} yapılacak işini eklediniz",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor}, {calendar} takvimi listesinden {todo} yapılacak işini sildi",
+ "You deleted to-do {todo} from list {calendar}" : "{calendar} takvimi listesinden {todo} yapılacak işini sildiniz",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini güncelledi",
+ "You updated to-do {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini güncellediniz",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini tamamladı",
+ "You solved to-do {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini tamamladınız",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattı",
+ "You reopened to-do {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattınız",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor}, {todo} yapılacak işini {sourceCalendar} listesinden {targetCalendar} listesine taşıdı",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{todo} yapılacak işini {sourceCalendar} listesinden {targetCalendar} listesine taşıdınız",
"Calendar, contacts and tasks" : "Takvim, kişiler ve görevler",
"A <strong>calendar</strong> was modified" : "Bir <strong>takvim</strong> düzenlendi",
"A calendar <strong>event</strong> was modified" : "Bir takvim <strong>etkinliği</strong> düzenlendi",
- "A calendar <strong>todo</strong> was modified" : "Bir takvim <strong>yapılacak işi</strong> düzenlendi",
+ "A calendar <strong>to-do</strong> was modified" : "Bir takvim <strong>yapılacak işi</strong> düzenlendi",
"Contact birthdays" : "Kişi doğum günleri",
"Death of %s" : "%s ölümü",
"Calendar:" : "Takvim:",
@@ -153,6 +157,7 @@
"Friday" : "Cuma",
"Saturday" : "Cumartesi",
"Sunday" : "Pazar",
+ "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.",
"Save" : "Kaydet",
"Failed to load availability" : "Uygunluk yüklenemedi",
"Saved availability" : "Uygunluk kaydedildi",
@@ -175,6 +180,18 @@
"Tentative" : "Kesin değil",
"Number of guests" : "Konuk sayısı",
"Comment" : "Yorum",
- "Your attendance was updated successfully." : "Katılımınız güncellendi."
+ "Your attendance was updated successfully." : "Katılımınız güncellendi.",
+ "Todos" : "Yapılacak işler",
+ "{actor} created todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesine {todo} yapılacak işini ekledi",
+ "You created todo {todo} in list {calendar}" : "{calendar} takvimi listesine {todo} yapılacak işini eklediniz",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor}, {calendar} takvimi listesinden {todo} yapılacak işini sildi",
+ "You deleted todo {todo} from list {calendar}" : "{calendar} takvimi listesinden {todo} yapılacak işini sildiniz",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini güncelledi",
+ "You updated todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini güncellediniz",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini tamamladı",
+ "You solved todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini tamamladınız",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattı",
+ "You reopened todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattınız",
+ "A calendar <strong>todo</strong> was modified" : "Bir takvim <strong>yapılacak işi</strong> düzenlendi"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/uk.js b/apps/dav/l10n/uk.js
index 22de431e2e0..a4e95881167 100644
--- a/apps/dav/l10n/uk.js
+++ b/apps/dav/l10n/uk.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Календар",
- "Todos" : "До роботи",
"Personal" : "Особисте",
"{actor} created calendar {calendar}" : "{actor} створив календар {calendar}",
"You created calendar {calendar}" : "Ви створили календар {calendar}",
@@ -31,19 +30,8 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "{actor} оновив подію {event} у календарі {calendar}",
"You updated event {event} in calendar {calendar}" : "Ви оновили подію {event} у календарі {calendar}",
"Busy" : "Зайнято",
- "{actor} created todo {todo} in list {calendar}" : "{actor} створив завдання {todo} у списку {calendar}",
- "You created todo {todo} in list {calendar}" : "Ви створили завдання {todo} у списку {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} вилучили завдання {todo} зі списку {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Ви вилучили завдання {todo} зі списку {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} оновив завдання {todo} у списку {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ви оновили завдання {todo} у списку {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} виконав завдання {todo} зі списку {calendar}",
- "You solved todo {todo} in list {calendar}" : "Ви виконали завдання {todo} зі списку {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно відкрив завдання {todo} у списку {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Ви повторно відкрили завдання {todo} у списку {calendar}",
"A <strong>calendar</strong> was modified" : "<strong>Календар</strong> був змінений",
"A calendar <strong>event</strong> was modified" : "Календарна <strong>подія</strong> була змінена",
- "A calendar <strong>todo</strong> was modified" : "Календарне <strong>завдання</strong> було змінене",
"Contact birthdays" : "Дні народження контактів",
"Death of %s" : "Смерть %s",
"Calendar:" : "Календар:",
@@ -103,6 +91,18 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Чи приймаєте ви запрошення?",
"Tentative" : "Попередній",
"Comment" : "Коментар",
- "Your attendance was updated successfully." : "Ваша участь успішно оновлена."
+ "Your attendance was updated successfully." : "Ваша участь успішно оновлена.",
+ "Todos" : "До роботи",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} створив завдання {todo} у списку {calendar}",
+ "You created todo {todo} in list {calendar}" : "Ви створили завдання {todo} у списку {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} вилучили завдання {todo} зі списку {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Ви вилучили завдання {todo} зі списку {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} оновив завдання {todo} у списку {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Ви оновили завдання {todo} у списку {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} виконав завдання {todo} зі списку {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Ви виконали завдання {todo} зі списку {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно відкрив завдання {todo} у списку {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Ви повторно відкрили завдання {todo} у списку {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Календарне <strong>завдання</strong> було змінене"
},
"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);");
diff --git a/apps/dav/l10n/uk.json b/apps/dav/l10n/uk.json
index f1ec48b299b..a422698345e 100644
--- a/apps/dav/l10n/uk.json
+++ b/apps/dav/l10n/uk.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Календар",
- "Todos" : "До роботи",
"Personal" : "Особисте",
"{actor} created calendar {calendar}" : "{actor} створив календар {calendar}",
"You created calendar {calendar}" : "Ви створили календар {calendar}",
@@ -29,19 +28,8 @@
"{actor} updated event {event} in calendar {calendar}" : "{actor} оновив подію {event} у календарі {calendar}",
"You updated event {event} in calendar {calendar}" : "Ви оновили подію {event} у календарі {calendar}",
"Busy" : "Зайнято",
- "{actor} created todo {todo} in list {calendar}" : "{actor} створив завдання {todo} у списку {calendar}",
- "You created todo {todo} in list {calendar}" : "Ви створили завдання {todo} у списку {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} вилучили завдання {todo} зі списку {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Ви вилучили завдання {todo} зі списку {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} оновив завдання {todo} у списку {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ви оновили завдання {todo} у списку {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} виконав завдання {todo} зі списку {calendar}",
- "You solved todo {todo} in list {calendar}" : "Ви виконали завдання {todo} зі списку {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно відкрив завдання {todo} у списку {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Ви повторно відкрили завдання {todo} у списку {calendar}",
"A <strong>calendar</strong> was modified" : "<strong>Календар</strong> був змінений",
"A calendar <strong>event</strong> was modified" : "Календарна <strong>подія</strong> була змінена",
- "A calendar <strong>todo</strong> was modified" : "Календарне <strong>завдання</strong> було змінене",
"Contact birthdays" : "Дні народження контактів",
"Death of %s" : "Смерть %s",
"Calendar:" : "Календар:",
@@ -101,6 +89,18 @@
"Are you accepting the invitation?" : "Чи приймаєте ви запрошення?",
"Tentative" : "Попередній",
"Comment" : "Коментар",
- "Your attendance was updated successfully." : "Ваша участь успішно оновлена."
+ "Your attendance was updated successfully." : "Ваша участь успішно оновлена.",
+ "Todos" : "До роботи",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} створив завдання {todo} у списку {calendar}",
+ "You created todo {todo} in list {calendar}" : "Ви створили завдання {todo} у списку {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} вилучили завдання {todo} зі списку {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Ви вилучили завдання {todo} зі списку {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} оновив завдання {todo} у списку {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Ви оновили завдання {todo} у списку {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} виконав завдання {todo} зі списку {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Ви виконали завдання {todo} зі списку {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно відкрив завдання {todo} у списку {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Ви повторно відкрили завдання {todo} у списку {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Календарне <strong>завдання</strong> було змінене"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/zh_CN.js b/apps/dav/l10n/zh_CN.js
index f661cd87bf9..29a4546fe98 100644
--- a/apps/dav/l10n/zh_CN.js
+++ b/apps/dav/l10n/zh_CN.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "日历",
- "Todos" : "待办事项",
"Personal" : "个人",
"{actor} created calendar {calendar}" : "{actor} 创建了日历 {calendar}",
"You created calendar {calendar}" : "您创建的日历 {calendar}",
@@ -35,20 +34,9 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor} 还原了事件 {event},它位于日历 {calendar}",
"You restored event {event} of calendar {calendar}" : "你还原了事件 {event},它位于日历 {calendar}",
"Busy" : "忙碌",
- "{actor} created todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中创建了待办事项 {todo}",
- "You created todo {todo} in list {calendar}" : "您在列表 {calendar} 中创建了待办事项 {todo}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} 在列表 {calendar} 中删除了待办事项 {todo}",
- "You deleted todo {todo} from list {calendar}" : "您在列表 {calendar} 中删除了待办事项 {todo}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中更新了待办事项 {todo}",
- "You updated todo {todo} in list {calendar}" : "您在列表 {calendar} 中更新了待办事项 {todo}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中解决了待办事项 {todo}",
- "You solved todo {todo} in list {calendar}" : "您在列表 {calendar} 中解决了待办事项 {todo}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中重新打开了待办事项 {todo}",
- "You reopened todo {todo} in list {calendar}" : "您在列表 {calendar} 中重新打开了待办事项 {todo}",
"Calendar, contacts and tasks" : "日历、联系人和任务",
"A <strong>calendar</strong> was modified" : "<strong>日历</strong>已经修改",
"A calendar <strong>event</strong> was modified" : "日历中<strong>事件</strong>已经修改",
- "A calendar <strong>todo</strong> was modified" : "列表中<strong>待办事项</strong>已经修改",
"Contact birthdays" : "联系人生日",
"Death of %s" : "%s 的忌日",
"Calendar:" : "日历:",
@@ -153,6 +141,18 @@ OC.L10N.register(
"Tentative" : "暂定",
"Number of guests" : "客人数目",
"Comment" : "备注",
- "Your attendance was updated successfully." : "您的出席状态更新成功。"
+ "Your attendance was updated successfully." : "您的出席状态更新成功。",
+ "Todos" : "待办事项",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中创建了待办事项 {todo}",
+ "You created todo {todo} in list {calendar}" : "您在列表 {calendar} 中创建了待办事项 {todo}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} 在列表 {calendar} 中删除了待办事项 {todo}",
+ "You deleted todo {todo} from list {calendar}" : "您在列表 {calendar} 中删除了待办事项 {todo}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中更新了待办事项 {todo}",
+ "You updated todo {todo} in list {calendar}" : "您在列表 {calendar} 中更新了待办事项 {todo}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中解决了待办事项 {todo}",
+ "You solved todo {todo} in list {calendar}" : "您在列表 {calendar} 中解决了待办事项 {todo}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中重新打开了待办事项 {todo}",
+ "You reopened todo {todo} in list {calendar}" : "您在列表 {calendar} 中重新打开了待办事项 {todo}",
+ "A calendar <strong>todo</strong> was modified" : "列表中<strong>待办事项</strong>已经修改"
},
"nplurals=1; plural=0;");
diff --git a/apps/dav/l10n/zh_CN.json b/apps/dav/l10n/zh_CN.json
index 77ddaaf5f58..e2109499ab2 100644
--- a/apps/dav/l10n/zh_CN.json
+++ b/apps/dav/l10n/zh_CN.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "日历",
- "Todos" : "待办事项",
"Personal" : "个人",
"{actor} created calendar {calendar}" : "{actor} 创建了日历 {calendar}",
"You created calendar {calendar}" : "您创建的日历 {calendar}",
@@ -33,20 +32,9 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor} 还原了事件 {event},它位于日历 {calendar}",
"You restored event {event} of calendar {calendar}" : "你还原了事件 {event},它位于日历 {calendar}",
"Busy" : "忙碌",
- "{actor} created todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中创建了待办事项 {todo}",
- "You created todo {todo} in list {calendar}" : "您在列表 {calendar} 中创建了待办事项 {todo}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} 在列表 {calendar} 中删除了待办事项 {todo}",
- "You deleted todo {todo} from list {calendar}" : "您在列表 {calendar} 中删除了待办事项 {todo}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中更新了待办事项 {todo}",
- "You updated todo {todo} in list {calendar}" : "您在列表 {calendar} 中更新了待办事项 {todo}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中解决了待办事项 {todo}",
- "You solved todo {todo} in list {calendar}" : "您在列表 {calendar} 中解决了待办事项 {todo}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中重新打开了待办事项 {todo}",
- "You reopened todo {todo} in list {calendar}" : "您在列表 {calendar} 中重新打开了待办事项 {todo}",
"Calendar, contacts and tasks" : "日历、联系人和任务",
"A <strong>calendar</strong> was modified" : "<strong>日历</strong>已经修改",
"A calendar <strong>event</strong> was modified" : "日历中<strong>事件</strong>已经修改",
- "A calendar <strong>todo</strong> was modified" : "列表中<strong>待办事项</strong>已经修改",
"Contact birthdays" : "联系人生日",
"Death of %s" : "%s 的忌日",
"Calendar:" : "日历:",
@@ -151,6 +139,18 @@
"Tentative" : "暂定",
"Number of guests" : "客人数目",
"Comment" : "备注",
- "Your attendance was updated successfully." : "您的出席状态更新成功。"
+ "Your attendance was updated successfully." : "您的出席状态更新成功。",
+ "Todos" : "待办事项",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中创建了待办事项 {todo}",
+ "You created todo {todo} in list {calendar}" : "您在列表 {calendar} 中创建了待办事项 {todo}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} 在列表 {calendar} 中删除了待办事项 {todo}",
+ "You deleted todo {todo} from list {calendar}" : "您在列表 {calendar} 中删除了待办事项 {todo}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中更新了待办事项 {todo}",
+ "You updated todo {todo} in list {calendar}" : "您在列表 {calendar} 中更新了待办事项 {todo}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中解决了待办事项 {todo}",
+ "You solved todo {todo} in list {calendar}" : "您在列表 {calendar} 中解决了待办事项 {todo}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中重新打开了待办事项 {todo}",
+ "You reopened todo {todo} in list {calendar}" : "您在列表 {calendar} 中重新打开了待办事项 {todo}",
+ "A calendar <strong>todo</strong> was modified" : "列表中<strong>待办事项</strong>已经修改"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/dav/l10n/zh_HK.js b/apps/dav/l10n/zh_HK.js
index abc214c3cdf..4dc2fbd420e 100644
--- a/apps/dav/l10n/zh_HK.js
+++ b/apps/dav/l10n/zh_HK.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "日曆",
- "Todos" : "待辦事項",
+ "To-dos" : "待辦事項",
"Personal" : "個人",
"{actor} created calendar {calendar}" : "{actor} 建立了日曆 {calendar}",
"You created calendar {calendar}" : "您建立了日曆 {calendar}",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "您從日曆 {calendar} 中刪除了活動 {event}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} 更新了日曆 {calendar} 中的活動 {event}",
"You updated event {event} in calendar {calendar}" : "您更新了日曆 {calendar} 中的活動 {event}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} 將活動 {event} 從日曆 {sourceCalendar} 移到日曆 {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "您將活動 {event} 從日曆 {sourceCalendar} 移到日曆 {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} 復原了日曆 {calendar} 的活動 {event}",
"You restored event {event} of calendar {calendar}" : "您復原了日曆 {calendar} 的活動 {event}",
"Busy" : "忙碌中",
- "{actor} created todo {todo} in list {calendar}" : "{actor} 在任務列表 {calendar} 中建立了待辦事項 {todo}",
- "You created todo {todo} in list {calendar}" : "您在任務列表 {calendar} 中建立了待辦事項 {todo}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} 從任務列表 {calendar} 中刪除了待辦事項 {todo}",
- "You deleted todo {todo} from list {calendar}" : "您從任務列表 {calendar} 中刪除了待辦事項 {todo}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} 從任務列表 {calendar} 中更新了待辦事項 {todo}",
- "You updated todo {todo} in list {calendar}" : "您在任務列表 {calendar} 中更新了待辦事項 {todo}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} 解决了任務列表 {calendar} 中的代辦事項 {todo}",
- "You solved todo {todo} in list {calendar}" : "您解决了任務列表 {calendar} 中的代辦事項 {todo}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} 重新開啟了任務列表 {calendar} 中的代辦事項 {todo}",
- "You reopened todo {todo} in list {calendar}" : "你重新開啟了 {calendar} 清單中的代辦事項 {todo}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} 在任務清單 {calendar} 中建立了待辦事項 {todo}",
+ "You created to-do {todo} in list {calendar}" : "您在任務清單 {calendar} 中建立了待辦事項 {todo}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} 從任務清單 {calendar} 中刪除了待辦事項 {todo}",
+ "You deleted to-do {todo} from list {calendar}" : "您從任務清單 {calendar} 中刪除了待辦事項 {todo}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} 從任務清單 {calendar} 中更新了待辦事項 {todo}",
+ "You updated to-do {todo} in list {calendar}" : "您在任務清單 {calendar} 中更新了待辦事項 {todo}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} 解决了任務清單 {calendar} 中的代辦事項 {todo}",
+ "You solved to-do {todo} in list {calendar}" : "您解决了任務清單 {calendar} 中的代辦事項 {todo}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} 重新開啟了任務清單 {calendar} 中的代辦事項 {todo}",
+ "You reopened to-do {todo} in list {calendar}" : "你重新開啟了任務清單 {calendar} 中的代辦事項 {todo}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} 將待辦事項 {todo} 從清單 {sourceCalendar} 移到清單 {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "您將待辦事項 {todo} 從清單 {sourceCalendar} 移到清單 {targetCalendar}",
"Calendar, contacts and tasks" : "日曆、聯絡人和任務",
"A <strong>calendar</strong> was modified" : "<strong>日曆</strong>被修改",
"A calendar <strong>event</strong> was modified" : "日曆<strong>活動</strong>被修改",
- "A calendar <strong>todo</strong> was modified" : "日曆<strong>代辦事項</strong>被修改",
+ "A calendar <strong>to-do</strong> was modified" : "日曆<strong>代辦事項</strong>被修改",
"Contact birthdays" : "聯絡人生日",
"Death of %s" : "%s之卒",
"Calendar:" : "日曆:",
@@ -155,6 +159,7 @@ OC.L10N.register(
"Friday" : "星期五",
"Saturday" : "星期六",
"Sunday" : "星期日",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "當系統可得性時,自動將用戶狀態設置為“請勿打擾”以關閉所有音頻通知。",
"Save" : "儲存",
"Failed to load availability" : "加載可得性失敗",
"Saved availability" : "已保存可得性",
@@ -177,6 +182,18 @@ OC.L10N.register(
"Tentative" : "暫定",
"Number of guests" : "訪客数目",
"Comment" : "留言",
- "Your attendance was updated successfully." : "您的參與狀況成功更新"
+ "Your attendance was updated successfully." : "您的參與狀況成功更新",
+ "Todos" : "待辦事項",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} 在任務列表 {calendar} 中建立了待辦事項 {todo}",
+ "You created todo {todo} in list {calendar}" : "您在任務列表 {calendar} 中建立了待辦事項 {todo}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} 從任務列表 {calendar} 中刪除了待辦事項 {todo}",
+ "You deleted todo {todo} from list {calendar}" : "您從任務列表 {calendar} 中刪除了待辦事項 {todo}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} 從任務列表 {calendar} 中更新了待辦事項 {todo}",
+ "You updated todo {todo} in list {calendar}" : "您在任務列表 {calendar} 中更新了待辦事項 {todo}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} 解决了任務列表 {calendar} 中的代辦事項 {todo}",
+ "You solved todo {todo} in list {calendar}" : "您解决了任務列表 {calendar} 中的代辦事項 {todo}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} 重新開啟了任務列表 {calendar} 中的代辦事項 {todo}",
+ "You reopened todo {todo} in list {calendar}" : "你重新開啟了 {calendar} 清單中的代辦事項 {todo}",
+ "A calendar <strong>todo</strong> was modified" : "日曆<strong>代辦事項</strong>被修改"
},
"nplurals=1; plural=0;");
diff --git a/apps/dav/l10n/zh_HK.json b/apps/dav/l10n/zh_HK.json
index 8ca935a748a..6608f6e268e 100644
--- a/apps/dav/l10n/zh_HK.json
+++ b/apps/dav/l10n/zh_HK.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "日曆",
- "Todos" : "待辦事項",
+ "To-dos" : "待辦事項",
"Personal" : "個人",
"{actor} created calendar {calendar}" : "{actor} 建立了日曆 {calendar}",
"You created calendar {calendar}" : "您建立了日曆 {calendar}",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "您從日曆 {calendar} 中刪除了活動 {event}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} 更新了日曆 {calendar} 中的活動 {event}",
"You updated event {event} in calendar {calendar}" : "您更新了日曆 {calendar} 中的活動 {event}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} 將活動 {event} 從日曆 {sourceCalendar} 移到日曆 {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "您將活動 {event} 從日曆 {sourceCalendar} 移到日曆 {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} 復原了日曆 {calendar} 的活動 {event}",
"You restored event {event} of calendar {calendar}" : "您復原了日曆 {calendar} 的活動 {event}",
"Busy" : "忙碌中",
- "{actor} created todo {todo} in list {calendar}" : "{actor} 在任務列表 {calendar} 中建立了待辦事項 {todo}",
- "You created todo {todo} in list {calendar}" : "您在任務列表 {calendar} 中建立了待辦事項 {todo}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} 從任務列表 {calendar} 中刪除了待辦事項 {todo}",
- "You deleted todo {todo} from list {calendar}" : "您從任務列表 {calendar} 中刪除了待辦事項 {todo}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} 從任務列表 {calendar} 中更新了待辦事項 {todo}",
- "You updated todo {todo} in list {calendar}" : "您在任務列表 {calendar} 中更新了待辦事項 {todo}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} 解决了任務列表 {calendar} 中的代辦事項 {todo}",
- "You solved todo {todo} in list {calendar}" : "您解决了任務列表 {calendar} 中的代辦事項 {todo}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} 重新開啟了任務列表 {calendar} 中的代辦事項 {todo}",
- "You reopened todo {todo} in list {calendar}" : "你重新開啟了 {calendar} 清單中的代辦事項 {todo}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} 在任務清單 {calendar} 中建立了待辦事項 {todo}",
+ "You created to-do {todo} in list {calendar}" : "您在任務清單 {calendar} 中建立了待辦事項 {todo}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} 從任務清單 {calendar} 中刪除了待辦事項 {todo}",
+ "You deleted to-do {todo} from list {calendar}" : "您從任務清單 {calendar} 中刪除了待辦事項 {todo}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} 從任務清單 {calendar} 中更新了待辦事項 {todo}",
+ "You updated to-do {todo} in list {calendar}" : "您在任務清單 {calendar} 中更新了待辦事項 {todo}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} 解决了任務清單 {calendar} 中的代辦事項 {todo}",
+ "You solved to-do {todo} in list {calendar}" : "您解决了任務清單 {calendar} 中的代辦事項 {todo}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} 重新開啟了任務清單 {calendar} 中的代辦事項 {todo}",
+ "You reopened to-do {todo} in list {calendar}" : "你重新開啟了任務清單 {calendar} 中的代辦事項 {todo}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} 將待辦事項 {todo} 從清單 {sourceCalendar} 移到清單 {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "您將待辦事項 {todo} 從清單 {sourceCalendar} 移到清單 {targetCalendar}",
"Calendar, contacts and tasks" : "日曆、聯絡人和任務",
"A <strong>calendar</strong> was modified" : "<strong>日曆</strong>被修改",
"A calendar <strong>event</strong> was modified" : "日曆<strong>活動</strong>被修改",
- "A calendar <strong>todo</strong> was modified" : "日曆<strong>代辦事項</strong>被修改",
+ "A calendar <strong>to-do</strong> was modified" : "日曆<strong>代辦事項</strong>被修改",
"Contact birthdays" : "聯絡人生日",
"Death of %s" : "%s之卒",
"Calendar:" : "日曆:",
@@ -153,6 +157,7 @@
"Friday" : "星期五",
"Saturday" : "星期六",
"Sunday" : "星期日",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "當系統可得性時,自動將用戶狀態設置為“請勿打擾”以關閉所有音頻通知。",
"Save" : "儲存",
"Failed to load availability" : "加載可得性失敗",
"Saved availability" : "已保存可得性",
@@ -175,6 +180,18 @@
"Tentative" : "暫定",
"Number of guests" : "訪客数目",
"Comment" : "留言",
- "Your attendance was updated successfully." : "您的參與狀況成功更新"
+ "Your attendance was updated successfully." : "您的參與狀況成功更新",
+ "Todos" : "待辦事項",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} 在任務列表 {calendar} 中建立了待辦事項 {todo}",
+ "You created todo {todo} in list {calendar}" : "您在任務列表 {calendar} 中建立了待辦事項 {todo}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} 從任務列表 {calendar} 中刪除了待辦事項 {todo}",
+ "You deleted todo {todo} from list {calendar}" : "您從任務列表 {calendar} 中刪除了待辦事項 {todo}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} 從任務列表 {calendar} 中更新了待辦事項 {todo}",
+ "You updated todo {todo} in list {calendar}" : "您在任務列表 {calendar} 中更新了待辦事項 {todo}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} 解决了任務列表 {calendar} 中的代辦事項 {todo}",
+ "You solved todo {todo} in list {calendar}" : "您解决了任務列表 {calendar} 中的代辦事項 {todo}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} 重新開啟了任務列表 {calendar} 中的代辦事項 {todo}",
+ "You reopened todo {todo} in list {calendar}" : "你重新開啟了 {calendar} 清單中的代辦事項 {todo}",
+ "A calendar <strong>todo</strong> was modified" : "日曆<strong>代辦事項</strong>被修改"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/dav/l10n/zh_TW.js b/apps/dav/l10n/zh_TW.js
index d822b523b26..166c6edb4c3 100644
--- a/apps/dav/l10n/zh_TW.js
+++ b/apps/dav/l10n/zh_TW.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "日曆",
- "Todos" : "待辦事項",
+ "To-dos" : "待辦事項",
"Personal" : "個人",
"{actor} created calendar {calendar}" : "{actor} 建立了日曆 {calendar}",
"You created calendar {calendar}" : "您建立了日曆 {calendar}",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "您在日曆 {calendar} 中刪除了 {event} 活動",
"{actor} updated event {event} in calendar {calendar}" : "{actor} 在日曆 {calendar} 中更新了 {event} 活動",
"You updated event {event} in calendar {calendar}" : "您在日曆 {calendar} 中刪除了 {event} 活動",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} 將事件 {event} 從行事曆 {sourceCalendar} 移動至行事曆 {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "您將事件 {event} 從行事曆 {sourceCalendar} 移動至行事曆 {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} 復原了日曆 {calendar} 中的活動 {event}",
"You restored event {event} of calendar {calendar}" : "您復原了日曆 {calendar} 中的活動 {event}",
"Busy" : "忙碌",
- "{actor} created todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中建立了待辦事項 {todo}",
- "You created todo {todo} in list {calendar}" : "您在列表 {calendar} 中建立了待辦事項 {todo}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} 在列表 {calendar} 中刪除了待辦事項 {todo}",
- "You deleted todo {todo} from list {calendar}" : "您在列表 {calendar} 中刪除了待辦事項 {todo}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中更新了待辦事項 {todo}",
- "You updated todo {todo} in list {calendar}" : "您在列表 {calendar} 中更新了待辦事項 {todo}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中解決了待辦事項 {todo}",
- "You solved todo {todo} in list {calendar}" : "您在列表 {calendar} 中解決了待辦事項 {todo}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中重新開啟了待辦事項 {todo}",
- "You reopened todo {todo} in list {calendar}" : "您在列表 {calendar} 中重新開啟了待辦事項 {todo}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} 在清單 {calendar} 中建立了待辦事項 {todo}",
+ "You created to-do {todo} in list {calendar}" : "您在清單 {calendar} 中建立了待辦事項 {todo}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} 從清單 {calendar} 中刪除了待辦事項 {todo}",
+ "You deleted to-do {todo} from list {calendar}" : "您從清單 {calendar} 中刪除了待辦事項 {todo}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} 在清單 {calendar} 中更新了待辦事項 {todo}",
+ "You updated to-do {todo} in list {calendar}" : "您在清單 {calendar} 中更新了待辦事項 {todo}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} 在清單 {calendar} 中解決了待辦事項 {todo}",
+ "You solved to-do {todo} in list {calendar}" : "您在清單 {calendar} 中解決了待辦事項 {todo}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} 在清單 {calendar} 中重新開啟了待辦事項 {todo}",
+ "You reopened to-do {todo} in list {calendar}" : "您在清單 {calendar} 中重新開啟了待辦事項 {todo}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} 將待辦事項 {todo} 從清單 {sourceCalendar} 移動到清單 {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "您將待辦事項 {todo} 從清單 {sourceCalendar} 移動到清單 {targetCalendar}",
"Calendar, contacts and tasks" : "日曆、通訊錄與工作項目",
"A <strong>calendar</strong> was modified" : "一個<strong>日曆</strong>被更動",
"A calendar <strong>event</strong> was modified" : "一個日曆<strong>活動</strong>被更動",
- "A calendar <strong>todo</strong> was modified" : "一個日曆<strong>待辦事項</strong>被更動",
+ "A calendar <strong>to-do</strong> was modified" : "已修改一個行事曆<strong>待辦事項</strong>",
"Contact birthdays" : "聯絡人生日",
"Death of %s" : "%s 逝世",
"Calendar:" : "日曆:",
@@ -155,6 +159,7 @@ OC.L10N.register(
"Friday" : "週五",
"Saturday" : "週六",
"Sunday" : "週日",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "在忙碌時,自動將使用者狀態設定為「請勿打擾」以靜音所有通知。",
"Save" : "儲存",
"Failed to load availability" : "載入可用性失敗",
"Saved availability" : "已儲存可用性",
@@ -177,6 +182,18 @@ OC.L10N.register(
"Tentative" : "暫定",
"Number of guests" : "訪客數量",
"Comment" : "留言",
- "Your attendance was updated successfully." : "您的參與狀態成功更新。"
+ "Your attendance was updated successfully." : "您的參與狀態成功更新。",
+ "Todos" : "待辦事項",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中建立了待辦事項 {todo}",
+ "You created todo {todo} in list {calendar}" : "您在列表 {calendar} 中建立了待辦事項 {todo}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} 在列表 {calendar} 中刪除了待辦事項 {todo}",
+ "You deleted todo {todo} from list {calendar}" : "您在列表 {calendar} 中刪除了待辦事項 {todo}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中更新了待辦事項 {todo}",
+ "You updated todo {todo} in list {calendar}" : "您在列表 {calendar} 中更新了待辦事項 {todo}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中解決了待辦事項 {todo}",
+ "You solved todo {todo} in list {calendar}" : "您在列表 {calendar} 中解決了待辦事項 {todo}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中重新開啟了待辦事項 {todo}",
+ "You reopened todo {todo} in list {calendar}" : "您在列表 {calendar} 中重新開啟了待辦事項 {todo}",
+ "A calendar <strong>todo</strong> was modified" : "一個日曆<strong>待辦事項</strong>被更動"
},
"nplurals=1; plural=0;");
diff --git a/apps/dav/l10n/zh_TW.json b/apps/dav/l10n/zh_TW.json
index a0786132472..15c068b3350 100644
--- a/apps/dav/l10n/zh_TW.json
+++ b/apps/dav/l10n/zh_TW.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "日曆",
- "Todos" : "待辦事項",
+ "To-dos" : "待辦事項",
"Personal" : "個人",
"{actor} created calendar {calendar}" : "{actor} 建立了日曆 {calendar}",
"You created calendar {calendar}" : "您建立了日曆 {calendar}",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "您在日曆 {calendar} 中刪除了 {event} 活動",
"{actor} updated event {event} in calendar {calendar}" : "{actor} 在日曆 {calendar} 中更新了 {event} 活動",
"You updated event {event} in calendar {calendar}" : "您在日曆 {calendar} 中刪除了 {event} 活動",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} 將事件 {event} 從行事曆 {sourceCalendar} 移動至行事曆 {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "您將事件 {event} 從行事曆 {sourceCalendar} 移動至行事曆 {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} 復原了日曆 {calendar} 中的活動 {event}",
"You restored event {event} of calendar {calendar}" : "您復原了日曆 {calendar} 中的活動 {event}",
"Busy" : "忙碌",
- "{actor} created todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中建立了待辦事項 {todo}",
- "You created todo {todo} in list {calendar}" : "您在列表 {calendar} 中建立了待辦事項 {todo}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} 在列表 {calendar} 中刪除了待辦事項 {todo}",
- "You deleted todo {todo} from list {calendar}" : "您在列表 {calendar} 中刪除了待辦事項 {todo}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中更新了待辦事項 {todo}",
- "You updated todo {todo} in list {calendar}" : "您在列表 {calendar} 中更新了待辦事項 {todo}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中解決了待辦事項 {todo}",
- "You solved todo {todo} in list {calendar}" : "您在列表 {calendar} 中解決了待辦事項 {todo}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中重新開啟了待辦事項 {todo}",
- "You reopened todo {todo} in list {calendar}" : "您在列表 {calendar} 中重新開啟了待辦事項 {todo}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} 在清單 {calendar} 中建立了待辦事項 {todo}",
+ "You created to-do {todo} in list {calendar}" : "您在清單 {calendar} 中建立了待辦事項 {todo}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} 從清單 {calendar} 中刪除了待辦事項 {todo}",
+ "You deleted to-do {todo} from list {calendar}" : "您從清單 {calendar} 中刪除了待辦事項 {todo}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} 在清單 {calendar} 中更新了待辦事項 {todo}",
+ "You updated to-do {todo} in list {calendar}" : "您在清單 {calendar} 中更新了待辦事項 {todo}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} 在清單 {calendar} 中解決了待辦事項 {todo}",
+ "You solved to-do {todo} in list {calendar}" : "您在清單 {calendar} 中解決了待辦事項 {todo}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} 在清單 {calendar} 中重新開啟了待辦事項 {todo}",
+ "You reopened to-do {todo} in list {calendar}" : "您在清單 {calendar} 中重新開啟了待辦事項 {todo}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} 將待辦事項 {todo} 從清單 {sourceCalendar} 移動到清單 {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "您將待辦事項 {todo} 從清單 {sourceCalendar} 移動到清單 {targetCalendar}",
"Calendar, contacts and tasks" : "日曆、通訊錄與工作項目",
"A <strong>calendar</strong> was modified" : "一個<strong>日曆</strong>被更動",
"A calendar <strong>event</strong> was modified" : "一個日曆<strong>活動</strong>被更動",
- "A calendar <strong>todo</strong> was modified" : "一個日曆<strong>待辦事項</strong>被更動",
+ "A calendar <strong>to-do</strong> was modified" : "已修改一個行事曆<strong>待辦事項</strong>",
"Contact birthdays" : "聯絡人生日",
"Death of %s" : "%s 逝世",
"Calendar:" : "日曆:",
@@ -153,6 +157,7 @@
"Friday" : "週五",
"Saturday" : "週六",
"Sunday" : "週日",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "在忙碌時,自動將使用者狀態設定為「請勿打擾」以靜音所有通知。",
"Save" : "儲存",
"Failed to load availability" : "載入可用性失敗",
"Saved availability" : "已儲存可用性",
@@ -175,6 +180,18 @@
"Tentative" : "暫定",
"Number of guests" : "訪客數量",
"Comment" : "留言",
- "Your attendance was updated successfully." : "您的參與狀態成功更新。"
+ "Your attendance was updated successfully." : "您的參與狀態成功更新。",
+ "Todos" : "待辦事項",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中建立了待辦事項 {todo}",
+ "You created todo {todo} in list {calendar}" : "您在列表 {calendar} 中建立了待辦事項 {todo}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} 在列表 {calendar} 中刪除了待辦事項 {todo}",
+ "You deleted todo {todo} from list {calendar}" : "您在列表 {calendar} 中刪除了待辦事項 {todo}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中更新了待辦事項 {todo}",
+ "You updated todo {todo} in list {calendar}" : "您在列表 {calendar} 中更新了待辦事項 {todo}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中解決了待辦事項 {todo}",
+ "You solved todo {todo} in list {calendar}" : "您在列表 {calendar} 中解決了待辦事項 {todo}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中重新開啟了待辦事項 {todo}",
+ "You reopened todo {todo} in list {calendar}" : "您在列表 {calendar} 中重新開啟了待辦事項 {todo}",
+ "A calendar <strong>todo</strong> was modified" : "一個日曆<strong>待辦事項</strong>被更動"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/dav/lib/AppInfo/Application.php b/apps/dav/lib/AppInfo/Application.php
index e4eeed61dbe..86749862626 100644
--- a/apps/dav/lib/AppInfo/Application.php
+++ b/apps/dav/lib/AppInfo/Application.php
@@ -57,6 +57,7 @@ use OCA\DAV\Events\CalendarDeletedEvent;
use OCA\DAV\Events\CalendarMovedToTrashEvent;
use OCA\DAV\Events\CalendarObjectCreatedEvent;
use OCA\DAV\Events\CalendarObjectDeletedEvent;
+use OCA\DAV\Events\CalendarObjectMovedEvent;
use OCA\DAV\Events\CalendarObjectMovedToTrashEvent;
use OCA\DAV\Events\CalendarObjectRestoredEvent;
use OCA\DAV\Events\CalendarObjectUpdatedEvent;
@@ -70,6 +71,7 @@ use OCA\DAV\Events\CardDeletedEvent;
use OCA\DAV\Events\CardUpdatedEvent;
use OCA\DAV\Events\SubscriptionCreatedEvent;
use OCA\DAV\Events\SubscriptionDeletedEvent;
+use OCP\Federation\Events\TrustedServerRemovedEvent;
use OCA\DAV\HookManager;
use OCA\DAV\Listener\ActivityUpdaterListener;
use OCA\DAV\Listener\AddressbookListener;
@@ -82,6 +84,8 @@ use OCA\DAV\Listener\CalendarShareUpdateListener;
use OCA\DAV\Listener\CardListener;
use OCA\DAV\Listener\ClearPhotoCacheListener;
use OCA\DAV\Listener\SubscriptionListener;
+use OCA\DAV\Listener\TrustedServerRemovedListener;
+use OCA\DAV\Listener\UserPreferenceListener;
use OCA\DAV\Search\ContactsSearchProvider;
use OCA\DAV\Search\EventsSearchProvider;
use OCA\DAV\Search\TasksSearchProvider;
@@ -93,6 +97,8 @@ use OCP\AppFramework\Bootstrap\IBootstrap;
use OCP\AppFramework\Bootstrap\IRegistrationContext;
use OCP\AppFramework\IAppContainer;
use OCP\Calendar\IManager as ICalendarManager;
+use OCP\Config\BeforePreferenceDeletedEvent;
+use OCP\Config\BeforePreferenceSetEvent;
use OCP\Contacts\IManager as IContactsManager;
use OCP\IServerContainer;
use OCP\IUser;
@@ -154,6 +160,8 @@ class Application extends App implements IBootstrap {
$context->registerEventListener(CalendarObjectUpdatedEvent::class, CalendarObjectReminderUpdaterListener::class);
$context->registerEventListener(CalendarObjectDeletedEvent::class, ActivityUpdaterListener::class);
$context->registerEventListener(CalendarObjectDeletedEvent::class, CalendarObjectReminderUpdaterListener::class);
+ $context->registerEventListener(CalendarObjectMovedEvent::class, ActivityUpdaterListener::class);
+ $context->registerEventListener(CalendarObjectMovedEvent::class, CalendarObjectReminderUpdaterListener::class);
$context->registerEventListener(CalendarObjectMovedToTrashEvent::class, ActivityUpdaterListener::class);
$context->registerEventListener(CalendarObjectMovedToTrashEvent::class, CalendarObjectReminderUpdaterListener::class);
$context->registerEventListener(CalendarObjectRestoredEvent::class, ActivityUpdaterListener::class);
@@ -179,6 +187,10 @@ class Application extends App implements IBootstrap {
$context->registerEventListener(CardUpdatedEvent::class, BirthdayListener::class);
$context->registerEventListener(CardDeletedEvent::class, ClearPhotoCacheListener::class);
$context->registerEventListener(CardUpdatedEvent::class, ClearPhotoCacheListener::class);
+ $context->registerEventListener(TrustedServerRemovedEvent::class, TrustedServerRemovedListener::class);
+
+ $context->registerEventListener(BeforePreferenceDeletedEvent::class, UserPreferenceListener::class);
+ $context->registerEventListener(BeforePreferenceSetEvent::class, UserPreferenceListener::class);
$context->registerNotifierService(Notifier::class);
@@ -232,18 +244,6 @@ class Application extends App implements IBootstrap {
// Here we should recalculate if reminders should be sent to new or old sharees
});
- $dispatcher->addListener('OCP\Federation\TrustedServerEvent::remove',
- function (GenericEvent $event) {
- /** @var CardDavBackend $cardDavBackend */
- $cardDavBackend = \OC::$server->query(CardDavBackend::class);
- $addressBookUri = $event->getSubject();
- $addressBook = $cardDavBackend->getAddressBooksByUri('principals/system/system', $addressBookUri);
- if (!is_null($addressBook)) {
- $cardDavBackend->deleteAddressBook($addressBook['id']);
- }
- }
- );
-
$eventHandler = function () use ($container, $serverContainer): void {
try {
/** @var UpdateCalendarResourcesRoomsBackgroundJob $job */
diff --git a/apps/dav/lib/BackgroundJob/UserStatusAutomation.php b/apps/dav/lib/BackgroundJob/UserStatusAutomation.php
new file mode 100644
index 00000000000..bbd92d903ee
--- /dev/null
+++ b/apps/dav/lib/BackgroundJob/UserStatusAutomation.php
@@ -0,0 +1,188 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * @copyright Copyright (c) 2022 Joas Schilling <coding@schilljs.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\DAV\BackgroundJob;
+
+use OCA\DAV\CalDAV\Schedule\Plugin;
+use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\BackgroundJob\IJobList;
+use OCP\BackgroundJob\TimedJob;
+use OCP\DB\QueryBuilder\IQueryBuilder;
+use OCP\IConfig;
+use OCP\IDBConnection;
+use OCP\UserStatus\IManager;
+use OCP\UserStatus\IUserStatus;
+use Psr\Log\LoggerInterface;
+use Sabre\VObject\Component\Available;
+use Sabre\VObject\Component\VAvailability;
+use Sabre\VObject\Reader;
+use Sabre\VObject\Recur\RRuleIterator;
+
+class UserStatusAutomation extends TimedJob {
+ protected IDBConnection $connection;
+ protected IJobList $jobList;
+ protected LoggerInterface $logger;
+ protected IManager $manager;
+ protected IConfig $config;
+
+ public function __construct(ITimeFactory $timeFactory,
+ IDBConnection $connection,
+ IJobList $jobList,
+ LoggerInterface $logger,
+ IManager $manager,
+ IConfig $config) {
+ parent::__construct($timeFactory);
+ $this->connection = $connection;
+ $this->jobList = $jobList;
+ $this->logger = $logger;
+ $this->manager = $manager;
+ $this->config = $config;
+
+ // Interval 0 might look weird, but the last_checked is always moved
+ // to the next time we need this and then it's 0 seconds ago.
+ $this->setInterval(0);
+ }
+
+ /**
+ * @inheritDoc
+ */
+ protected function run($argument) {
+ if (!isset($argument['userId'])) {
+ $this->jobList->remove(self::class, $argument);
+ $this->logger->info('Removing invalid ' . self::class . ' background job');
+ return;
+ }
+
+ $userId = $argument['userId'];
+ $automationEnabled = $this->config->getUserValue($userId, 'dav', 'user_status_automation', 'no') === 'yes';
+ if (!$automationEnabled) {
+ $this->logger->info('Removing ' . self::class . ' background job for user "' . $userId . '" because the setting is disabled');
+ $this->jobList->remove(self::class, $argument);
+ return;
+ }
+
+ $property = $this->getAvailabilityFromPropertiesTable($userId);
+
+ if (!$property) {
+ $this->logger->info('Removing ' . self::class . ' background job for user "' . $userId . '" because the user has no availability settings');
+ $this->jobList->remove(self::class, $argument);
+ return;
+ }
+
+ $isCurrentlyAvailable = false;
+ $nextPotentialToggles = [];
+
+ $now = new \DateTime('now');
+ $lastMidnight = (clone $now)->setTime(0, 0);
+
+ $vObject = Reader::read($property);
+ foreach ($vObject->getComponents() as $component) {
+ if ($component->name !== 'VAVAILABILITY') {
+ continue;
+ }
+ /** @var VAvailability $component */
+ $availables = $component->getComponents();
+ foreach ($availables as $available) {
+ /** @var Available $available */
+ if ($available->name === 'AVAILABLE') {
+ /** @var \DateTimeInterface $effectiveStart */
+ /** @var \DateTimeInterface $effectiveEnd */
+ [$effectiveStart, $effectiveEnd] = $available->getEffectiveStartEnd();
+
+ try {
+ $it = new RRuleIterator((string) $available->RRULE, $effectiveStart);
+ $it->fastForward($lastMidnight);
+
+ $startToday = $it->current();
+ if ($startToday && $startToday <= $now) {
+ $duration = $effectiveStart->diff($effectiveEnd);
+ $endToday = $startToday->add($duration);
+ if ($endToday > $now) {
+ // User is currently available
+ // Also queuing the end time as next status toggle
+ $isCurrentlyAvailable = true;
+ $nextPotentialToggles[] = $endToday->getTimestamp();
+ }
+
+ // Availability enabling already done for today,
+ // so jump to the next recurrence to find the next status toggle
+ $it->next();
+ }
+
+ if ($it->current()) {
+ $nextPotentialToggles[] = $it->current()->getTimestamp();
+ }
+ } catch (\Exception $e) {
+ $this->logger->error($e->getMessage(), ['exception' => $e]);
+ }
+ }
+ }
+ }
+
+ $nextAutomaticToggle = min($nextPotentialToggles);
+ $this->setLastRunToNextToggleTime($userId, $nextAutomaticToggle - 1);
+
+ if ($isCurrentlyAvailable) {
+ $this->manager->revertUserStatus($userId, IUserStatus::MESSAGE_AVAILABILITY, IUserStatus::DND);
+ } else {
+ // The DND status automation is more important than the "Away - In call" so we also restore that one if it exists.
+ $this->manager->revertUserStatus($userId, IUserStatus::MESSAGE_CALL, IUserStatus::AWAY);
+ $this->manager->setUserStatus($userId, IUserStatus::MESSAGE_AVAILABILITY, IUserStatus::DND, true);
+ }
+ $this->logger->debug('User status automation ran');
+ }
+
+ protected function setLastRunToNextToggleTime(string $userId, int $timestamp): void {
+ $query = $this->connection->getQueryBuilder();
+
+ $query->update('jobs')
+ ->set('last_run', $query->createNamedParameter($timestamp, IQueryBuilder::PARAM_INT))
+ ->where($query->expr()->eq('id', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)));
+ $query->executeStatement();
+
+ $this->logger->debug('Updated user status automation last_run to ' . $timestamp . ' for user ' . $userId);
+ }
+
+ /**
+ * @param string $userId
+ * @return false|string
+ */
+ protected function getAvailabilityFromPropertiesTable(string $userId) {
+ $propertyPath = 'calendars/' . $userId . '/inbox';
+ $propertyName = '{' . Plugin::NS_CALDAV . '}calendar-availability';
+
+ $query = $this->connection->getQueryBuilder();
+ $query->select('propertyvalue')
+ ->from('properties')
+ ->where($query->expr()->eq('userid', $query->createNamedParameter($userId)))
+ ->andWhere($query->expr()->eq('propertypath', $query->createNamedParameter($propertyPath)))
+ ->where($query->expr()->eq('propertyname', $query->createNamedParameter($propertyName)))
+ ->setMaxResults(1);
+
+ $result = $query->executeQuery();
+ $property = $result->fetchOne();
+ $result->closeCursor();
+
+ return $property;
+ }
+}
diff --git a/apps/dav/lib/CalDAV/Activity/Backend.php b/apps/dav/lib/CalDAV/Activity/Backend.php
index d66ab50907f..781a456b5b3 100644
--- a/apps/dav/lib/CalDAV/Activity/Backend.php
+++ b/apps/dav/lib/CalDAV/Activity/Backend.php
@@ -448,6 +448,11 @@ class Backend {
$classification = $objectData['classification'] ?? CalDavBackend::CLASSIFICATION_PUBLIC;
$object = $this->getObjectNameAndType($objectData);
+
+ if (!$object) {
+ return;
+ }
+
$action = $action . '_' . $object['type'];
if ($object['type'] === 'todo' && strpos($action, Event::SUBJECT_OBJECT_UPDATE) === 0 && $object['status'] === 'COMPLETED') {
@@ -504,8 +509,103 @@ class Backend {
}
/**
+ * Creates activities when a calendar object was moved
+ */
+ public function onMovedCalendarObject(array $sourceCalendarData, array $targetCalendarData, array $sourceShares, array $targetShares, array $objectData): void {
+ if (!isset($targetCalendarData['principaluri'])) {
+ return;
+ }
+
+ $sourcePrincipal = explode('/', $sourceCalendarData['principaluri']);
+ $sourceOwner = array_pop($sourcePrincipal);
+
+ $targetPrincipal = explode('/', $targetCalendarData['principaluri']);
+ $targetOwner = array_pop($targetPrincipal);
+
+ if ($sourceOwner !== $targetOwner) {
+ $this->onTouchCalendarObject(
+ Event::SUBJECT_OBJECT_DELETE,
+ $sourceCalendarData,
+ $sourceShares,
+ $objectData
+ );
+ $this->onTouchCalendarObject(
+ Event::SUBJECT_OBJECT_ADD,
+ $targetCalendarData,
+ $targetShares,
+ $objectData
+ );
+ return;
+ }
+
+ $currentUser = $this->userSession->getUser();
+ if ($currentUser instanceof IUser) {
+ $currentUser = $currentUser->getUID();
+ } else {
+ $currentUser = $targetOwner;
+ }
+
+ $classification = $objectData['classification'] ?? CalDavBackend::CLASSIFICATION_PUBLIC;
+ $object = $this->getObjectNameAndType($objectData);
+
+ if (!$object) {
+ return;
+ }
+
+ $event = $this->activityManager->generateEvent();
+ $event->setApp('dav')
+ ->setObject('calendar', (int) $targetCalendarData['id'])
+ ->setType($object['type'] === 'event' ? 'calendar_event' : 'calendar_todo')
+ ->setAuthor($currentUser);
+
+ $users = $this->getUsersForShares(array_intersect($sourceShares, $targetShares));
+ $users[] = $targetOwner;
+
+ // Users for share can return the owner itself if the calendar is published
+ foreach (array_unique($users) as $user) {
+ if ($classification === CalDavBackend::CLASSIFICATION_PRIVATE && $user !== $targetOwner) {
+ // Private events are only shown to the owner
+ continue;
+ }
+
+ $params = [
+ 'actor' => $event->getAuthor(),
+ 'sourceCalendar' => [
+ 'id' => (int) $sourceCalendarData['id'],
+ 'uri' => $sourceCalendarData['uri'],
+ 'name' => $sourceCalendarData['{DAV:}displayname'],
+ ],
+ 'targetCalendar' => [
+ 'id' => (int) $targetCalendarData['id'],
+ 'uri' => $targetCalendarData['uri'],
+ 'name' => $targetCalendarData['{DAV:}displayname'],
+ ],
+ 'object' => [
+ 'id' => $object['id'],
+ 'name' => $classification === CalDavBackend::CLASSIFICATION_CONFIDENTIAL && $user !== $targetOwner ? 'Busy' : $object['name'],
+ 'classified' => $classification === CalDavBackend::CLASSIFICATION_CONFIDENTIAL && $user !== $targetOwner,
+ ],
+ ];
+
+ if ($object['type'] === 'event' && $this->appManager->isEnabledForUser('calendar')) {
+ $params['object']['link']['object_uri'] = $objectData['uri'];
+ $params['object']['link']['calendar_uri'] = $targetCalendarData['uri'];
+ $params['object']['link']['owner'] = $targetOwner;
+ }
+
+ $event->setAffectedUser($user)
+ ->setSubject(
+ $user === $currentUser ? Event::SUBJECT_OBJECT_MOVE . '_' . $object['type'] . '_self' : Event::SUBJECT_OBJECT_MOVE . '_' . $object['type'],
+ $params
+ );
+
+ $this->activityManager->publish($event);
+ }
+ }
+
+ /**
* @param array $objectData
- * @return string[]|bool
+ * @return string[]|false
*/
protected function getObjectNameAndType(array $objectData) {
$vObject = Reader::read($objectData['calendardata']);
diff --git a/apps/dav/lib/CalDAV/Activity/Filter/Todo.php b/apps/dav/lib/CalDAV/Activity/Filter/Todo.php
index f727c10befe..6f1dbbdcb5c 100644
--- a/apps/dav/lib/CalDAV/Activity/Filter/Todo.php
+++ b/apps/dav/lib/CalDAV/Activity/Filter/Todo.php
@@ -52,7 +52,7 @@ class Todo implements IFilter {
* @since 11.0.0
*/
public function getName() {
- return $this->l->t('Todos');
+ return $this->l->t('To-dos');
}
/**
diff --git a/apps/dav/lib/CalDAV/Activity/Provider/Event.php b/apps/dav/lib/CalDAV/Activity/Provider/Event.php
index 3ed591219af..9ae04aadbba 100644
--- a/apps/dav/lib/CalDAV/Activity/Provider/Event.php
+++ b/apps/dav/lib/CalDAV/Activity/Provider/Event.php
@@ -40,6 +40,7 @@ use OCP\L10N\IFactory;
class Event extends Base {
public const SUBJECT_OBJECT_ADD = 'object_add';
public const SUBJECT_OBJECT_UPDATE = 'object_update';
+ public const SUBJECT_OBJECT_MOVE = 'object_move';
public const SUBJECT_OBJECT_MOVE_TO_TRASH = 'object_move_to_trash';
public const SUBJECT_OBJECT_RESTORE = 'object_restore';
public const SUBJECT_OBJECT_DELETE = 'object_delete';
@@ -145,6 +146,10 @@ class Event extends Base {
$subject = $this->l->t('{actor} updated event {event} in calendar {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE . '_event_self') {
$subject = $this->l->t('You updated event {event} in calendar {calendar}');
+ } elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE . '_event') {
+ $subject = $this->l->t('{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}');
+ } elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE . '_event_self') {
+ $subject = $this->l->t('You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE_TO_TRASH . '_event') {
$subject = $this->l->t('{actor} deleted event {event} from calendar {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE_TO_TRASH . '_event_self') {
@@ -198,6 +203,24 @@ class Event extends Base {
}
}
+ if (isset($parameters['sourceCalendar']) && isset($parameters['targetCalendar'])) {
+ switch ($subject) {
+ case self::SUBJECT_OBJECT_MOVE . '_event':
+ return [
+ 'actor' => $this->generateUserParameter($parameters['actor']),
+ 'sourceCalendar' => $this->generateCalendarParameter($parameters['sourceCalendar'], $this->l),
+ 'targetCalendar' => $this->generateCalendarParameter($parameters['targetCalendar'], $this->l),
+ 'event' => $this->generateClassifiedObjectParameter($parameters['object']),
+ ];
+ case self::SUBJECT_OBJECT_MOVE . '_event_self':
+ return [
+ 'sourceCalendar' => $this->generateCalendarParameter($parameters['sourceCalendar'], $this->l),
+ 'targetCalendar' => $this->generateCalendarParameter($parameters['targetCalendar'], $this->l),
+ 'event' => $this->generateClassifiedObjectParameter($parameters['object']),
+ ];
+ }
+ }
+
// Legacy - Do NOT Remove unless necessary
// Removing this will break parsing of activities that were created on
// Nextcloud 12, so we should keep this as long as it's acceptable.
diff --git a/apps/dav/lib/CalDAV/Activity/Provider/Todo.php b/apps/dav/lib/CalDAV/Activity/Provider/Todo.php
index a3ab81e38ae..e2ddb99a1af 100644
--- a/apps/dav/lib/CalDAV/Activity/Provider/Todo.php
+++ b/apps/dav/lib/CalDAV/Activity/Provider/Todo.php
@@ -50,25 +50,29 @@ class Todo extends Event {
}
if ($event->getSubject() === self::SUBJECT_OBJECT_ADD . '_todo') {
- $subject = $this->l->t('{actor} created todo {todo} in list {calendar}');
+ $subject = $this->l->t('{actor} created to-do {todo} in list {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_ADD . '_todo_self') {
- $subject = $this->l->t('You created todo {todo} in list {calendar}');
+ $subject = $this->l->t('You created to-do {todo} in list {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_DELETE . '_todo') {
- $subject = $this->l->t('{actor} deleted todo {todo} from list {calendar}');
+ $subject = $this->l->t('{actor} deleted to-do {todo} from list {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_DELETE . '_todo_self') {
- $subject = $this->l->t('You deleted todo {todo} from list {calendar}');
+ $subject = $this->l->t('You deleted to-do {todo} from list {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE . '_todo') {
- $subject = $this->l->t('{actor} updated todo {todo} in list {calendar}');
+ $subject = $this->l->t('{actor} updated to-do {todo} in list {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE . '_todo_self') {
- $subject = $this->l->t('You updated todo {todo} in list {calendar}');
+ $subject = $this->l->t('You updated to-do {todo} in list {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE . '_todo_completed') {
- $subject = $this->l->t('{actor} solved todo {todo} in list {calendar}');
+ $subject = $this->l->t('{actor} solved to-do {todo} in list {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE . '_todo_completed_self') {
- $subject = $this->l->t('You solved todo {todo} in list {calendar}');
+ $subject = $this->l->t('You solved to-do {todo} in list {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE . '_todo_needs_action') {
- $subject = $this->l->t('{actor} reopened todo {todo} in list {calendar}');
+ $subject = $this->l->t('{actor} reopened to-do {todo} in list {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE . '_todo_needs_action_self') {
- $subject = $this->l->t('You reopened todo {todo} in list {calendar}');
+ $subject = $this->l->t('You reopened to-do {todo} in list {calendar}');
+ } elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE . '_todo') {
+ $subject = $this->l->t('{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}');
+ } elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE . '_todo_self') {
+ $subject = $this->l->t('You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}');
} else {
throw new \InvalidArgumentException();
}
@@ -114,6 +118,24 @@ class Todo extends Event {
}
}
+ if (isset($parameters['sourceCalendar']) && isset($parameters['targetCalendar'])) {
+ switch ($subject) {
+ case self::SUBJECT_OBJECT_MOVE . '_todo':
+ return [
+ 'actor' => $this->generateUserParameter($parameters['actor']),
+ 'sourceCalendar' => $this->generateCalendarParameter($parameters['sourceCalendar'], $this->l),
+ 'targetCalendar' => $this->generateCalendarParameter($parameters['targetCalendar'], $this->l),
+ 'todo' => $this->generateObjectParameter($parameters['object']),
+ ];
+ case self::SUBJECT_OBJECT_MOVE . '_todo_self':
+ return [
+ 'sourceCalendar' => $this->generateCalendarParameter($parameters['sourceCalendar'], $this->l),
+ 'targetCalendar' => $this->generateCalendarParameter($parameters['targetCalendar'], $this->l),
+ 'todo' => $this->generateObjectParameter($parameters['object']),
+ ];
+ }
+ }
+
// Legacy - Do NOT Remove unless necessary
// Removing this will break parsing of activities that were created on
// Nextcloud 12, so we should keep this as long as it's acceptable.
diff --git a/apps/dav/lib/CalDAV/Activity/Setting/Todo.php b/apps/dav/lib/CalDAV/Activity/Setting/Todo.php
index 7d27b30c4af..a4ac3f5d569 100644
--- a/apps/dav/lib/CalDAV/Activity/Setting/Todo.php
+++ b/apps/dav/lib/CalDAV/Activity/Setting/Todo.php
@@ -38,7 +38,7 @@ class Todo extends CalDAVSetting {
* @since 11.0.0
*/
public function getName() {
- return $this->l->t('A calendar <strong>todo</strong> was modified');
+ return $this->l->t('A calendar <strong>to-do</strong> was modified');
}
/**
diff --git a/apps/dav/lib/CalDAV/CalDavBackend.php b/apps/dav/lib/CalDAV/CalDavBackend.php
index f445382ce8c..7e13b3ba8fd 100644
--- a/apps/dav/lib/CalDAV/CalDavBackend.php
+++ b/apps/dav/lib/CalDAV/CalDavBackend.php
@@ -52,6 +52,7 @@ use OCA\DAV\Events\CalendarDeletedEvent;
use OCA\DAV\Events\CalendarMovedToTrashEvent;
use OCA\DAV\Events\CalendarObjectCreatedEvent;
use OCA\DAV\Events\CalendarObjectDeletedEvent;
+use OCA\DAV\Events\CalendarObjectMovedEvent;
use OCA\DAV\Events\CalendarObjectMovedToTrashEvent;
use OCA\DAV\Events\CalendarObjectRestoredEvent;
use OCA\DAV\Events\CalendarObjectUpdatedEvent;
@@ -673,10 +674,9 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
}
/**
- * @param $calendarId
- * @return array|null
+ * @return array{id: int, uri: string, '{http://calendarserver.org/ns/}getctag': string, '{http://sabredav.org/ns}sync-token': int, '{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set': SupportedCalendarComponentSet, '{urn:ietf:params:xml:ns:caldav}schedule-calendar-transp': ScheduleCalendarTransp }|null
*/
- public function getCalendarById($calendarId) {
+ public function getCalendarById(int $calendarId): ?array {
$fields = array_column($this->propertyMap, 0);
$fields[] = 'id';
$fields[] = 'uri';
@@ -709,7 +709,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
'uri' => $row['uri'],
'principaluri' => $this->convertPrincipal($row['principaluri'], !$this->legacyEndpoint),
'{' . Plugin::NS_CALENDARSERVER . '}getctag' => 'http://sabre.io/ns/sync/' . ($row['synctoken']?$row['synctoken']:'0'),
- '{http://sabredav.org/ns}sync-token' => $row['synctoken']?$row['synctoken']:'0',
+ '{http://sabredav.org/ns}sync-token' => $row['synctoken'] ?? 0,
'{' . Plugin::NS_CALDAV . '}supported-calendar-component-set' => new SupportedCalendarComponentSet($components),
'{' . Plugin::NS_CALDAV . '}schedule-calendar-transp' => new ScheduleCalendarTransp($row['transparent']?'transparent':'opaque'),
];
@@ -865,7 +865,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$calendarData = $this->getCalendarById($calendarId);
$shares = $this->getShares($calendarId);
- $this->dispatcher->dispatchTyped(new CalendarUpdatedEvent((int)$calendarId, $calendarData, $shares, $mutations));
+ $this->dispatcher->dispatchTyped(new CalendarUpdatedEvent($calendarId, $calendarData, $shares, $mutations));
return true;
});
@@ -915,7 +915,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
// Only dispatch if we actually deleted anything
if ($calendarData) {
- $this->dispatcher->dispatchTyped(new CalendarDeletedEvent((int)$calendarId, $calendarData, $shares));
+ $this->dispatcher->dispatchTyped(new CalendarDeletedEvent($calendarId, $calendarData, $shares));
}
} else {
$qbMarkCalendarDeleted = $this->db->getQueryBuilder();
@@ -928,7 +928,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$shares = $this->getShares($calendarId);
if ($calendarData) {
$this->dispatcher->dispatchTyped(new CalendarMovedToTrashEvent(
- (int)$calendarId,
+ $calendarId,
$calendarData,
$shares
));
@@ -1264,15 +1264,17 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$this->addChange($calendarId, $objectUri, 1, $calendarType);
$objectRow = $this->getCalendarObject($calendarId, $objectUri, $calendarType);
+ assert($objectRow !== null);
+
if ($calendarType === self::CALENDAR_TYPE_CALENDAR) {
$calendarRow = $this->getCalendarById($calendarId);
$shares = $this->getShares($calendarId);
- $this->dispatcher->dispatchTyped(new CalendarObjectCreatedEvent((int)$calendarId, $calendarRow, $shares, $objectRow));
+ $this->dispatcher->dispatchTyped(new CalendarObjectCreatedEvent($calendarId, $calendarRow, $shares, $objectRow));
} else {
$subscriptionRow = $this->getSubscriptionById($calendarId);
- $this->dispatcher->dispatchTyped(new CachedCalendarObjectCreatedEvent((int)$calendarId, $subscriptionRow, [], $objectRow));
+ $this->dispatcher->dispatchTyped(new CachedCalendarObjectCreatedEvent($calendarId, $subscriptionRow, [], $objectRow));
}
return '"' . $extraData['etag'] . '"';
@@ -1324,11 +1326,11 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$calendarRow = $this->getCalendarById($calendarId);
$shares = $this->getShares($calendarId);
- $this->dispatcher->dispatchTyped(new CalendarObjectUpdatedEvent((int)$calendarId, $calendarRow, $shares, $objectRow));
+ $this->dispatcher->dispatchTyped(new CalendarObjectUpdatedEvent($calendarId, $calendarRow, $shares, $objectRow));
} else {
$subscriptionRow = $this->getSubscriptionById($calendarId);
- $this->dispatcher->dispatchTyped(new CachedCalendarObjectUpdatedEvent((int)$calendarId, $subscriptionRow, [], $objectRow));
+ $this->dispatcher->dispatchTyped(new CachedCalendarObjectUpdatedEvent($calendarId, $subscriptionRow, [], $objectRow));
}
}
@@ -1341,13 +1343,14 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
* @param int $sourceCalendarId
* @param int $targetCalendarId
* @param int $objectId
- * @param string $principalUri
+ * @param string $oldPrincipalUri
+ * @param string $newPrincipalUri
* @param int $calendarType
* @return bool
* @throws Exception
*/
- public function moveCalendarObject(int $sourceCalendarId, int $targetCalendarId, int $objectId, string $principalUri, int $calendarType = self::CALENDAR_TYPE_CALENDAR): bool {
- $object = $this->getCalendarObjectById($principalUri, $objectId);
+ public function moveCalendarObject(int $sourceCalendarId, int $targetCalendarId, int $objectId, string $oldPrincipalUri, string $newPrincipalUri, int $calendarType = self::CALENDAR_TYPE_CALENDAR): bool {
+ $object = $this->getCalendarObjectById($oldPrincipalUri, $objectId);
if (empty($object)) {
return false;
}
@@ -1365,21 +1368,23 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$this->addChange($sourceCalendarId, $object['uri'], 1, $calendarType);
$this->addChange($targetCalendarId, $object['uri'], 3, $calendarType);
- $object = $this->getCalendarObjectById($principalUri, $objectId);
+ $object = $this->getCalendarObjectById($newPrincipalUri, $objectId);
// Calendar Object wasn't found - possibly because it was deleted in the meantime by a different client
if (empty($object)) {
return false;
}
- $calendarRow = $this->getCalendarById($targetCalendarId);
+ $targetCalendarRow = $this->getCalendarById($targetCalendarId);
// the calendar this event is being moved to does not exist any longer
- if (empty($calendarRow)) {
+ if (empty($targetCalendarRow)) {
return false;
}
if ($calendarType === self::CALENDAR_TYPE_CALENDAR) {
- $shares = $this->getShares($targetCalendarId);
- $this->dispatcher->dispatchTyped(new CalendarObjectUpdatedEvent($targetCalendarId, $calendarRow, $shares, $object));
+ $sourceShares = $this->getShares($sourceCalendarId);
+ $targetShares = $this->getShares($targetCalendarId);
+ $sourceCalendarRow = $this->getCalendarById($sourceCalendarId);
+ $this->dispatcher->dispatchTyped(new CalendarObjectMovedEvent($sourceCalendarId, $sourceCalendarRow, $targetCalendarId, $targetCalendarRow, $sourceShares, $targetShares, $object));
}
return true;
}
@@ -1431,11 +1436,11 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$calendarRow = $this->getCalendarById($calendarId);
$shares = $this->getShares($calendarId);
- $this->dispatcher->dispatchTyped(new CalendarObjectDeletedEvent((int)$calendarId, $calendarRow, $shares, $data));
+ $this->dispatcher->dispatchTyped(new CalendarObjectDeletedEvent($calendarId, $calendarRow, $shares, $data));
} else {
$subscriptionRow = $this->getSubscriptionById($calendarId);
- $this->dispatcher->dispatchTyped(new CachedCalendarObjectDeletedEvent((int)$calendarId, $subscriptionRow, [], $data));
+ $this->dispatcher->dispatchTyped(new CachedCalendarObjectDeletedEvent($calendarId, $subscriptionRow, [], $data));
}
} else {
$pathInfo = pathinfo($data['uri']);
@@ -1475,7 +1480,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
if ($calendarData !== null) {
$this->dispatcher->dispatchTyped(
new CalendarObjectMovedToTrashEvent(
- (int)$calendarId,
+ $calendarId,
$calendarData,
$this->getShares($calendarId),
$data
@@ -2795,25 +2800,26 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
}
/**
- * @param IShareable $shareable
- * @param array $add
- * @param array $remove
+ * @param list<array{href: string, commonName: string, readOnly: bool}> $add
+ * @param list<string> $remove
*/
- public function updateShares($shareable, $add, $remove) {
+ public function updateShares(IShareable $shareable, array $add, array $remove): void {
$calendarId = $shareable->getResourceId();
$calendarRow = $this->getCalendarById($calendarId);
+ if ($calendarRow === null) {
+ throw new \RuntimeException('Trying to update shares for innexistant calendar: ' . $calendarId);
+ }
$oldShares = $this->getShares($calendarId);
$this->calendarSharingBackend->updateShares($shareable, $add, $remove);
- $this->dispatcher->dispatchTyped(new CalendarShareUpdatedEvent((int)$calendarId, $calendarRow, $oldShares, $add, $remove));
+ $this->dispatcher->dispatchTyped(new CalendarShareUpdatedEvent($calendarId, $calendarRow, $oldShares, $add, $remove));
}
/**
- * @param int $resourceId
- * @return array
+ * @return list<array{href: string, commonName: string, status: int, readOnly: bool, '{http://owncloud.org/ns}principal': string, '{http://owncloud.org/ns}group-share': bool}>
*/
- public function getShares($resourceId) {
+ public function getShares(int $resourceId): array {
return $this->calendarSharingBackend->getShares($resourceId);
}
@@ -2839,7 +2845,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
]);
$query->executeStatement();
- $this->dispatcher->dispatchTyped(new CalendarPublishedEvent((int)$calendarId, $calendarData, $publicUri));
+ $this->dispatcher->dispatchTyped(new CalendarPublishedEvent($calendarId, $calendarData, $publicUri));
return $publicUri;
}
$query->delete('dav_shares')
@@ -2847,7 +2853,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
->andWhere($query->expr()->eq('access', $query->createNamedParameter(self::ACCESS_PUBLIC)));
$query->executeStatement();
- $this->dispatcher->dispatchTyped(new CalendarUnpublishedEvent((int)$calendarId, $calendarData));
+ $this->dispatcher->dispatchTyped(new CalendarUnpublishedEvent($calendarId, $calendarData));
return null;
}
@@ -2870,15 +2876,13 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
/**
* @param int $resourceId
- * @param array $acl
- * @return array
+ * @param list<array{privilege: string, principal: string, protected: bool}> $acl
+ * @return list<array{privilege: string, principal: string, protected: bool}>
*/
- public function applyShareAcl($resourceId, $acl) {
+ public function applyShareAcl(int $resourceId, array $acl): array {
return $this->calendarSharingBackend->applyShareAcl($resourceId, $acl);
}
-
-
/**
* update properties table
*
diff --git a/apps/dav/lib/CalDAV/Calendar.php b/apps/dav/lib/CalDAV/Calendar.php
index 79d2244b42c..92ad3242d78 100644
--- a/apps/dav/lib/CalDAV/Calendar.php
+++ b/apps/dav/lib/CalDAV/Calendar.php
@@ -51,27 +51,11 @@ use Sabre\DAV\PropPatch;
* @property CalDavBackend $caldavBackend
*/
class Calendar extends \Sabre\CalDAV\Calendar implements IRestorable, IShareable, IMoveTarget {
+ private IConfig $config;
+ protected IL10N $l10n;
+ private bool $useTrashbin = true;
+ private LoggerInterface $logger;
- /** @var IConfig */
- private $config;
-
- /** @var IL10N */
- protected $l10n;
-
- /** @var bool */
- private $useTrashbin = true;
-
- /** @var LoggerInterface */
- private $logger;
-
- /**
- * Calendar constructor.
- *
- * @param BackendInterface $caldavBackend
- * @param $calendarInfo
- * @param IL10N $l10n
- * @param IConfig $config
- */
public function __construct(BackendInterface $caldavBackend, $calendarInfo, IL10N $l10n, IConfig $config, LoggerInterface $logger) {
// Convert deletion date to ISO8601 string
if (isset($calendarInfo[TrashbinPlugin::PROPERTY_DELETED_AT])) {
@@ -96,25 +80,10 @@ class Calendar extends \Sabre\CalDAV\Calendar implements IRestorable, IShareable
}
/**
- * Updates the list of shares.
- *
- * The first array is a list of people that are to be added to the
- * resource.
- *
- * Every element in the add array has the following properties:
- * * href - A url. Usually a mailto: address
- * * commonName - Usually a first and last name, or false
- * * summary - A description of the share, can also be false
- * * readOnly - A boolean value
- *
- * Every element in the remove array is just the address string.
- *
- * @param array $add
- * @param array $remove
- * @return void
+ * {@inheritdoc}
* @throws Forbidden
*/
- public function updateShares(array $add, array $remove) {
+ public function updateShares(array $add, array $remove): void {
if ($this->isShared()) {
throw new Forbidden();
}
@@ -131,19 +100,16 @@ class Calendar extends \Sabre\CalDAV\Calendar implements IRestorable, IShareable
* * readOnly - boolean
* * summary - Optional, a description for the share
*
- * @return array
+ * @return list<array{href: string, commonName: string, status: int, readOnly: bool, '{http://owncloud.org/ns}principal': string, '{http://owncloud.org/ns}group-share': bool}>
*/
- public function getShares() {
+ public function getShares(): array {
if ($this->isShared()) {
return [];
}
return $this->caldavBackend->getShares($this->getResourceId());
}
- /**
- * @return int
- */
- public function getResourceId() {
+ public function getResourceId(): int {
return $this->calendarInfo['id'];
}
@@ -155,7 +121,9 @@ class Calendar extends \Sabre\CalDAV\Calendar implements IRestorable, IShareable
}
/**
- * @return array
+ * @param int $resourceId
+ * @param list<array{privilege: string, principal: string, protected: bool}> $acl
+ * @return list<array{privilege: string, principal: ?string, protected: bool}>
*/
public function getACL() {
$acl = [
@@ -246,16 +214,18 @@ class Calendar extends \Sabre\CalDAV\Calendar implements IRestorable, IShareable
parent::getOwner(),
'principals/system/public'
];
- return array_filter($acl, function ($rule) use ($allowedPrincipals) {
+ /** @var list<array{privilege: string, principal: string, protected: bool}> $acl */
+ $acl = array_filter($acl, function (array $rule) use ($allowedPrincipals): bool {
return \in_array($rule['principal'], $allowedPrincipals, true);
});
+ return $acl;
}
public function getChildACL() {
return $this->getACL();
}
- public function getOwner() {
+ public function getOwner(): ?string {
if (isset($this->calendarInfo['{http://owncloud.org/ns}owner-principal'])) {
return $this->calendarInfo['{http://owncloud.org/ns}owner-principal'];
}
@@ -450,7 +420,7 @@ class Calendar extends \Sabre\CalDAV\Calendar implements IRestorable, IShareable
}
try {
- return $this->caldavBackend->moveCalendarObject($sourceNode->getCalendarId(), (int)$this->calendarInfo['id'], $sourceNode->getId(), $sourceNode->getPrincipalUri());
+ return $this->caldavBackend->moveCalendarObject($sourceNode->getCalendarId(), (int)$this->calendarInfo['id'], $sourceNode->getId(), $sourceNode->getOwner(), $this->getOwner());
} catch (Exception $e) {
$this->logger->error('Could not move calendar object: ' . $e->getMessage(), ['exception' => $e]);
return false;
diff --git a/apps/dav/lib/CalDAV/CalendarObject.php b/apps/dav/lib/CalDAV/CalendarObject.php
index c927254fba3..32bcff900c2 100644
--- a/apps/dav/lib/CalDAV/CalendarObject.php
+++ b/apps/dav/lib/CalDAV/CalendarObject.php
@@ -162,4 +162,11 @@ class CalendarObject extends \Sabre\CalDAV\CalendarObject {
public function getPrincipalUri(): string {
return $this->calendarInfo['principaluri'];
}
+
+ public function getOwner(): ?string {
+ if (isset($this->calendarInfo['{http://owncloud.org/ns}owner-principal'])) {
+ return $this->calendarInfo['{http://owncloud.org/ns}owner-principal'];
+ }
+ return parent::getOwner();
+ }
}
diff --git a/apps/dav/lib/CardDAV/AddressBook.php b/apps/dav/lib/CardDAV/AddressBook.php
index 9bd24bedbac..bca478feec1 100644
--- a/apps/dav/lib/CardDAV/AddressBook.php
+++ b/apps/dav/lib/CardDAV/AddressBook.php
@@ -67,17 +67,15 @@ class AddressBook extends \Sabre\CardDAV\AddressBook implements IShareable {
* Every element in the add array has the following properties:
* * href - A url. Usually a mailto: address
* * commonName - Usually a first and last name, or false
- * * summary - A description of the share, can also be false
* * readOnly - A boolean value
*
* Every element in the remove array is just the address string.
*
- * @param array $add
- * @param array $remove
- * @return void
+ * @param list<array{href: string, commonName: string, readOnly: bool}> $add
+ * @param list<string> $remove
* @throws Forbidden
*/
- public function updateShares(array $add, array $remove) {
+ public function updateShares(array $add, array $remove): void {
if ($this->isShared()) {
throw new Forbidden();
}
@@ -92,11 +90,10 @@ class AddressBook extends \Sabre\CardDAV\AddressBook implements IShareable {
* * commonName - Optional, for example a first + last name
* * status - See the Sabre\CalDAV\SharingPlugin::STATUS_ constants.
* * readOnly - boolean
- * * summary - Optional, a description for the share
*
- * @return array
+ * @return list<array{href: string, commonName: string, status: int, readOnly: bool, '{http://owncloud.org/ns}principal': string, '{http://owncloud.org/ns}group-share': bool}>
*/
- public function getShares() {
+ public function getShares(): array {
if ($this->isShared()) {
return [];
}
@@ -163,14 +160,11 @@ class AddressBook extends \Sabre\CardDAV\AddressBook implements IShareable {
return new Card($this->carddavBackend, $this->addressBookInfo, $obj);
}
- /**
- * @return int
- */
- public function getResourceId() {
+ public function getResourceId(): int {
return $this->addressBookInfo['id'];
}
- public function getOwner() {
+ public function getOwner(): ?string {
if (isset($this->addressBookInfo['{http://owncloud.org/ns}owner-principal'])) {
return $this->addressBookInfo['{http://owncloud.org/ns}owner-principal'];
}
@@ -207,7 +201,7 @@ class AddressBook extends \Sabre\CardDAV\AddressBook implements IShareable {
return $this->carddavBackend->collectCardProperties($this->getResourceId(), 'CATEGORIES');
}
- private function isShared() {
+ private function isShared(): bool {
if (!isset($this->addressBookInfo['{http://owncloud.org/ns}owner-principal'])) {
return false;
}
@@ -215,7 +209,7 @@ class AddressBook extends \Sabre\CardDAV\AddressBook implements IShareable {
return $this->addressBookInfo['{http://owncloud.org/ns}owner-principal'] !== $this->addressBookInfo['principaluri'];
}
- private function canWrite() {
+ private function canWrite(): bool {
if (isset($this->addressBookInfo['{http://owncloud.org/ns}read-only'])) {
return !$this->addressBookInfo['{http://owncloud.org/ns}read-only'];
}
diff --git a/apps/dav/lib/CardDAV/CardDavBackend.php b/apps/dav/lib/CardDAV/CardDavBackend.php
index 745ca7801b7..a26307b02a8 100644
--- a/apps/dav/lib/CardDAV/CardDavBackend.php
+++ b/apps/dav/lib/CardDAV/CardDavBackend.php
@@ -296,18 +296,14 @@ class CardDavBackend implements BackendInterface, SyncSupport {
return $addressBook;
}
- /**
- * @param $addressBookUri
- * @return array|null
- */
- public function getAddressBooksByUri($principal, $addressBookUri) {
+ public function getAddressBooksByUri(string $principal, string $addressBookUri): ?array {
$query = $this->db->getQueryBuilder();
$result = $query->select(['id', 'uri', 'displayname', 'principaluri', 'description', 'synctoken'])
->from('addressbooks')
->where($query->expr()->eq('uri', $query->createNamedParameter($addressBookUri)))
->andWhere($query->expr()->eq('principaluri', $query->createNamedParameter($principal)))
->setMaxResults(1)
- ->execute();
+ ->executeQuery();
$row = $result->fetch();
$result->closeCursor();
@@ -371,12 +367,12 @@ class CardDavBackend implements BackendInterface, SyncSupport {
$query->set($key, $query->createNamedParameter($value));
}
$query->where($query->expr()->eq('id', $query->createNamedParameter($addressBookId)))
- ->execute();
+ ->executeStatement();
$this->addChange($addressBookId, "", 2);
$addressBookRow = $this->getAddressBookById((int)$addressBookId);
- $shares = $this->getShares($addressBookId);
+ $shares = $this->getShares((int)$addressBookId);
$this->dispatcher->dispatchTyped(new AddressBookUpdatedEvent((int)$addressBookId, $addressBookRow, $shares, $mutations));
return true;
@@ -446,30 +442,31 @@ class CardDavBackend implements BackendInterface, SyncSupport {
* @return void
*/
public function deleteAddressBook($addressBookId) {
+ $addressBookId = (int)$addressBookId;
$addressBookData = $this->getAddressBookById($addressBookId);
$shares = $this->getShares($addressBookId);
$query = $this->db->getQueryBuilder();
$query->delete($this->dbCardsTable)
->where($query->expr()->eq('addressbookid', $query->createParameter('addressbookid')))
- ->setParameter('addressbookid', $addressBookId)
- ->execute();
+ ->setParameter('addressbookid', $addressBookId, IQueryBuilder::PARAM_INT)
+ ->executeStatement();
$query->delete('addressbookchanges')
->where($query->expr()->eq('addressbookid', $query->createParameter('addressbookid')))
- ->setParameter('addressbookid', $addressBookId)
- ->execute();
+ ->setParameter('addressbookid', $addressBookId, IQueryBuilder::PARAM_INT)
+ ->executeStatement();
$query->delete('addressbooks')
->where($query->expr()->eq('id', $query->createParameter('id')))
- ->setParameter('id', $addressBookId)
- ->execute();
+ ->setParameter('id', $addressBookId, IQueryBuilder::PARAM_INT)
+ ->executeStatement();
$this->sharingBackend->deleteAllShares($addressBookId);
$query->delete($this->dbCardsPropertiesTable)
- ->where($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId)))
- ->execute();
+ ->where($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId, IQueryBuilder::PARAM_INT)))
+ ->executeStatement();
if ($addressBookData) {
$this->dispatcher->dispatchTyped(new AddressBookDeletedEvent($addressBookId, $addressBookData, $shares));
@@ -964,11 +961,10 @@ class CardDavBackend implements BackendInterface, SyncSupport {
}
/**
- * @param IShareable $shareable
- * @param string[] $add
- * @param string[] $remove
+ * @param list<array{href: string, commonName: string, readOnly: bool}> $add
+ * @param list<string> $remove
*/
- public function updateShares(IShareable $shareable, $add, $remove) {
+ public function updateShares(IShareable $shareable, array $add, array $remove): void {
$addressBookId = $shareable->getResourceId();
$addressBookData = $this->getAddressBookById($addressBookId);
$oldShares = $this->getShares($addressBookId);
@@ -1199,11 +1195,10 @@ class CardDavBackend implements BackendInterface, SyncSupport {
* * commonName - Optional, for example a first + last name
* * status - See the Sabre\CalDAV\SharingPlugin::STATUS_ constants.
* * readOnly - boolean
- * * summary - Optional, a description for the share
*
- * @return array
+ * @return list<array{href: string, commonName: string, status: int, readOnly: bool, '{http://owncloud.org/ns}principal': string, '{http://owncloud.org/ns}group-share': bool}>
*/
- public function getShares($addressBookId) {
+ public function getShares(int $addressBookId): array {
return $this->sharingBackend->getShares($addressBookId);
}
@@ -1283,13 +1278,9 @@ class CardDavBackend implements BackendInterface, SyncSupport {
}
/**
- * get ID from a given contact
- *
- * @param int $addressBookId
- * @param string $uri
- * @return int
+ * Get ID from a given contact
*/
- protected function getCardId($addressBookId, $uri) {
+ protected function getCardId(int $addressBookId, string $uri): int {
$query = $this->db->getQueryBuilder();
$query->select('id')->from($this->dbCardsTable)
->where($query->expr()->eq('uri', $query->createNamedParameter($uri)))
@@ -1309,15 +1300,15 @@ class CardDavBackend implements BackendInterface, SyncSupport {
/**
* For shared address books the sharee is set in the ACL of the address book
*
- * @param $addressBookId
- * @param $acl
- * @return array
+ * @param int $addressBookId
+ * @param list<array{privilege: string, principal: string, protected: bool}> $acl
+ * @return list<array{privilege: string, principal: string, protected: bool}>
*/
- public function applyShareAcl($addressBookId, $acl) {
+ public function applyShareAcl(int $addressBookId, array $acl): array {
return $this->sharingBackend->applyShareAcl($addressBookId, $acl);
}
- private function convertPrincipal($principalUri, $toV2) {
+ private function convertPrincipal(string $principalUri, bool $toV2): string {
if ($this->principalBackend->getPrincipalPrefix() === 'principals') {
[, $name] = \Sabre\Uri\split($principalUri);
if ($toV2 === true) {
@@ -1328,7 +1319,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
return $principalUri;
}
- private function addOwnerPrincipal(&$addressbookInfo) {
+ private function addOwnerPrincipal(array &$addressbookInfo): void {
$ownerPrincipalKey = '{' . \OCA\DAV\DAV\Sharing\Plugin::NS_OWNCLOUD . '}owner-principal';
$displaynameKey = '{' . \OCA\DAV\DAV\Sharing\Plugin::NS_NEXTCLOUD . '}owner-displayname';
if (isset($addressbookInfo[$ownerPrincipalKey])) {
@@ -1348,10 +1339,10 @@ class CardDavBackend implements BackendInterface, SyncSupport {
*
* @param string $cardData the vcard raw data
* @return string the uid
- * @throws BadRequest if no UID is available
+ * @throws BadRequest if no UID is available or vcard is empty
*/
- private function getUID($cardData) {
- if ($cardData != '') {
+ private function getUID(string $cardData): string {
+ if ($cardData !== '') {
$vCard = Reader::read($cardData);
if ($vCard->UID) {
$uid = $vCard->UID->getValue();
diff --git a/apps/dav/lib/CardDAV/SyncService.php b/apps/dav/lib/CardDAV/SyncService.php
index 169dbc79e0f..5094b7f3f5c 100644
--- a/apps/dav/lib/CardDAV/SyncService.php
+++ b/apps/dav/lib/CardDAV/SyncService.php
@@ -40,27 +40,13 @@ use Sabre\HTTP\ClientHttpException;
use Sabre\VObject\Reader;
class SyncService {
-
- /** @var CardDavBackend */
- private $backend;
-
- /** @var IUserManager */
- private $userManager;
-
+ private CardDavBackend $backend;
+ private IUserManager $userManager;
private LoggerInterface $logger;
+ private ?array $localSystemAddressBook = null;
+ private Converter $converter;
+ protected string $certPath;
- /** @var array */
- private $localSystemAddressBook;
-
- /** @var Converter */
- private $converter;
-
- /** @var string */
- protected $certPath;
-
- /**
- * SyncService constructor.
- */
public function __construct(CardDavBackend $backend,
IUserManager $userManager,
LoggerInterface $logger,
@@ -73,20 +59,11 @@ class SyncService {
}
/**
- * @param string $url
- * @param string $userName
- * @param string $addressBookUrl
- * @param string $sharedSecret
- * @param string $syncToken
- * @param int $targetBookId
- * @param string $targetPrincipal
- * @param array $targetProperties
- * @return string
* @throws \Exception
*/
- public function syncRemoteAddressBook($url, $userName, $addressBookUrl, $sharedSecret, $syncToken, $targetBookId, $targetPrincipal, $targetProperties) {
+ public function syncRemoteAddressBook(string $url, string $userName, string $addressBookUrl, string $sharedSecret, ?string $syncToken, string $targetBookHash, string $targetPrincipal, array $targetProperties): string {
// 1. create addressbook
- $book = $this->ensureSystemAddressBookExists($targetPrincipal, (string)$targetBookId, $targetProperties);
+ $book = $this->ensureSystemAddressBookExists($targetPrincipal, $targetBookHash, $targetProperties);
$addressBookId = $book['id'];
// 2. query changes
@@ -122,28 +99,23 @@ class SyncService {
}
/**
- * @param string $principal
- * @param string $id
- * @param array $properties
- * @return array|null
* @throws \Sabre\DAV\Exception\BadRequest
*/
- public function ensureSystemAddressBookExists($principal, $id, $properties) {
- $book = $this->backend->getAddressBooksByUri($principal, $id);
+ public function ensureSystemAddressBookExists(string $principal, string $uri, array $properties): ?array {
+ $book = $this->backend->getAddressBooksByUri($principal, $uri);
if (!is_null($book)) {
return $book;
}
- $this->backend->createAddressBook($principal, $id, $properties);
+ // FIXME This might break in clustered DB setup
+ $this->backend->createAddressBook($principal, $uri, $properties);
- return $this->backend->getAddressBooksByUri($principal, $id);
+ return $this->backend->getAddressBooksByUri($principal, $uri);
}
/**
* Check if there is a valid certPath we should use
- *
- * @return string
*/
- protected function getCertPath() {
+ protected function getCertPath(): string {
// we already have a valid certPath
if ($this->certPath !== '') {
@@ -159,14 +131,7 @@ class SyncService {
return $this->certPath;
}
- /**
- * @param string $url
- * @param string $userName
- * @param string $addressBookUrl
- * @param string $sharedSecret
- * @return Client
- */
- protected function getClient($url, $userName, $sharedSecret) {
+ protected function getClient(string $url, string $userName, string $sharedSecret): Client {
$settings = [
'baseUri' => $url . '/',
'userName' => $userName,
@@ -183,15 +148,7 @@ class SyncService {
return $client;
}
- /**
- * @param string $url
- * @param string $userName
- * @param string $addressBookUrl
- * @param string $sharedSecret
- * @param string $syncToken
- * @return array
- */
- protected function requestSyncReport($url, $userName, $addressBookUrl, $sharedSecret, $syncToken) {
+ protected function requestSyncReport(string $url, string $userName, string $addressBookUrl, string $sharedSecret, ?string $syncToken): array {
$client = $this->getClient($url, $userName, $sharedSecret);
$body = $this->buildSyncCollectionRequestBody($syncToken);
@@ -203,23 +160,12 @@ class SyncService {
return $this->parseMultiStatus($response['body']);
}
- /**
- * @param string $url
- * @param string $userName
- * @param string $sharedSecret
- * @param string $resourcePath
- * @return array
- */
- protected function download($url, $userName, $sharedSecret, $resourcePath) {
+ protected function download(string $url, string $userName, string $sharedSecret, string $resourcePath): array {
$client = $this->getClient($url, $userName, $sharedSecret);
return $client->request('GET', $resourcePath);
}
- /**
- * @param string|null $syncToken
- * @return string
- */
- private function buildSyncCollectionRequestBody($syncToken) {
+ private function buildSyncCollectionRequestBody(?string $syncToken): string {
$dom = new \DOMDocument('1.0', 'UTF-8');
$dom->formatOutput = true;
$root = $dom->createElementNS('DAV:', 'd:sync-collection');
diff --git a/apps/dav/lib/Command/MoveCalendar.php b/apps/dav/lib/Command/MoveCalendar.php
index 320fe8aeac6..9272b20b10d 100644
--- a/apps/dav/lib/Command/MoveCalendar.php
+++ b/apps/dav/lib/Command/MoveCalendar.php
@@ -42,41 +42,17 @@ use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle;
class MoveCalendar extends Command {
-
- /** @var IUserManager */
- private $userManager;
-
- /** @var IGroupManager */
- private $groupManager;
-
- /** @var IShareManager */
- private $shareManager;
-
- /** @var IConfig $config */
- private $config;
-
- /** @var IL10N */
- private $l10n;
-
- /** @var SymfonyStyle */
- private $io;
-
- /** @var CalDavBackend */
- private $calDav;
-
- /** @var LoggerInterface */
- private $logger;
+ private IUserManager $userManager;
+ private IGroupManager $groupManager;
+ private IShareManager $shareManager;
+ private IConfig $config;
+ private IL10N $l10n;
+ private ?SymfonyStyle $io = null;
+ private CalDavBackend $calDav;
+ private LoggerInterface $logger;
public const URI_USERS = 'principals/users/';
- /**
- * @param IUserManager $userManager
- * @param IGroupManager $groupManager
- * @param IShareManager $shareManager
- * @param IConfig $config
- * @param IL10N $l10n
- * @param CalDavBackend $calDav
- */
public function __construct(
IUserManager $userManager,
IGroupManager $groupManager,
@@ -224,7 +200,7 @@ class MoveCalendar extends Command {
*/
if ($this->shareManager->shareWithGroupMembersOnly() === true && 'groups' === $prefix && !$this->groupManager->isInGroup($userDestination, $userOrGroup)) {
if ($force) {
- $this->calDav->updateShares(new Calendar($this->calDav, $calendar, $this->l10n, $this->config, $this->logger), [], ['href' => 'principal:principals/groups/' . $userOrGroup]);
+ $this->calDav->updateShares(new Calendar($this->calDav, $calendar, $this->l10n, $this->config, $this->logger), [], ['principal:principals/groups/' . $userOrGroup]);
} else {
throw new \InvalidArgumentException("User <$userDestination> is not part of the group <$userOrGroup> with whom the calendar <" . $calendar['uri'] . "> was shared. You may use -f to move the calendar while deleting this share.");
}
@@ -235,7 +211,7 @@ class MoveCalendar extends Command {
*/
if ($userOrGroup === $userDestination) {
if ($force) {
- $this->calDav->updateShares(new Calendar($this->calDav, $calendar, $this->l10n, $this->config, $this->logger), [], ['href' => 'principal:principals/users/' . $userOrGroup]);
+ $this->calDav->updateShares(new Calendar($this->calDav, $calendar, $this->l10n, $this->config, $this->logger), [], ['principal:principals/users/' . $userOrGroup]);
} else {
throw new \InvalidArgumentException("The calendar <" . $calendar['uri'] . "> is already shared to user <$userDestination>.You may use -f to move the calendar while deleting this share.");
}
diff --git a/apps/dav/lib/Connector/Sabre/Directory.php b/apps/dav/lib/Connector/Sabre/Directory.php
index 5280511d5be..b575a051b2a 100644
--- a/apps/dav/lib/Connector/Sabre/Directory.php
+++ b/apps/dav/lib/Connector/Sabre/Directory.php
@@ -66,7 +66,7 @@ class Directory extends \OCA\DAV\Connector\Sabre\Node implements \Sabre\DAV\ICol
/** Cached quota info */
private ?array $quotaInfo = null;
- private ?ObjectTree $tree = null;
+ private ?CachingTree $tree = null;
/** @var array<string, array<int, FileMetadata>> */
private array $metadata = [];
@@ -74,7 +74,7 @@ class Directory extends \OCA\DAV\Connector\Sabre\Node implements \Sabre\DAV\ICol
/**
* Sets up the node, expects a full path name
*/
- public function __construct(View $view, FileInfo $info, ?ObjectTree $tree = null, IShareManager $shareManager = null) {
+ public function __construct(View $view, FileInfo $info, ?CachingTree $tree = null, IShareManager $shareManager = null) {
parent::__construct($view, $info, $shareManager);
$this->tree = $tree;
}
diff --git a/apps/dav/lib/DAV/CustomPropertiesBackend.php b/apps/dav/lib/DAV/CustomPropertiesBackend.php
index bd09ac2e4e6..0110990a408 100644
--- a/apps/dav/lib/DAV/CustomPropertiesBackend.php
+++ b/apps/dav/lib/DAV/CustomPropertiesBackend.php
@@ -24,7 +24,8 @@
*/
namespace OCA\DAV\DAV;
-use OCA\DAV\Connector\Sabre\Node;
+use Exception;
+use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
use OCP\IUser;
use Sabre\DAV\PropertyStorage\Backend\BackendInterface;
@@ -308,66 +309,54 @@ class CustomPropertiesBackend implements BackendInterface {
}
/**
- * Update properties
- *
- * @param string $path path for which to update properties
- * @param array $properties array of properties to update
- *
- * @return bool
+ * @throws Exception
*/
- private function updateProperties(string $path, array $properties) {
- $deleteStatement = 'DELETE FROM `*PREFIX*properties`' .
- ' WHERE `userid` = ? AND `propertypath` = ? AND `propertyname` = ?';
-
- $insertStatement = 'INSERT INTO `*PREFIX*properties`' .
- ' (`userid`,`propertypath`,`propertyname`,`propertyvalue`, `valuetype`) VALUES(?,?,?,?,?)';
-
- $updateStatement = 'UPDATE `*PREFIX*properties` SET `propertyvalue` = ?, `valuetype` = ?' .
- ' WHERE `userid` = ? AND `propertypath` = ? AND `propertyname` = ?';
-
+ private function updateProperties(string $path, array $properties): bool {
// TODO: use "insert or update" strategy ?
$existing = $this->getUserProperties($path, []);
- $this->connection->beginTransaction();
- foreach ($properties as $propertyName => $propertyValue) {
- // If it was null, we need to delete the property
- if (is_null($propertyValue)) {
- if (array_key_exists($propertyName, $existing)) {
- $this->connection->executeUpdate($deleteStatement,
- [
- $this->user->getUID(),
- $this->formatPath($path),
- $propertyName,
- ]
- );
- }
- } else {
- [$value, $valueType] = $this->encodeValueForDatabase($propertyValue);
- if (!array_key_exists($propertyName, $existing)) {
- $this->connection->executeUpdate($insertStatement,
- [
- $this->user->getUID(),
- $this->formatPath($path),
- $propertyName,
- $value,
- $valueType
- ]
- );
+ try {
+ $this->connection->beginTransaction();
+ foreach ($properties as $propertyName => $propertyValue) {
+ // common parameters for all queries
+ $dbParameters = [
+ 'userid' => $this->user->getUID(),
+ 'propertyPath' => $this->formatPath($path),
+ 'propertyName' => $propertyName
+ ];
+
+ // If it was null, we need to delete the property
+ if (is_null($propertyValue)) {
+ if (array_key_exists($propertyName, $existing)) {
+ $deleteQuery = $deleteQuery ?? $this->createDeleteQuery();
+ $deleteQuery
+ ->setParameters($dbParameters)
+ ->executeStatement();
+ }
} else {
- $this->connection->executeUpdate($updateStatement,
- [
- $value,
- $valueType,
- $this->user->getUID(),
- $this->formatPath($path),
- $propertyName,
- ]
- );
+ [$value, $valueType] = $this->encodeValueForDatabase($propertyValue);
+ $dbParameters['propertyValue'] = $value;
+ $dbParameters['valueType'] = $valueType;
+
+ if (!array_key_exists($propertyName, $existing)) {
+ $insertQuery = $insertQuery ?? $this->createInsertQuery();
+ $insertQuery
+ ->setParameters($dbParameters)
+ ->executeStatement();
+ } else {
+ $updateQuery = $updateQuery ?? $this->createUpdateQuery();
+ $updateQuery
+ ->setParameters($dbParameters)
+ ->executeStatement();
+ }
}
}
- }
- $this->connection->commit();
- unset($this->userCache[$path]);
+ $this->connection->commit();
+ unset($this->userCache[$path]);
+ } catch (Exception $e) {
+ $this->connection->rollBack();
+ throw $e;
+ }
return true;
}
@@ -417,4 +406,37 @@ class CustomPropertiesBackend implements BackendInterface {
return $value;
}
}
+
+ private function createDeleteQuery(): IQueryBuilder {
+ $deleteQuery = $this->connection->getQueryBuilder();
+ $deleteQuery->delete('properties')
+ ->where($deleteQuery->expr()->eq('userid', $deleteQuery->createParameter('userid')))
+ ->andWhere($deleteQuery->expr()->eq('propertypath', $deleteQuery->createParameter('propertyPath')))
+ ->andWhere($deleteQuery->expr()->eq('propertyname', $deleteQuery->createParameter('propertyName')));
+ return $deleteQuery;
+ }
+
+ private function createInsertQuery(): IQueryBuilder {
+ $insertQuery = $this->connection->getQueryBuilder();
+ $insertQuery->insert('properties')
+ ->values([
+ 'userid' => $insertQuery->createParameter('userid'),
+ 'propertypath' => $insertQuery->createParameter('propertyPath'),
+ 'propertyname' => $insertQuery->createParameter('propertyName'),
+ 'propertyvalue' => $insertQuery->createParameter('propertyValue'),
+ 'valuetype' => $insertQuery->createParameter('valueType'),
+ ]);
+ return $insertQuery;
+ }
+
+ private function createUpdateQuery(): IQueryBuilder {
+ $updateQuery = $this->connection->getQueryBuilder();
+ $updateQuery->update('properties')
+ ->set('propertyvalue', $updateQuery->createParameter('propertyValue'))
+ ->set('valuetype', $updateQuery->createParameter('valueType'))
+ ->where($updateQuery->expr()->eq('userid', $updateQuery->createParameter('userid')))
+ ->andWhere($updateQuery->expr()->eq('propertypath', $updateQuery->createParameter('propertyPath')))
+ ->andWhere($updateQuery->expr()->eq('propertyname', $updateQuery->createParameter('propertyName')));
+ return $updateQuery;
+ }
}
diff --git a/apps/dav/lib/DAV/Sharing/Backend.php b/apps/dav/lib/DAV/Sharing/Backend.php
index 0f675ea4c15..92971992c20 100644
--- a/apps/dav/lib/DAV/Sharing/Backend.php
+++ b/apps/dav/lib/DAV/Sharing/Backend.php
@@ -32,32 +32,20 @@ use OCA\DAV\Connector\Sabre\Principal;
use OCP\IDBConnection;
use OCP\IGroupManager;
use OCP\IUserManager;
+use OCP\DB\QueryBuilder\IQueryBuilder;
class Backend {
-
- /** @var IDBConnection */
- private $db;
- /** @var IUserManager */
- private $userManager;
- /** @var IGroupManager */
- private $groupManager;
- /** @var Principal */
- private $principalBackend;
- /** @var string */
- private $resourceType;
+ private IDBConnection $db;
+ private IUserManager $userManager;
+ private IGroupManager $groupManager;
+ private Principal $principalBackend;
+ private string $resourceType;
public const ACCESS_OWNER = 1;
public const ACCESS_READ_WRITE = 2;
public const ACCESS_READ = 3;
- /**
- * @param IDBConnection $db
- * @param IUserManager $userManager
- * @param IGroupManager $groupManager
- * @param Principal $principalBackend
- * @param string $resourceType
- */
- public function __construct(IDBConnection $db, IUserManager $userManager, IGroupManager $groupManager, Principal $principalBackend, $resourceType) {
+ public function __construct(IDBConnection $db, IUserManager $userManager, IGroupManager $groupManager, Principal $principalBackend, string $resourceType) {
$this->db = $db;
$this->userManager = $userManager;
$this->groupManager = $groupManager;
@@ -66,11 +54,10 @@ class Backend {
}
/**
- * @param IShareable $shareable
- * @param string[] $add
- * @param string[] $remove
+ * @param list<array{href: string, commonName: string, readOnly: bool}> $add
+ * @param list<string> $remove
*/
- public function updateShares(IShareable $shareable, array $add, array $remove) {
+ public function updateShares(IShareable $shareable, array $add, array $remove): void {
foreach ($add as $element) {
$principal = $this->principalBackend->findByUri($element['href'], '');
if ($principal !== '') {
@@ -86,10 +73,9 @@ class Backend {
}
/**
- * @param IShareable $shareable
- * @param string $element
+ * @param array{href: string, commonName: string, readOnly: bool} $element
*/
- private function shareWith($shareable, $element) {
+ private function shareWith(IShareable $shareable, array $element): void {
$user = $element['href'];
$parts = explode(':', $user, 2);
if ($parts[0] !== 'principal') {
@@ -129,33 +115,26 @@ class Backend {
'access' => $query->createNamedParameter($access),
'resourceid' => $query->createNamedParameter($shareable->getResourceId())
]);
- $query->execute();
+ $query->executeStatement();
}
- /**
- * @param $resourceId
- */
- public function deleteAllShares($resourceId) {
+ public function deleteAllShares(int $resourceId): void {
$query = $this->db->getQueryBuilder();
$query->delete('dav_shares')
->where($query->expr()->eq('resourceid', $query->createNamedParameter($resourceId)))
->andWhere($query->expr()->eq('type', $query->createNamedParameter($this->resourceType)))
- ->execute();
+ ->executeStatement();
}
- public function deleteAllSharesByUser($principaluri) {
+ public function deleteAllSharesByUser(string $principaluri): void {
$query = $this->db->getQueryBuilder();
$query->delete('dav_shares')
->where($query->expr()->eq('principaluri', $query->createNamedParameter($principaluri)))
->andWhere($query->expr()->eq('type', $query->createNamedParameter($this->resourceType)))
- ->execute();
+ ->executeStatement();
}
- /**
- * @param IShareable $shareable
- * @param string $element
- */
- private function unshare($shareable, $element) {
+ private function unshare(IShareable $shareable, string $element): void {
$parts = explode(':', $element, 2);
if ($parts[0] !== 'principal') {
return;
@@ -172,7 +151,7 @@ class Backend {
->andWhere($query->expr()->eq('type', $query->createNamedParameter($this->resourceType)))
->andWhere($query->expr()->eq('principaluri', $query->createNamedParameter($parts[1])))
;
- $query->execute();
+ $query->executeStatement();
}
/**
@@ -183,29 +162,28 @@ class Backend {
* * commonName - Optional, for example a first + last name
* * status - See the Sabre\CalDAV\SharingPlugin::STATUS_ constants.
* * readOnly - boolean
- * * summary - Optional, a description for the share
*
* @param int $resourceId
- * @return array
+ * @return list<array{href: string, commonName: string, status: int, readOnly: bool, '{http://owncloud.org/ns}principal': string, '{http://owncloud.org/ns}group-share': bool}>
*/
- public function getShares($resourceId) {
+ public function getShares(int $resourceId): array {
$query = $this->db->getQueryBuilder();
$result = $query->select(['principaluri', 'access'])
->from('dav_shares')
- ->where($query->expr()->eq('resourceid', $query->createNamedParameter($resourceId)))
+ ->where($query->expr()->eq('resourceid', $query->createNamedParameter($resourceId, IQueryBuilder::PARAM_INT)))
->andWhere($query->expr()->eq('type', $query->createNamedParameter($this->resourceType)))
->groupBy(['principaluri', 'access'])
- ->execute();
+ ->executeQuery();
$shares = [];
while ($row = $result->fetch()) {
$p = $this->principalBackend->getPrincipalByPath($row['principaluri']);
$shares[] = [
'href' => "principal:${row['principaluri']}",
- 'commonName' => isset($p['{DAV:}displayname']) ? $p['{DAV:}displayname'] : '',
+ 'commonName' => isset($p['{DAV:}displayname']) ? (string)$p['{DAV:}displayname'] : '',
'status' => 1,
'readOnly' => (int) $row['access'] === self::ACCESS_READ,
- '{http://owncloud.org/ns}principal' => $row['principaluri'],
+ '{http://owncloud.org/ns}principal' => (string)$row['principaluri'],
'{http://owncloud.org/ns}group-share' => is_null($p)
];
}
@@ -217,10 +195,10 @@ class Backend {
* For shared resources the sharee is set in the ACL of the resource
*
* @param int $resourceId
- * @param array $acl
- * @return array
+ * @param list<array{privilege: string, principal: string, protected: bool}> $acl
+ * @return list<array{privilege: string, principal: string, protected: bool}>
*/
- public function applyShareAcl($resourceId, $acl) {
+ public function applyShareAcl(int $resourceId, array $acl): array {
$shares = $this->getShares($resourceId);
foreach ($shares as $share) {
$acl[] = [
diff --git a/apps/dav/lib/DAV/Sharing/IShareable.php b/apps/dav/lib/DAV/Sharing/IShareable.php
index 3833e026696..759981af078 100644
--- a/apps/dav/lib/DAV/Sharing/IShareable.php
+++ b/apps/dav/lib/DAV/Sharing/IShareable.php
@@ -40,16 +40,14 @@ interface IShareable extends INode {
* Every element in the add array has the following properties:
* * href - A url. Usually a mailto: address
* * commonName - Usually a first and last name, or false
- * * summary - A description of the share, can also be false
* * readOnly - A boolean value
*
* Every element in the remove array is just the address string.
*
- * @param array $add
- * @param array $remove
- * @return void
+ * @param list<array{href: string, commonName: string, readOnly: bool}> $add
+ * @param list<string> $remove
*/
- public function updateShares(array $add, array $remove);
+ public function updateShares(array $add, array $remove): void;
/**
* Returns the list of people whom this resource is shared with.
@@ -59,19 +57,15 @@ interface IShareable extends INode {
* * commonName - Optional, for example a first + last name
* * status - See the Sabre\CalDAV\SharingPlugin::STATUS_ constants.
* * readOnly - boolean
- * * summary - Optional, a description for the share
*
- * @return array
+ * @return list<array{href: string, commonName: string, status: int, readOnly: bool, '{http://owncloud.org/ns}principal': string, '{http://owncloud.org/ns}group-share': bool}>
*/
- public function getShares();
+ public function getShares(): array;
- /**
- * @return int
- */
- public function getResourceId();
+ public function getResourceId(): int;
/**
- * @return string
+ * @return ?string
*/
public function getOwner();
}
diff --git a/apps/dav/lib/Events/CalendarObjectMovedEvent.php b/apps/dav/lib/Events/CalendarObjectMovedEvent.php
new file mode 100644
index 00000000000..0143dad9a96
--- /dev/null
+++ b/apps/dav/lib/Events/CalendarObjectMovedEvent.php
@@ -0,0 +1,120 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright Copyright (c) 2020, Georg Ehrke
+ *
+ * @author Georg Ehrke <oc.list@georgehrke.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+namespace OCA\DAV\Events;
+
+use OCP\EventDispatcher\Event;
+
+/**
+ * Class CalendarObjectMovedEvent
+ *
+ * @package OCA\DAV\Events
+ * @since 25.0.0
+ */
+class CalendarObjectMovedEvent extends Event {
+ private int $sourceCalendarId;
+ private array $sourceCalendarData;
+ private int $targetCalendarId;
+ private array $targetCalendarData;
+ private array $sourceShares;
+ private array $targetShares;
+ private array $objectData;
+
+ /**
+ * @since 25.0.0
+ */
+ public function __construct(int $sourceCalendarId,
+ array $sourceCalendarData,
+ int $targetCalendarId,
+ array $targetCalendarData,
+ array $sourceShares,
+ array $targetShares,
+ array $objectData) {
+ parent::__construct();
+ $this->sourceCalendarId = $sourceCalendarId;
+ $this->sourceCalendarData = $sourceCalendarData;
+ $this->targetCalendarId = $targetCalendarId;
+ $this->targetCalendarData = $targetCalendarData;
+ $this->sourceShares = $sourceShares;
+ $this->targetShares = $targetShares;
+ $this->objectData = $objectData;
+ }
+
+ /**
+ * @return int
+ * @since 25.0.0
+ */
+ public function getSourceCalendarId(): int {
+ return $this->sourceCalendarId;
+ }
+
+ /**
+ * @return array
+ * @since 25.0.0
+ */
+ public function getSourceCalendarData(): array {
+ return $this->sourceCalendarData;
+ }
+
+ /**
+ * @return int
+ * @since 25.0.0
+ */
+ public function getTargetCalendarId(): int {
+ return $this->targetCalendarId;
+ }
+
+ /**
+ * @return array
+ * @since 25.0.0
+ */
+ public function getTargetCalendarData(): array {
+ return $this->targetCalendarData;
+ }
+
+ /**
+ * @return array
+ * @since 25.0.0
+ */
+ public function getSourceShares(): array {
+ return $this->sourceShares;
+ }
+
+ /**
+ * @return array
+ * @since 25.0.0
+ */
+ public function getTargetShares(): array {
+ return $this->targetShares;
+ }
+
+ /**
+ * @return array
+ * @since 25.0.0
+ */
+ public function getObjectData(): array {
+ return $this->objectData;
+ }
+}
diff --git a/apps/dav/lib/Events/CalendarShareUpdatedEvent.php b/apps/dav/lib/Events/CalendarShareUpdatedEvent.php
index a9011bc0273..d5a568d149b 100644
--- a/apps/dav/lib/Events/CalendarShareUpdatedEvent.php
+++ b/apps/dav/lib/Events/CalendarShareUpdatedEvent.php
@@ -26,6 +26,8 @@ declare(strict_types=1);
namespace OCA\DAV\Events;
use OCP\EventDispatcher\Event;
+use Sabre\CalDAV\Xml\Property\ScheduleCalendarTransp;
+use Sabre\CalDAV\Xml\Property\SupportedCalendarComponentSet;
/**
* Class CalendarShareUpdatedEvent
@@ -34,30 +36,28 @@ use OCP\EventDispatcher\Event;
* @since 20.0.0
*/
class CalendarShareUpdatedEvent extends Event {
+ private int $calendarId;
- /** @var int */
- private $calendarId;
+ /** @var array{id: int, uri: string, '{http://calendarserver.org/ns/}getctag': string, '{http://sabredav.org/ns}sync-token': int, '{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set': SupportedCalendarComponentSet, '{urn:ietf:params:xml:ns:caldav}schedule-calendar-transp': ScheduleCalendarTransp } */
+ private array $calendarData;
- /** @var array */
- private $calendarData;
+ /** @var list<array{href: string, commonName: string, status: int, readOnly: bool, '{http://owncloud.org/ns}principal': string, '{http://owncloud.org/ns}group-share': bool}> */
+ private array $oldShares;
- /** @var array */
- private $oldShares;
+ /** @var list<array{href: string, commonName: string, readOnly: bool}> */
+ private array $added;
- /** @var array */
- private $added;
-
- /** @var array */
- private $removed;
+ /** @var list<string> */
+ private array $removed;
/**
* CalendarShareUpdatedEvent constructor.
*
* @param int $calendarId
- * @param array $calendarData
- * @param array $oldShares
- * @param array $added
- * @param array $removed
+ * @param array{id: int, uri: string, '{http://calendarserver.org/ns/}getctag': string, '{http://sabredav.org/ns}sync-token': int, '{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set': SupportedCalendarComponentSet, '{urn:ietf:params:xml:ns:caldav}schedule-calendar-transp': ScheduleCalendarTransp } $calendarData
+ * @param list<array{href: string, commonName: string, status: int, readOnly: bool, '{http://owncloud.org/ns}principal': string, '{http://owncloud.org/ns}group-share': bool}> $oldShares
+ * @param list<array{href: string, commonName: string, readOnly: bool}> $added
+ * @param list<string> $removed
* @since 20.0.0
*/
public function __construct(int $calendarId,
@@ -74,7 +74,6 @@ class CalendarShareUpdatedEvent extends Event {
}
/**
- * @return int
* @since 20.0.0
*/
public function getCalendarId(): int {
@@ -82,7 +81,7 @@ class CalendarShareUpdatedEvent extends Event {
}
/**
- * @return array
+ * @return array{id: int, uri: string, '{http://calendarserver.org/ns/}getctag': string, '{http://sabredav.org/ns}sync-token': int, '{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set': SupportedCalendarComponentSet, '{urn:ietf:params:xml:ns:caldav}schedule-calendar-transp': ScheduleCalendarTransp }
* @since 20.0.0
*/
public function getCalendarData(): array {
@@ -90,7 +89,7 @@ class CalendarShareUpdatedEvent extends Event {
}
/**
- * @return array
+ * @return list<array{href: string, commonName: string, status: int, readOnly: bool, '{http://owncloud.org/ns}principal': string, '{http://owncloud.org/ns}group-share': bool}>
* @since 20.0.0
*/
public function getOldShares(): array {
@@ -98,7 +97,7 @@ class CalendarShareUpdatedEvent extends Event {
}
/**
- * @return array
+ * @return list<array{href: string, commonName: string, readOnly: bool}>
* @since 20.0.0
*/
public function getAdded(): array {
@@ -106,7 +105,7 @@ class CalendarShareUpdatedEvent extends Event {
}
/**
- * @return array
+ * @return list<string>
* @since 20.0.0
*/
public function getRemoved(): array {
diff --git a/apps/dav/lib/Listener/ActivityUpdaterListener.php b/apps/dav/lib/Listener/ActivityUpdaterListener.php
index 371912ff035..ea3ec49c14d 100644
--- a/apps/dav/lib/Listener/ActivityUpdaterListener.php
+++ b/apps/dav/lib/Listener/ActivityUpdaterListener.php
@@ -32,6 +32,7 @@ use OCA\DAV\Events\CalendarDeletedEvent;
use OCA\DAV\Events\CalendarMovedToTrashEvent;
use OCA\DAV\Events\CalendarObjectCreatedEvent;
use OCA\DAV\Events\CalendarObjectDeletedEvent;
+use OCA\DAV\Events\CalendarObjectMovedEvent;
use OCA\DAV\Events\CalendarObjectMovedToTrashEvent;
use OCA\DAV\Events\CalendarObjectRestoredEvent;
use OCA\DAV\Events\CalendarObjectUpdatedEvent;
@@ -173,7 +174,26 @@ class ActivityUpdaterListener implements IEventListener {
);
$this->logger->debug(
- sprintf('Activity generated for deleted calendar object %d', $event->getCalendarId())
+ sprintf('Activity generated for updated calendar object in calendar %d', $event->getCalendarId())
+ );
+ } catch (Throwable $e) {
+ // Any error with activities shouldn't abort the calendar deletion, so we just log it
+ $this->logger->error('Error generating activity for a deleted calendar object: ' . $e->getMessage(), [
+ 'exception' => $e,
+ ]);
+ }
+ } elseif ($event instanceof CalendarObjectMovedEvent) {
+ try {
+ $this->activityBackend->onMovedCalendarObject(
+ $event->getSourceCalendarData(),
+ $event->getTargetCalendarData(),
+ $event->getSourceShares(),
+ $event->getTargetShares(),
+ $event->getObjectData()
+ );
+
+ $this->logger->debug(
+ sprintf('Activity generated for moved calendar object from calendar %d to calendar %d', $event->getSourceCalendarId(), $event->getTargetCalendarId())
);
} catch (Throwable $e) {
// Any error with activities shouldn't abort the calendar deletion, so we just log it
diff --git a/apps/dav/lib/Listener/TrustedServerRemovedListener.php b/apps/dav/lib/Listener/TrustedServerRemovedListener.php
new file mode 100644
index 00000000000..29ff050983b
--- /dev/null
+++ b/apps/dav/lib/Listener/TrustedServerRemovedListener.php
@@ -0,0 +1,50 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright 2022 Carl Schwan <carl@carlschwan.eu>
+ *
+ * @author Carl Schwan <carl@carlschwan.eu>
+ *
+ * @license AGPL-3.0-or-later
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+namespace OCA\DAV\Listener;
+
+use OCA\DAV\CardDAV\CardDavBackend;
+use OCP\EventDispatcher\Event;
+use OCP\EventDispatcher\IEventListener;
+use OCP\Federation\Events\TrustedServerRemovedEvent;
+
+class TrustedServerRemovedListener implements IEventListener {
+ private CardDavBackend $cardDavBackend;
+
+ public function __construct(CardDavBackend $cardDavBackend) {
+ $this->cardDavBackend = $cardDavBackend;
+ }
+
+ public function handle(Event $event): void {
+ if (!$event instanceof TrustedServerRemovedEvent) {
+ return;
+ }
+ $addressBookUri = $event->getUrlHash();
+ $addressBook = $this->cardDavBackend->getAddressBooksByUri('principals/system/system', $addressBookUri);
+ if (!is_null($addressBook)) {
+ $this->cardDavBackend->deleteAddressBook($addressBook['id']);
+ }
+ }
+}
diff --git a/apps/dav/lib/Listener/UserPreferenceListener.php b/apps/dav/lib/Listener/UserPreferenceListener.php
new file mode 100644
index 00000000000..947f6d3fd01
--- /dev/null
+++ b/apps/dav/lib/Listener/UserPreferenceListener.php
@@ -0,0 +1,59 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * @copyright Copyright (c) 2022 Joas Schilling <coding@schilljs.com>
+ *
+ * @author Joas Schilling <coding@schilljs.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+namespace OCA\DAV\Listener;
+
+use OCA\DAV\BackgroundJob\UserStatusAutomation;
+use OCP\BackgroundJob\IJobList;
+use OCP\Config\BeforePreferenceDeletedEvent;
+use OCP\Config\BeforePreferenceSetEvent;
+use OCP\EventDispatcher\Event;
+use OCP\EventDispatcher\IEventListener;
+
+class UserPreferenceListener implements IEventListener {
+
+ protected IJobList $jobList;
+
+ public function __construct(IJobList $jobList) {
+ $this->jobList = $jobList;
+ }
+
+ public function handle(Event $event): void {
+ if ($event instanceof BeforePreferenceSetEvent) {
+ if ($event->getAppId() === 'dav' && $event->getConfigKey() === 'user_status_automation' && $event->getConfigValue() === 'yes') {
+ $event->setValid(true);
+
+ // Not the cleanest way, but we just add the job in the before event.
+ // If something ever turns wrong the first execution will remove the job again.
+ // We also first delete the current job, so the next run time is reset.
+ $this->jobList->remove(UserStatusAutomation::class, ['userId' => $event->getUserId()]);
+ $this->jobList->add(UserStatusAutomation::class, ['userId' => $event->getUserId()]);
+ }
+ } elseif ($event instanceof BeforePreferenceDeletedEvent) {
+ if ($event->getAppId() === 'dav' && $event->getConfigKey() === 'user_status_automation') {
+ $event->setValid(true);
+ }
+ }
+ }
+}
diff --git a/apps/dav/lib/Settings/AvailabilitySettings.php b/apps/dav/lib/Settings/AvailabilitySettings.php
index 9a163e21edb..d2b75ba4866 100644
--- a/apps/dav/lib/Settings/AvailabilitySettings.php
+++ b/apps/dav/lib/Settings/AvailabilitySettings.php
@@ -27,10 +27,34 @@ namespace OCA\DAV\Settings;
use OCA\DAV\AppInfo\Application;
use OCP\AppFramework\Http\TemplateResponse;
+use OCP\AppFramework\Services\IInitialState;
+use OCP\IConfig;
use OCP\Settings\ISettings;
class AvailabilitySettings implements ISettings {
+ protected IConfig $config;
+ protected IInitialState $initialState;
+ protected ?string $userId;
+
+ public function __construct(IConfig $config,
+ IInitialState $initialState,
+ ?string $userId) {
+ $this->config = $config;
+ $this->initialState = $initialState;
+ $this->userId = $userId;
+ }
+
public function getForm(): TemplateResponse {
+ $this->initialState->provideInitialState(
+ 'user_status_automation',
+ $this->config->getUserValue(
+ $this->userId,
+ 'dav',
+ 'user_status_automation',
+ 'no'
+ )
+ );
+
return new TemplateResponse(Application::APP_ID, 'settings-personal-availability');
}
diff --git a/apps/dav/lib/UserMigration/ContactsMigrator.php b/apps/dav/lib/UserMigration/ContactsMigrator.php
index ae1a61ce4f4..d2ba82eb2e5 100644
--- a/apps/dav/lib/UserMigration/ContactsMigrator.php
+++ b/apps/dav/lib/UserMigration/ContactsMigrator.php
@@ -131,6 +131,10 @@ class ContactsMigrator implements IMigrator, ISizeEstimationMigrator {
}
}
+ if (count($vCards) === 0) {
+ throw new InvalidAddressBookException();
+ }
+
return [
'name' => $addressBookNode->getName(),
'displayName' => $addressBookInfo['{DAV:}displayname'],
diff --git a/apps/dav/src/service/PreferenceService.js b/apps/dav/src/service/PreferenceService.js
new file mode 100644
index 00000000000..6b8d29029b5
--- /dev/null
+++ b/apps/dav/src/service/PreferenceService.js
@@ -0,0 +1,50 @@
+/**
+ * @copyright 2022 Joas Schilling <coding@schilljs.com>
+ *
+ * @author Joas Schilling <coding@schilljs.com>
+ *
+ * @license AGPL-3.0-or-later
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+import axios from '@nextcloud/axios'
+import { generateOcsUrl } from '@nextcloud/router'
+
+/**
+ * Enable user status automation based on availability
+ */
+export async function enableUserStatusAutomation() {
+ return await axios.post(
+ generateOcsUrl('/apps/provisioning_api/api/v1/config/users/{appId}/{configKey}', {
+ appId: 'dav',
+ configKey: 'user_status_automation',
+ }),
+ {
+ configValue: 'yes',
+ }
+ )
+}
+
+/**
+ * Disable user status automation based on availability
+ */
+export async function disableUserStatusAutomation() {
+ return await axios.delete(
+ generateOcsUrl('/apps/provisioning_api/api/v1/config/users/{appId}/{configKey}', {
+ appId: 'dav',
+ configKey: 'user_status_automation',
+ })
+ )
+}
diff --git a/apps/dav/src/views/Availability.vue b/apps/dav/src/views/Availability.vue
index f3b3ec34bd2..515b3a3b63a 100644
--- a/apps/dav/src/views/Availability.vue
+++ b/apps/dav/src/views/Availability.vue
@@ -24,6 +24,10 @@
:l10n-saturday="$t('dav', 'Saturday')"
:l10n-sunday="$t('dav', 'Sunday')" />
+ <CheckboxRadioSwitch :checked.sync="automated">
+ {{ $t('dav', 'Automatically set user status to "Do not disturb" outside of availability to mute all notifications.') }}
+ </CheckboxRadioSwitch>
+
<Button :disabled="loading || saving"
type="primary"
@click="save">
@@ -34,6 +38,7 @@
<script>
import { CalendarAvailability } from '@nextcloud/calendar-availability-vue'
+import { loadState } from '@nextcloud/initial-state'
import {
showError,
showSuccess,
@@ -43,8 +48,13 @@ import {
getEmptySlots,
saveScheduleInboxAvailability,
} from '../service/CalendarService'
+import {
+ enableUserStatusAutomation,
+ disableUserStatusAutomation,
+} from '../service/PreferenceService'
import jstz from 'jstimezonedetect'
import Button from '@nextcloud/vue/dist/Components/Button'
+import CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/CheckboxRadioSwitch'
import SettingsSection from '@nextcloud/vue/dist/Components/SettingsSection'
import TimezonePicker from '@nextcloud/vue/dist/Components/TimezonePicker'
@@ -52,6 +62,7 @@ export default {
name: 'Availability',
components: {
Button,
+ CheckboxRadioSwitch,
CalendarAvailability,
SettingsSection,
TimezonePicker,
@@ -66,6 +77,7 @@ export default {
saving: false,
timezone: defaultTimezoneId,
slots: getEmptySlots(),
+ automated: loadState('dav', 'user_status_automation') === 'yes',
}
},
async mounted() {
@@ -96,6 +108,11 @@ export default {
this.saving = true
await saveScheduleInboxAvailability(this.slots, this.timezone)
+ if (this.automated) {
+ await enableUserStatusAutomation()
+ } else {
+ await disableUserStatusAutomation()
+ }
showSuccess(t('dav', 'Saved availability'))
} catch (e) {
diff --git a/apps/dav/tests/unit/BackgroundJob/CleanupInvitationTokenJobTest.php b/apps/dav/tests/unit/BackgroundJob/CleanupInvitationTokenJobTest.php
index 6233980edbb..8f1a2a1378f 100644
--- a/apps/dav/tests/unit/BackgroundJob/CleanupInvitationTokenJobTest.php
+++ b/apps/dav/tests/unit/BackgroundJob/CleanupInvitationTokenJobTest.php
@@ -32,6 +32,7 @@ namespace OCA\DAV\Tests\unit\BackgroundJob;
use OCA\DAV\BackgroundJob\CleanupInvitationTokenJob;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\DB\QueryBuilder\IQueryBuilder;
+use OCP\DB\QueryBuilder\IQueryFunction;
use OCP\IDBConnection;
use Test\TestCase;
@@ -77,10 +78,11 @@ class CleanupInvitationTokenJobTest extends TestCase {
[1337, \PDO::PARAM_STR, null, 'namedParameter1337']
]);
+ $function = $this->createMock(IQueryFunction::class);
$expr->expects($this->once())
->method('lt')
->with('expiration', 'namedParameter1337')
- ->willReturn('LT STATEMENT');
+ ->willReturn($function);
$this->dbConnection->expects($this->once())
->method('getQueryBuilder')
@@ -93,7 +95,7 @@ class CleanupInvitationTokenJobTest extends TestCase {
->willReturn($queryBuilder);
$queryBuilder->expects($this->at(3))
->method('where')
- ->with('LT STATEMENT')
+ ->with($function)
->willReturn($queryBuilder);
$queryBuilder->expects($this->at(4))
->method('execute')
diff --git a/apps/dav/tests/unit/Comments/CommentsNodeTest.php b/apps/dav/tests/unit/Comments/CommentsNodeTest.php
index ea3a1952e45..54d410b609a 100644
--- a/apps/dav/tests/unit/Comments/CommentsNodeTest.php
+++ b/apps/dav/tests/unit/Comments/CommentsNodeTest.php
@@ -405,6 +405,7 @@ class CommentsNodeTest extends \Test\TestCase {
$ns . 'referenceId' => 'ref',
$ns . 'isUnread' => null,
$ns . 'reactions' => [],
+ $ns . 'expireDate' => new \DateTime('2016-01-12 19:00:00'),
];
$this->commentsManager->expects($this->exactly(2))
@@ -474,6 +475,10 @@ class CommentsNodeTest extends \Test\TestCase {
->method('getReferenceId')
->willReturn($expected[$ns . 'referenceId']);
+ $this->comment->expects($this->once())
+ ->method('getExpireDate')
+ ->willReturn($expected[$ns . 'expireDate']);
+
$user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
diff --git a/apps/dav/tests/unit/Controller/InvitationResponseControllerTest.php b/apps/dav/tests/unit/Controller/InvitationResponseControllerTest.php
index cd3269d657c..576fde2d4af 100644
--- a/apps/dav/tests/unit/Controller/InvitationResponseControllerTest.php
+++ b/apps/dav/tests/unit/Controller/InvitationResponseControllerTest.php
@@ -37,6 +37,7 @@ use OCP\AppFramework\Utility\ITimeFactory;
use OCP\DB\IResult;
use OCP\DB\QueryBuilder\IExpressionBuilder;
use OCP\DB\QueryBuilder\IQueryBuilder;
+use OCP\DB\QueryBuilder\IQueryFunction;
use OCP\IDBConnection;
use OCP\IRequest;
use Sabre\VObject\ITip\Message;
@@ -477,10 +478,11 @@ EOF;
->with(\PDO::FETCH_ASSOC)
->willReturn($return);
+ $function = $this->createMock(IQueryFunction::class);
$expr->expects($this->once())
->method('eq')
->with('token', 'namedParameterToken')
- ->willReturn('EQ STATEMENT');
+ ->willReturn($function);
$this->dbConnection->expects($this->once())
->method('getQueryBuilder')
@@ -497,7 +499,7 @@ EOF;
->willReturn($queryBuilder);
$queryBuilder->expects($this->at(4))
->method('where')
- ->with('EQ STATEMENT')
+ ->with($function)
->willReturn($queryBuilder);
$queryBuilder->expects($this->at(5))
->method('execute')