diff options
Diffstat (limited to 'apps/files_reminders')
114 files changed, 1613 insertions, 1369 deletions
diff --git a/apps/files_reminders/appinfo/info.xml b/apps/files_reminders/appinfo/info.xml index 971cf81c525..cd3ed204743 100644 --- a/apps/files_reminders/appinfo/info.xml +++ b/apps/files_reminders/appinfo/info.xml @@ -1,4 +1,8 @@ <?xml version="1.0"?> +<!-- + - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + - SPDX-License-Identifier: AGPL-3.0-or-later + --> <info xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://apps.nextcloud.com/schema/apps/info.xsd"> <id>files_reminders</id> @@ -7,8 +11,11 @@ <description><![CDATA[**📣 File reminders** Set file reminders. + +Note: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly. + ]]></description> - <version>1.3.0</version> + <version>1.5.0</version> <licence>agpl</licence> <author>Christopher Ng</author> <namespace>FilesReminders</namespace> @@ -18,7 +25,7 @@ Set file reminders. <bugs>https://github.com/nextcloud/server/issues</bugs> <dependencies> - <nextcloud min-version="30" max-version="30"/> + <nextcloud min-version="32" max-version="32"/> </dependencies> <background-jobs> diff --git a/apps/files_reminders/appinfo/routes.php b/apps/files_reminders/appinfo/routes.php index 7f022a280ab..e6333282b34 100644 --- a/apps/files_reminders/appinfo/routes.php +++ b/apps/files_reminders/appinfo/routes.php @@ -3,25 +3,8 @@ declare(strict_types=1); /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ $requirements = [ diff --git a/apps/files_reminders/composer/composer/autoload_classmap.php b/apps/files_reminders/composer/composer/autoload_classmap.php index 8d6284d3b5f..f3a95a64e74 100644 --- a/apps/files_reminders/composer/composer/autoload_classmap.php +++ b/apps/files_reminders/composer/composer/autoload_classmap.php @@ -16,6 +16,7 @@ return array( 'OCA\\FilesReminders\\Db\\Reminder' => $baseDir . '/../lib/Db/Reminder.php', 'OCA\\FilesReminders\\Db\\ReminderMapper' => $baseDir . '/../lib/Db/ReminderMapper.php', 'OCA\\FilesReminders\\Exception\\NodeNotFoundException' => $baseDir . '/../lib/Exception/NodeNotFoundException.php', + 'OCA\\FilesReminders\\Exception\\ReminderNotFoundException' => $baseDir . '/../lib/Exception/ReminderNotFoundException.php', 'OCA\\FilesReminders\\Exception\\UserNotFoundException' => $baseDir . '/../lib/Exception/UserNotFoundException.php', 'OCA\\FilesReminders\\Listener\\LoadAdditionalScriptsListener' => $baseDir . '/../lib/Listener/LoadAdditionalScriptsListener.php', 'OCA\\FilesReminders\\Listener\\NodeDeletedListener' => $baseDir . '/../lib/Listener/NodeDeletedListener.php', @@ -25,4 +26,5 @@ return array( 'OCA\\FilesReminders\\Model\\RichReminder' => $baseDir . '/../lib/Model/RichReminder.php', 'OCA\\FilesReminders\\Notification\\Notifier' => $baseDir . '/../lib/Notification/Notifier.php', 'OCA\\FilesReminders\\Service\\ReminderService' => $baseDir . '/../lib/Service/ReminderService.php', + 'OCA\\FilesReminders\\SetupChecks\\NeedNotificationsApp' => $baseDir . '/../lib/SetupChecks/NeedNotificationsApp.php', ); diff --git a/apps/files_reminders/composer/composer/autoload_static.php b/apps/files_reminders/composer/composer/autoload_static.php index f1d8b8c8d0b..6a6475e03de 100644 --- a/apps/files_reminders/composer/composer/autoload_static.php +++ b/apps/files_reminders/composer/composer/autoload_static.php @@ -31,6 +31,7 @@ class ComposerStaticInitFilesReminders 'OCA\\FilesReminders\\Db\\Reminder' => __DIR__ . '/..' . '/../lib/Db/Reminder.php', 'OCA\\FilesReminders\\Db\\ReminderMapper' => __DIR__ . '/..' . '/../lib/Db/ReminderMapper.php', 'OCA\\FilesReminders\\Exception\\NodeNotFoundException' => __DIR__ . '/..' . '/../lib/Exception/NodeNotFoundException.php', + 'OCA\\FilesReminders\\Exception\\ReminderNotFoundException' => __DIR__ . '/..' . '/../lib/Exception/ReminderNotFoundException.php', 'OCA\\FilesReminders\\Exception\\UserNotFoundException' => __DIR__ . '/..' . '/../lib/Exception/UserNotFoundException.php', 'OCA\\FilesReminders\\Listener\\LoadAdditionalScriptsListener' => __DIR__ . '/..' . '/../lib/Listener/LoadAdditionalScriptsListener.php', 'OCA\\FilesReminders\\Listener\\NodeDeletedListener' => __DIR__ . '/..' . '/../lib/Listener/NodeDeletedListener.php', @@ -40,6 +41,7 @@ class ComposerStaticInitFilesReminders 'OCA\\FilesReminders\\Model\\RichReminder' => __DIR__ . '/..' . '/../lib/Model/RichReminder.php', 'OCA\\FilesReminders\\Notification\\Notifier' => __DIR__ . '/..' . '/../lib/Notification/Notifier.php', 'OCA\\FilesReminders\\Service\\ReminderService' => __DIR__ . '/..' . '/../lib/Service/ReminderService.php', + 'OCA\\FilesReminders\\SetupChecks\\NeedNotificationsApp' => __DIR__ . '/..' . '/../lib/SetupChecks/NeedNotificationsApp.php', ); public static function getInitializer(ClassLoader $loader) diff --git a/apps/files_reminders/img/alarm.svg b/apps/files_reminders/img/alarm.svg deleted file mode 100644 index 0adc3547203..00000000000 --- a/apps/files_reminders/img/alarm.svg +++ /dev/null @@ -1,5 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"> - <path d="M0 0h24v24H0V0z" fill="none" /> - <path - d="M12.5 8H11v6l4.75 2.85.75-1.23-4-2.37zm4.837-6.19l4.607 3.845-1.28 1.535-4.61-3.843zm-10.674 0l1.282 1.536L3.337 7.19l-1.28-1.536zM12 4c-4.97 0-9 4.03-9 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm0 16c-3.86 0-7-3.14-7-7s3.14-7 7-7 7 3.14 7 7-3.14 7-7 7z" /> -</svg> diff --git a/apps/files_reminders/img/app-dark.svg b/apps/files_reminders/img/app-dark.svg new file mode 100644 index 00000000000..4f276090198 --- /dev/null +++ b/apps/files_reminders/img/app-dark.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px"><path d="M480-96q-70 0-131.13-26.6-61.14-26.6-106.4-71.87-45.27-45.26-71.87-106.4Q144-362 144-432t26.6-131.13q26.6-61.14 71.87-106.4 45.26-45.27 106.4-71.87Q410-768 480-768t131.13 26.6q61.14 26.6 106.4 71.87 45.27 45.26 71.87 106.4Q816-502 816-432t-26.6 131.13q-26.6 61.14-71.87 106.4-45.26 45.27-106.4 71.87Q550-96 480-96Zm100-200 51-51-115-115v-162h-72v192l136 136ZM237-845l51 51-170 170-51-51 170-170Zm486 0 170 170-51 51-170-170 51-51Z"/></svg>
\ No newline at end of file diff --git a/apps/files_reminders/img/app.svg b/apps/files_reminders/img/app.svg new file mode 100644 index 00000000000..8350139e3ed --- /dev/null +++ b/apps/files_reminders/img/app.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="#fff"><path d="M480-96q-70 0-131.13-26.6-61.14-26.6-106.4-71.87-45.27-45.26-71.87-106.4Q144-362 144-432t26.6-131.13q26.6-61.14 71.87-106.4 45.26-45.27 106.4-71.87Q410-768 480-768t131.13 26.6q61.14 26.6 106.4 71.87 45.27 45.26 71.87 106.4Q816-502 816-432t-26.6 131.13q-26.6 61.14-71.87 106.4-45.26 45.27-106.4 71.87Q550-96 480-96Zm100-200 51-51-115-115v-162h-72v192l136 136ZM237-845l51 51-170 170-51-51 170-170Zm486 0 170 170-51 51-170-170 51-51Z"/></svg>
\ No newline at end of file diff --git a/apps/files_reminders/l10n/ar.js b/apps/files_reminders/l10n/ar.js index 5f4c069e4e0..67cf6016dfe 100644 --- a/apps/files_reminders/l10n/ar.js +++ b/apps/files_reminders/l10n/ar.js @@ -1,35 +1,35 @@ OC.L10N.register( "files_reminders", { - "File reminders" : "تذكيرات الملفات", + "File reminders" : "التذكير بالملفات", "Reminder for {name}" : "تذكير لـ {name}", "View file" : "أعرُض الملف", "View folder" : "أعرُض المجلد", - "Set file reminders" : "تعيين تذكيرات للملفات", - "**📣 File reminders**\n\nSet file reminders." : "**📣 تذكيرات الملفات File reminders**\n\nتعيين تذكيرات الملفات.", - "We will remind you of this file" : "سوف يتم تذكيرك بهذا الملف", + "Files reminder" : "التذكير بالملفات", + "Set file reminders" : "ضبط تذكير بالملفات", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 التذكير بالملفات** \n\nضبط التذكير بالملفات. \n\nملاحظة: لاستخدام تطبيق \"التذكير بالملفات\"، تأكد من تثبيت تطبيق الإشعارات وتمكينه. يوفر تطبيق الإشعارات واجهة برمجة التطبيقات API اللازمة لتطبيق \"التذكير بالملفات\" ليعمل بالشكل الصحيح.", + "Set reminder for \"{fileName}\"" : "ضبط تذكير بالملف \"{fileName}\"", + "Clear reminder" : "محو التذكير", "Please choose a valid date & time" : "من فضلك، إختَر وقتاً و تاريخاً صحيحين", + "Reminder set for \"{fileName}\"" : "تمّ ضبط تذكير بالملف \"{fileName}\"", + "Failed to set reminder" : "تعذّر ضبط التذكير", + "Reminder cleared for \"{fileName}\"" : "تمّ إلغاء التذكير بالملف \"{fileName}\"", + "Failed to clear reminder" : "تعذّرت إزالة التذكير", + "We will remind you of this file" : "سوف يتم تذكيرك بهذا الملف", "Cancel" : "إلغاء", - "Clear reminder" : "إمحُ التذكير", "Set reminder" : "ضبط التذكير", - "Set reminder for \"{fileName}\"" : "تعيين تنبيه للملف \"{fileName}\"", - "Set reminder at custom date & time" : "حدّد التذكير في وقت و تاريخ مخصص", - "Reminder set for \"{fileName}\"" : "تمّ تعيين تذكير لـ \"{fileName}\"", - "Failed to set reminder" : "تعذّر تعيين التذكير", - "Reminder cleared for \"{fileName}\"" : "تمّ إلغاء التذكير للملف \"{fileName}\"", - "Failed to clear reminder" : "تعذّرت إزالة التذكير", "Reminder set" : "تمّ وضع تذكير", - "Set custom reminder" : "تعيين تذكير مُخصّص", "Later today" : "في وقت لاحقٍ اليوم", - "Set reminder for later today" : "عيّن التذكير لوقت لاحقٍ اليوم", - "Tomorrow" : "غدا", - "Set reminder for tomorrow" : "عيّن التذكير للغد", + "Set reminder for later today" : "إضبِط التذكير لوقت لاحقٍ اليوم", + "Tomorrow" : "غداً", + "Set reminder for tomorrow" : "إضبِط التذكير للغد", "This weekend" : "نهاية هذا الأسبوع", - "Set reminder for this weekend" : "عيّن التذكير لنهاية هذا الأسبوع", + "Set reminder for this weekend" : "إضبِط التذكير لنهاية هذا الأسبوع", "Next week" : "الأسبوع القادم", - "Set reminder for next week" : "عيّن التذكير للأسبوع القادم", - "Back" : "عودة", - "Reminder cleared" : "تمّت إزالة التذكير", - "Failed to load reminder" : "تعذّر تحميل التذكير" + "Set reminder for next week" : "إضبِط التذكير للأسبوع القادم", + "This files_reminder can work properly." : "وظيفة التذكير بالملفات هذه تعمل بالشكل الصحيح.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "تطبيق التذكير بالملفات يحتاج إلى تطبيق الإشعارات ليعمل بالشكل الصحيح. عليك إمّا أن تقوم بتمكين الإشعارات او تعطيل التذكير بالملفات.", + "Set reminder at custom date & time" : "حدّد التذكير في وقت و تاريخ مخصص", + "Set custom reminder" : "ضبط تذكير مخصص" }, "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/apps/files_reminders/l10n/ar.json b/apps/files_reminders/l10n/ar.json index eb8dfb705c6..344c1eea6f9 100644 --- a/apps/files_reminders/l10n/ar.json +++ b/apps/files_reminders/l10n/ar.json @@ -1,33 +1,33 @@ { "translations": { - "File reminders" : "تذكيرات الملفات", + "File reminders" : "التذكير بالملفات", "Reminder for {name}" : "تذكير لـ {name}", "View file" : "أعرُض الملف", "View folder" : "أعرُض المجلد", - "Set file reminders" : "تعيين تذكيرات للملفات", - "**📣 File reminders**\n\nSet file reminders." : "**📣 تذكيرات الملفات File reminders**\n\nتعيين تذكيرات الملفات.", - "We will remind you of this file" : "سوف يتم تذكيرك بهذا الملف", + "Files reminder" : "التذكير بالملفات", + "Set file reminders" : "ضبط تذكير بالملفات", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 التذكير بالملفات** \n\nضبط التذكير بالملفات. \n\nملاحظة: لاستخدام تطبيق \"التذكير بالملفات\"، تأكد من تثبيت تطبيق الإشعارات وتمكينه. يوفر تطبيق الإشعارات واجهة برمجة التطبيقات API اللازمة لتطبيق \"التذكير بالملفات\" ليعمل بالشكل الصحيح.", + "Set reminder for \"{fileName}\"" : "ضبط تذكير بالملف \"{fileName}\"", + "Clear reminder" : "محو التذكير", "Please choose a valid date & time" : "من فضلك، إختَر وقتاً و تاريخاً صحيحين", + "Reminder set for \"{fileName}\"" : "تمّ ضبط تذكير بالملف \"{fileName}\"", + "Failed to set reminder" : "تعذّر ضبط التذكير", + "Reminder cleared for \"{fileName}\"" : "تمّ إلغاء التذكير بالملف \"{fileName}\"", + "Failed to clear reminder" : "تعذّرت إزالة التذكير", + "We will remind you of this file" : "سوف يتم تذكيرك بهذا الملف", "Cancel" : "إلغاء", - "Clear reminder" : "إمحُ التذكير", "Set reminder" : "ضبط التذكير", - "Set reminder for \"{fileName}\"" : "تعيين تنبيه للملف \"{fileName}\"", - "Set reminder at custom date & time" : "حدّد التذكير في وقت و تاريخ مخصص", - "Reminder set for \"{fileName}\"" : "تمّ تعيين تذكير لـ \"{fileName}\"", - "Failed to set reminder" : "تعذّر تعيين التذكير", - "Reminder cleared for \"{fileName}\"" : "تمّ إلغاء التذكير للملف \"{fileName}\"", - "Failed to clear reminder" : "تعذّرت إزالة التذكير", "Reminder set" : "تمّ وضع تذكير", - "Set custom reminder" : "تعيين تذكير مُخصّص", "Later today" : "في وقت لاحقٍ اليوم", - "Set reminder for later today" : "عيّن التذكير لوقت لاحقٍ اليوم", - "Tomorrow" : "غدا", - "Set reminder for tomorrow" : "عيّن التذكير للغد", + "Set reminder for later today" : "إضبِط التذكير لوقت لاحقٍ اليوم", + "Tomorrow" : "غداً", + "Set reminder for tomorrow" : "إضبِط التذكير للغد", "This weekend" : "نهاية هذا الأسبوع", - "Set reminder for this weekend" : "عيّن التذكير لنهاية هذا الأسبوع", + "Set reminder for this weekend" : "إضبِط التذكير لنهاية هذا الأسبوع", "Next week" : "الأسبوع القادم", - "Set reminder for next week" : "عيّن التذكير للأسبوع القادم", - "Back" : "عودة", - "Reminder cleared" : "تمّت إزالة التذكير", - "Failed to load reminder" : "تعذّر تحميل التذكير" + "Set reminder for next week" : "إضبِط التذكير للأسبوع القادم", + "This files_reminder can work properly." : "وظيفة التذكير بالملفات هذه تعمل بالشكل الصحيح.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "تطبيق التذكير بالملفات يحتاج إلى تطبيق الإشعارات ليعمل بالشكل الصحيح. عليك إمّا أن تقوم بتمكين الإشعارات او تعطيل التذكير بالملفات.", + "Set reminder at custom date & time" : "حدّد التذكير في وقت و تاريخ مخصص", + "Set custom reminder" : "ضبط تذكير مخصص" },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" }
\ No newline at end of file diff --git a/apps/files_reminders/l10n/cs.js b/apps/files_reminders/l10n/cs.js index 366626a9d28..409a22f5546 100644 --- a/apps/files_reminders/l10n/cs.js +++ b/apps/files_reminders/l10n/cs.js @@ -5,19 +5,21 @@ OC.L10N.register( "Reminder for {name}" : "Připomínka ohledně {name}", "View file" : "Zobrazit soubor", "View folder" : "Zobrazit složku", + "Files reminder" : "Připomínka souboru", + "The \"files_reminders\" app can work properly." : "Aplikace „files_reminder“ může fungovat správně.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Aplikace „files_reminder“ potřebuje, aby aplikace notifikace správně fungovala. Buď byste měli zapnout notifikace, nebo vypnout files_reminder.", "Set file reminders" : "Nastavit připomínky souborů", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Připomínky souborů**\n\nNastavte připomínky souborů.", - "We will remind you of this file" : "Připomeneme vám tento soubor", - "Please choose a valid date & time" : "Zvolte platný datum a čas", - "Cancel" : "Storno", - "Clear reminder" : "Vyčistit připomínku", - "Set reminder" : "Nastavit připomínku", "Set reminder for \"{fileName}\"" : "Nastavit připomínku pro „{fileName}", - "Set reminder at custom date & time" : "Nastavit připomínku na uživatelsky určené datum a čas", + "Clear reminder" : "Vyčistit připomínku", + "Please choose a valid date & time" : "Zvolte platný datum a čas", "Reminder set for \"{fileName}\"" : "Nastavena připomínka ohledně „{fileName}“", "Failed to set reminder" : "Připomínku se nepodařilo nastavit", + "Reminder cleared for \"{fileName}\"" : "Připomínka ohledně „{fileName}“ vyčištěna", "Failed to clear reminder" : "Připomínku se nepodařilo vyčistit", - "Set custom reminder" : "Nastavit uživatelsky určenou připomínku", + "We will remind you of this file" : "Připomeneme vám tento soubor", + "Cancel" : "Storno", + "Set reminder" : "Nastavit připomínku", + "Reminder set" : "Nastavit připomínku", "Later today" : "Později dnes", "Set reminder for later today" : "Nastavit připomínku na později dnes", "Tomorrow" : "Zítra", @@ -26,8 +28,9 @@ OC.L10N.register( "Set reminder for this weekend" : "Nastavit připomínku na tento víkend", "Next week" : "Příští týden", "Set reminder for next week" : "Nastavit připomínku pro příští týden", - "Back" : "Zpět", - "Reminder cleared" : "Připomínka vyčištěna", - "Failed to load reminder" : "Připomínku se nepodařilo načíst" + "This files_reminder can work properly." : "Tento files_reminder může fungovat správně.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Aplikace files_reminder potřebuje, aby aplikace notifikace správně fungovala. Buď byste měli zapnout notifikace, nebo vypnout files_reminder.", + "Set reminder at custom date & time" : "Nastavit připomínku na uživatelsky určené datum a čas", + "Set custom reminder" : "Nastavit uživatelsky určenou připomínku" }, "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/files_reminders/l10n/cs.json b/apps/files_reminders/l10n/cs.json index 48352970cb7..af1f102fb9c 100644 --- a/apps/files_reminders/l10n/cs.json +++ b/apps/files_reminders/l10n/cs.json @@ -3,19 +3,21 @@ "Reminder for {name}" : "Připomínka ohledně {name}", "View file" : "Zobrazit soubor", "View folder" : "Zobrazit složku", + "Files reminder" : "Připomínka souboru", + "The \"files_reminders\" app can work properly." : "Aplikace „files_reminder“ může fungovat správně.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Aplikace „files_reminder“ potřebuje, aby aplikace notifikace správně fungovala. Buď byste měli zapnout notifikace, nebo vypnout files_reminder.", "Set file reminders" : "Nastavit připomínky souborů", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Připomínky souborů**\n\nNastavte připomínky souborů.", - "We will remind you of this file" : "Připomeneme vám tento soubor", - "Please choose a valid date & time" : "Zvolte platný datum a čas", - "Cancel" : "Storno", - "Clear reminder" : "Vyčistit připomínku", - "Set reminder" : "Nastavit připomínku", "Set reminder for \"{fileName}\"" : "Nastavit připomínku pro „{fileName}", - "Set reminder at custom date & time" : "Nastavit připomínku na uživatelsky určené datum a čas", + "Clear reminder" : "Vyčistit připomínku", + "Please choose a valid date & time" : "Zvolte platný datum a čas", "Reminder set for \"{fileName}\"" : "Nastavena připomínka ohledně „{fileName}“", "Failed to set reminder" : "Připomínku se nepodařilo nastavit", + "Reminder cleared for \"{fileName}\"" : "Připomínka ohledně „{fileName}“ vyčištěna", "Failed to clear reminder" : "Připomínku se nepodařilo vyčistit", - "Set custom reminder" : "Nastavit uživatelsky určenou připomínku", + "We will remind you of this file" : "Připomeneme vám tento soubor", + "Cancel" : "Storno", + "Set reminder" : "Nastavit připomínku", + "Reminder set" : "Nastavit připomínku", "Later today" : "Později dnes", "Set reminder for later today" : "Nastavit připomínku na později dnes", "Tomorrow" : "Zítra", @@ -24,8 +26,9 @@ "Set reminder for this weekend" : "Nastavit připomínku na tento víkend", "Next week" : "Příští týden", "Set reminder for next week" : "Nastavit připomínku pro příští týden", - "Back" : "Zpět", - "Reminder cleared" : "Připomínka vyčištěna", - "Failed to load reminder" : "Připomínku se nepodařilo načíst" + "This files_reminder can work properly." : "Tento files_reminder může fungovat správně.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Aplikace files_reminder potřebuje, aby aplikace notifikace správně fungovala. Buď byste měli zapnout notifikace, nebo vypnout files_reminder.", + "Set reminder at custom date & time" : "Nastavit připomínku na uživatelsky určené datum a čas", + "Set custom reminder" : "Nastavit uživatelsky určenou připomínku" },"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/files_reminders/l10n/da.js b/apps/files_reminders/l10n/da.js new file mode 100644 index 00000000000..0ace810f929 --- /dev/null +++ b/apps/files_reminders/l10n/da.js @@ -0,0 +1,37 @@ +OC.L10N.register( + "files_reminders", + { + "File reminders" : "Filpåmindelser", + "Reminder for {name}" : "Påmindelse af {name}", + "View file" : "Vis fil", + "View folder" : "Vis mappe", + "Files reminder" : "Filpåmindelse", + "The \"files_reminders\" app can work properly." : "Appen \"files_reminders\" kan fungere korrekt.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Appen \"files_reminders\" skal bruge notifikationsappen for at fungere korrekt. Du bør enten aktivere meddelelser eller deaktivere files_reminder.", + "Set file reminders" : "Sæt filpåmindelser", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Filpåmindelser**\n\nIndstil filpåmindelser.\n\nBemærk: For at bruge appen \"Filpåmindelser\" skal du sikre dig, at appen \"Meddelelser\" er installeret og aktiveret. Appen 'Notifikationer' giver de nødvendige API'er for at appen 'Filpåmindelser' kan fungere korrekt.", + "Set reminder for \"{fileName}\"" : "Indstil påmindelse for \"{fileName}\"", + "Clear reminder" : "Ryd påmindelse", + "Please choose a valid date & time" : "Vælg en gyldig dato & tid", + "Reminder set for \"{fileName}\"" : "Påmindelse indstillet til \"{fileName}\"", + "Failed to set reminder" : "Kunne ikke indstille påmindelsen", + "Reminder cleared for \"{fileName}\"" : "Påmindelsen blev ryddet for \"{fileName}\"", + "Failed to clear reminder" : "Kunne ikke rydde påmindelse", + "We will remind you of this file" : "Vi vil minde dig om denne fil", + "Cancel" : "Annuller", + "Set reminder" : "Sæt påmindelse", + "Reminder set" : "Påmindelse sat", + "Later today" : "Senere i dag", + "Set reminder for later today" : "Sæt påmindelse for senere i dag", + "Tomorrow" : "I morgen", + "Set reminder for tomorrow" : "Sæt påmindelse for i morgen", + "This weekend" : "Denne weekend", + "Set reminder for this weekend" : "Sæt påmindelse for denne weekend", + "Next week" : "Næste uge", + "Set reminder for next week" : "Sæt påmindelse for næste weekend", + "This files_reminder can work properly." : "Denne files_reminder kan fungere korrekt.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Files_reminder-appen skal bruge notifikationsappen for at fungere korrekt. Du bør enten aktivere meddelelser eller deaktivere files_reminder.", + "Set reminder at custom date & time" : "Indstil påmindelse til tilpasset dato og klokkeslæt", + "Set custom reminder" : "Sæt brugerdefineret påmindelse" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_reminders/l10n/da.json b/apps/files_reminders/l10n/da.json new file mode 100644 index 00000000000..0c9771b1dd2 --- /dev/null +++ b/apps/files_reminders/l10n/da.json @@ -0,0 +1,35 @@ +{ "translations": { + "File reminders" : "Filpåmindelser", + "Reminder for {name}" : "Påmindelse af {name}", + "View file" : "Vis fil", + "View folder" : "Vis mappe", + "Files reminder" : "Filpåmindelse", + "The \"files_reminders\" app can work properly." : "Appen \"files_reminders\" kan fungere korrekt.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Appen \"files_reminders\" skal bruge notifikationsappen for at fungere korrekt. Du bør enten aktivere meddelelser eller deaktivere files_reminder.", + "Set file reminders" : "Sæt filpåmindelser", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Filpåmindelser**\n\nIndstil filpåmindelser.\n\nBemærk: For at bruge appen \"Filpåmindelser\" skal du sikre dig, at appen \"Meddelelser\" er installeret og aktiveret. Appen 'Notifikationer' giver de nødvendige API'er for at appen 'Filpåmindelser' kan fungere korrekt.", + "Set reminder for \"{fileName}\"" : "Indstil påmindelse for \"{fileName}\"", + "Clear reminder" : "Ryd påmindelse", + "Please choose a valid date & time" : "Vælg en gyldig dato & tid", + "Reminder set for \"{fileName}\"" : "Påmindelse indstillet til \"{fileName}\"", + "Failed to set reminder" : "Kunne ikke indstille påmindelsen", + "Reminder cleared for \"{fileName}\"" : "Påmindelsen blev ryddet for \"{fileName}\"", + "Failed to clear reminder" : "Kunne ikke rydde påmindelse", + "We will remind you of this file" : "Vi vil minde dig om denne fil", + "Cancel" : "Annuller", + "Set reminder" : "Sæt påmindelse", + "Reminder set" : "Påmindelse sat", + "Later today" : "Senere i dag", + "Set reminder for later today" : "Sæt påmindelse for senere i dag", + "Tomorrow" : "I morgen", + "Set reminder for tomorrow" : "Sæt påmindelse for i morgen", + "This weekend" : "Denne weekend", + "Set reminder for this weekend" : "Sæt påmindelse for denne weekend", + "Next week" : "Næste uge", + "Set reminder for next week" : "Sæt påmindelse for næste weekend", + "This files_reminder can work properly." : "Denne files_reminder kan fungere korrekt.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Files_reminder-appen skal bruge notifikationsappen for at fungere korrekt. Du bør enten aktivere meddelelser eller deaktivere files_reminder.", + "Set reminder at custom date & time" : "Indstil påmindelse til tilpasset dato og klokkeslæt", + "Set custom reminder" : "Sæt brugerdefineret påmindelse" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/files_reminders/l10n/de.js b/apps/files_reminders/l10n/de.js index 712c590151c..d46b079f3fe 100644 --- a/apps/files_reminders/l10n/de.js +++ b/apps/files_reminders/l10n/de.js @@ -5,19 +5,24 @@ OC.L10N.register( "Reminder for {name}" : "Erinnerung für {name}", "View file" : "Datei anzeigen", "View folder" : "Ordner anzeigen", + "Files reminder" : "Dateierinnerung", + "The \"files_reminders\" app can work properly." : "Die App \"files_reminders\" kann ordnungsgemäß funktionieren.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Die App \"files_reminders“ benötigt die Benachrichtigungs-App, um ordnungsgemäß zu funktionieren. Sie sollten entweder Benachrichtigungen aktivieren oder „files_reminders“ deaktivieren.", "Set file reminders" : "Dateierinnerungen setzen", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Dateierinnerungen**\n\nSetze Dateierinnerungen.", - "We will remind you of this file" : "Du wirst an diese Datei erinnert", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Dateierinnerungen**\n\nDateierinnerungen festlegen.\n\nHinweis: Um die App ``Dateierinnerungen` zu verwenden, stelle sicher, dass die App `Benachrichtigungen` installiert und aktiviert ist. Die App `Benachrichtigungen` bietet die erforderlichen APIs, damit die App `Dateierinnerungen`ordnungsgemäß funktioniert.", + "Set reminder for \"{fileName}\"" : "Erinnerung für \"{fileName}\" setzen", + "Reminder at custom date & time" : "Erinnerung zu benutzerdefiniertem Zeitpunkt und Tag", + "Clear reminder" : "Erinnerung löschen", "Please choose a valid date & time" : "Bitte gültiges Datum und Uhrzeit wählen", + "Reminder set for \"{fileName}\"" : "Erinnerung für \"{fileName}\" gesetzt", + "Failed to set reminder" : "Erinnerung konnte nicht festgelegt werden", + "Reminder cleared for \"{fileName}\"" : "Erinnerung für \"{fileName}\" gelöscht", + "Failed to clear reminder" : "Erinnerung konnte nicht gelöscht werden", + "We will remind you of this file" : "Du wirst an diese Datei erinnert", "Cancel" : "Abbrechen", - "Clear reminder" : "Erinnerung löschen", "Set reminder" : "Erinnerung erstellen", - "Set reminder for \"{fileName}\"" : "Erinnerung für \"{fileName}\" setzen", - "Set reminder at custom date & time" : "Erinnerung für benutzerdefinierten Zeitpunkt und Tag erstellen", - "Reminder set for \"{fileName}\"" : "Erinnerung für \"{filename}\" gesetzt", - "Failed to set reminder" : "Fehler beim Setzen der Erinnerung", - "Failed to clear reminder" : "Fehler beim Löschen der Erinnerung", - "Set custom reminder" : "Benutzerdefinierte Erinnerung erstellen", + "Reminder set" : "Erinnerung gesetzt", + "Custom reminder" : "Benutzerdefinierte Erinnerung", "Later today" : "Später heute", "Set reminder for later today" : "Erinnerung für nachher erstellen", "Tomorrow" : "Morgen", @@ -26,8 +31,9 @@ OC.L10N.register( "Set reminder for this weekend" : "Erinnerung für dieses Wochenende erstellen", "Next week" : "Nächste Woche", "Set reminder for next week" : "Erinnerung für nächste Woche erstellen", - "Back" : "Zurück", - "Reminder cleared" : "Erinnerung gelöscht", - "Failed to load reminder" : "Fehler beim Laden der Erinnerung" + "This files_reminder can work properly." : "Dieser „files_reminder“ funktioniert ordnungsgemäß.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Die App „files_reminder“ benötigt die Benachrichtigungs-App, um ordnungsgemäß zu funktionieren. Sie sollten entweder Benachrichtigungen aktivieren oder „files_reminder“ deaktivieren.", + "Set reminder at custom date & time" : "Erinnerung für benutzerdefinierten Zeitpunkt und Tag erstellen", + "Set custom reminder" : "Benutzerdefinierte Erinnerung erstellen" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_reminders/l10n/de.json b/apps/files_reminders/l10n/de.json index 3f62f6d2f48..2b82a91d296 100644 --- a/apps/files_reminders/l10n/de.json +++ b/apps/files_reminders/l10n/de.json @@ -3,19 +3,24 @@ "Reminder for {name}" : "Erinnerung für {name}", "View file" : "Datei anzeigen", "View folder" : "Ordner anzeigen", + "Files reminder" : "Dateierinnerung", + "The \"files_reminders\" app can work properly." : "Die App \"files_reminders\" kann ordnungsgemäß funktionieren.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Die App \"files_reminders“ benötigt die Benachrichtigungs-App, um ordnungsgemäß zu funktionieren. Sie sollten entweder Benachrichtigungen aktivieren oder „files_reminders“ deaktivieren.", "Set file reminders" : "Dateierinnerungen setzen", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Dateierinnerungen**\n\nSetze Dateierinnerungen.", - "We will remind you of this file" : "Du wirst an diese Datei erinnert", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Dateierinnerungen**\n\nDateierinnerungen festlegen.\n\nHinweis: Um die App ``Dateierinnerungen` zu verwenden, stelle sicher, dass die App `Benachrichtigungen` installiert und aktiviert ist. Die App `Benachrichtigungen` bietet die erforderlichen APIs, damit die App `Dateierinnerungen`ordnungsgemäß funktioniert.", + "Set reminder for \"{fileName}\"" : "Erinnerung für \"{fileName}\" setzen", + "Reminder at custom date & time" : "Erinnerung zu benutzerdefiniertem Zeitpunkt und Tag", + "Clear reminder" : "Erinnerung löschen", "Please choose a valid date & time" : "Bitte gültiges Datum und Uhrzeit wählen", + "Reminder set for \"{fileName}\"" : "Erinnerung für \"{fileName}\" gesetzt", + "Failed to set reminder" : "Erinnerung konnte nicht festgelegt werden", + "Reminder cleared for \"{fileName}\"" : "Erinnerung für \"{fileName}\" gelöscht", + "Failed to clear reminder" : "Erinnerung konnte nicht gelöscht werden", + "We will remind you of this file" : "Du wirst an diese Datei erinnert", "Cancel" : "Abbrechen", - "Clear reminder" : "Erinnerung löschen", "Set reminder" : "Erinnerung erstellen", - "Set reminder for \"{fileName}\"" : "Erinnerung für \"{fileName}\" setzen", - "Set reminder at custom date & time" : "Erinnerung für benutzerdefinierten Zeitpunkt und Tag erstellen", - "Reminder set for \"{fileName}\"" : "Erinnerung für \"{filename}\" gesetzt", - "Failed to set reminder" : "Fehler beim Setzen der Erinnerung", - "Failed to clear reminder" : "Fehler beim Löschen der Erinnerung", - "Set custom reminder" : "Benutzerdefinierte Erinnerung erstellen", + "Reminder set" : "Erinnerung gesetzt", + "Custom reminder" : "Benutzerdefinierte Erinnerung", "Later today" : "Später heute", "Set reminder for later today" : "Erinnerung für nachher erstellen", "Tomorrow" : "Morgen", @@ -24,8 +29,9 @@ "Set reminder for this weekend" : "Erinnerung für dieses Wochenende erstellen", "Next week" : "Nächste Woche", "Set reminder for next week" : "Erinnerung für nächste Woche erstellen", - "Back" : "Zurück", - "Reminder cleared" : "Erinnerung gelöscht", - "Failed to load reminder" : "Fehler beim Laden der Erinnerung" + "This files_reminder can work properly." : "Dieser „files_reminder“ funktioniert ordnungsgemäß.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Die App „files_reminder“ benötigt die Benachrichtigungs-App, um ordnungsgemäß zu funktionieren. Sie sollten entweder Benachrichtigungen aktivieren oder „files_reminder“ deaktivieren.", + "Set reminder at custom date & time" : "Erinnerung für benutzerdefinierten Zeitpunkt und Tag erstellen", + "Set custom reminder" : "Benutzerdefinierte Erinnerung erstellen" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_reminders/l10n/de_DE.js b/apps/files_reminders/l10n/de_DE.js index cb795575d18..2cd6103db1e 100644 --- a/apps/files_reminders/l10n/de_DE.js +++ b/apps/files_reminders/l10n/de_DE.js @@ -5,31 +5,35 @@ OC.L10N.register( "Reminder for {name}" : "Erinnerung für {name}", "View file" : "Datei anzeigen", "View folder" : "Ordner anzeigen", + "Files reminder" : "Dateierinnerung", + "The \"files_reminders\" app can work properly." : "Die App \"files_reminders\" kann ordnungsgemäß funktionieren.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Die App \"files_reminders\" benötigt die Benachrichtigungs-App, um ordnungsgemäß zu funktionieren. Sie sollten entweder Benachrichtigungen aktivieren oder \"files_reminders\" deaktivieren.", "Set file reminders" : "Dateierinnerungen setzen", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Dateierinnerungen**\n\nSetze Dateierinnerungen.", - "We will remind you of this file" : "Sie werden an diese Datei erinnert", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Dateierinnerungen**\n\nDateierinnerungen festlegen.\n\nHinweis: Um die App ``Dateierinnerungen` zu verwenden, stellen Sie sicher, dass die App `Benachrichtigungen` installiert und aktiviert ist. Die App `Benachrichtigungen` bietet die erforderlichen APIs, damit die App `Dateierinnerungen` ordnungsgemäß funktioniert.", + "Set reminder for \"{fileName}\"" : "Erinnerung für \"{fileName}\" setzen", + "Reminder at custom date & time" : "Erinnerung zu benutzerdefiniertem Zeitpunkt und Tag", + "Clear reminder" : "Erinnerung löschen", "Please choose a valid date & time" : "Bitte gültiges Datum und Uhrzeit wählen", + "Reminder set for \"{fileName}\"" : "Erinnerung für \"{fileName}\" gesetzt", + "Failed to set reminder" : "Erinnerung konnte nicht festgelegt werden", + "Reminder cleared for \"{fileName}\"" : "Erinnerung für \"{fileName}\" gelöscht", + "Failed to clear reminder" : "Erinnerung konnte nicht gelöscht werden", + "We will remind you of this file" : "Sie werden an diese Datei erinnert", "Cancel" : "Abbrechen", - "Clear reminder" : "Erinnerung löschen", "Set reminder" : "Erinnerung erstellen", - "Set reminder for \"{fileName}\"" : "Erinnerung für \"{fileName}\" setzen", - "Set reminder at custom date & time" : "Erinnerung für benutzerdefinierten Zeitpunkt und Tag erstellen", - "Reminder set for \"{fileName}\"" : "Erinnerung für \"{filename}\" gesetzt", - "Failed to set reminder" : "Fehler beim Setzen der Erinnerung", - "Reminder cleared for \"{fileName}\"" : "Erinnerung für \"{fileName}\" gelöscht", - "Failed to clear reminder" : "Fehler beim Löschen der Erinnerung", "Reminder set" : "Erinnerung gesetzt", - "Set custom reminder" : "Benutzerdefinierte Erinnerung erstellen", + "Custom reminder" : "Benutzerdefinierte Erinnerung", "Later today" : "Später heute", "Set reminder for later today" : "Erinnerung für später heute erstellen", "Tomorrow" : "Morgen", "Set reminder for tomorrow" : "Erinnerung für morgen erstellen", "This weekend" : "Dieses Wochenende", - "Set reminder for this weekend" : "Erinnerung für kommendes Wochenende erstellen", + "Set reminder for this weekend" : "Erinnerung für diese Wochenende erstellen", "Next week" : "Nächste Woche", "Set reminder for next week" : "Erinnerung für nächste Woche erstellen", - "Back" : "Zurück", - "Reminder cleared" : "Erinnerung gelöscht", - "Failed to load reminder" : "Fehler beim Laden der Erinnerung" + "This files_reminder can work properly." : "Die App \"files_reminders\" kann ordnungsgemäß funktionieren.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Die App \"files_reminders“ benötigt die Benachrichtigungs-App, um ordnungsgemäß zu funktionieren. Sie sollten entweder Benachrichtigungen aktivieren oder „files_reminders“ deaktivieren.", + "Set reminder at custom date & time" : "Erinnerung für benutzerdefinierten Zeitpunkt und Tag erstellen", + "Set custom reminder" : "Benutzerdefinierte Erinnerung erstellen" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_reminders/l10n/de_DE.json b/apps/files_reminders/l10n/de_DE.json index d509ba4bfa1..98d256c97bb 100644 --- a/apps/files_reminders/l10n/de_DE.json +++ b/apps/files_reminders/l10n/de_DE.json @@ -3,31 +3,35 @@ "Reminder for {name}" : "Erinnerung für {name}", "View file" : "Datei anzeigen", "View folder" : "Ordner anzeigen", + "Files reminder" : "Dateierinnerung", + "The \"files_reminders\" app can work properly." : "Die App \"files_reminders\" kann ordnungsgemäß funktionieren.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Die App \"files_reminders\" benötigt die Benachrichtigungs-App, um ordnungsgemäß zu funktionieren. Sie sollten entweder Benachrichtigungen aktivieren oder \"files_reminders\" deaktivieren.", "Set file reminders" : "Dateierinnerungen setzen", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Dateierinnerungen**\n\nSetze Dateierinnerungen.", - "We will remind you of this file" : "Sie werden an diese Datei erinnert", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Dateierinnerungen**\n\nDateierinnerungen festlegen.\n\nHinweis: Um die App ``Dateierinnerungen` zu verwenden, stellen Sie sicher, dass die App `Benachrichtigungen` installiert und aktiviert ist. Die App `Benachrichtigungen` bietet die erforderlichen APIs, damit die App `Dateierinnerungen` ordnungsgemäß funktioniert.", + "Set reminder for \"{fileName}\"" : "Erinnerung für \"{fileName}\" setzen", + "Reminder at custom date & time" : "Erinnerung zu benutzerdefiniertem Zeitpunkt und Tag", + "Clear reminder" : "Erinnerung löschen", "Please choose a valid date & time" : "Bitte gültiges Datum und Uhrzeit wählen", + "Reminder set for \"{fileName}\"" : "Erinnerung für \"{fileName}\" gesetzt", + "Failed to set reminder" : "Erinnerung konnte nicht festgelegt werden", + "Reminder cleared for \"{fileName}\"" : "Erinnerung für \"{fileName}\" gelöscht", + "Failed to clear reminder" : "Erinnerung konnte nicht gelöscht werden", + "We will remind you of this file" : "Sie werden an diese Datei erinnert", "Cancel" : "Abbrechen", - "Clear reminder" : "Erinnerung löschen", "Set reminder" : "Erinnerung erstellen", - "Set reminder for \"{fileName}\"" : "Erinnerung für \"{fileName}\" setzen", - "Set reminder at custom date & time" : "Erinnerung für benutzerdefinierten Zeitpunkt und Tag erstellen", - "Reminder set for \"{fileName}\"" : "Erinnerung für \"{filename}\" gesetzt", - "Failed to set reminder" : "Fehler beim Setzen der Erinnerung", - "Reminder cleared for \"{fileName}\"" : "Erinnerung für \"{fileName}\" gelöscht", - "Failed to clear reminder" : "Fehler beim Löschen der Erinnerung", "Reminder set" : "Erinnerung gesetzt", - "Set custom reminder" : "Benutzerdefinierte Erinnerung erstellen", + "Custom reminder" : "Benutzerdefinierte Erinnerung", "Later today" : "Später heute", "Set reminder for later today" : "Erinnerung für später heute erstellen", "Tomorrow" : "Morgen", "Set reminder for tomorrow" : "Erinnerung für morgen erstellen", "This weekend" : "Dieses Wochenende", - "Set reminder for this weekend" : "Erinnerung für kommendes Wochenende erstellen", + "Set reminder for this weekend" : "Erinnerung für diese Wochenende erstellen", "Next week" : "Nächste Woche", "Set reminder for next week" : "Erinnerung für nächste Woche erstellen", - "Back" : "Zurück", - "Reminder cleared" : "Erinnerung gelöscht", - "Failed to load reminder" : "Fehler beim Laden der Erinnerung" + "This files_reminder can work properly." : "Die App \"files_reminders\" kann ordnungsgemäß funktionieren.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Die App \"files_reminders“ benötigt die Benachrichtigungs-App, um ordnungsgemäß zu funktionieren. Sie sollten entweder Benachrichtigungen aktivieren oder „files_reminders“ deaktivieren.", + "Set reminder at custom date & time" : "Erinnerung für benutzerdefinierten Zeitpunkt und Tag erstellen", + "Set custom reminder" : "Benutzerdefinierte Erinnerung erstellen" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_reminders/l10n/el.js b/apps/files_reminders/l10n/el.js index 8f3cec080bb..4faa92eaf2a 100644 --- a/apps/files_reminders/l10n/el.js +++ b/apps/files_reminders/l10n/el.js @@ -6,16 +6,13 @@ OC.L10N.register( "View file" : "Προβολή αρχείου", "View folder" : "Προβολή φακέλου", "Set file reminders" : "Ορίστε υπενθυμίσεις αρχείων", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Υπενθυμίσεις αρχείων**\n\nΟρίστε υπενθυμίσεις αρχείων.", - "Please choose a valid date & time" : "Επιλέξτε μια έγκυρη ημερομηνία και ώρα", - "Cancel" : "Ακύρωση", "Clear reminder" : "Εκκαθάριση υπενθύμισης", - "Set reminder" : "Προσθήκη υπενθύμισης", - "Set reminder at custom date & time" : "Ορίστε την υπενθύμιση σε προσαρμοσμένη ημερομηνία και ώρα", + "Please choose a valid date & time" : "Επιλέξτε μια έγκυρη ημερομηνία και ώρα", "Reminder set for \"{fileName}\"" : "Ορίστηκε υπενθύμιση για \"{fileName}\"", "Failed to set reminder" : "Αποτυχία ορισμού υπενθύμισης", "Failed to clear reminder" : "Αποτυχία εκκαθάρισης της υπενθύμισης", - "Set custom reminder" : "Ορισμός προσαρμοσμένης υπενθύμισης", + "Cancel" : "Ακύρωση", + "Set reminder" : "Προσθήκη υπενθύμισης", "Later today" : "Αργότερα σήμερα", "Set reminder for later today" : "Ορισμός υπενθύμισης για αργότερα σήμερα", "Tomorrow" : "Αύριο", @@ -24,8 +21,7 @@ OC.L10N.register( "Set reminder for this weekend" : "Ορίστε υπενθύμιση για αυτό το Σαββατοκύριακο", "Next week" : "Επόμενη εβδομάδα", "Set reminder for next week" : "Ορίστε υπενθύμιση για την επόμενη εβδομάδα", - "Back" : "Επιστροφή", - "Reminder cleared" : "Η υπενθύμιση διαγράφηκε", - "Failed to load reminder" : "Η φόρτωση της υπενθύμισης απέτυχε" + "Set reminder at custom date & time" : "Ορίστε την υπενθύμιση σε προσαρμοσμένη ημερομηνία και ώρα", + "Set custom reminder" : "Ορισμός προσαρμοσμένης υπενθύμισης" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_reminders/l10n/el.json b/apps/files_reminders/l10n/el.json index 75b67511007..b4d487abc20 100644 --- a/apps/files_reminders/l10n/el.json +++ b/apps/files_reminders/l10n/el.json @@ -4,16 +4,13 @@ "View file" : "Προβολή αρχείου", "View folder" : "Προβολή φακέλου", "Set file reminders" : "Ορίστε υπενθυμίσεις αρχείων", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Υπενθυμίσεις αρχείων**\n\nΟρίστε υπενθυμίσεις αρχείων.", - "Please choose a valid date & time" : "Επιλέξτε μια έγκυρη ημερομηνία και ώρα", - "Cancel" : "Ακύρωση", "Clear reminder" : "Εκκαθάριση υπενθύμισης", - "Set reminder" : "Προσθήκη υπενθύμισης", - "Set reminder at custom date & time" : "Ορίστε την υπενθύμιση σε προσαρμοσμένη ημερομηνία και ώρα", + "Please choose a valid date & time" : "Επιλέξτε μια έγκυρη ημερομηνία και ώρα", "Reminder set for \"{fileName}\"" : "Ορίστηκε υπενθύμιση για \"{fileName}\"", "Failed to set reminder" : "Αποτυχία ορισμού υπενθύμισης", "Failed to clear reminder" : "Αποτυχία εκκαθάρισης της υπενθύμισης", - "Set custom reminder" : "Ορισμός προσαρμοσμένης υπενθύμισης", + "Cancel" : "Ακύρωση", + "Set reminder" : "Προσθήκη υπενθύμισης", "Later today" : "Αργότερα σήμερα", "Set reminder for later today" : "Ορισμός υπενθύμισης για αργότερα σήμερα", "Tomorrow" : "Αύριο", @@ -22,8 +19,7 @@ "Set reminder for this weekend" : "Ορίστε υπενθύμιση για αυτό το Σαββατοκύριακο", "Next week" : "Επόμενη εβδομάδα", "Set reminder for next week" : "Ορίστε υπενθύμιση για την επόμενη εβδομάδα", - "Back" : "Επιστροφή", - "Reminder cleared" : "Η υπενθύμιση διαγράφηκε", - "Failed to load reminder" : "Η φόρτωση της υπενθύμισης απέτυχε" + "Set reminder at custom date & time" : "Ορίστε την υπενθύμιση σε προσαρμοσμένη ημερομηνία και ώρα", + "Set custom reminder" : "Ορισμός προσαρμοσμένης υπενθύμισης" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_reminders/l10n/en_GB.js b/apps/files_reminders/l10n/en_GB.js index c42e4ad2b69..dff76ce098e 100644 --- a/apps/files_reminders/l10n/en_GB.js +++ b/apps/files_reminders/l10n/en_GB.js @@ -5,21 +5,24 @@ OC.L10N.register( "Reminder for {name}" : "Reminder for {name}", "View file" : "View file", "View folder" : "View folder", + "Files reminder" : "Files reminder", + "The \"files_reminders\" app can work properly." : "The \"files_reminders\" app can work properly.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder.", "Set file reminders" : "Set file reminders", - "**📣 File reminders**\n\nSet file reminders." : "**📣 File reminders**\n\nSet file reminders.", - "We will remind you of this file" : "We will remind you of this file", - "Please choose a valid date & time" : "Please choose a valid date & time", - "Cancel" : "Cancel", - "Clear reminder" : "Clear reminder", - "Set reminder" : "Set reminder", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly.", "Set reminder for \"{fileName}\"" : "Set reminder for \"{fileName}\"", - "Set reminder at custom date & time" : "Set reminder at custom date & time", + "Reminder at custom date & time" : "Reminder at custom date & time", + "Clear reminder" : "Clear reminder", + "Please choose a valid date & time" : "Please choose a valid date & time", "Reminder set for \"{fileName}\"" : "Reminder set for \"{fileName}\"", "Failed to set reminder" : "Failed to set reminder", "Reminder cleared for \"{fileName}\"" : "Reminder cleared for \"{fileName}\"", "Failed to clear reminder" : "Failed to clear reminder", + "We will remind you of this file" : "We will remind you of this file", + "Cancel" : "Cancel", + "Set reminder" : "Set reminder", "Reminder set" : "Reminder set", - "Set custom reminder" : "Set custom reminder", + "Custom reminder" : "Custom reminder", "Later today" : "Later today", "Set reminder for later today" : "Set reminder for later today", "Tomorrow" : "Tomorrow", @@ -28,8 +31,9 @@ OC.L10N.register( "Set reminder for this weekend" : "Set reminder for this weekend", "Next week" : "Next week", "Set reminder for next week" : "Set reminder for next week", - "Back" : "Back", - "Reminder cleared" : "Reminder cleared", - "Failed to load reminder" : "Failed to load reminder" + "This files_reminder can work properly." : "This files_reminder can work properly.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder.", + "Set reminder at custom date & time" : "Set reminder at custom date & time", + "Set custom reminder" : "Set custom reminder" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_reminders/l10n/en_GB.json b/apps/files_reminders/l10n/en_GB.json index 297f926bcdb..1991fb3799a 100644 --- a/apps/files_reminders/l10n/en_GB.json +++ b/apps/files_reminders/l10n/en_GB.json @@ -3,21 +3,24 @@ "Reminder for {name}" : "Reminder for {name}", "View file" : "View file", "View folder" : "View folder", + "Files reminder" : "Files reminder", + "The \"files_reminders\" app can work properly." : "The \"files_reminders\" app can work properly.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder.", "Set file reminders" : "Set file reminders", - "**📣 File reminders**\n\nSet file reminders." : "**📣 File reminders**\n\nSet file reminders.", - "We will remind you of this file" : "We will remind you of this file", - "Please choose a valid date & time" : "Please choose a valid date & time", - "Cancel" : "Cancel", - "Clear reminder" : "Clear reminder", - "Set reminder" : "Set reminder", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly.", "Set reminder for \"{fileName}\"" : "Set reminder for \"{fileName}\"", - "Set reminder at custom date & time" : "Set reminder at custom date & time", + "Reminder at custom date & time" : "Reminder at custom date & time", + "Clear reminder" : "Clear reminder", + "Please choose a valid date & time" : "Please choose a valid date & time", "Reminder set for \"{fileName}\"" : "Reminder set for \"{fileName}\"", "Failed to set reminder" : "Failed to set reminder", "Reminder cleared for \"{fileName}\"" : "Reminder cleared for \"{fileName}\"", "Failed to clear reminder" : "Failed to clear reminder", + "We will remind you of this file" : "We will remind you of this file", + "Cancel" : "Cancel", + "Set reminder" : "Set reminder", "Reminder set" : "Reminder set", - "Set custom reminder" : "Set custom reminder", + "Custom reminder" : "Custom reminder", "Later today" : "Later today", "Set reminder for later today" : "Set reminder for later today", "Tomorrow" : "Tomorrow", @@ -26,8 +29,9 @@ "Set reminder for this weekend" : "Set reminder for this weekend", "Next week" : "Next week", "Set reminder for next week" : "Set reminder for next week", - "Back" : "Back", - "Reminder cleared" : "Reminder cleared", - "Failed to load reminder" : "Failed to load reminder" + "This files_reminder can work properly." : "This files_reminder can work properly.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder.", + "Set reminder at custom date & time" : "Set reminder at custom date & time", + "Set custom reminder" : "Set custom reminder" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_reminders/l10n/es.js b/apps/files_reminders/l10n/es.js index a5ceecd80c0..3161133516a 100644 --- a/apps/files_reminders/l10n/es.js +++ b/apps/files_reminders/l10n/es.js @@ -5,31 +5,35 @@ OC.L10N.register( "Reminder for {name}" : "Recordatorio para {name}", "View file" : "Ver archivo", "View folder" : "Ver carpeta", + "Files reminder" : "Recordatorios de archivo", + "The \"files_reminders\" app can work properly." : "La app \"files_reminders\" puede trabajar de forma apropiada.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "La app \"files_reminders\" requiere la app de notificaciones para trabajar de forma apropiada. Debería o bien habilitar las notificaciones o deshabilitar files_reminder.", "Set file reminders" : "Establecer recordatorios de archivo", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Recordatorios de archivo**\n\nEstablecer recordatorios de archivo.", - "We will remind you of this file" : "Le recordaremos de este archivo", - "Please choose a valid date & time" : "Por favor, escoja una fecha y hora válidas", - "Cancel" : "Cancelar", - "Clear reminder" : "Borrar recordatorio", - "Set reminder" : "Enviar recordatorio", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Recordatorios de archivo**\n\nEstablecer recordatorios de archivo.\n\nNota: para usar la app de `Recordatorios de archivo`, asegúrese de que la app de `Notificaciones` está instalada y habilitada. La app de `Notificaciones` provee las APIs necesarias para que la app de `Recordatorios de archivo` funcione correctamente.", "Set reminder for \"{fileName}\"" : "Establecer recordatorio para \"{fileName}\"", - "Set reminder at custom date & time" : "Establecer recordatorio a una fecha y hora personalizada", + "Reminder at custom date & time" : "Recordatorio en una fecha y hora personalizada", + "Clear reminder" : "Borrar recordatorio", + "Please choose a valid date & time" : "Por favor, escoja una fecha y hora válidas", "Reminder set for \"{fileName}\"" : "Se estableció recordatorio para \"{fileName}\"", - "Failed to set reminder" : "No se pudo configurar el recordatorio", + "Failed to set reminder" : "No se pudo establecer el recordatorio", "Reminder cleared for \"{fileName}\"" : "Se limpió el recordatorio para \"{fileName}\"", - "Failed to clear reminder" : "Fallo al quitar el recordatorio", + "Failed to clear reminder" : "Fallo al borrar el recordatorio", + "We will remind you of this file" : "Le recordaremos de este archivo", + "Cancel" : "Cancelar", + "Set reminder" : "Establecer recordatorio", "Reminder set" : "Recordatorio establecido", - "Set custom reminder" : "Configurar recordatorio personalizado", + "Custom reminder" : "Recordatorio personalizado", "Later today" : "Más tarde hoy", - "Set reminder for later today" : "Configurar recordatorio para hoy, más tarde", + "Set reminder for later today" : "Establecer recordatorio para hoy, más tarde", "Tomorrow" : "Mañana", - "Set reminder for tomorrow" : "Configurar recordatorio para mañana", + "Set reminder for tomorrow" : "Establecer recordatorio para mañana", "This weekend" : "Este fin de semana", - "Set reminder for this weekend" : "Configurar recordatorio para este fin de semana", - "Next week" : "Semana siguiente", - "Set reminder for next week" : "Configurar recordatorio para la semana que viene", - "Back" : "Volver", - "Reminder cleared" : "Se quitó el recordatorio", - "Failed to load reminder" : "Fallo al cargar el recordatorio" + "Set reminder for this weekend" : "Establecer recordatorio para este fin de semana", + "Next week" : "Próxima semana", + "Set reminder for next week" : "Establecer recordatorio para la próxima semana", + "This files_reminder can work properly." : "Este files_reminder puede trabajar de forma apropiada.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "La app \"files_reminders\" requiere la app de notificaciones para trabajar de forma apropiada. Debería o bien habilitar las notificaciones o deshabilitar files_reminder.", + "Set reminder at custom date & time" : "Establecer recordatorio a una fecha y hora personalizada", + "Set custom reminder" : "Establecer recordatorio personalizado" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_reminders/l10n/es.json b/apps/files_reminders/l10n/es.json index 1c6efe024ec..ca3bc8ce1cd 100644 --- a/apps/files_reminders/l10n/es.json +++ b/apps/files_reminders/l10n/es.json @@ -3,31 +3,35 @@ "Reminder for {name}" : "Recordatorio para {name}", "View file" : "Ver archivo", "View folder" : "Ver carpeta", + "Files reminder" : "Recordatorios de archivo", + "The \"files_reminders\" app can work properly." : "La app \"files_reminders\" puede trabajar de forma apropiada.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "La app \"files_reminders\" requiere la app de notificaciones para trabajar de forma apropiada. Debería o bien habilitar las notificaciones o deshabilitar files_reminder.", "Set file reminders" : "Establecer recordatorios de archivo", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Recordatorios de archivo**\n\nEstablecer recordatorios de archivo.", - "We will remind you of this file" : "Le recordaremos de este archivo", - "Please choose a valid date & time" : "Por favor, escoja una fecha y hora válidas", - "Cancel" : "Cancelar", - "Clear reminder" : "Borrar recordatorio", - "Set reminder" : "Enviar recordatorio", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Recordatorios de archivo**\n\nEstablecer recordatorios de archivo.\n\nNota: para usar la app de `Recordatorios de archivo`, asegúrese de que la app de `Notificaciones` está instalada y habilitada. La app de `Notificaciones` provee las APIs necesarias para que la app de `Recordatorios de archivo` funcione correctamente.", "Set reminder for \"{fileName}\"" : "Establecer recordatorio para \"{fileName}\"", - "Set reminder at custom date & time" : "Establecer recordatorio a una fecha y hora personalizada", + "Reminder at custom date & time" : "Recordatorio en una fecha y hora personalizada", + "Clear reminder" : "Borrar recordatorio", + "Please choose a valid date & time" : "Por favor, escoja una fecha y hora válidas", "Reminder set for \"{fileName}\"" : "Se estableció recordatorio para \"{fileName}\"", - "Failed to set reminder" : "No se pudo configurar el recordatorio", + "Failed to set reminder" : "No se pudo establecer el recordatorio", "Reminder cleared for \"{fileName}\"" : "Se limpió el recordatorio para \"{fileName}\"", - "Failed to clear reminder" : "Fallo al quitar el recordatorio", + "Failed to clear reminder" : "Fallo al borrar el recordatorio", + "We will remind you of this file" : "Le recordaremos de este archivo", + "Cancel" : "Cancelar", + "Set reminder" : "Establecer recordatorio", "Reminder set" : "Recordatorio establecido", - "Set custom reminder" : "Configurar recordatorio personalizado", + "Custom reminder" : "Recordatorio personalizado", "Later today" : "Más tarde hoy", - "Set reminder for later today" : "Configurar recordatorio para hoy, más tarde", + "Set reminder for later today" : "Establecer recordatorio para hoy, más tarde", "Tomorrow" : "Mañana", - "Set reminder for tomorrow" : "Configurar recordatorio para mañana", + "Set reminder for tomorrow" : "Establecer recordatorio para mañana", "This weekend" : "Este fin de semana", - "Set reminder for this weekend" : "Configurar recordatorio para este fin de semana", - "Next week" : "Semana siguiente", - "Set reminder for next week" : "Configurar recordatorio para la semana que viene", - "Back" : "Volver", - "Reminder cleared" : "Se quitó el recordatorio", - "Failed to load reminder" : "Fallo al cargar el recordatorio" + "Set reminder for this weekend" : "Establecer recordatorio para este fin de semana", + "Next week" : "Próxima semana", + "Set reminder for next week" : "Establecer recordatorio para la próxima semana", + "This files_reminder can work properly." : "Este files_reminder puede trabajar de forma apropiada.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "La app \"files_reminders\" requiere la app de notificaciones para trabajar de forma apropiada. Debería o bien habilitar las notificaciones o deshabilitar files_reminder.", + "Set reminder at custom date & time" : "Establecer recordatorio a una fecha y hora personalizada", + "Set custom reminder" : "Establecer recordatorio personalizado" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/files_reminders/l10n/et_EE.js b/apps/files_reminders/l10n/et_EE.js new file mode 100644 index 00000000000..93e4be54a08 --- /dev/null +++ b/apps/files_reminders/l10n/et_EE.js @@ -0,0 +1,37 @@ +OC.L10N.register( + "files_reminders", + { + "File reminders" : "Failide ja kaustade meeldetuletused", + "Reminder for {name}" : "Meeldetuletus: „{name}“", + "View file" : "Vaata faili", + "View folder" : "Vaata kausta", + "Files reminder" : "Failide ja kaustade meeldetuletused", + "The \"files_reminders\" app can work properly." : "See Failide meeldetuletaja võib toimida korrektselt.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Failide meeldetuletusrakendus vajab korrektseks toimimiseks teavituste rakenduse olemasolu. Palun lisa vajalik abirakendus või eemalda see rakendus kasutuselt.", + "Set file reminders" : "Meeldetuletuste lisamine failidele ja kaustadele", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Failide meeldetuletused**\n\nLisa failidele ja kaustadele meeldetuletusi.\n\nMärkus: Teavituste rakendus peab olema paigaldatud ja kasutusel, et see Failide meeldetuletuste rakendus saaks korrektselt toimida. Teavituste rakendus tagab selle rakenduse toimimiseks vajalik liideste olemasolu.", + "Set reminder for \"{fileName}\"" : "Lisa meeldetuletus: „{fileName}“", + "Clear reminder" : "Eemalda meeldetuletus", + "Please choose a valid date & time" : "Palun vali korrektne kuupäev ja kellaaeg", + "Reminder set for \"{fileName}\"" : "Meeldetuletus on lisatud: „{fileName}“", + "Failed to set reminder" : "Meeldetuletuse lisamine ei õnnestunud", + "Reminder cleared for \"{fileName}\"" : "Meeldetuletus on eemaldatud: „{fileName}“", + "Failed to clear reminder" : "Meeldetuletuse eemaldamine ei õnnestunud", + "We will remind you of this file" : "Me anname sulle selle faili või kausta osas märku", + "Cancel" : "Tühista", + "Set reminder" : "Lisa meeldetuletus", + "Reminder set" : "Meeldetuletus on lisatud", + "Later today" : "Täna hiljem", + "Set reminder for later today" : "Lisa meeldetuletus tänaseks hilisemaks ajaks", + "Tomorrow" : "Homme", + "Set reminder for tomorrow" : "Lisa meeldetuletus homseks", + "This weekend" : "See nädalavahetus", + "Set reminder for this weekend" : "Lisa meeldetuletus selleks nädalavahetuseks", + "Next week" : "Järgmine nädal", + "Set reminder for next week" : "Lisa meeldetuletus järgmiseks nädalaks", + "This files_reminder can work properly." : "See Failide meeldetuletaja võib toimida korrektselt.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Failide meeldetuletusrakendus vajab korrektseks toimimiseks teavituste rakenduse olemasolu. Palun lisa vajalik abirakendus või eemalda see rakendus kasutuselt.", + "Set reminder at custom date & time" : "Säti meeldetuletus valitud kuupäevaks ja ajaks", + "Set custom reminder" : "Lisa enda valitud meeldetuletus" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_reminders/l10n/et_EE.json b/apps/files_reminders/l10n/et_EE.json new file mode 100644 index 00000000000..bf389a3ab35 --- /dev/null +++ b/apps/files_reminders/l10n/et_EE.json @@ -0,0 +1,35 @@ +{ "translations": { + "File reminders" : "Failide ja kaustade meeldetuletused", + "Reminder for {name}" : "Meeldetuletus: „{name}“", + "View file" : "Vaata faili", + "View folder" : "Vaata kausta", + "Files reminder" : "Failide ja kaustade meeldetuletused", + "The \"files_reminders\" app can work properly." : "See Failide meeldetuletaja võib toimida korrektselt.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Failide meeldetuletusrakendus vajab korrektseks toimimiseks teavituste rakenduse olemasolu. Palun lisa vajalik abirakendus või eemalda see rakendus kasutuselt.", + "Set file reminders" : "Meeldetuletuste lisamine failidele ja kaustadele", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Failide meeldetuletused**\n\nLisa failidele ja kaustadele meeldetuletusi.\n\nMärkus: Teavituste rakendus peab olema paigaldatud ja kasutusel, et see Failide meeldetuletuste rakendus saaks korrektselt toimida. Teavituste rakendus tagab selle rakenduse toimimiseks vajalik liideste olemasolu.", + "Set reminder for \"{fileName}\"" : "Lisa meeldetuletus: „{fileName}“", + "Clear reminder" : "Eemalda meeldetuletus", + "Please choose a valid date & time" : "Palun vali korrektne kuupäev ja kellaaeg", + "Reminder set for \"{fileName}\"" : "Meeldetuletus on lisatud: „{fileName}“", + "Failed to set reminder" : "Meeldetuletuse lisamine ei õnnestunud", + "Reminder cleared for \"{fileName}\"" : "Meeldetuletus on eemaldatud: „{fileName}“", + "Failed to clear reminder" : "Meeldetuletuse eemaldamine ei õnnestunud", + "We will remind you of this file" : "Me anname sulle selle faili või kausta osas märku", + "Cancel" : "Tühista", + "Set reminder" : "Lisa meeldetuletus", + "Reminder set" : "Meeldetuletus on lisatud", + "Later today" : "Täna hiljem", + "Set reminder for later today" : "Lisa meeldetuletus tänaseks hilisemaks ajaks", + "Tomorrow" : "Homme", + "Set reminder for tomorrow" : "Lisa meeldetuletus homseks", + "This weekend" : "See nädalavahetus", + "Set reminder for this weekend" : "Lisa meeldetuletus selleks nädalavahetuseks", + "Next week" : "Järgmine nädal", + "Set reminder for next week" : "Lisa meeldetuletus järgmiseks nädalaks", + "This files_reminder can work properly." : "See Failide meeldetuletaja võib toimida korrektselt.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Failide meeldetuletusrakendus vajab korrektseks toimimiseks teavituste rakenduse olemasolu. Palun lisa vajalik abirakendus või eemalda see rakendus kasutuselt.", + "Set reminder at custom date & time" : "Säti meeldetuletus valitud kuupäevaks ja ajaks", + "Set custom reminder" : "Lisa enda valitud meeldetuletus" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/files_reminders/l10n/eu.js b/apps/files_reminders/l10n/eu.js new file mode 100644 index 00000000000..f138b1e56db --- /dev/null +++ b/apps/files_reminders/l10n/eu.js @@ -0,0 +1,22 @@ +OC.L10N.register( + "files_reminders", + { + "File reminders" : "Fitxategiaren gogorarazpenak", + "View file" : "Ikusi fitxategia", + "View folder" : "Ikusi karpeta", + "Clear reminder" : "Garbitu gogorarazpena", + "Failed to clear reminder" : "Gogorarazpena garbitzeak huts egin du", + "Cancel" : "Utzi", + "Set reminder" : "Ezarri gogorarazpena", + "Reminder set" : "Gogorarazpena ezarrita", + "Later today" : "Beranduago gaur", + "Set reminder for later today" : "Ezarri gogorarazpena gaur beranduagorako", + "Tomorrow" : "Bihar", + "Set reminder for tomorrow" : "Ezarri gogorarazpena biharko", + "This weekend" : "Asteburu hau", + "Set reminder for this weekend" : "Ezarri gogorarazpena asteburu honetarako", + "Next week" : "Hurrengo astea", + "Set reminder for next week" : "Ezarri gogorarazpena hurrengo asterako", + "Set custom reminder" : "Ezarri gogorarazpen pertsonalizatua" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_reminders/l10n/eu.json b/apps/files_reminders/l10n/eu.json new file mode 100644 index 00000000000..56c4c9d02db --- /dev/null +++ b/apps/files_reminders/l10n/eu.json @@ -0,0 +1,20 @@ +{ "translations": { + "File reminders" : "Fitxategiaren gogorarazpenak", + "View file" : "Ikusi fitxategia", + "View folder" : "Ikusi karpeta", + "Clear reminder" : "Garbitu gogorarazpena", + "Failed to clear reminder" : "Gogorarazpena garbitzeak huts egin du", + "Cancel" : "Utzi", + "Set reminder" : "Ezarri gogorarazpena", + "Reminder set" : "Gogorarazpena ezarrita", + "Later today" : "Beranduago gaur", + "Set reminder for later today" : "Ezarri gogorarazpena gaur beranduagorako", + "Tomorrow" : "Bihar", + "Set reminder for tomorrow" : "Ezarri gogorarazpena biharko", + "This weekend" : "Asteburu hau", + "Set reminder for this weekend" : "Ezarri gogorarazpena asteburu honetarako", + "Next week" : "Hurrengo astea", + "Set reminder for next week" : "Ezarri gogorarazpena hurrengo asterako", + "Set custom reminder" : "Ezarri gogorarazpen pertsonalizatua" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/files_reminders/l10n/fi.js b/apps/files_reminders/l10n/fi.js index 91542116edd..0ecb1cead95 100644 --- a/apps/files_reminders/l10n/fi.js +++ b/apps/files_reminders/l10n/fi.js @@ -6,19 +6,16 @@ OC.L10N.register( "View file" : "Näytä tiedosto", "View folder" : "Näytä kansio", "Set file reminders" : "Aseta tiedostomuistutuksia", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Tiedostomuistutukset**\n\nAseta tiedostomuistutuksia.", - "We will remind you of this file" : "Muistutamme sinua tästä tiedostosta", - "Please choose a valid date & time" : "Valitse kelvollinen päivä ja aika", - "Cancel" : "Peruuta", - "Clear reminder" : "Tyhjennä muistutus", - "Set reminder" : "Aseta muistutus", "Set reminder for \"{fileName}\"" : "Muistutus asetettu tiedostolle \"{fileName}\"", - "Set reminder at custom date & time" : "Aseta muistutus mukautetulle päivälle ja ajankohdalle", + "Clear reminder" : "Tyhjennä muistutus", + "Please choose a valid date & time" : "Valitse kelvollinen päivä ja aika", "Reminder set for \"{fileName}\"" : "Muistutus asetettu tiedostolle \"{fileName}\"", "Failed to set reminder" : "Muistutuksen asettaminen epäonnistui", "Failed to clear reminder" : "Muistutuksen tyhjentäminen epäonnistui", + "We will remind you of this file" : "Muistutamme sinua tästä tiedostosta", + "Cancel" : "Peruuta", + "Set reminder" : "Aseta muistutus", "Reminder set" : "Muistutus asetettu", - "Set custom reminder" : "Aseta mukautettu muistutus", "Later today" : "Myöhemmin tänään", "Set reminder for later today" : "Aseta muistutus myöhemmälle ajankohdalle tälle päivälle", "Tomorrow" : "Huomenna", @@ -27,8 +24,7 @@ OC.L10N.register( "Set reminder for this weekend" : "Aseta muistutus tälle viikonlopulle", "Next week" : "Seuraava viikko", "Set reminder for next week" : "Aseta muistutus seuraavalle viikolle", - "Back" : "Takaisin", - "Reminder cleared" : "Muistutus tyhjennetty", - "Failed to load reminder" : "Muistutuksen lataaminen epäonnistui" + "Set reminder at custom date & time" : "Aseta muistutus mukautetulle päivälle ja ajankohdalle", + "Set custom reminder" : "Aseta mukautettu muistutus" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_reminders/l10n/fi.json b/apps/files_reminders/l10n/fi.json index 5c2d60a219a..0a75fa7481d 100644 --- a/apps/files_reminders/l10n/fi.json +++ b/apps/files_reminders/l10n/fi.json @@ -4,19 +4,16 @@ "View file" : "Näytä tiedosto", "View folder" : "Näytä kansio", "Set file reminders" : "Aseta tiedostomuistutuksia", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Tiedostomuistutukset**\n\nAseta tiedostomuistutuksia.", - "We will remind you of this file" : "Muistutamme sinua tästä tiedostosta", - "Please choose a valid date & time" : "Valitse kelvollinen päivä ja aika", - "Cancel" : "Peruuta", - "Clear reminder" : "Tyhjennä muistutus", - "Set reminder" : "Aseta muistutus", "Set reminder for \"{fileName}\"" : "Muistutus asetettu tiedostolle \"{fileName}\"", - "Set reminder at custom date & time" : "Aseta muistutus mukautetulle päivälle ja ajankohdalle", + "Clear reminder" : "Tyhjennä muistutus", + "Please choose a valid date & time" : "Valitse kelvollinen päivä ja aika", "Reminder set for \"{fileName}\"" : "Muistutus asetettu tiedostolle \"{fileName}\"", "Failed to set reminder" : "Muistutuksen asettaminen epäonnistui", "Failed to clear reminder" : "Muistutuksen tyhjentäminen epäonnistui", + "We will remind you of this file" : "Muistutamme sinua tästä tiedostosta", + "Cancel" : "Peruuta", + "Set reminder" : "Aseta muistutus", "Reminder set" : "Muistutus asetettu", - "Set custom reminder" : "Aseta mukautettu muistutus", "Later today" : "Myöhemmin tänään", "Set reminder for later today" : "Aseta muistutus myöhemmälle ajankohdalle tälle päivälle", "Tomorrow" : "Huomenna", @@ -25,8 +22,7 @@ "Set reminder for this weekend" : "Aseta muistutus tälle viikonlopulle", "Next week" : "Seuraava viikko", "Set reminder for next week" : "Aseta muistutus seuraavalle viikolle", - "Back" : "Takaisin", - "Reminder cleared" : "Muistutus tyhjennetty", - "Failed to load reminder" : "Muistutuksen lataaminen epäonnistui" + "Set reminder at custom date & time" : "Aseta muistutus mukautetulle päivälle ja ajankohdalle", + "Set custom reminder" : "Aseta mukautettu muistutus" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_reminders/l10n/fr.js b/apps/files_reminders/l10n/fr.js index 77e408aa5b4..f72db23f822 100644 --- a/apps/files_reminders/l10n/fr.js +++ b/apps/files_reminders/l10n/fr.js @@ -5,21 +5,22 @@ OC.L10N.register( "Reminder for {name}" : "Rappel pour {name}", "View file" : "Voir le fichier", "View folder" : "Voir le dossier", + "Files reminder" : "Rappel des fichiers", + "The \"files_reminders\" app can work properly." : "L'application « files_reminders » peut fonctionner correctement.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "L'application « files_reminders » a besoin de l'application de notifications pour fonctionner correctement. Vous devez activer les notifications ou désactiver « files_reminder ».", "Set file reminders" : "Définir des rappels pour des fichiers", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Rappels de fichiers**\n\nDéfinissez des rappels de fichiers.", - "We will remind you of this file" : "Nous vous rappellerons de ce fichier", - "Please choose a valid date & time" : "Veuillez choisir une date et une heure valables", - "Cancel" : "Annuler", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Rappels de fichiers**\n\nDéfinit des rappels de fichiers.\n\nNote: pour utiliser l'application `Rappels de fichiers`, assurez-vous que l'application `Notifications` est installée et activée. L'application `Notifications` fournit les APIs nécessaires pour que l'application `Rappels de fichiers` fonctionne correctement.", + "Set reminder for \"{fileName}\"" : "Définir un rappel pour « {fileName} »", "Clear reminder" : "Effacer le rappel", - "Set reminder" : "Définir un rappel", - "Set reminder for \"{fileName}\"" : "Définir un rappel pour « {fileName} »", - "Set reminder at custom date & time" : "Définition d'un rappel à une date et une heure personnalisées", + "Please choose a valid date & time" : "Veuillez choisir une date et une heure valables", "Reminder set for \"{fileName}\"" : "Définition d’un rappel pour « {fileName} »", "Failed to set reminder" : "Échec de la définition du rappel", - "Reminder cleared for \"{fileName}\"" : "Rappel effacé pour « {fileName} »", + "Reminder cleared for \"{fileName}\"" : "Rappel effacé pour « {fileName} »", "Failed to clear reminder" : "Échec de l'effacement du rappel", + "We will remind you of this file" : "Nous vous rappellerons de ce fichier", + "Cancel" : "Annuler", + "Set reminder" : "Définir un rappel", "Reminder set" : "Rappel défini", - "Set custom reminder" : "Définir un rappel personnalisé", "Later today" : "Plus tard aujourd'hui", "Set reminder for later today" : "Définir un rappel pour plus tard aujourd'hui", "Tomorrow" : "Demain", @@ -28,8 +29,9 @@ OC.L10N.register( "Set reminder for this weekend" : "Définir un rappel pour ce week-end", "Next week" : "Semaine suivante", "Set reminder for next week" : "Définir un rappel pour la semaine prochaine", - "Back" : "Retour", - "Reminder cleared" : "Rappel effacé", - "Failed to load reminder" : "Échec du chargement du rappel" + "This files_reminder can work properly." : "Ce files_reminder peut fonctionner correctement.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "L'application files_reminder a besoin de l'application de notifications pour fonctionner correctement. Vous devez activer les notifications ou désactiver files_reminder.", + "Set reminder at custom date & time" : "Définition d'un rappel à une date et une heure personnalisées", + "Set custom reminder" : "Définir un rappel personnalisé" }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_reminders/l10n/fr.json b/apps/files_reminders/l10n/fr.json index 59332011f54..d18f411842b 100644 --- a/apps/files_reminders/l10n/fr.json +++ b/apps/files_reminders/l10n/fr.json @@ -3,21 +3,22 @@ "Reminder for {name}" : "Rappel pour {name}", "View file" : "Voir le fichier", "View folder" : "Voir le dossier", + "Files reminder" : "Rappel des fichiers", + "The \"files_reminders\" app can work properly." : "L'application « files_reminders » peut fonctionner correctement.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "L'application « files_reminders » a besoin de l'application de notifications pour fonctionner correctement. Vous devez activer les notifications ou désactiver « files_reminder ».", "Set file reminders" : "Définir des rappels pour des fichiers", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Rappels de fichiers**\n\nDéfinissez des rappels de fichiers.", - "We will remind you of this file" : "Nous vous rappellerons de ce fichier", - "Please choose a valid date & time" : "Veuillez choisir une date et une heure valables", - "Cancel" : "Annuler", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Rappels de fichiers**\n\nDéfinit des rappels de fichiers.\n\nNote: pour utiliser l'application `Rappels de fichiers`, assurez-vous que l'application `Notifications` est installée et activée. L'application `Notifications` fournit les APIs nécessaires pour que l'application `Rappels de fichiers` fonctionne correctement.", + "Set reminder for \"{fileName}\"" : "Définir un rappel pour « {fileName} »", "Clear reminder" : "Effacer le rappel", - "Set reminder" : "Définir un rappel", - "Set reminder for \"{fileName}\"" : "Définir un rappel pour « {fileName} »", - "Set reminder at custom date & time" : "Définition d'un rappel à une date et une heure personnalisées", + "Please choose a valid date & time" : "Veuillez choisir une date et une heure valables", "Reminder set for \"{fileName}\"" : "Définition d’un rappel pour « {fileName} »", "Failed to set reminder" : "Échec de la définition du rappel", - "Reminder cleared for \"{fileName}\"" : "Rappel effacé pour « {fileName} »", + "Reminder cleared for \"{fileName}\"" : "Rappel effacé pour « {fileName} »", "Failed to clear reminder" : "Échec de l'effacement du rappel", + "We will remind you of this file" : "Nous vous rappellerons de ce fichier", + "Cancel" : "Annuler", + "Set reminder" : "Définir un rappel", "Reminder set" : "Rappel défini", - "Set custom reminder" : "Définir un rappel personnalisé", "Later today" : "Plus tard aujourd'hui", "Set reminder for later today" : "Définir un rappel pour plus tard aujourd'hui", "Tomorrow" : "Demain", @@ -26,8 +27,9 @@ "Set reminder for this weekend" : "Définir un rappel pour ce week-end", "Next week" : "Semaine suivante", "Set reminder for next week" : "Définir un rappel pour la semaine prochaine", - "Back" : "Retour", - "Reminder cleared" : "Rappel effacé", - "Failed to load reminder" : "Échec du chargement du rappel" + "This files_reminder can work properly." : "Ce files_reminder peut fonctionner correctement.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "L'application files_reminder a besoin de l'application de notifications pour fonctionner correctement. Vous devez activer les notifications ou désactiver files_reminder.", + "Set reminder at custom date & time" : "Définition d'un rappel à une date et une heure personnalisées", + "Set custom reminder" : "Définir un rappel personnalisé" },"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/files_reminders/l10n/ga.js b/apps/files_reminders/l10n/ga.js new file mode 100644 index 00000000000..2167cd7b864 --- /dev/null +++ b/apps/files_reminders/l10n/ga.js @@ -0,0 +1,37 @@ +OC.L10N.register( + "files_reminders", + { + "File reminders" : "Meabhrúcháin comhaid", + "Reminder for {name}" : "Meabhrúchán do {name}", + "View file" : "Féach ar chomhad", + "View folder" : "Féach ar fhillteán", + "Files reminder" : "Meabhrúchán comhaid", + "The \"files_reminders\" app can work properly." : "Is féidir leis an \"files_reminders\" app oibriú i gceart.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Ní mór don app \"files_reminders\" an app fógra a bheith ag obair i gceart. Ba cheart duit fógraí a chumasú nó comhaid_reminder a dhíchumasú.", + "Set file reminders" : "Socraigh meabhrúcháin comhaid", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Meabhrúcháin comhaid**\n\nSocraigh meabhrúcháin comhaid.\n\nTabhair faoi deara: chun an aip `Meabhrúcháin Comhad` a úsáid, cinntigh go bhfuil an aip `Fógraí` suiteáilte agus cumasaithe. Soláthraíonn an aip `Fógraí` na APInna riachtanacha chun go n-oibreoidh an aip `Meabhrúcháin Comhad` i gceart.", + "Set reminder for \"{fileName}\"" : "Socraigh meabhrúchán do \"{fileName}\"", + "Clear reminder" : "Meabhrúchán soiléir", + "Please choose a valid date & time" : "Roghnaigh dáta agus am bailí le do thoil", + "Reminder set for \"{fileName}\"" : "Meabhrúchán socraithe do \"{fileName}\"", + "Failed to set reminder" : "Theip ar an meabhrúchán a shocrú", + "Reminder cleared for \"{fileName}\"" : "Glanadh an meabhrúchán le haghaidh \"{fileName}\"", + "Failed to clear reminder" : "Theip ar an meabhrúchán a ghlanadh", + "We will remind you of this file" : "Cuirfimid an comhad seo i gcuimhne duit", + "Cancel" : "Cealaigh", + "Set reminder" : "Socraigh meabhrúchán", + "Reminder set" : "Meabhrúchán socraithe", + "Later today" : "Níos déanaí inniu", + "Set reminder for later today" : "Socraigh meabhrúchán le haghaidh níos déanaí inniu", + "Tomorrow" : "Amárach", + "Set reminder for tomorrow" : "Socraigh meabhrúchán don lá amárach", + "This weekend" : "An deireadh seachtaine seo", + "Set reminder for this weekend" : "Socraigh meabhrúchán don deireadh seachtaine seo", + "Next week" : "An tseachtain seo chugainn", + "Set reminder for next week" : "Socraigh meabhrúchán don tseachtain seo chugainn", + "This files_reminder can work properly." : "Is féidir leis an gcomhad_reminder seo oibriú i gceart.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Teastaíonn an aip fógraí ón aip files_reminder chun oibriú i gceart. Ba cheart duit fógraí a chumasú nó comhaid_reminder a dhíchumasú.", + "Set reminder at custom date & time" : "Socraigh meabhrúchán ar dháta agus am saincheaptha", + "Set custom reminder" : "Socraigh meabhrúchán saincheaptha" +}, +"nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);"); diff --git a/apps/files_reminders/l10n/ga.json b/apps/files_reminders/l10n/ga.json new file mode 100644 index 00000000000..a4fe40de857 --- /dev/null +++ b/apps/files_reminders/l10n/ga.json @@ -0,0 +1,35 @@ +{ "translations": { + "File reminders" : "Meabhrúcháin comhaid", + "Reminder for {name}" : "Meabhrúchán do {name}", + "View file" : "Féach ar chomhad", + "View folder" : "Féach ar fhillteán", + "Files reminder" : "Meabhrúchán comhaid", + "The \"files_reminders\" app can work properly." : "Is féidir leis an \"files_reminders\" app oibriú i gceart.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Ní mór don app \"files_reminders\" an app fógra a bheith ag obair i gceart. Ba cheart duit fógraí a chumasú nó comhaid_reminder a dhíchumasú.", + "Set file reminders" : "Socraigh meabhrúcháin comhaid", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Meabhrúcháin comhaid**\n\nSocraigh meabhrúcháin comhaid.\n\nTabhair faoi deara: chun an aip `Meabhrúcháin Comhad` a úsáid, cinntigh go bhfuil an aip `Fógraí` suiteáilte agus cumasaithe. Soláthraíonn an aip `Fógraí` na APInna riachtanacha chun go n-oibreoidh an aip `Meabhrúcháin Comhad` i gceart.", + "Set reminder for \"{fileName}\"" : "Socraigh meabhrúchán do \"{fileName}\"", + "Clear reminder" : "Meabhrúchán soiléir", + "Please choose a valid date & time" : "Roghnaigh dáta agus am bailí le do thoil", + "Reminder set for \"{fileName}\"" : "Meabhrúchán socraithe do \"{fileName}\"", + "Failed to set reminder" : "Theip ar an meabhrúchán a shocrú", + "Reminder cleared for \"{fileName}\"" : "Glanadh an meabhrúchán le haghaidh \"{fileName}\"", + "Failed to clear reminder" : "Theip ar an meabhrúchán a ghlanadh", + "We will remind you of this file" : "Cuirfimid an comhad seo i gcuimhne duit", + "Cancel" : "Cealaigh", + "Set reminder" : "Socraigh meabhrúchán", + "Reminder set" : "Meabhrúchán socraithe", + "Later today" : "Níos déanaí inniu", + "Set reminder for later today" : "Socraigh meabhrúchán le haghaidh níos déanaí inniu", + "Tomorrow" : "Amárach", + "Set reminder for tomorrow" : "Socraigh meabhrúchán don lá amárach", + "This weekend" : "An deireadh seachtaine seo", + "Set reminder for this weekend" : "Socraigh meabhrúchán don deireadh seachtaine seo", + "Next week" : "An tseachtain seo chugainn", + "Set reminder for next week" : "Socraigh meabhrúchán don tseachtain seo chugainn", + "This files_reminder can work properly." : "Is féidir leis an gcomhad_reminder seo oibriú i gceart.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Teastaíonn an aip fógraí ón aip files_reminder chun oibriú i gceart. Ba cheart duit fógraí a chumasú nó comhaid_reminder a dhíchumasú.", + "Set reminder at custom date & time" : "Socraigh meabhrúchán ar dháta agus am saincheaptha", + "Set custom reminder" : "Socraigh meabhrúchán saincheaptha" +},"pluralForm" :"nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);" +}
\ No newline at end of file diff --git a/apps/files_reminders/l10n/gl.js b/apps/files_reminders/l10n/gl.js index 7a53e172caa..6275d8182a5 100644 --- a/apps/files_reminders/l10n/gl.js +++ b/apps/files_reminders/l10n/gl.js @@ -6,18 +6,18 @@ OC.L10N.register( "View file" : "Ver ficheiro", "View folder" : "Ver cartafol", "Set file reminders" : "Definir lembretes de ficheiros", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Lembretes de ficheiros**\n\nDefinir lembretes de ficheiros.", - "We will remind you of this file" : "Lembrarémoslle este ficheiro", - "Please choose a valid date & time" : "Escolla unha data e hora válidas", - "Cancel" : "Cancelar", - "Clear reminder" : "Limpar o lembrete", - "Set reminder" : "Definir un lembrete", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Lembretes de ficheiros**\n\nDefinir lembretes de ficheiros.\n\nNota: para usar a aplicación «Lembretes de ficheiros», asegúrese de que a aplicación «Notificacións» estea instalada e activada. A aplicación «Notificacións» ofrece as API necesarias para que a aplicación «Lembretes de ficheiros» funcione correctamente.", "Set reminder for \"{fileName}\"" : "Definir un lembrete para «{fileName}»", - "Set reminder at custom date & time" : "Definir lembrete na data e hora personalizadas", + "Clear reminder" : "Limpar o lembrete", + "Please choose a valid date & time" : "Escolla unha data e hora válidas", "Reminder set for \"{fileName}\"" : "Lembrete definido para «{fileName}»", "Failed to set reminder" : "Produciuse un fallo ao definir o lembrete", + "Reminder cleared for \"{fileName}\"" : "Limpouse o lembrete para «{fileName}»", "Failed to clear reminder" : "Produciuse un fallo ao limpar o lembrete", - "Set custom reminder" : "Definir un lembrete personalizado", + "We will remind you of this file" : "Lembrarémoslle este ficheiro", + "Cancel" : "Cancelar", + "Set reminder" : "Definir un lembrete", + "Reminder set" : "Definir lembrete", "Later today" : "Hoxe máis tarde", "Set reminder for later today" : "Definir un lembrete para hoxe máis tarde", "Tomorrow" : "Mañá", @@ -26,8 +26,7 @@ OC.L10N.register( "Set reminder for this weekend" : "Definir un lembrete para este fin de semana", "Next week" : "Semana seguinte", "Set reminder for next week" : "Definir un lembrete para a semana seguinte", - "Back" : "Atras", - "Reminder cleared" : "Limpouse o lembrete", - "Failed to load reminder" : "Produciuse un fallo ao cargar o lembrete" + "Set reminder at custom date & time" : "Definir lembrete na data e hora personalizadas", + "Set custom reminder" : "Definir un lembrete personalizado" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_reminders/l10n/gl.json b/apps/files_reminders/l10n/gl.json index 106d9b163d8..678ba6bcca8 100644 --- a/apps/files_reminders/l10n/gl.json +++ b/apps/files_reminders/l10n/gl.json @@ -4,18 +4,18 @@ "View file" : "Ver ficheiro", "View folder" : "Ver cartafol", "Set file reminders" : "Definir lembretes de ficheiros", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Lembretes de ficheiros**\n\nDefinir lembretes de ficheiros.", - "We will remind you of this file" : "Lembrarémoslle este ficheiro", - "Please choose a valid date & time" : "Escolla unha data e hora válidas", - "Cancel" : "Cancelar", - "Clear reminder" : "Limpar o lembrete", - "Set reminder" : "Definir un lembrete", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Lembretes de ficheiros**\n\nDefinir lembretes de ficheiros.\n\nNota: para usar a aplicación «Lembretes de ficheiros», asegúrese de que a aplicación «Notificacións» estea instalada e activada. A aplicación «Notificacións» ofrece as API necesarias para que a aplicación «Lembretes de ficheiros» funcione correctamente.", "Set reminder for \"{fileName}\"" : "Definir un lembrete para «{fileName}»", - "Set reminder at custom date & time" : "Definir lembrete na data e hora personalizadas", + "Clear reminder" : "Limpar o lembrete", + "Please choose a valid date & time" : "Escolla unha data e hora válidas", "Reminder set for \"{fileName}\"" : "Lembrete definido para «{fileName}»", "Failed to set reminder" : "Produciuse un fallo ao definir o lembrete", + "Reminder cleared for \"{fileName}\"" : "Limpouse o lembrete para «{fileName}»", "Failed to clear reminder" : "Produciuse un fallo ao limpar o lembrete", - "Set custom reminder" : "Definir un lembrete personalizado", + "We will remind you of this file" : "Lembrarémoslle este ficheiro", + "Cancel" : "Cancelar", + "Set reminder" : "Definir un lembrete", + "Reminder set" : "Definir lembrete", "Later today" : "Hoxe máis tarde", "Set reminder for later today" : "Definir un lembrete para hoxe máis tarde", "Tomorrow" : "Mañá", @@ -24,8 +24,7 @@ "Set reminder for this weekend" : "Definir un lembrete para este fin de semana", "Next week" : "Semana seguinte", "Set reminder for next week" : "Definir un lembrete para a semana seguinte", - "Back" : "Atras", - "Reminder cleared" : "Limpouse o lembrete", - "Failed to load reminder" : "Produciuse un fallo ao cargar o lembrete" + "Set reminder at custom date & time" : "Definir lembrete na data e hora personalizadas", + "Set custom reminder" : "Definir un lembrete personalizado" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_reminders/l10n/hu.js b/apps/files_reminders/l10n/hu.js index 2c80190fdd0..ff9c901ffae 100644 --- a/apps/files_reminders/l10n/hu.js +++ b/apps/files_reminders/l10n/hu.js @@ -6,16 +6,17 @@ OC.L10N.register( "View file" : "Fájl megtekintése", "View folder" : "Mappa megtekintése", "Set file reminders" : "Fájl emlékeztetők beállítása", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Fájl emlékeztetők**\n\nFájl emlékeztetők beállítása.", - "Please choose a valid date & time" : "Adjon meg egy érvényes dátumot és időt", - "Cancel" : "Mégse", + "Set reminder for \"{fileName}\"" : "Emlékeztető beállítása a következőhöz: „{fileName}”", "Clear reminder" : "Emlékeztető törlése", - "Set reminder" : "Emlékeztető beállítása", - "Set reminder at custom date & time" : "Emlékeztető beállítása tetszőleges időpontra", - "Reminder set for \"{fileName}\"" : "Emlékeztető beállítva a következőhöz: {name}", + "Please choose a valid date & time" : "Adjon meg egy érvényes dátumot és időt", + "Reminder set for \"{fileName}\"" : "Emlékeztető beállítva a következőhöz: {fileName}", "Failed to set reminder" : "Nem sikerült beállítani az emlékeztetőt", + "Reminder cleared for \"{fileName}\"" : "Emlékeztető törlése a következőhöz: „{fileName}”", "Failed to clear reminder" : "Nem sikerült törölni az emlékeztetőt", - "Set custom reminder" : "Egyéni emlékeztető beállítása", + "We will remind you of this file" : "Emlékeztetni fogjuk Önt erre a fájlra", + "Cancel" : "Mégse", + "Set reminder" : "Emlékeztető beállítása", + "Reminder set" : "Emlékeztető beállítása", "Later today" : "Mai nap később", "Set reminder for later today" : "Emlékeztető beállítása a mai napon későbbre", "Tomorrow" : "Holnap", @@ -24,8 +25,7 @@ OC.L10N.register( "Set reminder for this weekend" : "Emlékeztető beállítása erre a hétvégére", "Next week" : "Következő hét", "Set reminder for next week" : "Emlékeztető beállítása a következő hétre", - "Back" : "Vissza", - "Reminder cleared" : "Emlékeztető törölve", - "Failed to load reminder" : "Nem sikerült betölteni az emlékeztetőt" + "Set reminder at custom date & time" : "Emlékeztető beállítása tetszőleges időpontra", + "Set custom reminder" : "Egyéni emlékeztető beállítása" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_reminders/l10n/hu.json b/apps/files_reminders/l10n/hu.json index d77bdac0924..36c4ace533f 100644 --- a/apps/files_reminders/l10n/hu.json +++ b/apps/files_reminders/l10n/hu.json @@ -4,16 +4,17 @@ "View file" : "Fájl megtekintése", "View folder" : "Mappa megtekintése", "Set file reminders" : "Fájl emlékeztetők beállítása", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Fájl emlékeztetők**\n\nFájl emlékeztetők beállítása.", - "Please choose a valid date & time" : "Adjon meg egy érvényes dátumot és időt", - "Cancel" : "Mégse", + "Set reminder for \"{fileName}\"" : "Emlékeztető beállítása a következőhöz: „{fileName}”", "Clear reminder" : "Emlékeztető törlése", - "Set reminder" : "Emlékeztető beállítása", - "Set reminder at custom date & time" : "Emlékeztető beállítása tetszőleges időpontra", - "Reminder set for \"{fileName}\"" : "Emlékeztető beállítva a következőhöz: {name}", + "Please choose a valid date & time" : "Adjon meg egy érvényes dátumot és időt", + "Reminder set for \"{fileName}\"" : "Emlékeztető beállítva a következőhöz: {fileName}", "Failed to set reminder" : "Nem sikerült beállítani az emlékeztetőt", + "Reminder cleared for \"{fileName}\"" : "Emlékeztető törlése a következőhöz: „{fileName}”", "Failed to clear reminder" : "Nem sikerült törölni az emlékeztetőt", - "Set custom reminder" : "Egyéni emlékeztető beállítása", + "We will remind you of this file" : "Emlékeztetni fogjuk Önt erre a fájlra", + "Cancel" : "Mégse", + "Set reminder" : "Emlékeztető beállítása", + "Reminder set" : "Emlékeztető beállítása", "Later today" : "Mai nap később", "Set reminder for later today" : "Emlékeztető beállítása a mai napon későbbre", "Tomorrow" : "Holnap", @@ -22,8 +23,7 @@ "Set reminder for this weekend" : "Emlékeztető beállítása erre a hétvégére", "Next week" : "Következő hét", "Set reminder for next week" : "Emlékeztető beállítása a következő hétre", - "Back" : "Vissza", - "Reminder cleared" : "Emlékeztető törölve", - "Failed to load reminder" : "Nem sikerült betölteni az emlékeztetőt" + "Set reminder at custom date & time" : "Emlékeztető beállítása tetszőleges időpontra", + "Set custom reminder" : "Egyéni emlékeztető beállítása" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_reminders/l10n/it.js b/apps/files_reminders/l10n/it.js new file mode 100644 index 00000000000..c9c3a08142d --- /dev/null +++ b/apps/files_reminders/l10n/it.js @@ -0,0 +1,39 @@ +OC.L10N.register( + "files_reminders", + { + "File reminders" : "Promemoria file", + "Reminder for {name}" : "Promemoria per {name}", + "View file" : "Visualizza file", + "View folder" : "Visualizza cartella", + "Files reminder" : "Files reminder", + "The \"files_reminders\" app can work properly." : "L'app \"files_reminders\" può funzionare correttamente.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "L'app \"files_reminders\" necessita dell'app di notifica per funzionare correttamente. È necessario abilitare le notifiche o disabilitare files_reminder.", + "Set file reminders" : "Imposta promemoria per i file", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 File reminders**I\n\nImposta promemoria file.\n\nNota: per usare l'app `Promemoria file`, assicurati che l'app `Notifiche` sia installata e abilitata. L'app `Notifiche` fornisce le API necessarie per il corretto funzionamento dell'app `File reminders`.", + "Set reminder for \"{fileName}\"" : "Imposta promemoria per \"{fileName}\"", + "Reminder at custom date & time" : "Promemoria a data e ora personalizzate", + "Clear reminder" : "Elimina promemoria", + "Please choose a valid date & time" : "Si prega di scegliere una data valida & ora", + "Reminder set for \"{fileName}\"" : "Promemoria impostato per \"{fileName}\"", + "Failed to set reminder" : "Impossibile impostare il promemoria", + "Reminder cleared for \"{fileName}\"" : "Promemoria cancellato per \"{fileName}\"", + "Failed to clear reminder" : "Impossibile cancellare il promemoria", + "We will remind you of this file" : "Ti ricorderemo questo file", + "Cancel" : "Annulla", + "Set reminder" : "Imposta promemoria", + "Reminder set" : "Promemoria impostato", + "Custom reminder" : "Promemoria personalizzato", + "Later today" : "Più tardi oggi", + "Set reminder for later today" : "Imposta promemoria per più tardi oggi", + "Tomorrow" : "Domani", + "Set reminder for tomorrow" : "Imposta promemoria per domani", + "This weekend" : "Questo fine settimana", + "Set reminder for this weekend" : "Imposta promemoria per questo fine settimana", + "Next week" : "Settimana successiva", + "Set reminder for next week" : "Imposta promemoria per la prossima settimana", + "This files_reminder can work properly." : "Questo file_promemoria può funzionare correttamente.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "L'app files_reminder necessita dell'app notifiche per funzionare correttamente. È necessario abilitare le notifiche o disabilitare files_reminder.", + "Set reminder at custom date & time" : "Imposta promemoria per data personalizzata & ora", + "Set custom reminder" : "Imposta promemoria personalizzato" +}, +"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_reminders/l10n/it.json b/apps/files_reminders/l10n/it.json new file mode 100644 index 00000000000..193ff9393db --- /dev/null +++ b/apps/files_reminders/l10n/it.json @@ -0,0 +1,37 @@ +{ "translations": { + "File reminders" : "Promemoria file", + "Reminder for {name}" : "Promemoria per {name}", + "View file" : "Visualizza file", + "View folder" : "Visualizza cartella", + "Files reminder" : "Files reminder", + "The \"files_reminders\" app can work properly." : "L'app \"files_reminders\" può funzionare correttamente.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "L'app \"files_reminders\" necessita dell'app di notifica per funzionare correttamente. È necessario abilitare le notifiche o disabilitare files_reminder.", + "Set file reminders" : "Imposta promemoria per i file", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 File reminders**I\n\nImposta promemoria file.\n\nNota: per usare l'app `Promemoria file`, assicurati che l'app `Notifiche` sia installata e abilitata. L'app `Notifiche` fornisce le API necessarie per il corretto funzionamento dell'app `File reminders`.", + "Set reminder for \"{fileName}\"" : "Imposta promemoria per \"{fileName}\"", + "Reminder at custom date & time" : "Promemoria a data e ora personalizzate", + "Clear reminder" : "Elimina promemoria", + "Please choose a valid date & time" : "Si prega di scegliere una data valida & ora", + "Reminder set for \"{fileName}\"" : "Promemoria impostato per \"{fileName}\"", + "Failed to set reminder" : "Impossibile impostare il promemoria", + "Reminder cleared for \"{fileName}\"" : "Promemoria cancellato per \"{fileName}\"", + "Failed to clear reminder" : "Impossibile cancellare il promemoria", + "We will remind you of this file" : "Ti ricorderemo questo file", + "Cancel" : "Annulla", + "Set reminder" : "Imposta promemoria", + "Reminder set" : "Promemoria impostato", + "Custom reminder" : "Promemoria personalizzato", + "Later today" : "Più tardi oggi", + "Set reminder for later today" : "Imposta promemoria per più tardi oggi", + "Tomorrow" : "Domani", + "Set reminder for tomorrow" : "Imposta promemoria per domani", + "This weekend" : "Questo fine settimana", + "Set reminder for this weekend" : "Imposta promemoria per questo fine settimana", + "Next week" : "Settimana successiva", + "Set reminder for next week" : "Imposta promemoria per la prossima settimana", + "This files_reminder can work properly." : "Questo file_promemoria può funzionare correttamente.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "L'app files_reminder necessita dell'app notifiche per funzionare correttamente. È necessario abilitare le notifiche o disabilitare files_reminder.", + "Set reminder at custom date & time" : "Imposta promemoria per data personalizzata & ora", + "Set custom reminder" : "Imposta promemoria personalizzato" +},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" +}
\ No newline at end of file diff --git a/apps/files_reminders/l10n/ja.js b/apps/files_reminders/l10n/ja.js new file mode 100644 index 00000000000..8fb3cf19d7c --- /dev/null +++ b/apps/files_reminders/l10n/ja.js @@ -0,0 +1,37 @@ +OC.L10N.register( + "files_reminders", + { + "File reminders" : "ファイル リマインダー", + "Reminder for {name}" : "{name}のリマインダー", + "View file" : "ファイルを表示", + "View folder" : "フォルダーを表示", + "Files reminder" : "ファイル リマインダー", + "The \"files_reminders\" app can work properly." : "\"files_reminders\"アプリは正しく機能します。", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "\"files_reminder\"アプリが正しく動作するには、通知アプリが必要です。通知を有効にするか、files_reminderを無効にしてください。", + "Set file reminders" : "ファイルのリマインダーを設定する", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 File reminders**\n\nファイルのリマインダーを設定します。\n\n注意:`File reminders`アプリを使用するには、`Notifications`アプリがインストールされ、有効になっていることを確認してください。Notifications` アプリは `File reminders` アプリが正しく動作するために必要な API を提供します。", + "Set reminder for \"{fileName}\"" : "\"{fileName}\"のリマインダーを設定", + "Clear reminder" : "リマインダーをクリア", + "Please choose a valid date & time" : "有効な日付と時間を選択してください。", + "Reminder set for \"{fileName}\"" : "\"{fileName}\"のリマインダーを設定しました", + "Failed to set reminder" : "リマインダーの設定に失敗しました", + "Reminder cleared for \"{fileName}\"" : "\"{fileName}\"のリマインダーをクリアしました", + "Failed to clear reminder" : "リマインダーのクリアに失敗しました", + "We will remind you of this file" : "このファイルをリマインドします", + "Cancel" : "キャンセル", + "Set reminder" : "リマインダーを設定", + "Reminder set" : "リマインダーセット", + "Later today" : "今日この後", + "Set reminder for later today" : "今日中にリマインダーを設定する", + "Tomorrow" : "明日", + "Set reminder for tomorrow" : "明日のリマインダーを設定する", + "This weekend" : "この週末", + "Set reminder for this weekend" : "今週末のリマインダーを設定する", + "Next week" : "来週", + "Set reminder for next week" : "来週のリマインダーを設定する", + "This files_reminder can work properly." : "このfiles_reminderは正しく機能します。", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "files_reminderアプリが正しく動作するには、通知アプリが必要です。通知を有効にするか、files_reminderを無効にしてください。", + "Set reminder at custom date & time" : "カスタムした日付と時刻にリマインダーを設定", + "Set custom reminder" : "カスタムリマインダーを設定する" +}, +"nplurals=1; plural=0;"); diff --git a/apps/files_reminders/l10n/ja.json b/apps/files_reminders/l10n/ja.json new file mode 100644 index 00000000000..9bde1978bd2 --- /dev/null +++ b/apps/files_reminders/l10n/ja.json @@ -0,0 +1,35 @@ +{ "translations": { + "File reminders" : "ファイル リマインダー", + "Reminder for {name}" : "{name}のリマインダー", + "View file" : "ファイルを表示", + "View folder" : "フォルダーを表示", + "Files reminder" : "ファイル リマインダー", + "The \"files_reminders\" app can work properly." : "\"files_reminders\"アプリは正しく機能します。", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "\"files_reminder\"アプリが正しく動作するには、通知アプリが必要です。通知を有効にするか、files_reminderを無効にしてください。", + "Set file reminders" : "ファイルのリマインダーを設定する", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 File reminders**\n\nファイルのリマインダーを設定します。\n\n注意:`File reminders`アプリを使用するには、`Notifications`アプリがインストールされ、有効になっていることを確認してください。Notifications` アプリは `File reminders` アプリが正しく動作するために必要な API を提供します。", + "Set reminder for \"{fileName}\"" : "\"{fileName}\"のリマインダーを設定", + "Clear reminder" : "リマインダーをクリア", + "Please choose a valid date & time" : "有効な日付と時間を選択してください。", + "Reminder set for \"{fileName}\"" : "\"{fileName}\"のリマインダーを設定しました", + "Failed to set reminder" : "リマインダーの設定に失敗しました", + "Reminder cleared for \"{fileName}\"" : "\"{fileName}\"のリマインダーをクリアしました", + "Failed to clear reminder" : "リマインダーのクリアに失敗しました", + "We will remind you of this file" : "このファイルをリマインドします", + "Cancel" : "キャンセル", + "Set reminder" : "リマインダーを設定", + "Reminder set" : "リマインダーセット", + "Later today" : "今日この後", + "Set reminder for later today" : "今日中にリマインダーを設定する", + "Tomorrow" : "明日", + "Set reminder for tomorrow" : "明日のリマインダーを設定する", + "This weekend" : "この週末", + "Set reminder for this weekend" : "今週末のリマインダーを設定する", + "Next week" : "来週", + "Set reminder for next week" : "来週のリマインダーを設定する", + "This files_reminder can work properly." : "このfiles_reminderは正しく機能します。", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "files_reminderアプリが正しく動作するには、通知アプリが必要です。通知を有効にするか、files_reminderを無効にしてください。", + "Set reminder at custom date & time" : "カスタムした日付と時刻にリマインダーを設定", + "Set custom reminder" : "カスタムリマインダーを設定する" +},"pluralForm" :"nplurals=1; plural=0;" +}
\ No newline at end of file diff --git a/apps/files_reminders/l10n/ko.js b/apps/files_reminders/l10n/ko.js index ae55baed734..a7efcbaee36 100644 --- a/apps/files_reminders/l10n/ko.js +++ b/apps/files_reminders/l10n/ko.js @@ -6,18 +6,15 @@ OC.L10N.register( "View file" : "파일 보기", "View folder" : "폴더 보기", "Set file reminders" : "파일 알림 설정", - "**📣 File reminders**\n\nSet file reminders." : "**📣 파일 알림**\n\n파일 알림을 설정하세요.", - "We will remind you of this file" : "이 파일에 대해 알림을 드립니다", - "Please choose a valid date & time" : "유효한 날짜와 시간을 지정하십시오", - "Cancel" : "취소", - "Clear reminder" : "알림 초기화", - "Set reminder" : "알림 설정", "Set reminder for \"{fileName}\"" : "\"{fileName}\"에 대한 알림 지정", - "Set reminder at custom date & time" : "알림 날짜와 시간을 직접 지정", + "Clear reminder" : "알림 초기화", + "Please choose a valid date & time" : "유효한 날짜와 시간을 지정하십시오", "Reminder set for \"{fileName}\"" : "\"{fileName}\"에 대한 알림 목록", "Failed to set reminder" : "알림을 설정할 수 없음", "Failed to clear reminder" : "알림을 초기화할 수 없음", - "Set custom reminder" : "사용자 지정 알림 설정", + "We will remind you of this file" : "이 파일에 대해 알림을 드립니다", + "Cancel" : "취소", + "Set reminder" : "알림 설정", "Later today" : "오늘 늦게", "Set reminder for later today" : "알림을 오늘 나중에 설정", "Tomorrow" : "내일", @@ -26,8 +23,7 @@ OC.L10N.register( "Set reminder for this weekend" : "알림을 주말로 설정", "Next week" : "다음주", "Set reminder for next week" : "알림을 다음주로 설정", - "Back" : "뒤로", - "Reminder cleared" : "알림이 초기화됨", - "Failed to load reminder" : "알림을 불러올 수 없음" + "Set reminder at custom date & time" : "알림 날짜와 시간을 직접 지정", + "Set custom reminder" : "사용자 지정 알림 설정" }, "nplurals=1; plural=0;"); diff --git a/apps/files_reminders/l10n/ko.json b/apps/files_reminders/l10n/ko.json index e7402923d5c..f7baea1e655 100644 --- a/apps/files_reminders/l10n/ko.json +++ b/apps/files_reminders/l10n/ko.json @@ -4,18 +4,15 @@ "View file" : "파일 보기", "View folder" : "폴더 보기", "Set file reminders" : "파일 알림 설정", - "**📣 File reminders**\n\nSet file reminders." : "**📣 파일 알림**\n\n파일 알림을 설정하세요.", - "We will remind you of this file" : "이 파일에 대해 알림을 드립니다", - "Please choose a valid date & time" : "유효한 날짜와 시간을 지정하십시오", - "Cancel" : "취소", - "Clear reminder" : "알림 초기화", - "Set reminder" : "알림 설정", "Set reminder for \"{fileName}\"" : "\"{fileName}\"에 대한 알림 지정", - "Set reminder at custom date & time" : "알림 날짜와 시간을 직접 지정", + "Clear reminder" : "알림 초기화", + "Please choose a valid date & time" : "유효한 날짜와 시간을 지정하십시오", "Reminder set for \"{fileName}\"" : "\"{fileName}\"에 대한 알림 목록", "Failed to set reminder" : "알림을 설정할 수 없음", "Failed to clear reminder" : "알림을 초기화할 수 없음", - "Set custom reminder" : "사용자 지정 알림 설정", + "We will remind you of this file" : "이 파일에 대해 알림을 드립니다", + "Cancel" : "취소", + "Set reminder" : "알림 설정", "Later today" : "오늘 늦게", "Set reminder for later today" : "알림을 오늘 나중에 설정", "Tomorrow" : "내일", @@ -24,8 +21,7 @@ "Set reminder for this weekend" : "알림을 주말로 설정", "Next week" : "다음주", "Set reminder for next week" : "알림을 다음주로 설정", - "Back" : "뒤로", - "Reminder cleared" : "알림이 초기화됨", - "Failed to load reminder" : "알림을 불러올 수 없음" + "Set reminder at custom date & time" : "알림 날짜와 시간을 직접 지정", + "Set custom reminder" : "사용자 지정 알림 설정" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_reminders/l10n/lt_LT.js b/apps/files_reminders/l10n/lt_LT.js index adea339506f..69d97b6c96f 100644 --- a/apps/files_reminders/l10n/lt_LT.js +++ b/apps/files_reminders/l10n/lt_LT.js @@ -6,16 +6,17 @@ OC.L10N.register( "View file" : "Rodyti failą", "View folder" : "Rodyti aplanką", "Set file reminders" : "Nustatyti priminimus apie failus", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Priminimai apie failus**\n\nNustatyti priminimus apie failus.", - "Please choose a valid date & time" : "Pasirinkite tinkamą datą ir laiką", - "Cancel" : "Atsisakyti", + "Set reminder for \"{fileName}\"" : "Nustatyti priminimą apie „{fileName}“", "Clear reminder" : "Panaikinti priminimą", - "Set reminder" : "Nustatyti priminimą", - "Set reminder at custom date & time" : "Nustatyti priminimą tinkintą datą ir laiką", + "Please choose a valid date & time" : "Pasirinkite tinkamą datą ir laiką", "Reminder set for \"{fileName}\"" : "Nustatytas priminimas apie „{fileName}“", "Failed to set reminder" : "Nepavyko nustatyti priminimo", + "Reminder cleared for \"{fileName}\"" : "Priminimas apie „{fileName}“ išvalytas", "Failed to clear reminder" : "Nepavyko panaikinti priminimo", - "Set custom reminder" : "Nustatyti tinkintą priminimą", + "We will remind you of this file" : "Jums bus priminta apie šį failą", + "Cancel" : "Atsisakyti", + "Set reminder" : "Nustatyti priminimą", + "Reminder set" : "Priminimas nustatytas", "Later today" : "Šiandien vėliau", "Set reminder for later today" : "Nustatyti priminimą šiandien vėliau", "Tomorrow" : "Rytoj", @@ -24,8 +25,7 @@ OC.L10N.register( "Set reminder for this weekend" : "Nustatyti priminimą šį savaitgalį", "Next week" : "Kitą savaitę", "Set reminder for next week" : "Nustatyti priminimą kitą savaitę", - "Back" : "Atgal", - "Reminder cleared" : "Priminimas panaikintas", - "Failed to load reminder" : "Nepavyko įkelti priminimo" + "Set reminder at custom date & time" : "Nustatyti priminimą tinkintą datą ir laiką", + "Set custom reminder" : "Nustatyti tinkintą priminimą" }, "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/files_reminders/l10n/lt_LT.json b/apps/files_reminders/l10n/lt_LT.json index 8f6360daf7d..912fa2d31b2 100644 --- a/apps/files_reminders/l10n/lt_LT.json +++ b/apps/files_reminders/l10n/lt_LT.json @@ -4,16 +4,17 @@ "View file" : "Rodyti failą", "View folder" : "Rodyti aplanką", "Set file reminders" : "Nustatyti priminimus apie failus", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Priminimai apie failus**\n\nNustatyti priminimus apie failus.", - "Please choose a valid date & time" : "Pasirinkite tinkamą datą ir laiką", - "Cancel" : "Atsisakyti", + "Set reminder for \"{fileName}\"" : "Nustatyti priminimą apie „{fileName}“", "Clear reminder" : "Panaikinti priminimą", - "Set reminder" : "Nustatyti priminimą", - "Set reminder at custom date & time" : "Nustatyti priminimą tinkintą datą ir laiką", + "Please choose a valid date & time" : "Pasirinkite tinkamą datą ir laiką", "Reminder set for \"{fileName}\"" : "Nustatytas priminimas apie „{fileName}“", "Failed to set reminder" : "Nepavyko nustatyti priminimo", + "Reminder cleared for \"{fileName}\"" : "Priminimas apie „{fileName}“ išvalytas", "Failed to clear reminder" : "Nepavyko panaikinti priminimo", - "Set custom reminder" : "Nustatyti tinkintą priminimą", + "We will remind you of this file" : "Jums bus priminta apie šį failą", + "Cancel" : "Atsisakyti", + "Set reminder" : "Nustatyti priminimą", + "Reminder set" : "Priminimas nustatytas", "Later today" : "Šiandien vėliau", "Set reminder for later today" : "Nustatyti priminimą šiandien vėliau", "Tomorrow" : "Rytoj", @@ -22,8 +23,7 @@ "Set reminder for this weekend" : "Nustatyti priminimą šį savaitgalį", "Next week" : "Kitą savaitę", "Set reminder for next week" : "Nustatyti priminimą kitą savaitę", - "Back" : "Atgal", - "Reminder cleared" : "Priminimas panaikintas", - "Failed to load reminder" : "Nepavyko įkelti priminimo" + "Set reminder at custom date & time" : "Nustatyti priminimą tinkintą datą ir laiką", + "Set custom reminder" : "Nustatyti tinkintą priminimą" },"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/files_reminders/l10n/mk.js b/apps/files_reminders/l10n/mk.js index b93e63b715e..d608e3c2781 100644 --- a/apps/files_reminders/l10n/mk.js +++ b/apps/files_reminders/l10n/mk.js @@ -6,17 +6,14 @@ OC.L10N.register( "View file" : "Види датотека", "View folder" : "Види папка", "Set file reminders" : "Постави потсетник на датотека", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Потсетник на датотеки**\n\nПостави потсетник на датотека.", - "Please choose a valid date & time" : "Внесете валиден датум & време", - "Cancel" : "Откажи", - "Clear reminder" : "Острани потсетник", - "Set reminder" : "Постави потсетник", "Set reminder for \"{fileName}\"" : "Постави потсетник за \"{fileName}\"", - "Set reminder at custom date & time" : "Постави потсетник на прилагоден датум & време", + "Clear reminder" : "Острани потсетник", + "Please choose a valid date & time" : "Внесете валиден датум & време", "Reminder set for \"{fileName}\"" : "Поставен потсетник за \"{fileName}\"", "Failed to set reminder" : "Неуспешно поставување на потсетник", "Failed to clear reminder" : "Неуспешно остранување на потсетник", - "Set custom reminder" : "Постави прилагоден потсетник", + "Cancel" : "Откажи", + "Set reminder" : "Постави потсетник", "Later today" : "Денес покасно", "Set reminder for later today" : "Постави потсетник за денес покасно", "Tomorrow" : "Утре", @@ -25,8 +22,7 @@ OC.L10N.register( "Set reminder for this weekend" : "Постави потсетник за овој викенд", "Next week" : "Следна недела", "Set reminder for next week" : "Постави потсетник за наредната недела", - "Back" : "Назад", - "Reminder cleared" : "Потсетникот е остранет", - "Failed to load reminder" : "Неуспешно вчитување на потсетник" + "Set reminder at custom date & time" : "Постави потсетник на прилагоден датум & време", + "Set custom reminder" : "Постави прилагоден потсетник" }, "nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"); diff --git a/apps/files_reminders/l10n/mk.json b/apps/files_reminders/l10n/mk.json index f52f6a747b2..a1403cefe97 100644 --- a/apps/files_reminders/l10n/mk.json +++ b/apps/files_reminders/l10n/mk.json @@ -4,17 +4,14 @@ "View file" : "Види датотека", "View folder" : "Види папка", "Set file reminders" : "Постави потсетник на датотека", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Потсетник на датотеки**\n\nПостави потсетник на датотека.", - "Please choose a valid date & time" : "Внесете валиден датум & време", - "Cancel" : "Откажи", - "Clear reminder" : "Острани потсетник", - "Set reminder" : "Постави потсетник", "Set reminder for \"{fileName}\"" : "Постави потсетник за \"{fileName}\"", - "Set reminder at custom date & time" : "Постави потсетник на прилагоден датум & време", + "Clear reminder" : "Острани потсетник", + "Please choose a valid date & time" : "Внесете валиден датум & време", "Reminder set for \"{fileName}\"" : "Поставен потсетник за \"{fileName}\"", "Failed to set reminder" : "Неуспешно поставување на потсетник", "Failed to clear reminder" : "Неуспешно остранување на потсетник", - "Set custom reminder" : "Постави прилагоден потсетник", + "Cancel" : "Откажи", + "Set reminder" : "Постави потсетник", "Later today" : "Денес покасно", "Set reminder for later today" : "Постави потсетник за денес покасно", "Tomorrow" : "Утре", @@ -23,8 +20,7 @@ "Set reminder for this weekend" : "Постави потсетник за овој викенд", "Next week" : "Следна недела", "Set reminder for next week" : "Постави потсетник за наредната недела", - "Back" : "Назад", - "Reminder cleared" : "Потсетникот е остранет", - "Failed to load reminder" : "Неуспешно вчитување на потсетник" + "Set reminder at custom date & time" : "Постави потсетник на прилагоден датум & време", + "Set custom reminder" : "Постави прилагоден потсетник" },"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;" }
\ No newline at end of file diff --git a/apps/files_reminders/l10n/nb.js b/apps/files_reminders/l10n/nb.js index c549672f4a8..13c42a535d1 100644 --- a/apps/files_reminders/l10n/nb.js +++ b/apps/files_reminders/l10n/nb.js @@ -6,20 +6,17 @@ OC.L10N.register( "View file" : "Vis fil", "View folder" : "Vis mappe", "Set file reminders" : "Angi filpåminnelser", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Filpåminnelser**\n\nAngi filpåminnelser.", - "We will remind you of this file" : "Vi minner deg på denne filen", - "Please choose a valid date & time" : "Vennligst velg en gyldig dato og tid", - "Cancel" : "Avbryt", - "Clear reminder" : "Tydelig påminnelse", - "Set reminder" : "Angi påminnelse", "Set reminder for \"{fileName}\"" : "Angi påminnelse for \"{fileName}\"", - "Set reminder at custom date & time" : "Still inn påminnelse til egendefinert dato og klokkeslett", + "Clear reminder" : "Tydelig påminnelse", + "Please choose a valid date & time" : "Vennligst velg en gyldig dato og tid", "Reminder set for \"{fileName}\"" : "Påminnelse satt for «{fileName}»", "Failed to set reminder" : "Kunne ikke angi påminnelse", "Reminder cleared for \"{fileName}\"" : "Påminnelse slettet for \"{fileName}\"", "Failed to clear reminder" : "Kunne ikke fjerne påminnelsen", + "We will remind you of this file" : "Vi minner deg på denne filen", + "Cancel" : "Avbryt", + "Set reminder" : "Angi påminnelse", "Reminder set" : "Påminnelse angitt", - "Set custom reminder" : "Angi egendefinert påminnelse", "Later today" : "Senere i dag", "Set reminder for later today" : "Sett påminnelse til senere i dag", "Tomorrow" : "I morgen", @@ -28,8 +25,7 @@ OC.L10N.register( "Set reminder for this weekend" : "Sett påminnelse for denne helgen", "Next week" : "Neste uke", "Set reminder for next week" : "Sett påminnelse for neste uke", - "Back" : "Tilbake", - "Reminder cleared" : "Påminnelsen slettet", - "Failed to load reminder" : "Kunne ikke laste inn påminnelsen" + "Set reminder at custom date & time" : "Still inn påminnelse til egendefinert dato og klokkeslett", + "Set custom reminder" : "Angi egendefinert påminnelse" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_reminders/l10n/nb.json b/apps/files_reminders/l10n/nb.json index b8dc3e0396a..b6e7dbae2c8 100644 --- a/apps/files_reminders/l10n/nb.json +++ b/apps/files_reminders/l10n/nb.json @@ -4,20 +4,17 @@ "View file" : "Vis fil", "View folder" : "Vis mappe", "Set file reminders" : "Angi filpåminnelser", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Filpåminnelser**\n\nAngi filpåminnelser.", - "We will remind you of this file" : "Vi minner deg på denne filen", - "Please choose a valid date & time" : "Vennligst velg en gyldig dato og tid", - "Cancel" : "Avbryt", - "Clear reminder" : "Tydelig påminnelse", - "Set reminder" : "Angi påminnelse", "Set reminder for \"{fileName}\"" : "Angi påminnelse for \"{fileName}\"", - "Set reminder at custom date & time" : "Still inn påminnelse til egendefinert dato og klokkeslett", + "Clear reminder" : "Tydelig påminnelse", + "Please choose a valid date & time" : "Vennligst velg en gyldig dato og tid", "Reminder set for \"{fileName}\"" : "Påminnelse satt for «{fileName}»", "Failed to set reminder" : "Kunne ikke angi påminnelse", "Reminder cleared for \"{fileName}\"" : "Påminnelse slettet for \"{fileName}\"", "Failed to clear reminder" : "Kunne ikke fjerne påminnelsen", + "We will remind you of this file" : "Vi minner deg på denne filen", + "Cancel" : "Avbryt", + "Set reminder" : "Angi påminnelse", "Reminder set" : "Påminnelse angitt", - "Set custom reminder" : "Angi egendefinert påminnelse", "Later today" : "Senere i dag", "Set reminder for later today" : "Sett påminnelse til senere i dag", "Tomorrow" : "I morgen", @@ -26,8 +23,7 @@ "Set reminder for this weekend" : "Sett påminnelse for denne helgen", "Next week" : "Neste uke", "Set reminder for next week" : "Sett påminnelse for neste uke", - "Back" : "Tilbake", - "Reminder cleared" : "Påminnelsen slettet", - "Failed to load reminder" : "Kunne ikke laste inn påminnelsen" + "Set reminder at custom date & time" : "Still inn påminnelse til egendefinert dato og klokkeslett", + "Set custom reminder" : "Angi egendefinert påminnelse" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_reminders/l10n/pl.js b/apps/files_reminders/l10n/pl.js index c49e279723c..133c9095016 100644 --- a/apps/files_reminders/l10n/pl.js +++ b/apps/files_reminders/l10n/pl.js @@ -6,18 +6,15 @@ OC.L10N.register( "View file" : "Zobacz plik", "View folder" : "Wyświetl katalog", "Set file reminders" : "Ustaw przypomnienia o plikach", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Przypomnienia o plikach**\n\nUstaw przypomnienia o plikach.", - "We will remind you of this file" : "Przypomnimy Tobie o tym pliku", - "Please choose a valid date & time" : "Wybierz prawidłową datę i godzinę", - "Cancel" : "Anuluj", - "Clear reminder" : "Wyczyść przypomnienie", - "Set reminder" : "Ustaw przypomnienie", "Set reminder for \"{fileName}\"" : "Ustaw przypomnienie dla \"{fileName}\"", - "Set reminder at custom date & time" : "Ustaw przypomnienie o własnej dacie i godzinie", + "Clear reminder" : "Wyczyść przypomnienie", + "Please choose a valid date & time" : "Wybierz prawidłową datę i godzinę", "Reminder set for \"{fileName}\"" : "Przypomnienie ustawione dla \"{fileName}\"", "Failed to set reminder" : "Nie udało się ustawić przypomnienia", "Failed to clear reminder" : "Nie udało się wyczyścić przypomnienia", - "Set custom reminder" : "Ustaw niestandardowe przypomnienie", + "We will remind you of this file" : "Przypomnimy Tobie o tym pliku", + "Cancel" : "Anuluj", + "Set reminder" : "Ustaw przypomnienie", "Later today" : "Później dzisiaj", "Set reminder for later today" : "Ustaw przypomnienie na dzisiaj na późniejszy czas", "Tomorrow" : "Jutro", @@ -26,8 +23,7 @@ OC.L10N.register( "Set reminder for this weekend" : "Ustaw przypomnienie na ten weekend", "Next week" : "Następny tydzień", "Set reminder for next week" : "Ustaw przypomnienie na przyszły tydzień", - "Back" : "Poprzednia", - "Reminder cleared" : "Przypomnienie zostało usunięte", - "Failed to load reminder" : "Nie udało się wczytać przypomnienia" + "Set reminder at custom date & time" : "Ustaw przypomnienie o własnej dacie i godzinie", + "Set custom reminder" : "Ustaw niestandardowe przypomnienie" }, "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/files_reminders/l10n/pl.json b/apps/files_reminders/l10n/pl.json index 3e7d91978fd..1cc94af73b8 100644 --- a/apps/files_reminders/l10n/pl.json +++ b/apps/files_reminders/l10n/pl.json @@ -4,18 +4,15 @@ "View file" : "Zobacz plik", "View folder" : "Wyświetl katalog", "Set file reminders" : "Ustaw przypomnienia o plikach", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Przypomnienia o plikach**\n\nUstaw przypomnienia o plikach.", - "We will remind you of this file" : "Przypomnimy Tobie o tym pliku", - "Please choose a valid date & time" : "Wybierz prawidłową datę i godzinę", - "Cancel" : "Anuluj", - "Clear reminder" : "Wyczyść przypomnienie", - "Set reminder" : "Ustaw przypomnienie", "Set reminder for \"{fileName}\"" : "Ustaw przypomnienie dla \"{fileName}\"", - "Set reminder at custom date & time" : "Ustaw przypomnienie o własnej dacie i godzinie", + "Clear reminder" : "Wyczyść przypomnienie", + "Please choose a valid date & time" : "Wybierz prawidłową datę i godzinę", "Reminder set for \"{fileName}\"" : "Przypomnienie ustawione dla \"{fileName}\"", "Failed to set reminder" : "Nie udało się ustawić przypomnienia", "Failed to clear reminder" : "Nie udało się wyczyścić przypomnienia", - "Set custom reminder" : "Ustaw niestandardowe przypomnienie", + "We will remind you of this file" : "Przypomnimy Tobie o tym pliku", + "Cancel" : "Anuluj", + "Set reminder" : "Ustaw przypomnienie", "Later today" : "Później dzisiaj", "Set reminder for later today" : "Ustaw przypomnienie na dzisiaj na późniejszy czas", "Tomorrow" : "Jutro", @@ -24,8 +21,7 @@ "Set reminder for this weekend" : "Ustaw przypomnienie na ten weekend", "Next week" : "Następny tydzień", "Set reminder for next week" : "Ustaw przypomnienie na przyszły tydzień", - "Back" : "Poprzednia", - "Reminder cleared" : "Przypomnienie zostało usunięte", - "Failed to load reminder" : "Nie udało się wczytać przypomnienia" + "Set reminder at custom date & time" : "Ustaw przypomnienie o własnej dacie i godzinie", + "Set custom reminder" : "Ustaw niestandardowe przypomnienie" },"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/files_reminders/l10n/pt_BR.js b/apps/files_reminders/l10n/pt_BR.js index e90482f775f..3ed3e3e2949 100644 --- a/apps/files_reminders/l10n/pt_BR.js +++ b/apps/files_reminders/l10n/pt_BR.js @@ -1,25 +1,28 @@ OC.L10N.register( "files_reminders", { - "File reminders" : "Lembretes em arquivo.", + "File reminders" : "Lembretes de arquivos", "Reminder for {name}" : "Lembrete para {name}", "View file" : "Ver arquivo", "View folder" : "Ver pasta", - "Set file reminders" : "Define lembrete em arquivo", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Lembrete em Arquivo**\n\nDefine lembrete em arquivo.", - "We will remind you of this file" : "Vamos lembrá-lo deste arquivo", - "Please choose a valid date & time" : "Por favor escolha uma data e hora válida.", - "Cancel" : "Cancelar", - "Clear reminder" : "Limpar lembrete", - "Set reminder" : "Definir lembrete", + "Files reminder" : "Lembrete de arquivos", + "The \"files_reminders\" app can work properly." : "O aplicativo \"files_reminders\" pode funcionar corretamente.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "O aplicativo \"files_reminders\" precisa do aplicativo de notificações para funcionar corretamente. Você deve ativar notificações ou desativar o files_reminder.", + "Set file reminders" : "Defina lembretes de arquivo", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Lembretes de arquivos** \n\nDefina lembretes de arquivos. \n\nObservação: para usar o aplicativo `Lembretes de arquivos`, certifique-se de que o aplicativo `Notificações` esteja instalado e habilitado. O aplicativo `Notificações` fornece as APIs necessárias para que o aplicativo `Lembretes de arquivos` funcione corretamente.", "Set reminder for \"{fileName}\"" : "Definir lembrete para \"{fileName}\"", - "Set reminder at custom date & time" : "Define lembrete em data e hora customizada", + "Reminder at custom date & time" : "Lembrete em data e hora personalizadas", + "Clear reminder" : "Limpar lembrete", + "Please choose a valid date & time" : "Por favor escolha uma data & hora válida.", "Reminder set for \"{fileName}\"" : "Lembrete definido para \"{fileName}\"", "Failed to set reminder" : "Falha ao definir lembrete", - "Reminder cleared for \"{fileName}\"" : "Lembrete limpo para \"{fileName}\"", - "Failed to clear reminder" : "Falha ao limpar lembrete", - "Reminder set" : "Conjunto de lembretes", - "Set custom reminder" : "Definir lembrete personalizado", + "Reminder cleared for \"{fileName}\"" : "Lembrete removido para \"{fileName}\"", + "Failed to clear reminder" : "Falha ao remover lembrete", + "We will remind you of this file" : "Lembraremos você desse arquivo", + "Cancel" : "Cancelar", + "Set reminder" : "Definir lembrete", + "Reminder set" : "Lembrete definido", + "Custom reminder" : "Lembrete personalizado", "Later today" : "Hoje mais tarde", "Set reminder for later today" : "Definir lembrete para hoje mais tarde", "Tomorrow" : "Amanhã", @@ -28,8 +31,9 @@ OC.L10N.register( "Set reminder for this weekend" : "Definir lembrete para este fim de semana", "Next week" : "Próxima semana", "Set reminder for next week" : "Definir lembrete para a próxima semana", - "Back" : "Voltar", - "Reminder cleared" : "Lembrete limpo", - "Failed to load reminder" : "Falha ao carregar lembrete" + "This files_reminder can work properly." : "Este files_reminder pode funcionar corretamente.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "O aplicativo files_reminder precisa do aplicativo de notificações para funcionar corretamente. Você deve ativar notificações ou desativar o files_reminder.", + "Set reminder at custom date & time" : "Definir lembrete em data & hora customizada", + "Set custom reminder" : "Definir lembrete personalizado" }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_reminders/l10n/pt_BR.json b/apps/files_reminders/l10n/pt_BR.json index ce40f7e1e10..e5be7701fae 100644 --- a/apps/files_reminders/l10n/pt_BR.json +++ b/apps/files_reminders/l10n/pt_BR.json @@ -1,23 +1,26 @@ { "translations": { - "File reminders" : "Lembretes em arquivo.", + "File reminders" : "Lembretes de arquivos", "Reminder for {name}" : "Lembrete para {name}", "View file" : "Ver arquivo", "View folder" : "Ver pasta", - "Set file reminders" : "Define lembrete em arquivo", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Lembrete em Arquivo**\n\nDefine lembrete em arquivo.", - "We will remind you of this file" : "Vamos lembrá-lo deste arquivo", - "Please choose a valid date & time" : "Por favor escolha uma data e hora válida.", - "Cancel" : "Cancelar", - "Clear reminder" : "Limpar lembrete", - "Set reminder" : "Definir lembrete", + "Files reminder" : "Lembrete de arquivos", + "The \"files_reminders\" app can work properly." : "O aplicativo \"files_reminders\" pode funcionar corretamente.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "O aplicativo \"files_reminders\" precisa do aplicativo de notificações para funcionar corretamente. Você deve ativar notificações ou desativar o files_reminder.", + "Set file reminders" : "Defina lembretes de arquivo", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Lembretes de arquivos** \n\nDefina lembretes de arquivos. \n\nObservação: para usar o aplicativo `Lembretes de arquivos`, certifique-se de que o aplicativo `Notificações` esteja instalado e habilitado. O aplicativo `Notificações` fornece as APIs necessárias para que o aplicativo `Lembretes de arquivos` funcione corretamente.", "Set reminder for \"{fileName}\"" : "Definir lembrete para \"{fileName}\"", - "Set reminder at custom date & time" : "Define lembrete em data e hora customizada", + "Reminder at custom date & time" : "Lembrete em data e hora personalizadas", + "Clear reminder" : "Limpar lembrete", + "Please choose a valid date & time" : "Por favor escolha uma data & hora válida.", "Reminder set for \"{fileName}\"" : "Lembrete definido para \"{fileName}\"", "Failed to set reminder" : "Falha ao definir lembrete", - "Reminder cleared for \"{fileName}\"" : "Lembrete limpo para \"{fileName}\"", - "Failed to clear reminder" : "Falha ao limpar lembrete", - "Reminder set" : "Conjunto de lembretes", - "Set custom reminder" : "Definir lembrete personalizado", + "Reminder cleared for \"{fileName}\"" : "Lembrete removido para \"{fileName}\"", + "Failed to clear reminder" : "Falha ao remover lembrete", + "We will remind you of this file" : "Lembraremos você desse arquivo", + "Cancel" : "Cancelar", + "Set reminder" : "Definir lembrete", + "Reminder set" : "Lembrete definido", + "Custom reminder" : "Lembrete personalizado", "Later today" : "Hoje mais tarde", "Set reminder for later today" : "Definir lembrete para hoje mais tarde", "Tomorrow" : "Amanhã", @@ -26,8 +29,9 @@ "Set reminder for this weekend" : "Definir lembrete para este fim de semana", "Next week" : "Próxima semana", "Set reminder for next week" : "Definir lembrete para a próxima semana", - "Back" : "Voltar", - "Reminder cleared" : "Lembrete limpo", - "Failed to load reminder" : "Falha ao carregar lembrete" + "This files_reminder can work properly." : "Este files_reminder pode funcionar corretamente.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "O aplicativo files_reminder precisa do aplicativo de notificações para funcionar corretamente. Você deve ativar notificações ou desativar o files_reminder.", + "Set reminder at custom date & time" : "Definir lembrete em data & hora customizada", + "Set custom reminder" : "Definir lembrete personalizado" },"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/files_reminders/l10n/ro.js b/apps/files_reminders/l10n/ro.js index af520b7b860..016c87ca66f 100644 --- a/apps/files_reminders/l10n/ro.js +++ b/apps/files_reminders/l10n/ro.js @@ -6,18 +6,15 @@ OC.L10N.register( "View file" : "Vezi fișierul", "View folder" : "Vezi dosarul", "Set file reminders" : "Setează memo pentru fișier", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Mementouri fișier**\n\nSetează mementorui fișier.", - "We will remind you of this file" : "Vă vom reaminti despre acest fișier", - "Please choose a valid date & time" : "Selectați o dată și o oră valide", - "Cancel" : "Anulare", - "Clear reminder" : "Șterge memento", - "Set reminder" : "Setează memo", "Set reminder for \"{fileName}\"" : "Setează memento pentru \"{fileName}\"", - "Set reminder at custom date & time" : "Setează memento la o dată și oră particulare", + "Clear reminder" : "Șterge memento", + "Please choose a valid date & time" : "Selectați o dată și o oră valide", "Reminder set for \"{fileName}\"" : "Memento setat pentru \"{fileName}\"", "Failed to set reminder" : "Eroare la setarea mementoului", "Failed to clear reminder" : "Eroare la ștergerea mementoului", - "Set custom reminder" : "Setează memento particular", + "We will remind you of this file" : "Vă vom reaminti despre acest fișier", + "Cancel" : "Anulare", + "Set reminder" : "Setează memo", "Later today" : "Mai târziu în cursul zilei", "Set reminder for later today" : "Setează memo pentru azi, mai târziu", "Tomorrow" : "Mâine", @@ -26,8 +23,7 @@ OC.L10N.register( "Set reminder for this weekend" : "Setează memo pentru acest weekend", "Next week" : "Saptămâna următoare", "Set reminder for next week" : "Setează memo pentru săptămâna viitoare", - "Back" : "Înapoi", - "Reminder cleared" : "Mementoul a fost șters", - "Failed to load reminder" : "Eroare la încărcarea mementoului" + "Set reminder at custom date & time" : "Setează memento la o dată și oră particulare", + "Set custom reminder" : "Setează memento particular" }, "nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"); diff --git a/apps/files_reminders/l10n/ro.json b/apps/files_reminders/l10n/ro.json index 28c0d4e19f8..9d0b51fbaa6 100644 --- a/apps/files_reminders/l10n/ro.json +++ b/apps/files_reminders/l10n/ro.json @@ -4,18 +4,15 @@ "View file" : "Vezi fișierul", "View folder" : "Vezi dosarul", "Set file reminders" : "Setează memo pentru fișier", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Mementouri fișier**\n\nSetează mementorui fișier.", - "We will remind you of this file" : "Vă vom reaminti despre acest fișier", - "Please choose a valid date & time" : "Selectați o dată și o oră valide", - "Cancel" : "Anulare", - "Clear reminder" : "Șterge memento", - "Set reminder" : "Setează memo", "Set reminder for \"{fileName}\"" : "Setează memento pentru \"{fileName}\"", - "Set reminder at custom date & time" : "Setează memento la o dată și oră particulare", + "Clear reminder" : "Șterge memento", + "Please choose a valid date & time" : "Selectați o dată și o oră valide", "Reminder set for \"{fileName}\"" : "Memento setat pentru \"{fileName}\"", "Failed to set reminder" : "Eroare la setarea mementoului", "Failed to clear reminder" : "Eroare la ștergerea mementoului", - "Set custom reminder" : "Setează memento particular", + "We will remind you of this file" : "Vă vom reaminti despre acest fișier", + "Cancel" : "Anulare", + "Set reminder" : "Setează memo", "Later today" : "Mai târziu în cursul zilei", "Set reminder for later today" : "Setează memo pentru azi, mai târziu", "Tomorrow" : "Mâine", @@ -24,8 +21,7 @@ "Set reminder for this weekend" : "Setează memo pentru acest weekend", "Next week" : "Saptămâna următoare", "Set reminder for next week" : "Setează memo pentru săptămâna viitoare", - "Back" : "Înapoi", - "Reminder cleared" : "Mementoul a fost șters", - "Failed to load reminder" : "Eroare la încărcarea mementoului" + "Set reminder at custom date & time" : "Setează memento la o dată și oră particulare", + "Set custom reminder" : "Setează memento particular" },"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));" }
\ No newline at end of file diff --git a/apps/files_reminders/l10n/ru.js b/apps/files_reminders/l10n/ru.js index ad1c90a33b1..c2c17dce06c 100644 --- a/apps/files_reminders/l10n/ru.js +++ b/apps/files_reminders/l10n/ru.js @@ -6,16 +6,18 @@ OC.L10N.register( "View file" : "Просмотреть файл", "View folder" : "Просмотреть папку", "Set file reminders" : "Установить напоминания о файлах", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Напоминания о файлах**\n\nУстановить напоминания о файлах.", - "Please choose a valid date & time" : "Пожалуйста, выберите правильную дату и время", - "Cancel" : "Отмена", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣Напоминания о файлах**\n\nУстановите напоминания о файлах.\n\nПримечание: чтобы использовать приложение \"Напоминания о файлах\", убедитесь, что приложение \"Уведомления\" установлено и включено. Приложение \"Уведомления\" предоставляет необходимые API-интерфейсы для правильной работы приложения \"Напоминания о файлах\".", + "Set reminder for \"{fileName}\"" : "Установить напоминание для \"{fileName}\"", "Clear reminder" : "Очистить напоминание", - "Set reminder" : "Установить напоминание", - "Set reminder at custom date & time" : "Установить напоминание на индивидуальную дату и время", + "Please choose a valid date & time" : "Пожалуйста, выберите правильную дату и время", "Reminder set for \"{fileName}\"" : "Напоминание для \"{fileName}\"", "Failed to set reminder" : "Не удалось установить напоминание", + "Reminder cleared for \"{fileName}\"" : "Напоминание очищено для \"{fileName}\"", "Failed to clear reminder" : "Не удалось удалить напоминание", - "Set custom reminder" : "Установить особое напоминание", + "We will remind you of this file" : "Мы напомним вам об этом файле", + "Cancel" : "Отмена", + "Set reminder" : "Установить напоминание", + "Reminder set" : "Установить напоминание", "Later today" : "Позже сегодня", "Set reminder for later today" : "Установить напоминание позднее сегодня", "Tomorrow" : "Завтра", @@ -24,8 +26,7 @@ OC.L10N.register( "Set reminder for this weekend" : "Установить напоминание на эти выходные", "Next week" : "Следующая неделя", "Set reminder for next week" : "Установить напоминание на следующую неделю", - "Back" : "Назад", - "Reminder cleared" : "Напоминание удалено", - "Failed to load reminder" : "Не удалось загрузить напоминание" + "Set reminder at custom date & time" : "Установить напоминание на индивидуальную дату и время", + "Set custom reminder" : "Установить особое напоминание" }, "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/files_reminders/l10n/ru.json b/apps/files_reminders/l10n/ru.json index c1a9f557372..9dab1fd734e 100644 --- a/apps/files_reminders/l10n/ru.json +++ b/apps/files_reminders/l10n/ru.json @@ -4,16 +4,18 @@ "View file" : "Просмотреть файл", "View folder" : "Просмотреть папку", "Set file reminders" : "Установить напоминания о файлах", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Напоминания о файлах**\n\nУстановить напоминания о файлах.", - "Please choose a valid date & time" : "Пожалуйста, выберите правильную дату и время", - "Cancel" : "Отмена", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣Напоминания о файлах**\n\nУстановите напоминания о файлах.\n\nПримечание: чтобы использовать приложение \"Напоминания о файлах\", убедитесь, что приложение \"Уведомления\" установлено и включено. Приложение \"Уведомления\" предоставляет необходимые API-интерфейсы для правильной работы приложения \"Напоминания о файлах\".", + "Set reminder for \"{fileName}\"" : "Установить напоминание для \"{fileName}\"", "Clear reminder" : "Очистить напоминание", - "Set reminder" : "Установить напоминание", - "Set reminder at custom date & time" : "Установить напоминание на индивидуальную дату и время", + "Please choose a valid date & time" : "Пожалуйста, выберите правильную дату и время", "Reminder set for \"{fileName}\"" : "Напоминание для \"{fileName}\"", "Failed to set reminder" : "Не удалось установить напоминание", + "Reminder cleared for \"{fileName}\"" : "Напоминание очищено для \"{fileName}\"", "Failed to clear reminder" : "Не удалось удалить напоминание", - "Set custom reminder" : "Установить особое напоминание", + "We will remind you of this file" : "Мы напомним вам об этом файле", + "Cancel" : "Отмена", + "Set reminder" : "Установить напоминание", + "Reminder set" : "Установить напоминание", "Later today" : "Позже сегодня", "Set reminder for later today" : "Установить напоминание позднее сегодня", "Tomorrow" : "Завтра", @@ -22,8 +24,7 @@ "Set reminder for this weekend" : "Установить напоминание на эти выходные", "Next week" : "Следующая неделя", "Set reminder for next week" : "Установить напоминание на следующую неделю", - "Back" : "Назад", - "Reminder cleared" : "Напоминание удалено", - "Failed to load reminder" : "Не удалось загрузить напоминание" + "Set reminder at custom date & time" : "Установить напоминание на индивидуальную дату и время", + "Set custom reminder" : "Установить особое напоминание" },"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/files_reminders/l10n/sc.js b/apps/files_reminders/l10n/sc.js deleted file mode 100644 index aa73cd86d23..00000000000 --- a/apps/files_reminders/l10n/sc.js +++ /dev/null @@ -1,21 +0,0 @@ -OC.L10N.register( - "files_reminders", - { - "Set file reminders" : "Cunfigura apuntos de archìviu", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Apuntos de archìviu**\n\nCunfigura apuntos de archìviu.", - "Cancel" : "Annulla", - "Set reminder" : "Cunfigura un'apuntu", - "Set reminder for \"{fileName}\"" : "Cunfigura un'apuntu pro \"{fileName}\"", - "Set reminder at custom date & time" : "Cunfigura un'apuntu pro una data e ora ispetzìfica", - "Reminder set for \"{fileName}\"" : "Apuntu cunfiguradu pro \"{fileName}\"", - "Failed to set reminder" : "Errore in sa cunfiguratzione de s'apuntu", - "Set custom reminder" : "Cunfigura un'apuntu personalizadu", - "Set reminder for later today" : "Cunfigura un'apuntu pro luego", - "Tomorrow" : "Cras", - "Set reminder for tomorrow" : "Cunfigura un'apuntu pro cras", - "Set reminder for this weekend" : "Cunfigura un'apuntu pro custu fine de chida", - "Next week" : "Sa chida chi benit", - "Set reminder for next week" : "Cunfigura un'apuntu pro chida chi benit", - "Back" : "In segus" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_reminders/l10n/sc.json b/apps/files_reminders/l10n/sc.json deleted file mode 100644 index 644b1f00357..00000000000 --- a/apps/files_reminders/l10n/sc.json +++ /dev/null @@ -1,19 +0,0 @@ -{ "translations": { - "Set file reminders" : "Cunfigura apuntos de archìviu", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Apuntos de archìviu**\n\nCunfigura apuntos de archìviu.", - "Cancel" : "Annulla", - "Set reminder" : "Cunfigura un'apuntu", - "Set reminder for \"{fileName}\"" : "Cunfigura un'apuntu pro \"{fileName}\"", - "Set reminder at custom date & time" : "Cunfigura un'apuntu pro una data e ora ispetzìfica", - "Reminder set for \"{fileName}\"" : "Apuntu cunfiguradu pro \"{fileName}\"", - "Failed to set reminder" : "Errore in sa cunfiguratzione de s'apuntu", - "Set custom reminder" : "Cunfigura un'apuntu personalizadu", - "Set reminder for later today" : "Cunfigura un'apuntu pro luego", - "Tomorrow" : "Cras", - "Set reminder for tomorrow" : "Cunfigura un'apuntu pro cras", - "Set reminder for this weekend" : "Cunfigura un'apuntu pro custu fine de chida", - "Next week" : "Sa chida chi benit", - "Set reminder for next week" : "Cunfigura un'apuntu pro chida chi benit", - "Back" : "In segus" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/files_reminders/l10n/sk.js b/apps/files_reminders/l10n/sk.js new file mode 100644 index 00000000000..5adaedefa15 --- /dev/null +++ b/apps/files_reminders/l10n/sk.js @@ -0,0 +1,32 @@ +OC.L10N.register( + "files_reminders", + { + "File reminders" : "Pripomienky súborov", + "Reminder for {name}" : "Pripomienka pre {name}", + "View file" : "Zobraziť súbor", + "View folder" : "Zobraziť adresár", + "Set file reminders" : "Nastaviť pripomienky súborov", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Pripomienky súborov**\n\nNastavte pripomienky súborov.\n\nPoznámka: Ak chcete použiť aplikáciu „Pripomienky súborov“, uistite sa, že je nainštalovaná a povolená aplikácia „Upozornenia“. Aplikácia „Upozornenia“ poskytuje potrebné rozhrania API, aby aplikácia „Pripomienky súborov“ fungovala správne.", + "Set reminder for \"{fileName}\"" : "Nastaviť pripomienku pre \"{fileName}\"", + "Clear reminder" : "Vymazať pripomienku", + "Please choose a valid date & time" : "Prosím, vyberte platný dátum a čas", + "Reminder set for \"{fileName}\"" : "Pripomienka nastavená pre \"{fileName}\"", + "Failed to set reminder" : "Nepodarilo sa nastavit pripomienku", + "Reminder cleared for \"{fileName}\"" : "Pripomienka pre \"{fileName}\" bola odstránená", + "Failed to clear reminder" : "Nepodarilo sa odstrániť pripomienku", + "We will remind you of this file" : "Pripomenieme vám tento súbor", + "Cancel" : "Zrušiť", + "Set reminder" : "Nastaviť pripomienku", + "Reminder set" : "Pripomienka bola nastavená", + "Later today" : "Neskôr dnes", + "Set reminder for later today" : "Nastaviť pripomienku na dnes-neskôr.", + "Tomorrow" : "Zajtra", + "Set reminder for tomorrow" : "Nastaviť pripomienku na zajtra", + "This weekend" : "Tento víkend", + "Set reminder for this weekend" : "Nastaviť pripomienku na tento víkend", + "Next week" : "Nasledujúci týždeň", + "Set reminder for next week" : "Nastaviť pripomienku na budúci týždeň", + "Set reminder at custom date & time" : "Nastaviť pripomienku na vlastn dátum a čas", + "Set custom reminder" : "Nastaviť vlastnú pripomienku" +}, +"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/files_reminders/l10n/sk.json b/apps/files_reminders/l10n/sk.json new file mode 100644 index 00000000000..c048fbfc050 --- /dev/null +++ b/apps/files_reminders/l10n/sk.json @@ -0,0 +1,30 @@ +{ "translations": { + "File reminders" : "Pripomienky súborov", + "Reminder for {name}" : "Pripomienka pre {name}", + "View file" : "Zobraziť súbor", + "View folder" : "Zobraziť adresár", + "Set file reminders" : "Nastaviť pripomienky súborov", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Pripomienky súborov**\n\nNastavte pripomienky súborov.\n\nPoznámka: Ak chcete použiť aplikáciu „Pripomienky súborov“, uistite sa, že je nainštalovaná a povolená aplikácia „Upozornenia“. Aplikácia „Upozornenia“ poskytuje potrebné rozhrania API, aby aplikácia „Pripomienky súborov“ fungovala správne.", + "Set reminder for \"{fileName}\"" : "Nastaviť pripomienku pre \"{fileName}\"", + "Clear reminder" : "Vymazať pripomienku", + "Please choose a valid date & time" : "Prosím, vyberte platný dátum a čas", + "Reminder set for \"{fileName}\"" : "Pripomienka nastavená pre \"{fileName}\"", + "Failed to set reminder" : "Nepodarilo sa nastavit pripomienku", + "Reminder cleared for \"{fileName}\"" : "Pripomienka pre \"{fileName}\" bola odstránená", + "Failed to clear reminder" : "Nepodarilo sa odstrániť pripomienku", + "We will remind you of this file" : "Pripomenieme vám tento súbor", + "Cancel" : "Zrušiť", + "Set reminder" : "Nastaviť pripomienku", + "Reminder set" : "Pripomienka bola nastavená", + "Later today" : "Neskôr dnes", + "Set reminder for later today" : "Nastaviť pripomienku na dnes-neskôr.", + "Tomorrow" : "Zajtra", + "Set reminder for tomorrow" : "Nastaviť pripomienku na zajtra", + "This weekend" : "Tento víkend", + "Set reminder for this weekend" : "Nastaviť pripomienku na tento víkend", + "Next week" : "Nasledujúci týždeň", + "Set reminder for next week" : "Nastaviť pripomienku na budúci týždeň", + "Set reminder at custom date & time" : "Nastaviť pripomienku na vlastn dátum a čas", + "Set custom reminder" : "Nastaviť vlastnú pripomienku" +},"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/files_reminders/l10n/sr.js b/apps/files_reminders/l10n/sr.js index e72880c8e2e..bbf5bbb77d0 100644 --- a/apps/files_reminders/l10n/sr.js +++ b/apps/files_reminders/l10n/sr.js @@ -5,21 +5,22 @@ OC.L10N.register( "Reminder for {name}" : "Подсетник за {name}", "View file" : "Погледај фајл", "View folder" : "Погледај фолдер", + "Files reminder" : "Подсетник фајлова", + "The \"files_reminders\" app can work properly." : "Апликација „files_reminder може да ради како треба.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Да би „files_reminder” апликација радила како треба, потребна је апликација обавештења. Требало би или да укључите обавештења, или да искључите files_reminder.", "Set file reminders" : "Постави подсетнике о фајлу", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Подсетници о фајлу**\n\nПостављање подсетника о фајлу.", - "We will remind you of this file" : "Подсетићемо вас на овај фајл", - "Please choose a valid date & time" : "Молимо вас да изаберете исправни датум и време", - "Cancel" : "Откажи", - "Clear reminder" : "Обриши подсетник", - "Set reminder" : "Постави подсетник", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Фајл подсетници**\n\nПоставите фајл подсетнике.\n\nНапомена: ако желите да користите апликацију `Фајл подсетници`, обезбедите да је инсталирана и укључена апликација `Обавештења`. Апликација `Обавештења` обезбеђује неопходне API-је уз чију помоћ апликација `Фајл подестници` функционише како треба.", "Set reminder for \"{fileName}\"" : "Постави подсетник за „{fileName}”", - "Set reminder at custom date & time" : "Постави подсетник за произвољни датум и време", + "Clear reminder" : "Обриши подсетник", + "Please choose a valid date & time" : "Молимо вас да изаберете исправни датум и време", "Reminder set for \"{fileName}\"" : "Подсетник је постављен за „{fileName}”", "Failed to set reminder" : "Није успело постављање подсетника", "Reminder cleared for \"{fileName}\"" : "Уклоњен је подсетник за „{fileName}”", "Failed to clear reminder" : "Није успело брисање подсетника", + "We will remind you of this file" : "Подсетићемо вас на овај фајл", + "Cancel" : "Откажи", + "Set reminder" : "Постави подсетник", "Reminder set" : "Подсетник је постављен", - "Set custom reminder" : "Постави произвољни подсетник", "Later today" : "Касније данас", "Set reminder for later today" : "Поставља подсетник за касније данас", "Tomorrow" : "Сутра", @@ -28,8 +29,9 @@ OC.L10N.register( "Set reminder for this weekend" : "Поставља подсетник за овај викенд", "Next week" : "Наредне недеље", "Set reminder for next week" : "Поставља подсетник за наредну недељу", - "Back" : "Назад", - "Reminder cleared" : "Подсетник је обрисан", - "Failed to load reminder" : "Није успело учитавање подсетника" + "This files_reminder can work properly." : "Овај files_reminder може да ради како треба.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Да би files_reminder апликација радила како треба, потребна је апликација обавештења. Требало би или да укључите обавештења, или да искључите files_reminder.", + "Set reminder at custom date & time" : "Постави подсетник на произвољни датум и време", + "Set custom reminder" : "Постави произвољни подсетник" }, "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/files_reminders/l10n/sr.json b/apps/files_reminders/l10n/sr.json index 837e4e73020..edc15226645 100644 --- a/apps/files_reminders/l10n/sr.json +++ b/apps/files_reminders/l10n/sr.json @@ -3,21 +3,22 @@ "Reminder for {name}" : "Подсетник за {name}", "View file" : "Погледај фајл", "View folder" : "Погледај фолдер", + "Files reminder" : "Подсетник фајлова", + "The \"files_reminders\" app can work properly." : "Апликација „files_reminder може да ради како треба.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Да би „files_reminder” апликација радила како треба, потребна је апликација обавештења. Требало би или да укључите обавештења, или да искључите files_reminder.", "Set file reminders" : "Постави подсетнике о фајлу", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Подсетници о фајлу**\n\nПостављање подсетника о фајлу.", - "We will remind you of this file" : "Подсетићемо вас на овај фајл", - "Please choose a valid date & time" : "Молимо вас да изаберете исправни датум и време", - "Cancel" : "Откажи", - "Clear reminder" : "Обриши подсетник", - "Set reminder" : "Постави подсетник", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Фајл подсетници**\n\nПоставите фајл подсетнике.\n\nНапомена: ако желите да користите апликацију `Фајл подсетници`, обезбедите да је инсталирана и укључена апликација `Обавештења`. Апликација `Обавештења` обезбеђује неопходне API-је уз чију помоћ апликација `Фајл подестници` функционише како треба.", "Set reminder for \"{fileName}\"" : "Постави подсетник за „{fileName}”", - "Set reminder at custom date & time" : "Постави подсетник за произвољни датум и време", + "Clear reminder" : "Обриши подсетник", + "Please choose a valid date & time" : "Молимо вас да изаберете исправни датум и време", "Reminder set for \"{fileName}\"" : "Подсетник је постављен за „{fileName}”", "Failed to set reminder" : "Није успело постављање подсетника", "Reminder cleared for \"{fileName}\"" : "Уклоњен је подсетник за „{fileName}”", "Failed to clear reminder" : "Није успело брисање подсетника", + "We will remind you of this file" : "Подсетићемо вас на овај фајл", + "Cancel" : "Откажи", + "Set reminder" : "Постави подсетник", "Reminder set" : "Подсетник је постављен", - "Set custom reminder" : "Постави произвољни подсетник", "Later today" : "Касније данас", "Set reminder for later today" : "Поставља подсетник за касније данас", "Tomorrow" : "Сутра", @@ -26,8 +27,9 @@ "Set reminder for this weekend" : "Поставља подсетник за овај викенд", "Next week" : "Наредне недеље", "Set reminder for next week" : "Поставља подсетник за наредну недељу", - "Back" : "Назад", - "Reminder cleared" : "Подсетник је обрисан", - "Failed to load reminder" : "Није успело учитавање подсетника" + "This files_reminder can work properly." : "Овај files_reminder може да ради како треба.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Да би files_reminder апликација радила како треба, потребна је апликација обавештења. Требало би или да укључите обавештења, или да искључите files_reminder.", + "Set reminder at custom date & time" : "Постави подсетник на произвољни датум и време", + "Set custom reminder" : "Постави произвољни подсетник" },"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/files_reminders/l10n/sv.js b/apps/files_reminders/l10n/sv.js index c7cf498686c..c23bf99a29e 100644 --- a/apps/files_reminders/l10n/sv.js +++ b/apps/files_reminders/l10n/sv.js @@ -5,21 +5,22 @@ OC.L10N.register( "Reminder for {name}" : "Påminnelse för {name}", "View file" : "Visa fil", "View folder" : "Visa mapp", + "Files reminder" : "Filpåminnelse", + "The \"files_reminders\" app can work properly." : "\"files_reminders\" appen kan fungera korrekt.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Appen \"files_reminders\" behöver notification appen för att fungera korrekt. Du bör antingen aktivera aviseringar eller inaktivera files_reminder.", "Set file reminders" : "Ställ in filpåminnelser", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Filpåminnelser**\n\nStäll in filpåminnelser.", - "We will remind you of this file" : "Vi kommer att påminna dig om denna fil", - "Please choose a valid date & time" : "Välj ett giltigt datum och tid", - "Cancel" : "Avbryt", - "Clear reminder" : "Rensa påminnelse", - "Set reminder" : "Ställ in påminnelse", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Filpåminnelser**\n\nStäll in påminnelser för filer.\n\nObs: För att använda appen `Filpåminnelser` måste du se till att appen `Aviseringar` är installerad och aktiverad. Appen `Aviseringar` tillhandahåller de nödvändiga API:erna för att appen `File reminders` ska fungera korrekt.", "Set reminder for \"{fileName}\"" : "Ställ in påminnelse för \"{fileName}\"", - "Set reminder at custom date & time" : "Ställ in påminnelse vid anpassat datum och tid", + "Clear reminder" : "Rensa påminnelse", + "Please choose a valid date & time" : "Välj ett giltigt datum och tid", "Reminder set for \"{fileName}\"" : "Påminnelse inställd för \"{fileName}\"", "Failed to set reminder" : "Kunde inte ställa in påminnelsen", "Reminder cleared for \"{fileName}\"" : "Påminnelse borttagen för \"{fileName}\"", "Failed to clear reminder" : "Kunde inte rensa påminnelsen", + "We will remind you of this file" : "Vi kommer att påminna dig om denna fil", + "Cancel" : "Avbryt", + "Set reminder" : "Ställ in påminnelse", "Reminder set" : "Påminnelse inställd", - "Set custom reminder" : "Ställ in anpassad påminnelse", "Later today" : "Senare idag", "Set reminder for later today" : "Ställ in påminnelse för senare idag", "Tomorrow" : "I morgon", @@ -28,8 +29,9 @@ OC.L10N.register( "Set reminder for this weekend" : "Ställ in påminnelse för denna helg", "Next week" : "Nästa vecka", "Set reminder for next week" : "Ställ in påminnelse för nästa vecka", - "Back" : "Tillbaka", - "Reminder cleared" : "Påminnelsen rensad", - "Failed to load reminder" : "Kunde inte läsa in påminnelsen" + "This files_reminder can work properly." : "Den här filpåminnelsen kan fungera korrekt.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Appen files_reminder behöver notification appen för att fungera korrekt. Du bör antingen aktivera aviseringar eller inaktivera files_reminder.", + "Set reminder at custom date & time" : "Ställ in påminnelse vid anpassat datum och tid", + "Set custom reminder" : "Ställ in anpassad påminnelse" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_reminders/l10n/sv.json b/apps/files_reminders/l10n/sv.json index 3a9ae7fbefd..e4d4859d283 100644 --- a/apps/files_reminders/l10n/sv.json +++ b/apps/files_reminders/l10n/sv.json @@ -3,21 +3,22 @@ "Reminder for {name}" : "Påminnelse för {name}", "View file" : "Visa fil", "View folder" : "Visa mapp", + "Files reminder" : "Filpåminnelse", + "The \"files_reminders\" app can work properly." : "\"files_reminders\" appen kan fungera korrekt.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Appen \"files_reminders\" behöver notification appen för att fungera korrekt. Du bör antingen aktivera aviseringar eller inaktivera files_reminder.", "Set file reminders" : "Ställ in filpåminnelser", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Filpåminnelser**\n\nStäll in filpåminnelser.", - "We will remind you of this file" : "Vi kommer att påminna dig om denna fil", - "Please choose a valid date & time" : "Välj ett giltigt datum och tid", - "Cancel" : "Avbryt", - "Clear reminder" : "Rensa påminnelse", - "Set reminder" : "Ställ in påminnelse", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Filpåminnelser**\n\nStäll in påminnelser för filer.\n\nObs: För att använda appen `Filpåminnelser` måste du se till att appen `Aviseringar` är installerad och aktiverad. Appen `Aviseringar` tillhandahåller de nödvändiga API:erna för att appen `File reminders` ska fungera korrekt.", "Set reminder for \"{fileName}\"" : "Ställ in påminnelse för \"{fileName}\"", - "Set reminder at custom date & time" : "Ställ in påminnelse vid anpassat datum och tid", + "Clear reminder" : "Rensa påminnelse", + "Please choose a valid date & time" : "Välj ett giltigt datum och tid", "Reminder set for \"{fileName}\"" : "Påminnelse inställd för \"{fileName}\"", "Failed to set reminder" : "Kunde inte ställa in påminnelsen", "Reminder cleared for \"{fileName}\"" : "Påminnelse borttagen för \"{fileName}\"", "Failed to clear reminder" : "Kunde inte rensa påminnelsen", + "We will remind you of this file" : "Vi kommer att påminna dig om denna fil", + "Cancel" : "Avbryt", + "Set reminder" : "Ställ in påminnelse", "Reminder set" : "Påminnelse inställd", - "Set custom reminder" : "Ställ in anpassad påminnelse", "Later today" : "Senare idag", "Set reminder for later today" : "Ställ in påminnelse för senare idag", "Tomorrow" : "I morgon", @@ -26,8 +27,9 @@ "Set reminder for this weekend" : "Ställ in påminnelse för denna helg", "Next week" : "Nästa vecka", "Set reminder for next week" : "Ställ in påminnelse för nästa vecka", - "Back" : "Tillbaka", - "Reminder cleared" : "Påminnelsen rensad", - "Failed to load reminder" : "Kunde inte läsa in påminnelsen" + "This files_reminder can work properly." : "Den här filpåminnelsen kan fungera korrekt.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Appen files_reminder behöver notification appen för att fungera korrekt. Du bör antingen aktivera aviseringar eller inaktivera files_reminder.", + "Set reminder at custom date & time" : "Ställ in påminnelse vid anpassat datum och tid", + "Set custom reminder" : "Ställ in anpassad påminnelse" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_reminders/l10n/sw.js b/apps/files_reminders/l10n/sw.js new file mode 100644 index 00000000000..8601ada818d --- /dev/null +++ b/apps/files_reminders/l10n/sw.js @@ -0,0 +1,37 @@ +OC.L10N.register( + "files_reminders", + { + "File reminders" : "Vikumbusho vya faili", + "Reminder for {name}" : " Kikumbusho kwa {name}", + "View file" : "Tazama faili", + "View folder" : "Tazama folda", + "Files reminder" : "Kikumbusho cha faili", + "The \"files_reminders\" app can work properly." : "Programu ya \"files_reminders\" inaweza kufanya kazi ipasavyo.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Programu ya \"files_reminders\" inahitaji programu ya arifa kufanya kazi ipasavyo. Unapaswa kuwezesha arifa au kuzima kikumbusho cha faili.", + "Set file reminders" : "Weka vikumbusho vya faili", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Vikumbusho vya faili**\n\nWeka vikumbusho vya faili.\n\nKumbuka: ili kutumia programu ya `Vikumbusho vya faili`, hakikisha kuwa programu ya `Arifa` imesakinishwa na kuwashwa. Programu ya `Arifa` hutoa API zinazohitajika ili programu ya `Vikumbusho vya Faili` ifanye kazi ipasavyo.", + "Set reminder for \"{fileName}\"" : "Weka kikumbusho kwa \"{fileName}\"", + "Clear reminder" : "Futa kikumbusho ", + "Please choose a valid date & time" : " Tafadhali chagua tarehe na saa halali", + "Reminder set for \"{fileName}\"" : " Kikumbusho kimewekwa \"{fileName}\"", + "Failed to set reminder" : "Imeshindwa kuweka kikumbusho", + "Reminder cleared for \"{fileName}\"" : "Kikumbusho kimefutwa kwa \"{fileName}\"", + "Failed to clear reminder" : "Imeshindwa kufuta kikumbusho", + "We will remind you of this file" : "Tutakukumbusha kuhusu faili hii", + "Cancel" : "Ghairi", + "Set reminder" : "Weka ukumbusho", + "Reminder set" : " Kikumbusho kimewekwa", + "Later today" : "Baadaye leo", + "Set reminder for later today" : "Weka kikumbusho cha baadaye leo", + "Tomorrow" : "Kesho", + "Set reminder for tomorrow" : "Weka kikumbusho cha kesho", + "This weekend" : "Wikendi hii", + "Set reminder for this weekend" : "Weka kikumbusho cha wikendi hii", + "Next week" : "Wiki ijayo", + "Set reminder for next week" : " Weka kikumbusho cha wiki ijayo", + "This files_reminder can work properly." : " Kikumbusho hiki cha faili kinaweza kufanya kazi vizuri.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Programu ya kikumbusho cha faili inahitaji programu ya arifa kufanya kazi vizuri. Unapaswa kuwezesha arifa au kuzima kikumbusho cha faili", + "Set reminder at custom date & time" : "Weka kikumbusho kwa tarehe na saa maalum", + "Set custom reminder" : " Weka kikumbusho maalum" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_reminders/l10n/sw.json b/apps/files_reminders/l10n/sw.json new file mode 100644 index 00000000000..5312ae5063a --- /dev/null +++ b/apps/files_reminders/l10n/sw.json @@ -0,0 +1,35 @@ +{ "translations": { + "File reminders" : "Vikumbusho vya faili", + "Reminder for {name}" : " Kikumbusho kwa {name}", + "View file" : "Tazama faili", + "View folder" : "Tazama folda", + "Files reminder" : "Kikumbusho cha faili", + "The \"files_reminders\" app can work properly." : "Programu ya \"files_reminders\" inaweza kufanya kazi ipasavyo.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Programu ya \"files_reminders\" inahitaji programu ya arifa kufanya kazi ipasavyo. Unapaswa kuwezesha arifa au kuzima kikumbusho cha faili.", + "Set file reminders" : "Weka vikumbusho vya faili", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Vikumbusho vya faili**\n\nWeka vikumbusho vya faili.\n\nKumbuka: ili kutumia programu ya `Vikumbusho vya faili`, hakikisha kuwa programu ya `Arifa` imesakinishwa na kuwashwa. Programu ya `Arifa` hutoa API zinazohitajika ili programu ya `Vikumbusho vya Faili` ifanye kazi ipasavyo.", + "Set reminder for \"{fileName}\"" : "Weka kikumbusho kwa \"{fileName}\"", + "Clear reminder" : "Futa kikumbusho ", + "Please choose a valid date & time" : " Tafadhali chagua tarehe na saa halali", + "Reminder set for \"{fileName}\"" : " Kikumbusho kimewekwa \"{fileName}\"", + "Failed to set reminder" : "Imeshindwa kuweka kikumbusho", + "Reminder cleared for \"{fileName}\"" : "Kikumbusho kimefutwa kwa \"{fileName}\"", + "Failed to clear reminder" : "Imeshindwa kufuta kikumbusho", + "We will remind you of this file" : "Tutakukumbusha kuhusu faili hii", + "Cancel" : "Ghairi", + "Set reminder" : "Weka ukumbusho", + "Reminder set" : " Kikumbusho kimewekwa", + "Later today" : "Baadaye leo", + "Set reminder for later today" : "Weka kikumbusho cha baadaye leo", + "Tomorrow" : "Kesho", + "Set reminder for tomorrow" : "Weka kikumbusho cha kesho", + "This weekend" : "Wikendi hii", + "Set reminder for this weekend" : "Weka kikumbusho cha wikendi hii", + "Next week" : "Wiki ijayo", + "Set reminder for next week" : " Weka kikumbusho cha wiki ijayo", + "This files_reminder can work properly." : " Kikumbusho hiki cha faili kinaweza kufanya kazi vizuri.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Programu ya kikumbusho cha faili inahitaji programu ya arifa kufanya kazi vizuri. Unapaswa kuwezesha arifa au kuzima kikumbusho cha faili", + "Set reminder at custom date & time" : "Weka kikumbusho kwa tarehe na saa maalum", + "Set custom reminder" : " Weka kikumbusho maalum" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/files_reminders/l10n/tr.js b/apps/files_reminders/l10n/tr.js index d56f598edff..f505359fcc6 100644 --- a/apps/files_reminders/l10n/tr.js +++ b/apps/files_reminders/l10n/tr.js @@ -5,21 +5,22 @@ OC.L10N.register( "Reminder for {name}" : "{name} anımsatıcısı", "View file" : "Dosyayı görüntüle", "View folder" : "Klasörü görüntüle", + "Files reminder" : "Dosyalar anımsatıcısı", + "The \"files_reminders\" app can work properly." : "\"files_reminders\" uygulaması düzgün çalışabilir.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "\"files_reminders\" uygulamasının düzgün çalışması için Bildirimler uygulaması gereklidir. Bildirimler uygulamasını kullanıma alın ya da files_reminder uygulamasını kullanımdan kaldırın.", "Set file reminders" : "Dosya anımsatıcıları ayarla", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Dosya anımsatıcıları**\n\nDosya anımsatıcıları ayarla.", - "We will remind you of this file" : "Size bu dosyayı anımsatacağız", - "Please choose a valid date & time" : "Lütfen geçerli bir tarih ve saat seçin", - "Cancel" : "İptal", - "Clear reminder" : "Anımsatıcıyı temizle", - "Set reminder" : "Anımsatıcı ayarla", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Dosya anımsatıcıları**\n\nDosya anımsatıcıları ayarlayın.\n\nNot: `Dosya anımsatıcıları` uygulamasını kullanmak için `Bildirimler` uygulamasının kurulmuş ve etkinleştirilmiş olduğundan emin olun. `Bildirimler` uygulaması `Dosya anımsatıcıları` uygulamasının doğru çalışması için gerekli API uygulamalarını sağlar.", "Set reminder for \"{fileName}\"" : "\"{fileName}\" için anımsatıcı ayarla", - "Set reminder at custom date & time" : "Özel bir tarih ve saat için anımsatıcı ayarla", + "Clear reminder" : "Anımsatıcıyı temizle", + "Please choose a valid date & time" : "Lütfen geçerli bir tarih ve saat seçin", "Reminder set for \"{fileName}\"" : "\"{fileName}\" için anımsatıcı ayarlandı", "Failed to set reminder" : "Anımsatıcı ayarlanamadı", "Reminder cleared for \"{fileName}\"" : "\"{fileName}\" anımsatıcısı kaldırıldı", "Failed to clear reminder" : "Anımsatıcı temizlenemedi", + "We will remind you of this file" : "Size bu dosyayı anımsatacağız", + "Cancel" : "İptal", + "Set reminder" : "Anımsatıcı ayarla", "Reminder set" : "Anımsatıcı ayarlandı", - "Set custom reminder" : "Özel anımsatıcı ayarla", "Later today" : "Bugün daha sonra", "Set reminder for later today" : "Bugün daha sonrası için anımsatıcı ayarla", "Tomorrow" : "Yarın", @@ -28,8 +29,9 @@ OC.L10N.register( "Set reminder for this weekend" : "Bu hafta sonu için anımsatıcı ayarla", "Next week" : "Sonraki hafta", "Set reminder for next week" : "Gelecek hafta için anımsatıcı ayarla", - "Back" : "Geri", - "Reminder cleared" : "Anımsatıcı temizlendi", - "Failed to load reminder" : "Anımsatıcı yüklenemedi" + "This files_reminder can work properly." : "Bu files_reminder düzgün çalışabilir.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "files_reminders uygulamasının düzgün çalışması için Bildirimler uygulaması gereklidir. Bildirimler uygulamasını kullanıma alın ya da files_reminder uygulamasını kullanımdan kaldırın.", + "Set reminder at custom date & time" : "Özel bir tarih ve saat için anımsatıcı ayarla", + "Set custom reminder" : "Özel anımsatıcı ayarla" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/files_reminders/l10n/tr.json b/apps/files_reminders/l10n/tr.json index aa6ff2259fc..86fa6b31e0c 100644 --- a/apps/files_reminders/l10n/tr.json +++ b/apps/files_reminders/l10n/tr.json @@ -3,21 +3,22 @@ "Reminder for {name}" : "{name} anımsatıcısı", "View file" : "Dosyayı görüntüle", "View folder" : "Klasörü görüntüle", + "Files reminder" : "Dosyalar anımsatıcısı", + "The \"files_reminders\" app can work properly." : "\"files_reminders\" uygulaması düzgün çalışabilir.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "\"files_reminders\" uygulamasının düzgün çalışması için Bildirimler uygulaması gereklidir. Bildirimler uygulamasını kullanıma alın ya da files_reminder uygulamasını kullanımdan kaldırın.", "Set file reminders" : "Dosya anımsatıcıları ayarla", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Dosya anımsatıcıları**\n\nDosya anımsatıcıları ayarla.", - "We will remind you of this file" : "Size bu dosyayı anımsatacağız", - "Please choose a valid date & time" : "Lütfen geçerli bir tarih ve saat seçin", - "Cancel" : "İptal", - "Clear reminder" : "Anımsatıcıyı temizle", - "Set reminder" : "Anımsatıcı ayarla", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Dosya anımsatıcıları**\n\nDosya anımsatıcıları ayarlayın.\n\nNot: `Dosya anımsatıcıları` uygulamasını kullanmak için `Bildirimler` uygulamasının kurulmuş ve etkinleştirilmiş olduğundan emin olun. `Bildirimler` uygulaması `Dosya anımsatıcıları` uygulamasının doğru çalışması için gerekli API uygulamalarını sağlar.", "Set reminder for \"{fileName}\"" : "\"{fileName}\" için anımsatıcı ayarla", - "Set reminder at custom date & time" : "Özel bir tarih ve saat için anımsatıcı ayarla", + "Clear reminder" : "Anımsatıcıyı temizle", + "Please choose a valid date & time" : "Lütfen geçerli bir tarih ve saat seçin", "Reminder set for \"{fileName}\"" : "\"{fileName}\" için anımsatıcı ayarlandı", "Failed to set reminder" : "Anımsatıcı ayarlanamadı", "Reminder cleared for \"{fileName}\"" : "\"{fileName}\" anımsatıcısı kaldırıldı", "Failed to clear reminder" : "Anımsatıcı temizlenemedi", + "We will remind you of this file" : "Size bu dosyayı anımsatacağız", + "Cancel" : "İptal", + "Set reminder" : "Anımsatıcı ayarla", "Reminder set" : "Anımsatıcı ayarlandı", - "Set custom reminder" : "Özel anımsatıcı ayarla", "Later today" : "Bugün daha sonra", "Set reminder for later today" : "Bugün daha sonrası için anımsatıcı ayarla", "Tomorrow" : "Yarın", @@ -26,8 +27,9 @@ "Set reminder for this weekend" : "Bu hafta sonu için anımsatıcı ayarla", "Next week" : "Sonraki hafta", "Set reminder for next week" : "Gelecek hafta için anımsatıcı ayarla", - "Back" : "Geri", - "Reminder cleared" : "Anımsatıcı temizlendi", - "Failed to load reminder" : "Anımsatıcı yüklenemedi" + "This files_reminder can work properly." : "Bu files_reminder düzgün çalışabilir.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "files_reminders uygulamasının düzgün çalışması için Bildirimler uygulaması gereklidir. Bildirimler uygulamasını kullanıma alın ya da files_reminder uygulamasını kullanımdan kaldırın.", + "Set reminder at custom date & time" : "Özel bir tarih ve saat için anımsatıcı ayarla", + "Set custom reminder" : "Özel anımsatıcı ayarla" },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/files_reminders/l10n/ug.js b/apps/files_reminders/l10n/ug.js new file mode 100644 index 00000000000..f8a92883605 --- /dev/null +++ b/apps/files_reminders/l10n/ug.js @@ -0,0 +1,31 @@ +OC.L10N.register( + "files_reminders", + { + "File reminders" : "ھۆججەت ئەسكەرتىشلىرى", + "Reminder for {name}" : "{name} for ئەسكەرتىش", + "View file" : "ھۆججەتنى كۆرۈش", + "View folder" : "ھۆججەت قىسقۇچنى كۆرۈش", + "Set file reminders" : "ھۆججەت ئەسكەرتىشلىرىنى بەلگىلەڭ", + "Set reminder for \"{fileName}\"" : "\"{fileName}\" ئۈچۈن ئەسكەرتىش بەلگىلەڭ", + "Clear reminder" : "ئەسكەرتىش", + "Please choose a valid date & time" : "ئىناۋەتلىك چېسلا ۋە ۋاقىتنى تاللاڭ", + "Reminder set for \"{fileName}\"" : "\"{fileName}\" ئۈچۈن ئەسكەرتىش", + "Failed to set reminder" : "ئەسكەرتىش بەلگىلەش مەغلۇب بولدى", + "Reminder cleared for \"{fileName}\"" : "ئەسكەرتىش \"{fileName}\" ئۈچۈن تازىلاندى", + "Failed to clear reminder" : "ئەسكەرتىشنى تازىلاش مەغلۇب بولدى", + "We will remind you of this file" : "بۇ ھۆججەتنى ئەسكەرتىمىز", + "Cancel" : "بىكار قىلىش", + "Set reminder" : "ئەسكەرتىش بەلگىلەڭ", + "Reminder set" : "ئەسكەرتىش", + "Later today" : "بۈگۈن بۈگۈن", + "Set reminder for later today" : "بۈگۈنگە ئەسكەرتىش بەلگىلەڭ", + "Tomorrow" : "ئەتە", + "Set reminder for tomorrow" : "ئەتە ئۈچۈن ئەسكەرتىش بەلگىلەڭ", + "This weekend" : "بۇ ھەپتە ئاخىرى", + "Set reminder for this weekend" : "بۇ ھەپتە ئاخىرىدا ئەسكەرتىش بەلگىلەڭ", + "Next week" : "كېلەر ھەپتە", + "Set reminder for next week" : "كېلەر ھەپتە ئەسكەرتىش بەلگىلەڭ", + "Set reminder at custom date & time" : "ئىختىيارى چېسلا ۋە ۋاقىتتا ئەسكەرتىش بەلگىلەڭ", + "Set custom reminder" : "ئىختىيارى ئەسكەرتىش بەلگىلەڭ" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_reminders/l10n/ug.json b/apps/files_reminders/l10n/ug.json new file mode 100644 index 00000000000..a5c8e9f7553 --- /dev/null +++ b/apps/files_reminders/l10n/ug.json @@ -0,0 +1,29 @@ +{ "translations": { + "File reminders" : "ھۆججەت ئەسكەرتىشلىرى", + "Reminder for {name}" : "{name} for ئەسكەرتىش", + "View file" : "ھۆججەتنى كۆرۈش", + "View folder" : "ھۆججەت قىسقۇچنى كۆرۈش", + "Set file reminders" : "ھۆججەت ئەسكەرتىشلىرىنى بەلگىلەڭ", + "Set reminder for \"{fileName}\"" : "\"{fileName}\" ئۈچۈن ئەسكەرتىش بەلگىلەڭ", + "Clear reminder" : "ئەسكەرتىش", + "Please choose a valid date & time" : "ئىناۋەتلىك چېسلا ۋە ۋاقىتنى تاللاڭ", + "Reminder set for \"{fileName}\"" : "\"{fileName}\" ئۈچۈن ئەسكەرتىش", + "Failed to set reminder" : "ئەسكەرتىش بەلگىلەش مەغلۇب بولدى", + "Reminder cleared for \"{fileName}\"" : "ئەسكەرتىش \"{fileName}\" ئۈچۈن تازىلاندى", + "Failed to clear reminder" : "ئەسكەرتىشنى تازىلاش مەغلۇب بولدى", + "We will remind you of this file" : "بۇ ھۆججەتنى ئەسكەرتىمىز", + "Cancel" : "بىكار قىلىش", + "Set reminder" : "ئەسكەرتىش بەلگىلەڭ", + "Reminder set" : "ئەسكەرتىش", + "Later today" : "بۈگۈن بۈگۈن", + "Set reminder for later today" : "بۈگۈنگە ئەسكەرتىش بەلگىلەڭ", + "Tomorrow" : "ئەتە", + "Set reminder for tomorrow" : "ئەتە ئۈچۈن ئەسكەرتىش بەلگىلەڭ", + "This weekend" : "بۇ ھەپتە ئاخىرى", + "Set reminder for this weekend" : "بۇ ھەپتە ئاخىرىدا ئەسكەرتىش بەلگىلەڭ", + "Next week" : "كېلەر ھەپتە", + "Set reminder for next week" : "كېلەر ھەپتە ئەسكەرتىش بەلگىلەڭ", + "Set reminder at custom date & time" : "ئىختىيارى چېسلا ۋە ۋاقىتتا ئەسكەرتىش بەلگىلەڭ", + "Set custom reminder" : "ئىختىيارى ئەسكەرتىش بەلگىلەڭ" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/files_reminders/l10n/uk.js b/apps/files_reminders/l10n/uk.js index 4fbcc21719e..c66399959d3 100644 --- a/apps/files_reminders/l10n/uk.js +++ b/apps/files_reminders/l10n/uk.js @@ -5,21 +5,24 @@ OC.L10N.register( "Reminder for {name}" : "Нагадування для {name}", "View file" : "Переглянути файл", "View folder" : "Переглянути каталог", + "Files reminder" : "Нагадування для файлів", + "The \"files_reminders\" app can work properly." : "Додаток «files_reminders» може працювати належним чином.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Для нормальної роботи програми «files_reminders» необхідна програма сповіщень. Вам слід або увімкнути сповіщення, або вимкнути files_reminder.", "Set file reminders" : "Встановити нагадування для файлу", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Нагадування для файлів**\n\nВстановити нагадування для файлу.", - "We will remind you of this file" : "Ми нагадаємо вам про цей файл.", - "Please choose a valid date & time" : "Виберіть дійсні дату та час", - "Cancel" : "Скасувати", - "Clear reminder" : "Зняти нагадування", - "Set reminder" : "Встановити нагадування", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Нагадування про файли**\n\nВстановіть нагадування про файли.\n\nПримітка: щоб використовувати додаток «Нагадування про файли», переконайтеся, що додаток «Повідомлення» встановлено та увімкнено. Додаток «Повідомлення» надає необхідні API для коректної роботи додатка «Нагадування про файли».", "Set reminder for \"{fileName}\"" : "Встановити нагадування для \"{fileName}\"", - "Set reminder at custom date & time" : "Встановити нагадування на власну дату та час", + "Reminder at custom date & time" : "Нагадування в задану дату та час", + "Clear reminder" : "Зняти нагадування", + "Please choose a valid date & time" : "Виберіть дійсні дату та час", "Reminder set for \"{fileName}\"" : "Встановлено нагадування для \"{fileName}\"", "Failed to set reminder" : "Не вдалося встановити нагадування", "Reminder cleared for \"{fileName}\"" : "Нагадування очищено для \"{fileName}\"", "Failed to clear reminder" : "Не вдалося зняти нагадування", + "We will remind you of this file" : "Ми нагадаємо вам про цей файл.", + "Cancel" : "Скасувати", + "Set reminder" : "Встановити нагадування", "Reminder set" : "Нагадування встановлено", - "Set custom reminder" : "Встановити власне нагадування", + "Custom reminder" : "Індивідуальне нагадування", "Later today" : "Пізніше сьогодні", "Set reminder for later today" : "Встановити нагадування на сьогодні пізніше", "Tomorrow" : "Завтра", @@ -28,8 +31,9 @@ OC.L10N.register( "Set reminder for this weekend" : "Встановити нагадування на ці вихідні", "Next week" : "Наступний тиждень", "Set reminder for next week" : "Встановити нагадування на наступний тиждень", - "Back" : "Назад", - "Reminder cleared" : "Нагадування знято", - "Failed to load reminder" : "Не вдалося отримати нагадування" + "This files_reminder can work properly." : "Цей files_reminder може працювати належним чином.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Для нормальної роботи програми files_reminder необхідна програма сповіщень. Вам слід або увімкнути сповіщення, або вимкнути files_reminder.", + "Set reminder at custom date & time" : "Встановити нагадування на власну дату та час", + "Set custom reminder" : "Встановити власне нагадування" }, "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/files_reminders/l10n/uk.json b/apps/files_reminders/l10n/uk.json index f0dcd78e00c..d29c14318da 100644 --- a/apps/files_reminders/l10n/uk.json +++ b/apps/files_reminders/l10n/uk.json @@ -3,21 +3,24 @@ "Reminder for {name}" : "Нагадування для {name}", "View file" : "Переглянути файл", "View folder" : "Переглянути каталог", + "Files reminder" : "Нагадування для файлів", + "The \"files_reminders\" app can work properly." : "Додаток «files_reminders» може працювати належним чином.", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Для нормальної роботи програми «files_reminders» необхідна програма сповіщень. Вам слід або увімкнути сповіщення, або вимкнути files_reminder.", "Set file reminders" : "Встановити нагадування для файлу", - "**📣 File reminders**\n\nSet file reminders." : "**📣 Нагадування для файлів**\n\nВстановити нагадування для файлу.", - "We will remind you of this file" : "Ми нагадаємо вам про цей файл.", - "Please choose a valid date & time" : "Виберіть дійсні дату та час", - "Cancel" : "Скасувати", - "Clear reminder" : "Зняти нагадування", - "Set reminder" : "Встановити нагадування", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Нагадування про файли**\n\nВстановіть нагадування про файли.\n\nПримітка: щоб використовувати додаток «Нагадування про файли», переконайтеся, що додаток «Повідомлення» встановлено та увімкнено. Додаток «Повідомлення» надає необхідні API для коректної роботи додатка «Нагадування про файли».", "Set reminder for \"{fileName}\"" : "Встановити нагадування для \"{fileName}\"", - "Set reminder at custom date & time" : "Встановити нагадування на власну дату та час", + "Reminder at custom date & time" : "Нагадування в задану дату та час", + "Clear reminder" : "Зняти нагадування", + "Please choose a valid date & time" : "Виберіть дійсні дату та час", "Reminder set for \"{fileName}\"" : "Встановлено нагадування для \"{fileName}\"", "Failed to set reminder" : "Не вдалося встановити нагадування", "Reminder cleared for \"{fileName}\"" : "Нагадування очищено для \"{fileName}\"", "Failed to clear reminder" : "Не вдалося зняти нагадування", + "We will remind you of this file" : "Ми нагадаємо вам про цей файл.", + "Cancel" : "Скасувати", + "Set reminder" : "Встановити нагадування", "Reminder set" : "Нагадування встановлено", - "Set custom reminder" : "Встановити власне нагадування", + "Custom reminder" : "Індивідуальне нагадування", "Later today" : "Пізніше сьогодні", "Set reminder for later today" : "Встановити нагадування на сьогодні пізніше", "Tomorrow" : "Завтра", @@ -26,8 +29,9 @@ "Set reminder for this weekend" : "Встановити нагадування на ці вихідні", "Next week" : "Наступний тиждень", "Set reminder for next week" : "Встановити нагадування на наступний тиждень", - "Back" : "Назад", - "Reminder cleared" : "Нагадування знято", - "Failed to load reminder" : "Не вдалося отримати нагадування" + "This files_reminder can work properly." : "Цей files_reminder може працювати належним чином.", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "Для нормальної роботи програми files_reminder необхідна програма сповіщень. Вам слід або увімкнути сповіщення, або вимкнути files_reminder.", + "Set reminder at custom date & time" : "Встановити нагадування на власну дату та час", + "Set custom reminder" : "Встановити власне нагадування" },"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/files_reminders/l10n/zh_CN.js b/apps/files_reminders/l10n/zh_CN.js index 04640b39f0c..23c85d62838 100644 --- a/apps/files_reminders/l10n/zh_CN.js +++ b/apps/files_reminders/l10n/zh_CN.js @@ -6,20 +6,17 @@ OC.L10N.register( "View file" : "查看文件", "View folder" : "查看文件夹", "Set file reminders" : "设置文件提醒", - "**📣 File reminders**\n\nSet file reminders." : "**📣 文件提醒**\n\n设置文件提醒。", - "We will remind you of this file" : "我们将会提醒你该文件", - "Please choose a valid date & time" : "请选择一个有效的日期&时间", - "Cancel" : "取消", - "Clear reminder" : "移除提醒", - "Set reminder" : "设置提醒", "Set reminder for \"{fileName}\"" : "设置文件 “{fileName}” 的提醒", - "Set reminder at custom date & time" : "设置自定义日期&时间提醒", + "Clear reminder" : "移除提醒", + "Please choose a valid date & time" : "请选择一个有效的日期&时间", "Reminder set for \"{fileName}\"" : "文件 “{fileName}” 的提醒设置", "Failed to set reminder" : "无法设置提醒", "Reminder cleared for \"{fileName}\"" : "清除文件 “{fileName}” 的提醒", "Failed to clear reminder" : "无法清除文件提醒", + "We will remind you of this file" : "我们将会提醒你该文件", + "Cancel" : "取消", + "Set reminder" : "设置提醒", "Reminder set" : "提醒设置", - "Set custom reminder" : "设置自定义提醒", "Later today" : "今日稍晚", "Set reminder for later today" : "今日稍晚提醒", "Tomorrow" : "明天", @@ -28,8 +25,7 @@ OC.L10N.register( "Set reminder for this weekend" : "本周末提醒", "Next week" : "下周", "Set reminder for next week" : "下周提醒", - "Back" : "返回", - "Reminder cleared" : "清除提醒", - "Failed to load reminder" : "无法加载提醒" + "Set reminder at custom date & time" : "设置自定义日期&时间提醒", + "Set custom reminder" : "设置自定义提醒" }, "nplurals=1; plural=0;"); diff --git a/apps/files_reminders/l10n/zh_CN.json b/apps/files_reminders/l10n/zh_CN.json index 68a07d84faa..f3937525140 100644 --- a/apps/files_reminders/l10n/zh_CN.json +++ b/apps/files_reminders/l10n/zh_CN.json @@ -4,20 +4,17 @@ "View file" : "查看文件", "View folder" : "查看文件夹", "Set file reminders" : "设置文件提醒", - "**📣 File reminders**\n\nSet file reminders." : "**📣 文件提醒**\n\n设置文件提醒。", - "We will remind you of this file" : "我们将会提醒你该文件", - "Please choose a valid date & time" : "请选择一个有效的日期&时间", - "Cancel" : "取消", - "Clear reminder" : "移除提醒", - "Set reminder" : "设置提醒", "Set reminder for \"{fileName}\"" : "设置文件 “{fileName}” 的提醒", - "Set reminder at custom date & time" : "设置自定义日期&时间提醒", + "Clear reminder" : "移除提醒", + "Please choose a valid date & time" : "请选择一个有效的日期&时间", "Reminder set for \"{fileName}\"" : "文件 “{fileName}” 的提醒设置", "Failed to set reminder" : "无法设置提醒", "Reminder cleared for \"{fileName}\"" : "清除文件 “{fileName}” 的提醒", "Failed to clear reminder" : "无法清除文件提醒", + "We will remind you of this file" : "我们将会提醒你该文件", + "Cancel" : "取消", + "Set reminder" : "设置提醒", "Reminder set" : "提醒设置", - "Set custom reminder" : "设置自定义提醒", "Later today" : "今日稍晚", "Set reminder for later today" : "今日稍晚提醒", "Tomorrow" : "明天", @@ -26,8 +23,7 @@ "Set reminder for this weekend" : "本周末提醒", "Next week" : "下周", "Set reminder for next week" : "下周提醒", - "Back" : "返回", - "Reminder cleared" : "清除提醒", - "Failed to load reminder" : "无法加载提醒" + "Set reminder at custom date & time" : "设置自定义日期&时间提醒", + "Set custom reminder" : "设置自定义提醒" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_reminders/l10n/zh_HK.js b/apps/files_reminders/l10n/zh_HK.js index 8e91eaf8bff..c72fb6cde89 100644 --- a/apps/files_reminders/l10n/zh_HK.js +++ b/apps/files_reminders/l10n/zh_HK.js @@ -5,21 +5,24 @@ OC.L10N.register( "Reminder for {name}" : "{name} 的提醒", "View file" : "檢視檔案", "View folder" : "檢視資料夾", + "Files reminder" : "檔案提醒", + "The \"files_reminders\" app can work properly." : "「files_reminders」應用程式可以正常運作。", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "「files_reminder」應用程式需要通知應用程式才能正常運作。您應該啟用通知或停用 files_reminder。", "Set file reminders" : "設定檔案提醒", - "**📣 File reminders**\n\nSet file reminders." : "**📣 檔案提醒**\n\n設定檔案提醒。", - "We will remind you of this file" : "我們會提醒您該檔案", - "Please choose a valid date & time" : "請選擇有效的日期與時間", - "Cancel" : "取消", - "Clear reminder" : "清除提醒", - "Set reminder" : "設定提醒", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 檔案提醒**\n\n設定檔案提醒。\n\n注意:要使用「檔案提醒」應用程式,請確定已安裝並啟用「通知」應用程式。「通知」應用程式提供必要的 API,讓「檔案提醒」應用程式能正常運作。", "Set reminder for \"{fileName}\"" : "設定「{fileName}」的提醒", - "Set reminder at custom date & time" : "設定自訂日期與時間的提醒", + "Reminder at custom date & time" : "自訂日期與時間的提醒", + "Clear reminder" : "清除提醒", + "Please choose a valid date & time" : "請選擇有效的日期與時間", "Reminder set for \"{fileName}\"" : "「{fileName}」的提醒設定", "Failed to set reminder" : "設定提醒失敗", "Reminder cleared for \"{fileName}\"" : "已清除「{fileName}」的提醒", "Failed to clear reminder" : "清除提醒失敗", + "We will remind you of this file" : "我們會提醒您該檔案", + "Cancel" : "取消", + "Set reminder" : "設定提醒", "Reminder set" : "提醒設定", - "Set custom reminder" : "設定自訂提醒", + "Custom reminder" : "自訂提醒", "Later today" : "今日稍後", "Set reminder for later today" : "設定今天稍後的提醒", "Tomorrow" : "明日", @@ -28,8 +31,9 @@ OC.L10N.register( "Set reminder for this weekend" : "設定本週末的提醒", "Next week" : "下星期", "Set reminder for next week" : "設定下星期的提醒", - "Back" : "上星期", - "Reminder cleared" : "提醒已清除", - "Failed to load reminder" : "載入提醒失敗" + "This files_reminder can work properly." : "此 files_reminder 可以正常運作。", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "files_reminder 應用程式需要通知應用程式才能正常運作。您應該啟用通知或停用 files_reminder。", + "Set reminder at custom date & time" : "設定自訂日期與時間的提醒", + "Set custom reminder" : "設定自訂提醒" }, "nplurals=1; plural=0;"); diff --git a/apps/files_reminders/l10n/zh_HK.json b/apps/files_reminders/l10n/zh_HK.json index 130f3b2cbe3..339e0cd8cf7 100644 --- a/apps/files_reminders/l10n/zh_HK.json +++ b/apps/files_reminders/l10n/zh_HK.json @@ -3,21 +3,24 @@ "Reminder for {name}" : "{name} 的提醒", "View file" : "檢視檔案", "View folder" : "檢視資料夾", + "Files reminder" : "檔案提醒", + "The \"files_reminders\" app can work properly." : "「files_reminders」應用程式可以正常運作。", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "「files_reminder」應用程式需要通知應用程式才能正常運作。您應該啟用通知或停用 files_reminder。", "Set file reminders" : "設定檔案提醒", - "**📣 File reminders**\n\nSet file reminders." : "**📣 檔案提醒**\n\n設定檔案提醒。", - "We will remind you of this file" : "我們會提醒您該檔案", - "Please choose a valid date & time" : "請選擇有效的日期與時間", - "Cancel" : "取消", - "Clear reminder" : "清除提醒", - "Set reminder" : "設定提醒", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 檔案提醒**\n\n設定檔案提醒。\n\n注意:要使用「檔案提醒」應用程式,請確定已安裝並啟用「通知」應用程式。「通知」應用程式提供必要的 API,讓「檔案提醒」應用程式能正常運作。", "Set reminder for \"{fileName}\"" : "設定「{fileName}」的提醒", - "Set reminder at custom date & time" : "設定自訂日期與時間的提醒", + "Reminder at custom date & time" : "自訂日期與時間的提醒", + "Clear reminder" : "清除提醒", + "Please choose a valid date & time" : "請選擇有效的日期與時間", "Reminder set for \"{fileName}\"" : "「{fileName}」的提醒設定", "Failed to set reminder" : "設定提醒失敗", "Reminder cleared for \"{fileName}\"" : "已清除「{fileName}」的提醒", "Failed to clear reminder" : "清除提醒失敗", + "We will remind you of this file" : "我們會提醒您該檔案", + "Cancel" : "取消", + "Set reminder" : "設定提醒", "Reminder set" : "提醒設定", - "Set custom reminder" : "設定自訂提醒", + "Custom reminder" : "自訂提醒", "Later today" : "今日稍後", "Set reminder for later today" : "設定今天稍後的提醒", "Tomorrow" : "明日", @@ -26,8 +29,9 @@ "Set reminder for this weekend" : "設定本週末的提醒", "Next week" : "下星期", "Set reminder for next week" : "設定下星期的提醒", - "Back" : "上星期", - "Reminder cleared" : "提醒已清除", - "Failed to load reminder" : "載入提醒失敗" + "This files_reminder can work properly." : "此 files_reminder 可以正常運作。", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "files_reminder 應用程式需要通知應用程式才能正常運作。您應該啟用通知或停用 files_reminder。", + "Set reminder at custom date & time" : "設定自訂日期與時間的提醒", + "Set custom reminder" : "設定自訂提醒" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_reminders/l10n/zh_TW.js b/apps/files_reminders/l10n/zh_TW.js index e591bee639f..c19c4a803a2 100644 --- a/apps/files_reminders/l10n/zh_TW.js +++ b/apps/files_reminders/l10n/zh_TW.js @@ -5,21 +5,24 @@ OC.L10N.register( "Reminder for {name}" : "{name} 的提醒", "View file" : "檢視檔案", "View folder" : "檢視資料夾", + "Files reminder" : "檔案提醒", + "The \"files_reminders\" app can work properly." : "「files_reminders」應用程式可以正常運作。", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "「files_reminder」應用程式需要通知應用程式才能正常運作。您應該啟用通知或停用 files_reminder。", "Set file reminders" : "設定檔案提醒", - "**📣 File reminders**\n\nSet file reminders." : "**📣 檔案提醒**\n\n設定檔案提醒。", - "We will remind you of this file" : "我們會提醒您該檔案", - "Please choose a valid date & time" : "請選擇有效的日期與時間", - "Cancel" : "取消", - "Clear reminder" : "清除提醒", - "Set reminder" : "設定提醒", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 檔案提醒**\n\n設定檔案提醒。\n\n注意:要使用「檔案提醒」應用程式,請確定已安裝並啟用「通知」應用程式。「通知」應用程式提供必要的 API,讓「檔案提醒」應用程式能正常運作。", "Set reminder for \"{fileName}\"" : "設定「{fileName}」的提醒", - "Set reminder at custom date & time" : "設定自訂日期與時間的提醒", + "Reminder at custom date & time" : "自訂日期與時間的提醒", + "Clear reminder" : "清除提醒", + "Please choose a valid date & time" : "請選擇有效的日期與時間", "Reminder set for \"{fileName}\"" : "「{fileName}」的提醒設定", "Failed to set reminder" : "設定提醒失敗", "Reminder cleared for \"{fileName}\"" : "已清除「{fileName}」的提醒", "Failed to clear reminder" : "清除提醒失敗", + "We will remind you of this file" : "我們會提醒您該檔案", + "Cancel" : "取消", + "Set reminder" : "設定提醒", "Reminder set" : "提醒設定", - "Set custom reminder" : "設定自訂提醒", + "Custom reminder" : "自訂提醒", "Later today" : "今天稍後", "Set reminder for later today" : "設定今天稍後的提醒", "Tomorrow" : "明天", @@ -28,8 +31,9 @@ OC.L10N.register( "Set reminder for this weekend" : "設定本週末的提醒", "Next week" : "下週", "Set reminder for next week" : "設定下週的提醒", - "Back" : "返回", - "Reminder cleared" : "提醒已清除", - "Failed to load reminder" : "載入提醒失敗" + "This files_reminder can work properly." : "此 files_reminder 可以正常運作。", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "files_reminder 應用程式需要通知應用程式才能正常運作。您應該啟用通知或停用 files_reminder。", + "Set reminder at custom date & time" : "設定自訂日期與時間的提醒", + "Set custom reminder" : "設定自訂提醒" }, "nplurals=1; plural=0;"); diff --git a/apps/files_reminders/l10n/zh_TW.json b/apps/files_reminders/l10n/zh_TW.json index 0bc52885d73..5035fc1d66b 100644 --- a/apps/files_reminders/l10n/zh_TW.json +++ b/apps/files_reminders/l10n/zh_TW.json @@ -3,21 +3,24 @@ "Reminder for {name}" : "{name} 的提醒", "View file" : "檢視檔案", "View folder" : "檢視資料夾", + "Files reminder" : "檔案提醒", + "The \"files_reminders\" app can work properly." : "「files_reminders」應用程式可以正常運作。", + "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "「files_reminder」應用程式需要通知應用程式才能正常運作。您應該啟用通知或停用 files_reminder。", "Set file reminders" : "設定檔案提醒", - "**📣 File reminders**\n\nSet file reminders." : "**📣 檔案提醒**\n\n設定檔案提醒。", - "We will remind you of this file" : "我們會提醒您該檔案", - "Please choose a valid date & time" : "請選擇有效的日期與時間", - "Cancel" : "取消", - "Clear reminder" : "清除提醒", - "Set reminder" : "設定提醒", + "**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 檔案提醒**\n\n設定檔案提醒。\n\n注意:要使用「檔案提醒」應用程式,請確定已安裝並啟用「通知」應用程式。「通知」應用程式提供必要的 API,讓「檔案提醒」應用程式能正常運作。", "Set reminder for \"{fileName}\"" : "設定「{fileName}」的提醒", - "Set reminder at custom date & time" : "設定自訂日期與時間的提醒", + "Reminder at custom date & time" : "自訂日期與時間的提醒", + "Clear reminder" : "清除提醒", + "Please choose a valid date & time" : "請選擇有效的日期與時間", "Reminder set for \"{fileName}\"" : "「{fileName}」的提醒設定", "Failed to set reminder" : "設定提醒失敗", "Reminder cleared for \"{fileName}\"" : "已清除「{fileName}」的提醒", "Failed to clear reminder" : "清除提醒失敗", + "We will remind you of this file" : "我們會提醒您該檔案", + "Cancel" : "取消", + "Set reminder" : "設定提醒", "Reminder set" : "提醒設定", - "Set custom reminder" : "設定自訂提醒", + "Custom reminder" : "自訂提醒", "Later today" : "今天稍後", "Set reminder for later today" : "設定今天稍後的提醒", "Tomorrow" : "明天", @@ -26,8 +29,9 @@ "Set reminder for this weekend" : "設定本週末的提醒", "Next week" : "下週", "Set reminder for next week" : "設定下週的提醒", - "Back" : "返回", - "Reminder cleared" : "提醒已清除", - "Failed to load reminder" : "載入提醒失敗" + "This files_reminder can work properly." : "此 files_reminder 可以正常運作。", + "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "files_reminder 應用程式需要通知應用程式才能正常運作。您應該啟用通知或停用 files_reminder。", + "Set reminder at custom date & time" : "設定自訂日期與時間的提醒", + "Set custom reminder" : "設定自訂提醒" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_reminders/lib/AppInfo/Application.php b/apps/files_reminders/lib/AppInfo/Application.php index 7adeefc3503..2776e9db0b1 100644 --- a/apps/files_reminders/lib/AppInfo/Application.php +++ b/apps/files_reminders/lib/AppInfo/Application.php @@ -3,25 +3,8 @@ declare(strict_types=1); /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCA\FilesReminders\AppInfo; @@ -33,6 +16,7 @@ use OCA\FilesReminders\Listener\NodeDeletedListener; use OCA\FilesReminders\Listener\SabrePluginAddListener; use OCA\FilesReminders\Listener\UserDeletedListener; use OCA\FilesReminders\Notification\Notifier; +use OCA\FilesReminders\SetupChecks\NeedNotificationsApp; use OCP\AppFramework\App; use OCP\AppFramework\Bootstrap\IBootContext; use OCP\AppFramework\Bootstrap\IBootstrap; @@ -59,5 +43,7 @@ class Application extends App implements IBootstrap { $context->registerEventListener(UserDeletedEvent::class, UserDeletedListener::class); $context->registerEventListener(LoadAdditionalScriptsEvent::class, LoadAdditionalScriptsListener::class); + + $context->registerSetupCheck(NeedNotificationsApp::class); } } diff --git a/apps/files_reminders/lib/BackgroundJob/CleanUpReminders.php b/apps/files_reminders/lib/BackgroundJob/CleanUpReminders.php index afa8c514a0a..35b72b190e8 100644 --- a/apps/files_reminders/lib/BackgroundJob/CleanUpReminders.php +++ b/apps/files_reminders/lib/BackgroundJob/CleanUpReminders.php @@ -3,32 +3,14 @@ declare(strict_types=1); /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCA\FilesReminders\BackgroundJob; use OCA\FilesReminders\Service\ReminderService; use OCP\AppFramework\Utility\ITimeFactory; -use OCP\BackgroundJob\IJob; use OCP\BackgroundJob\TimedJob; class CleanUpReminders extends TimedJob { @@ -39,7 +21,7 @@ class CleanUpReminders extends TimedJob { parent::__construct($time); $this->setInterval(24 * 60 * 60); // 1 day - $this->setTimeSensitivity(IJob::TIME_INSENSITIVE); + $this->setTimeSensitivity(self::TIME_INSENSITIVE); } /** diff --git a/apps/files_reminders/lib/BackgroundJob/ScheduledNotifications.php b/apps/files_reminders/lib/BackgroundJob/ScheduledNotifications.php index 15ae56f0698..ab8c762d674 100644 --- a/apps/files_reminders/lib/BackgroundJob/ScheduledNotifications.php +++ b/apps/files_reminders/lib/BackgroundJob/ScheduledNotifications.php @@ -3,25 +3,8 @@ declare(strict_types=1); /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCA\FilesReminders\BackgroundJob; @@ -30,10 +13,10 @@ use OCA\FilesReminders\Db\ReminderMapper; use OCA\FilesReminders\Service\ReminderService; use OCP\AppFramework\Db\DoesNotExistException; use OCP\AppFramework\Utility\ITimeFactory; -use OCP\BackgroundJob\Job; +use OCP\BackgroundJob\TimedJob; use Psr\Log\LoggerInterface; -class ScheduledNotifications extends Job { +class ScheduledNotifications extends TimedJob { public function __construct( ITimeFactory $time, protected ReminderMapper $reminderMapper, @@ -41,6 +24,8 @@ class ScheduledNotifications extends Job { protected LoggerInterface $logger, ) { parent::__construct($time); + + $this->setInterval(60); } /** diff --git a/apps/files_reminders/lib/Command/ListCommand.php b/apps/files_reminders/lib/Command/ListCommand.php index f9113e15605..118d00c45d3 100644 --- a/apps/files_reminders/lib/Command/ListCommand.php +++ b/apps/files_reminders/lib/Command/ListCommand.php @@ -3,25 +3,8 @@ declare(strict_types=1); /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCA\FilesReminders\Command; diff --git a/apps/files_reminders/lib/Controller/ApiController.php b/apps/files_reminders/lib/Controller/ApiController.php index aeac3bd7a6b..c95a74a04f4 100644 --- a/apps/files_reminders/lib/Controller/ApiController.php +++ b/apps/files_reminders/lib/Controller/ApiController.php @@ -3,25 +3,8 @@ declare(strict_types=1); /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCA\FilesReminders\Controller; @@ -31,8 +14,8 @@ use DateTimeInterface; use DateTimeZone; use Exception; use OCA\FilesReminders\Exception\NodeNotFoundException; +use OCA\FilesReminders\Exception\ReminderNotFoundException; use OCA\FilesReminders\Service\ReminderService; -use OCP\AppFramework\Db\DoesNotExistException; use OCP\AppFramework\Http; use OCP\AppFramework\Http\Attribute\NoAdminRequired; use OCP\AppFramework\Http\DataResponse; @@ -56,7 +39,7 @@ class ApiController extends OCSController { * Get a reminder * * @param int $fileId ID of the file - * @return DataResponse<Http::STATUS_OK, array{dueDate: ?string}, array{}>|DataResponse<Http::STATUS_UNAUTHORIZED, array<empty>, array{}> + * @return DataResponse<Http::STATUS_OK, array{dueDate: ?string}, array{}>|DataResponse<Http::STATUS_UNAUTHORIZED, list<empty>, array{}> * * 200: Reminder returned * 401: Account not found @@ -70,15 +53,14 @@ class ApiController extends OCSController { try { $reminder = $this->reminderService->getDueForUser($user, $fileId); - $reminderData = [ + if ($reminder === null) { + return new DataResponse(['dueDate' => null], Http::STATUS_OK); + } + return new DataResponse([ 'dueDate' => $reminder->getDueDate()->format(DateTimeInterface::ATOM), // ISO 8601 - ]; - return new DataResponse($reminderData, Http::STATUS_OK); - } catch (DoesNotExistException $e) { - $reminderData = [ - 'dueDate' => null, - ]; - return new DataResponse($reminderData, Http::STATUS_OK); + ], Http::STATUS_OK); + } catch (NodeNotFoundException $e) { + return new DataResponse(['dueDate' => null], Http::STATUS_OK); } } @@ -88,7 +70,7 @@ class ApiController extends OCSController { * @param int $fileId ID of the file * @param string $dueDate ISO 8601 formatted date time string * - * @return DataResponse<Http::STATUS_OK|Http::STATUS_CREATED|Http::STATUS_BAD_REQUEST|Http::STATUS_UNAUTHORIZED|Http::STATUS_NOT_FOUND, array<empty>, array{}> + * @return DataResponse<Http::STATUS_OK|Http::STATUS_CREATED|Http::STATUS_BAD_REQUEST|Http::STATUS_UNAUTHORIZED|Http::STATUS_NOT_FOUND, list<empty>, array{}> * * 200: Reminder updated * 201: Reminder created successfully @@ -126,7 +108,7 @@ class ApiController extends OCSController { * * @param int $fileId ID of the file * - * @return DataResponse<Http::STATUS_OK|Http::STATUS_UNAUTHORIZED|Http::STATUS_NOT_FOUND, array<empty>, array{}> + * @return DataResponse<Http::STATUS_OK|Http::STATUS_UNAUTHORIZED|Http::STATUS_NOT_FOUND, list<empty>, array{}> * * 200: Reminder deleted successfully * 401: Account not found @@ -142,7 +124,7 @@ class ApiController extends OCSController { try { $this->reminderService->remove($user, $fileId); return new DataResponse([], Http::STATUS_OK); - } catch (DoesNotExistException $e) { + } catch (NodeNotFoundException|ReminderNotFoundException $e) { return new DataResponse([], Http::STATUS_NOT_FOUND); } } diff --git a/apps/files_reminders/lib/Dav/PropFindPlugin.php b/apps/files_reminders/lib/Dav/PropFindPlugin.php index e476c1a3b13..7fa45a4b854 100644 --- a/apps/files_reminders/lib/Dav/PropFindPlugin.php +++ b/apps/files_reminders/lib/Dav/PropFindPlugin.php @@ -3,35 +3,20 @@ declare(strict_types=1); /** - * @copyright 2024 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCA\FilesReminders\Dav; use DateTimeInterface; +use OCA\DAV\Connector\Sabre\Directory; use OCA\DAV\Connector\Sabre\Node; use OCA\FilesReminders\Service\ReminderService; -use OCP\AppFramework\Db\DoesNotExistException; +use OCP\Files\Folder; use OCP\IUser; use OCP\IUserSession; +use Sabre\DAV\ICollection; use Sabre\DAV\INode; use Sabre\DAV\PropFind; use Sabre\DAV\Server; @@ -48,9 +33,22 @@ class PropFindPlugin extends ServerPlugin { } public function initialize(Server $server): void { + $server->on('preloadCollection', $this->preloadCollection(...)); $server->on('propFind', [$this, 'propFind']); } + private function preloadCollection( + PropFind $propFind, + ICollection $collection, + ): void { + if ($collection instanceof Directory && $propFind->getStatus( + static::REMINDER_DUE_DATE_PROPERTY + ) !== null) { + $folder = $collection->getNode(); + $this->cacheFolder($folder); + } + } + public function propFind(PropFind $propFind, INode $node) { if (!in_array(static::REMINDER_DUE_DATE_PROPERTY, $propFind->getRequestedProperties())) { return; @@ -69,9 +67,8 @@ class PropFindPlugin extends ServerPlugin { } $fileId = $node->getId(); - try { - $reminder = $this->reminderService->getDueForUser($user, $fileId); - } catch (DoesNotExistException $e) { + $reminder = $this->reminderService->getDueForUser($user, $fileId, false); + if ($reminder === null) { return ''; } @@ -79,4 +76,12 @@ class PropFindPlugin extends ServerPlugin { }, ); } + + private function cacheFolder(Folder $folder): void { + $user = $this->userSession->getUser(); + if (!($user instanceof IUser)) { + return; + } + $this->reminderService->cacheFolder($user, $folder); + } } diff --git a/apps/files_reminders/lib/Db/Reminder.php b/apps/files_reminders/lib/Db/Reminder.php index 36f967f1434..1a8ba15063e 100644 --- a/apps/files_reminders/lib/Db/Reminder.php +++ b/apps/files_reminders/lib/Db/Reminder.php @@ -3,25 +3,8 @@ declare(strict_types=1); /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCA\FilesReminders\Db; diff --git a/apps/files_reminders/lib/Db/ReminderMapper.php b/apps/files_reminders/lib/Db/ReminderMapper.php index 3f7fc04b2f0..63cba437d07 100644 --- a/apps/files_reminders/lib/Db/ReminderMapper.php +++ b/apps/files_reminders/lib/Db/ReminderMapper.php @@ -3,25 +3,8 @@ declare(strict_types=1); /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCA\FilesReminders\Db; @@ -30,6 +13,7 @@ use DateTime; use OCP\AppFramework\Db\DoesNotExistException; use OCP\AppFramework\Db\QBMapper; use OCP\DB\QueryBuilder\IQueryBuilder; +use OCP\Files\Folder; use OCP\Files\Node; use OCP\Files\NotFoundException; use OCP\IDBConnection; @@ -56,16 +40,6 @@ class ReminderMapper extends QBMapper { return $this->update($reminderUpdate); } - public function find(int $id): Reminder { - $qb = $this->db->getQueryBuilder(); - - $qb->select('id', 'user_id', 'file_id', 'due_date', 'updated_at', 'created_at', 'notified') - ->from($this->getTableName()) - ->where($qb->expr()->eq('id', $qb->createNamedParameter($id, IQueryBuilder::PARAM_INT))); - - return $this->findEntity($qb); - } - /** * @throws DoesNotExistException */ @@ -152,10 +126,26 @@ class ReminderMapper extends QBMapper { $qb->select('id', 'user_id', 'file_id', 'due_date', 'updated_at', 'created_at', 'notified') ->from($this->getTableName()) ->where($qb->expr()->eq('notified', $qb->createNamedParameter(true, IQueryBuilder::PARAM_BOOL))) - ->andWhere($qb->expr()->lt('due_date', $qb->createNamedParameter($buffer, IQueryBuilder::PARAM_DATE))) + ->andWhere($qb->expr()->lt('due_date', $qb->createNamedParameter($buffer, IQueryBuilder::PARAM_DATETIME_MUTABLE))) ->orderBy('due_date', 'ASC') ->setMaxResults($limit); return $this->findEntities($qb); } + + /** + * @return Reminder[] + */ + public function findAllInFolder(IUser $user, Folder $folder) { + $qb = $this->db->getQueryBuilder(); + + $qb->select('r.id', 'r.user_id', 'r.file_id', 'r.due_date', 'r.updated_at', 'r.created_at', 'r.notified') + ->from($this->getTableName(), 'r') + ->innerJoin('r', 'filecache', 'f', $qb->expr()->eq('r.file_id', 'f.fileid')) + ->where($qb->expr()->eq('r.user_id', $qb->createNamedParameter($user->getUID(), IQueryBuilder::PARAM_STR))) + ->andWhere($qb->expr()->eq('f.parent', $qb->createNamedParameter($folder->getId(), IQueryBuilder::PARAM_INT))) + ->orderBy('r.due_date', 'ASC'); + + return $this->findEntities($qb); + } } diff --git a/apps/files_reminders/lib/Exception/NodeNotFoundException.php b/apps/files_reminders/lib/Exception/NodeNotFoundException.php index 5dfe784f5fc..65e1b28fe1e 100644 --- a/apps/files_reminders/lib/Exception/NodeNotFoundException.php +++ b/apps/files_reminders/lib/Exception/NodeNotFoundException.php @@ -3,25 +3,8 @@ declare(strict_types=1); /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCA\FilesReminders\Exception; diff --git a/apps/files_reminders/lib/Exception/ReminderNotFoundException.php b/apps/files_reminders/lib/Exception/ReminderNotFoundException.php new file mode 100644 index 00000000000..fd7031a834f --- /dev/null +++ b/apps/files_reminders/lib/Exception/ReminderNotFoundException.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace OCA\FilesReminders\Exception; + +use Exception; + +class ReminderNotFoundException extends Exception { +} diff --git a/apps/files_reminders/lib/Exception/UserNotFoundException.php b/apps/files_reminders/lib/Exception/UserNotFoundException.php index 3c57ea475e9..d1ddf9148cb 100644 --- a/apps/files_reminders/lib/Exception/UserNotFoundException.php +++ b/apps/files_reminders/lib/Exception/UserNotFoundException.php @@ -3,25 +3,8 @@ declare(strict_types=1); /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCA\FilesReminders\Exception; diff --git a/apps/files_reminders/lib/Listener/LoadAdditionalScriptsListener.php b/apps/files_reminders/lib/Listener/LoadAdditionalScriptsListener.php index ab66b6bc7a0..765bf1e3ce2 100644 --- a/apps/files_reminders/lib/Listener/LoadAdditionalScriptsListener.php +++ b/apps/files_reminders/lib/Listener/LoadAdditionalScriptsListener.php @@ -3,25 +3,8 @@ declare(strict_types=1); /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCA\FilesReminders\Listener; @@ -32,11 +15,13 @@ use OCP\App\IAppManager; use OCP\EventDispatcher\Event; use OCP\EventDispatcher\IEventListener; use OCP\Util; +use Psr\Log\LoggerInterface; /** @template-implements IEventListener<LoadAdditionalScriptsEvent> */ class LoadAdditionalScriptsListener implements IEventListener { public function __construct( private IAppManager $appManager, + private LoggerInterface $logger, ) { } @@ -45,7 +30,9 @@ class LoadAdditionalScriptsListener implements IEventListener { return; } - if (!$this->appManager->isEnabledForUser('notifications')) { + if (!$this->appManager->isEnabledForUser(Application::APP_ID) + || !$this->appManager->isEnabledForUser('notifications') + ) { return; } diff --git a/apps/files_reminders/lib/Listener/NodeDeletedListener.php b/apps/files_reminders/lib/Listener/NodeDeletedListener.php index ba1447a9332..06a4733e6cd 100644 --- a/apps/files_reminders/lib/Listener/NodeDeletedListener.php +++ b/apps/files_reminders/lib/Listener/NodeDeletedListener.php @@ -3,25 +3,8 @@ declare(strict_types=1); /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCA\FilesReminders\Listener; diff --git a/apps/files_reminders/lib/Listener/SabrePluginAddListener.php b/apps/files_reminders/lib/Listener/SabrePluginAddListener.php index afb91716443..b2c4501f9af 100644 --- a/apps/files_reminders/lib/Listener/SabrePluginAddListener.php +++ b/apps/files_reminders/lib/Listener/SabrePluginAddListener.php @@ -3,25 +3,8 @@ declare(strict_types=1); /** - * @copyright 2024 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCA\FilesReminders\Listener; diff --git a/apps/files_reminders/lib/Listener/UserDeletedListener.php b/apps/files_reminders/lib/Listener/UserDeletedListener.php index 160fed10765..366a5e60420 100644 --- a/apps/files_reminders/lib/Listener/UserDeletedListener.php +++ b/apps/files_reminders/lib/Listener/UserDeletedListener.php @@ -3,25 +3,8 @@ declare(strict_types=1); /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCA\FilesReminders\Listener; diff --git a/apps/files_reminders/lib/Migration/Version10000Date20230725162149.php b/apps/files_reminders/lib/Migration/Version10000Date20230725162149.php index 76999329d64..74614c6515e 100644 --- a/apps/files_reminders/lib/Migration/Version10000Date20230725162149.php +++ b/apps/files_reminders/lib/Migration/Version10000Date20230725162149.php @@ -3,25 +3,8 @@ declare(strict_types=1); /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCA\FilesReminders\Migration; diff --git a/apps/files_reminders/lib/Model/RichReminder.php b/apps/files_reminders/lib/Model/RichReminder.php index f621a8f16d5..4f221252717 100644 --- a/apps/files_reminders/lib/Model/RichReminder.php +++ b/apps/files_reminders/lib/Model/RichReminder.php @@ -3,25 +3,8 @@ declare(strict_types=1); /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCA\FilesReminders\Model; diff --git a/apps/files_reminders/lib/Notification/Notifier.php b/apps/files_reminders/lib/Notification/Notifier.php index a280c4d9336..337ef04c814 100644 --- a/apps/files_reminders/lib/Notification/Notifier.php +++ b/apps/files_reminders/lib/Notification/Notifier.php @@ -3,30 +3,12 @@ declare(strict_types=1); /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCA\FilesReminders\Notification; -use InvalidArgumentException; use OCA\FilesReminders\AppInfo\Application; use OCP\Files\FileInfo; use OCP\Files\IRootFolder; @@ -36,6 +18,7 @@ use OCP\Notification\AlreadyProcessedException; use OCP\Notification\IAction; use OCP\Notification\INotification; use OCP\Notification\INotifier; +use OCP\Notification\UnknownNotificationException; class Notifier implements INotifier { public function __construct( @@ -54,14 +37,13 @@ class Notifier implements INotifier { } /** - * @throws InvalidArgumentException - * @throws AlreadyProcessedException + * @throws UnknownNotificationException */ public function prepare(INotification $notification, string $languageCode): INotification { $l = $this->l10nFactory->get(Application::APP_ID, $languageCode); if ($notification->getApp() !== Application::APP_ID) { - throw new InvalidArgumentException(); + throw new UnknownNotificationException(); } switch ($notification->getSubject()) { @@ -70,8 +52,8 @@ class Notifier implements INotifier { $fileId = $params['fileId']; $node = $this->root->getUserFolder($notification->getUser())->getFirstNodeById($fileId); - if (!$node) { - throw new InvalidArgumentException(); + if ($node === null) { + throw new AlreadyProcessedException(); } $path = rtrim($node->getPath(), '/'); @@ -94,7 +76,7 @@ class Notifier implements INotifier { [ 'name' => [ 'type' => 'highlight', - 'id' => $node->getId(), + 'id' => (string)$node->getId(), 'name' => $node->getName(), ], ], @@ -109,8 +91,7 @@ class Notifier implements INotifier { $this->addActionButton($notification, $label); break; default: - throw new InvalidArgumentException(); - break; + throw new UnknownNotificationException(); } return $notification; diff --git a/apps/files_reminders/lib/Service/ReminderService.php b/apps/files_reminders/lib/Service/ReminderService.php index 9d5daf0cc5e..6ee39562076 100644 --- a/apps/files_reminders/lib/Service/ReminderService.php +++ b/apps/files_reminders/lib/Service/ReminderService.php @@ -3,25 +3,8 @@ declare(strict_types=1); /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCA\FilesReminders\Service; @@ -32,11 +15,15 @@ use OCA\FilesReminders\AppInfo\Application; use OCA\FilesReminders\Db\Reminder; use OCA\FilesReminders\Db\ReminderMapper; use OCA\FilesReminders\Exception\NodeNotFoundException; +use OCA\FilesReminders\Exception\ReminderNotFoundException; use OCA\FilesReminders\Exception\UserNotFoundException; use OCA\FilesReminders\Model\RichReminder; use OCP\AppFramework\Db\DoesNotExistException; +use OCP\Files\Folder; use OCP\Files\IRootFolder; use OCP\Files\Node; +use OCP\ICache; +use OCP\ICacheFactory; use OCP\IURLGenerator; use OCP\IUser; use OCP\IUserManager; @@ -45,6 +32,9 @@ use Psr\Log\LoggerInterface; use Throwable; class ReminderService { + + private ICache $cache; + public function __construct( protected IUserManager $userManager, protected IURLGenerator $urlGenerator, @@ -52,23 +42,49 @@ class ReminderService { protected ReminderMapper $reminderMapper, protected IRootFolder $root, protected LoggerInterface $logger, + protected ICacheFactory $cacheFactory, ) { + $this->cache = $this->cacheFactory->createInMemory(); } - /** - * @throws DoesNotExistException - */ - public function get(int $id): RichReminder { - $reminder = $this->reminderMapper->find($id); - return new RichReminder($reminder, $this->root); + public function cacheFolder(IUser $user, Folder $folder): void { + $reminders = $this->reminderMapper->findAllInFolder($user, $folder); + $reminderMap = []; + foreach ($reminders as $reminder) { + $reminderMap[$reminder->getFileId()] = $reminder; + } + + $nodes = $folder->getDirectoryListing(); + foreach ($nodes as $node) { + $reminder = $reminderMap[$node->getId()] ?? false; + $this->cache->set("{$user->getUID()}-{$node->getId()}", $reminder); + } } /** - * @throws DoesNotExistException + * @throws NodeNotFoundException */ - public function getDueForUser(IUser $user, int $fileId): RichReminder { - $reminder = $this->reminderMapper->findDueForUser($user, $fileId); - return new RichReminder($reminder, $this->root); + public function getDueForUser(IUser $user, int $fileId, bool $checkNode = true): ?RichReminder { + if ($checkNode) { + $this->checkNode($user, $fileId); + } + /** @var null|false|Reminder $cachedReminder */ + $cachedReminder = $this->cache->get("{$user->getUID()}-$fileId"); + if ($cachedReminder === false) { + return null; + } + if ($cachedReminder instanceof Reminder) { + return new RichReminder($cachedReminder, $this->root); + } + + try { + $reminder = $this->reminderMapper->findDueForUser($user, $fileId); + $this->cache->set("{$user->getUID()}-$fileId", $reminder); + return new RichReminder($reminder, $this->root); + } catch (DoesNotExistException $e) { + $this->cache->set("{$user->getUID()}-$fileId", false); + return null; + } } /** @@ -91,18 +107,9 @@ class ReminderService { */ public function createOrUpdate(IUser $user, int $fileId, DateTime $dueDate): bool { $now = new DateTime('now', new DateTimeZone('UTC')); - try { - $reminder = $this->reminderMapper->findDueForUser($user, $fileId); - $reminder->setDueDate($dueDate); - $reminder->setUpdatedAt($now); - $this->reminderMapper->update($reminder); - return false; - } catch (DoesNotExistException $e) { - $node = $this->root->getUserFolder($user->getUID())->getFirstNodeById($fileId); - if (!$node) { - throw new NodeNotFoundException(); - } - // Create new reminder if no reminder is found + $this->checkNode($user, $fileId); + $reminder = $this->getDueForUser($user, $fileId); + if ($reminder === null) { $reminder = new Reminder(); $reminder->setUserId($user->getUID()); $reminder->setFileId($fileId); @@ -110,29 +117,40 @@ class ReminderService { $reminder->setUpdatedAt($now); $reminder->setCreatedAt($now); $this->reminderMapper->insert($reminder); + $this->cache->set("{$user->getUID()}-$fileId", $reminder); return true; } + $reminder->setDueDate($dueDate); + $reminder->setUpdatedAt($now); + $this->reminderMapper->update($reminder); + $this->cache->set("{$user->getUID()}-$fileId", $reminder); + return false; } /** - * @throws DoesNotExistException + * @throws NodeNotFoundException + * @throws ReminderNotFoundException */ public function remove(IUser $user, int $fileId): void { - $reminder = $this->reminderMapper->findDueForUser($user, $fileId); - $this->reminderMapper->delete($reminder); + $this->checkNode($user, $fileId); + $reminder = $this->getDueForUser($user, $fileId); + if ($reminder === null) { + throw new ReminderNotFoundException(); + } + $this->deleteReminder($reminder); } public function removeAllForNode(Node $node): void { $reminders = $this->reminderMapper->findAllForNode($node); foreach ($reminders as $reminder) { - $this->reminderMapper->delete($reminder); + $this->deleteReminder($reminder); } } public function removeAllForUser(IUser $user): void { $reminders = $this->reminderMapper->findAllForUser($user); foreach ($reminders as $reminder) { - $this->reminderMapper->delete($reminder); + $this->deleteReminder($reminder); } } @@ -164,6 +182,7 @@ class ReminderService { try { $this->notificationManager->notify($notification); $this->reminderMapper->markNotified($reminder); + $this->cache->set("{$user->getUID()}-{$reminder->getFileId()}", $reminder); } catch (Throwable $th) { $this->logger->error($th->getMessage(), $th->getTrace()); } @@ -175,7 +194,24 @@ class ReminderService { ->modify('-1 day'); $reminders = $this->reminderMapper->findNotified($buffer, $limit); foreach ($reminders as $reminder) { - $this->reminderMapper->delete($reminder); + $this->deleteReminder($reminder); + } + } + + private function deleteReminder(Reminder $reminder): void { + $this->reminderMapper->delete($reminder); + $this->cache->set("{$reminder->getUserId()}-{$reminder->getFileId()}", false); + } + + + /** + * @throws NodeNotFoundException + */ + private function checkNode(IUser $user, int $fileId): void { + $userFolder = $this->root->getUserFolder($user->getUID()); + $node = $userFolder->getFirstNodeById($fileId); + if ($node === null) { + throw new NodeNotFoundException(); } } } diff --git a/apps/files_reminders/lib/SetupChecks/NeedNotificationsApp.php b/apps/files_reminders/lib/SetupChecks/NeedNotificationsApp.php new file mode 100644 index 00000000000..e5890567181 --- /dev/null +++ b/apps/files_reminders/lib/SetupChecks/NeedNotificationsApp.php @@ -0,0 +1,39 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace OCA\FilesReminders\SetupChecks; + +use OCP\App\IAppManager; +use OCP\IL10N; +use OCP\SetupCheck\ISetupCheck; +use OCP\SetupCheck\SetupResult; + +class NeedNotificationsApp implements ISetupCheck { + public function __construct( + private IAppManager $appManager, + private IL10N $l10n, + ) { + } + + public function getName(): string { + return $this->l10n->t('Files reminder'); + } + + public function getCategory(): string { + return 'system'; + } + + public function run(): SetupResult { + if ($this->appManager->isEnabledForAnyone('notifications')) { + return SetupResult::success($this->l10n->t('The "files_reminders" app can work properly.')); + } else { + return SetupResult::warning($this->l10n->t('The "files_reminders" app needs the notification app to work properly. You should either enable notifications or disable files_reminder.')); + } + } +} diff --git a/apps/files_reminders/openapi.json b/apps/files_reminders/openapi.json index 4e9653b2f0b..3564b90b1c2 100644 --- a/apps/files_reminders/openapi.json +++ b/apps/files_reminders/openapi.json @@ -177,16 +177,26 @@ "basic_auth": [] } ], - "parameters": [ - { - "name": "dueDate", - "in": "query", - "description": "ISO 8601 formatted date time string", - "required": true, - "schema": { - "type": "string" + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "dueDate" + ], + "properties": { + "dueDate": { + "type": "string", + "description": "ISO 8601 formatted date time string" + } + } + } } - }, + } + }, + "parameters": [ { "name": "version", "in": "path", @@ -495,4 +505,4 @@ } }, "tags": [] -}
\ No newline at end of file +} diff --git a/apps/files_reminders/openapi.json.license b/apps/files_reminders/openapi.json.license new file mode 100644 index 00000000000..83559daa9dc --- /dev/null +++ b/apps/files_reminders/openapi.json.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors +SPDX-License-Identifier: AGPL-3.0-or-later
\ No newline at end of file diff --git a/apps/files_reminders/src/actions/clearReminderAction.ts b/apps/files_reminders/src/actions/clearReminderAction.ts index b8d1d55a5fb..148861999f4 100644 --- a/apps/files_reminders/src/actions/clearReminderAction.ts +++ b/apps/files_reminders/src/actions/clearReminderAction.ts @@ -1,23 +1,6 @@ /** - * @copyright 2024 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ import Vue from 'vue' diff --git a/apps/files_reminders/src/actions/reminderStatusAction.ts b/apps/files_reminders/src/actions/reminderStatusAction.ts index ec82f52cfc2..6a2c9943d3b 100644 --- a/apps/files_reminders/src/actions/reminderStatusAction.ts +++ b/apps/files_reminders/src/actions/reminderStatusAction.ts @@ -1,23 +1,6 @@ /** - * @copyright 2024 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ import { FileAction, type Node } from '@nextcloud/files' diff --git a/apps/files_reminders/src/actions/setReminderCustomAction.ts b/apps/files_reminders/src/actions/setReminderCustomAction.ts index 2130adbb12d..ea21293ee52 100644 --- a/apps/files_reminders/src/actions/setReminderCustomAction.ts +++ b/apps/files_reminders/src/actions/setReminderCustomAction.ts @@ -1,25 +1,11 @@ /** - * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com> - * - * @author John Molakvoæ <skjnldsv@protonmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ -import { FileAction, Node } from '@nextcloud/files' + +import type { Node, View } from '@nextcloud/files' + +import { FileAction } from '@nextcloud/files' import { translate as t } from '@nextcloud/l10n' import CalendarClockSvg from '@mdi/svg/svg/calendar-clock.svg?raw' @@ -28,11 +14,23 @@ import { pickCustomDate } from '../services/customPicker' export const action = new FileAction({ id: 'set-reminder-custom', - displayName: () => t('files_reminders', 'Set custom reminder'), - title: () => t('files_reminders', 'Set reminder at custom date & time'), + displayName: () => t('files_reminders', 'Custom reminder'), + title: () => t('files_reminders', 'Reminder at custom date & time'), iconSvgInline: () => CalendarClockSvg, - enabled: () => true, + enabled: (nodes: Node[], view: View) => { + if (view.id === 'trashbin') { + return false + } + // Only allow on a single node + if (nodes.length !== 1) { + return false + } + const node = nodes.at(0)! + const dueDate = node.attributes['reminder-due-date'] + return dueDate !== undefined + }, + parent: SET_REMINDER_MENU_ID, async exec(file: Node) { diff --git a/apps/files_reminders/src/actions/setReminderMenuAction.ts b/apps/files_reminders/src/actions/setReminderMenuAction.ts index 20a4e89d2e9..d6ddcd90677 100644 --- a/apps/files_reminders/src/actions/setReminderMenuAction.ts +++ b/apps/files_reminders/src/actions/setReminderMenuAction.ts @@ -1,24 +1,10 @@ /** - * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com> - * - * @author John Molakvoæ <skjnldsv@protonmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ + +import type { Node, View } from '@nextcloud/files' + import { FileAction } from '@nextcloud/files' import { translate as t } from '@nextcloud/l10n' import AlarmSvg from '@mdi/svg/svg/alarm.svg?raw' @@ -30,7 +16,18 @@ export const action = new FileAction({ displayName: () => t('files_reminders', 'Set reminder'), iconSvgInline: () => AlarmSvg, - enabled: () => true, + enabled: (nodes: Node[], view: View) => { + if (view.id === 'trashbin') { + return false + } + // Only allow on a single node + if (nodes.length !== 1) { + return false + } + const node = nodes.at(0)! + const dueDate = node.attributes['reminder-due-date'] + return dueDate !== undefined + }, async exec() { return null diff --git a/apps/files_reminders/src/actions/setReminderSuggestionActions.scss b/apps/files_reminders/src/actions/setReminderSuggestionActions.scss index 93a94bafa2b..1327500c964 100644 --- a/apps/files_reminders/src/actions/setReminderSuggestionActions.scss +++ b/apps/files_reminders/src/actions/setReminderSuggestionActions.scss @@ -1,23 +1,6 @@ /** - * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com> - * - * @author John Molakvoæ <skjnldsv@protonmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ // TODO: remove when/if the actions API supports a separator // This the last preset action, so we need to add a separator @@ -27,14 +10,14 @@ &::before { content: ""; - margin: 3px 10px 3px 15px; + margin-block: 3px; + margin-inline: 15px 10px; border-bottom: 1px solid var(--color-border-dark); cursor: default; display: flex; height: 0; position: absolute; - left: 0; - right: 0; + inset-inline: 0; top: -10px; } } diff --git a/apps/files_reminders/src/actions/setReminderSuggestionActions.ts b/apps/files_reminders/src/actions/setReminderSuggestionActions.ts index e713f51ec7c..f92b2f89108 100644 --- a/apps/files_reminders/src/actions/setReminderSuggestionActions.ts +++ b/apps/files_reminders/src/actions/setReminderSuggestionActions.ts @@ -1,27 +1,10 @@ /** - * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com> - * - * @author John Molakvoæ <skjnldsv@protonmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ import Vue from 'vue' -import type { Node } from '@nextcloud/files' +import type { Node, View } from '@nextcloud/files' import { FileAction } from '@nextcloud/files' import { emit } from '@nextcloud/event-bus' @@ -48,7 +31,7 @@ const laterToday: ReminderOption = { label: t('files_reminders', 'Later today'), ariaLabel: t('files_reminders', 'Set reminder for later today'), dateString: '', - verboseDateString: '' + verboseDateString: '', } const tomorrow: ReminderOption = { @@ -56,7 +39,7 @@ const tomorrow: ReminderOption = { label: t('files_reminders', 'Tomorrow'), ariaLabel: t('files_reminders', 'Set reminder for tomorrow'), dateString: '', - verboseDateString: '' + verboseDateString: '', } const thisWeekend: ReminderOption = { @@ -64,7 +47,7 @@ const thisWeekend: ReminderOption = { label: t('files_reminders', 'This weekend'), ariaLabel: t('files_reminders', 'Set reminder for this weekend'), dateString: '', - verboseDateString: '' + verboseDateString: '', } const nextWeek: ReminderOption = { @@ -72,7 +55,7 @@ const nextWeek: ReminderOption = { label: t('files_reminders', 'Next week'), ariaLabel: t('files_reminders', 'Set reminder for next week'), dateString: '', - verboseDateString: '' + verboseDateString: '', } /** @@ -91,7 +74,19 @@ const generateFileAction = (option: ReminderOption): FileAction|null => { // Empty svg to hide the icon iconSvgInline: () => '<svg></svg>', - enabled: () => Boolean(getDateTime(option.dateTimePreset)), + enabled: (nodes: Node[], view: View) => { + if (view.id === 'trashbin') { + return false + } + // Only allow on a single node + if (nodes.length !== 1) { + return false + } + const node = nodes.at(0)! + const dueDate = node.attributes['reminder-due-date'] + return dueDate !== undefined && Boolean(getDateTime(option.dateTimePreset)) + }, + parent: SET_REMINDER_MENU_ID, async exec(node: Node) { diff --git a/apps/files_reminders/src/components/SetCustomReminderModal.vue b/apps/files_reminders/src/components/SetCustomReminderModal.vue index fdbe5d24855..59c0886a009 100644 --- a/apps/files_reminders/src/components/SetCustomReminderModal.vue +++ b/apps/files_reminders/src/components/SetCustomReminderModal.vue @@ -1,23 +1,6 @@ <!-- - - @copyright 2023 Christopher Ng <chrng8@gmail.com> - - - - @author Christopher Ng <chrng8@gmail.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/>. - - + - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + - SPDX-License-Identifier: AGPL-3.0-or-later --> <template> @@ -76,11 +59,11 @@ import { emit } from '@nextcloud/event-bus' import { showError, showSuccess } from '@nextcloud/dialogs' import { translate as t } from '@nextcloud/l10n' -import NcButton from '@nextcloud/vue/dist/Components/NcButton.js' -import NcDateTime from '@nextcloud/vue/dist/Components/NcDateTime.js' -import NcDateTimePickerNative from '@nextcloud/vue/dist/Components/NcDateTimePickerNative.js' -import NcDialog from '@nextcloud/vue/dist/Components/NcDialog.js' -import NcNoteCard from '@nextcloud/vue/dist/Components/NcNoteCard.js' +import NcButton from '@nextcloud/vue/components/NcButton' +import NcDateTime from '@nextcloud/vue/components/NcDateTime' +import NcDateTimePickerNative from '@nextcloud/vue/components/NcDateTimePickerNative' +import NcDialog from '@nextcloud/vue/components/NcDialog' +import NcNoteCard from '@nextcloud/vue/components/NcNoteCard' import { getDateString, getInitialCustomDueDate } from '../shared/utils.ts' import { logger } from '../shared/logger.ts' @@ -110,20 +93,20 @@ export default Vue.extend({ }, computed: { - fileId(): number { - return this.node.fileid + fileId(): number|undefined { + return this.node?.fileid }, - fileName(): string { - return this.node.basename + fileName(): string|undefined { + return this.node?.basename }, name() { - return t('files_reminders', 'Set reminder for "{fileName}"', { fileName: this.fileName }) + return this.fileName ? t('files_reminders', 'Set reminder for "{fileName}"', { fileName: this.fileName }) : '' }, label(): string { - return t('files_reminders', 'Set reminder at custom date & time') + return t('files_reminders', 'Reminder at custom date & time') }, clearAriaLabel(): string { diff --git a/apps/files_reminders/src/init.ts b/apps/files_reminders/src/init.ts index 74063dbff4c..17da254d0f2 100644 --- a/apps/files_reminders/src/init.ts +++ b/apps/files_reminders/src/init.ts @@ -1,23 +1,6 @@ /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ import { registerDavProperty, registerFileAction } from '@nextcloud/files' diff --git a/apps/files_reminders/src/services/customPicker.ts b/apps/files_reminders/src/services/customPicker.ts index 1f52a7b2b55..5cefffe39a5 100644 --- a/apps/files_reminders/src/services/customPicker.ts +++ b/apps/files_reminders/src/services/customPicker.ts @@ -1,23 +1,6 @@ /** - * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com> - * - * @author John Molakvoæ <skjnldsv@protonmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ import type { Node } from '@nextcloud/files' diff --git a/apps/files_reminders/src/services/reminderService.ts b/apps/files_reminders/src/services/reminderService.ts index 06163b601cb..9f58d1bdae3 100644 --- a/apps/files_reminders/src/services/reminderService.ts +++ b/apps/files_reminders/src/services/reminderService.ts @@ -1,23 +1,6 @@ /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ import axios from '@nextcloud/axios' diff --git a/apps/files_reminders/src/shared/logger.ts b/apps/files_reminders/src/shared/logger.ts index 116acf0c81e..79d663cca16 100644 --- a/apps/files_reminders/src/shared/logger.ts +++ b/apps/files_reminders/src/shared/logger.ts @@ -1,23 +1,6 @@ /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ import { getLoggerBuilder } from '@nextcloud/logger' diff --git a/apps/files_reminders/src/shared/types.ts b/apps/files_reminders/src/shared/types.ts index c5725fd1d06..f8da6f6aed0 100644 --- a/apps/files_reminders/src/shared/types.ts +++ b/apps/files_reminders/src/shared/types.ts @@ -1,27 +1,10 @@ /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ export interface FileAttributes { - [key: string]: any + [key: string]: unknown id: number name: string } diff --git a/apps/files_reminders/src/shared/utils.ts b/apps/files_reminders/src/shared/utils.ts index 1db42dd1392..5d583ad3ddd 100644 --- a/apps/files_reminders/src/shared/utils.ts +++ b/apps/files_reminders/src/shared/utils.ts @@ -1,23 +1,6 @@ /** - * @copyright 2023 Christopher Ng <chrng8@gmail.com> - * - * @author Christopher Ng <chrng8@gmail.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/>. - * + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ import { getCanonicalLocale } from '@nextcloud/l10n' |